@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Source+Sans+3:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap");:root{color-scheme:light;--color-orange:#D4540B;--color-orange-dark:#A83F08;--color-orange-light:#E87030;--color-yellow:#F2C94C;--color-yellow-dark:#D4A830;--color-black:#1A1A1A;--color-kraft:#E8DCC4;--color-kraft-dark:#D4C4A0;--color-brown:#4A3728;--color-brown-light:#6B5040;--color-cream:#FDF8F0;--color-white:#FFFFFF;--color-success:#2E7D32;--color-error:#C62828;--font-title:"Anton","Impact",sans-serif;--font-body:"Source Sans 3",system-ui,-apple-system,sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(26,26,26,0.12);--shadow-md:0 4px 16px rgba(26,26,26,0.18);--shadow-lg:0 8px 32px rgba(26,26,26,0.24);--shadow-orange:0 4px 20px rgba(212,84,11,0.35);--transition:300ms ease;--transition-fast:150ms ease;--nav-height:64px;--header-height:60px;--safe-bottom:env(safe-area-inset-bottom,0px)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:18px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:1rem;color:var(--color-black);background-color:var(--color-cream);line-height:1.5;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}input,select,textarea{font-family:var(--font-body);font-size:1rem}.profile-name-input::placeholder{color:rgba(255,255,255,.4)}.profile-name-input:focus{border-color:rgba(255,255,255,.5)!important;background:rgba(255,255,255,.15)!important}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-orange);border-radius:var(--radius-full)}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);line-height:1.1;letter-spacing:.02em}.title-hero{font-size:clamp(2.5rem,8vw,4rem);color:var(--color-cream);text-shadow:0 2px 8px rgba(0,0,0,.4);letter-spacing:.04em}.title-hero,.title-section{font-family:var(--font-title)}.title-section{font-size:clamp(1.6rem,5vw,2.2rem);color:var(--color-brown);letter-spacing:.03em}.title-page{font-family:var(--font-title);font-size:1.8rem;letter-spacing:.04em}.text-sm{font-size:.85rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.15rem}.page-wrapper{min-height:100dvh;background-color:var(--color-cream);padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 16px)}.page-content{padding:0 16px 24px}.container,.page-content{max-width:480px;margin:0 auto}.container,.header-bar{padding:0 16px}.header-bar{position:-webkit-sticky;position:sticky;top:0;z-index:100;height:var(--header-height);background:var(--color-black);display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-md)}.header-bar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-orange),var(--color-yellow),var(--color-orange))}.header-logo{height:36px;width:auto;object-fit:contain}.header-title{font-family:var(--font-title);font-size:1.4rem;color:var(--color-cream);letter-spacing:.06em}.header-back-btn{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;color:var(--color-cream);font-size:1.5rem;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.header-back-btn:active{background:rgba(255,255,255,.1)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:200;height:calc(var(--nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--color-black);border-top:2px solid var(--color-orange);display:flex;align-items:stretch;justify-content:space-around;box-shadow:0 -4px 20px rgba(0,0,0,.3)}.bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;color:rgba(255,255,255,.55);transition:color var(--transition-fast);padding:8px 4px;position:relative}.bottom-nav-item:after{content:"";position:absolute;top:0;left:20%;right:20%;height:2px;background:var(--color-orange);border-radius:0 0 var(--radius-sm) var(--radius-sm);opacity:0;transform:scaleX(0);transition:opacity var(--transition),transform var(--transition)}.bottom-nav-item.active{color:var(--color-yellow)}.bottom-nav-item.active:after{opacity:1;transform:scaleX(1)}.bottom-nav-icon{font-size:1.4rem;line-height:1}.bottom-nav-label{font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 24px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:1rem;font-weight:700;letter-spacing:.02em;transition:all var(--transition);cursor:pointer;border:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn-primary{background:var(--color-orange);color:var(--color-white);box-shadow:var(--shadow-orange)}.btn-primary:active{background:var(--color-orange-dark);transform:scale(.98);box-shadow:0 2px 12px rgba(212,84,11,.3)}.btn-secondary{background:transparent;color:var(--color-orange);border:2px solid var(--color-orange)}.btn-secondary:active{background:rgba(212,84,11,.08);transform:scale(.98)}.btn-yellow{background:var(--color-yellow);color:var(--color-black);box-shadow:0 4px 16px rgba(242,201,76,.4)}.btn-yellow:active{background:var(--color-yellow-dark);transform:scale(.98)}.btn-dark{background:var(--color-black);color:var(--color-cream)}.btn-dark:active{background:var(--color-brown);transform:scale(.98)}.btn-ghost{background:rgba(255,255,255,.15);color:var(--color-white);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-sm{min-height:40px;padding:8px 16px;font-size:.9rem}.btn-lg{min-height:60px;font-size:1.15rem;padding:14px 32px}.btn-full{width:100%}.btn-tasted{background:rgba(255,255,255,.12);color:rgba(255,255,255,.7);border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-full);min-height:44px;padding:8px 20px;font-weight:600;font-size:.9rem;transition:all var(--transition)}.btn-tasted.tasted{background:var(--color-success);color:var(--color-white);border-color:var(--color-success);box-shadow:0 2px 12px rgba(46,125,50,.4)}.card{background:var(--color-white);overflow:hidden}.card,.card-kraft{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-kraft{background:var(--color-kraft)}.card-dark{background:var(--color-brown);box-shadow:var(--shadow-md);color:var(--color-cream)}.card-dark,.card-nav{border-radius:var(--radius-lg)}.card-nav{background:var(--color-white);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 12px;min-height:100px;transition:all var(--transition);border:2px solid transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:center}.card-nav:active{transform:scale(.96);border-color:var(--color-orange);box-shadow:var(--shadow-orange)}.card-nav-icon{font-size:2rem;line-height:1}.card-nav-title{font-family:var(--font-title);font-size:1.1rem;color:var(--color-brown);letter-spacing:.04em}.card-nav-desc{font-size:.8rem;color:var(--color-brown-light);line-height:1.3}.hero-band{background:linear-gradient(135deg,var(--color-orange) 0,var(--color-orange-dark) 100%);padding:20px 16px;margin:0 -16px;position:relative;overflow:hidden}.hero-band:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.08) 1px,transparent 0);background-size:20px 20px}.hero-band-content{position:relative;z-index:1}.hero-band-title{font-family:var(--font-title);font-size:1.6rem;color:var(--color-yellow);letter-spacing:.04em}.hero-band-subtitle{font-size:.95rem;color:rgba(255,255,255,.9);margin-top:4px;font-weight:600}.hero-band-detail{font-size:.85rem;color:rgba(255,255,255,.75);margin-top:2px}.beer-card{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.06)}.beer-card-header{padding:16px;background:linear-gradient(135deg,var(--color-black) 0,var(--color-brown) 100%);position:relative}.beer-card-name{font-family:var(--font-title);font-size:1.4rem;color:var(--color-yellow);letter-spacing:.04em}.beer-card-style{font-size:.85rem;color:rgba(255,255,255,.7);margin-top:2px}.beer-card-stats{display:flex;gap:12px;margin-top:10px}.beer-stat{background:rgba(255,255,255,.12);border-radius:var(--radius-sm);padding:4px 10px;display:flex;flex-direction:column;align-items:center}.beer-stat-value{font-family:var(--font-title);font-size:1.1rem;color:var(--color-yellow);letter-spacing:.02em}.beer-stat-label{font-size:.65rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.06em}.beer-card-body{padding:16px}.beer-color-dot{width:14px;height:14px;border-radius:50%;border:2px solid rgba(0,0,0,.12);flex-shrink:0}.badge-exclusive{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,var(--color-yellow) 0,var(--color-yellow-dark) 100%);color:var(--color-black);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:var(--radius-full)}.star-rating{gap:4px}.star-btn,.star-rating{display:flex;align-items:center}.star-btn{background:none;border:none;cursor:pointer;padding:4px;font-size:1.6rem;line-height:1;min-width:48px;min-height:48px;justify-content:center;transition:transform var(--transition-fast);-webkit-tap-highlight-color:transparent;color:var(--color-kraft-dark)}.star-btn.active{color:var(--color-yellow)}.star-btn:active{transform:scale(1.2)}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{font-size:.85rem;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:.04em;text-transform:uppercase}.input-field{background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-md);padding:14px 16px;font-size:1rem;color:var(--color-white);width:100%;min-height:52px;transition:border-color var(--transition),background var(--transition);outline:none;-webkit-appearance:none}.input-field::placeholder{color:rgba(255,255,255,.4)}.input-field:focus{border-color:var(--color-yellow);background:rgba(255,255,255,.18)}.textarea-field{background:rgba(0,0,0,.04);border:2px solid var(--color-kraft-dark);border-radius:var(--radius-md);padding:12px 14px;font-size:.95rem;color:var(--color-black);width:100%;min-height:88px;resize:none;transition:border-color var(--transition);outline:none}.textarea-field:focus{border-color:var(--color-orange)}.search-bar{position:relative;width:100%}.search-input{width:100%;background:var(--color-white);border:2px solid var(--color-kraft-dark);border-radius:var(--radius-full);padding:12px 16px 12px 48px;font-size:1rem;color:var(--color-black);min-height:52px;transition:border-color var(--transition);outline:none;-webkit-appearance:none}.search-input:focus{border-color:var(--color-orange)}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:1.2rem;color:var(--color-brown-light);pointer-events:none}.logo-badge{background:#FDF8F0;border-radius:10px;padding:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.brewery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;padding:0}.brewery-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition);border:2px solid transparent;min-height:110px;-webkit-tap-highlight-color:transparent}.brewery-card:active{transform:scale(.96);border-color:var(--color-orange)}.brewery-card.tasted{border-color:var(--color-success)}.brewery-logo-img{width:72px;height:72px;object-fit:contain;border-radius:var(--radius-sm)}.brewery-name{font-size:.72rem;font-weight:700;color:var(--color-brown);text-align:center;line-height:1.2;letter-spacing:.01em}.timeline{position:relative;padding-left:48px}.timeline:before{content:"";position:absolute;left:16px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--color-orange),var(--color-yellow),var(--color-orange));border-radius:var(--radius-full)}.timeline-item{position:relative;margin-bottom:16px}.timeline-dot{position:absolute;left:-40px;top:16px;width:16px;height:16px;border-radius:50%;background:var(--color-orange);border:3px solid var(--color-cream);box-shadow:0 0 0 2px var(--color-orange)}.timeline-card{background:var(--color-white);border-radius:var(--radius-md);padding:14px 16px;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-orange)}.timeline-time{font-family:var(--font-title);font-size:1.6rem;color:var(--color-orange);letter-spacing:.06em;line-height:1}.timeline-name{font-weight:700;font-size:1rem;color:var(--color-black);margin-top:4px}.timeline-type-badge{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 10px;border-radius:var(--radius-full);margin-top:6px}.type-show{background:rgba(212,84,11,.12);color:var(--color-orange)}.type-talk{background:rgba(74,55,40,.12);color:var(--color-brown)}.type-activity{background:rgba(46,125,50,.12);color:var(--color-success)}.type-opening{background:rgba(242,201,76,.2);color:var(--color-yellow-dark)}.gastro-card{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:12px}.gastro-header{display:flex;align-items:center;gap:14px;padding:16px;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:72px}.gastro-logo{object-fit:contain}.gastro-logo,.gastro-logo-placeholder{width:52px;height:52px;border-radius:var(--radius-sm);flex-shrink:0}.gastro-logo-placeholder{background:linear-gradient(135deg,var(--color-orange),var(--color-orange-dark));display:flex;align-items:center;justify-content:center;font-size:1.5rem}.gastro-name{font-family:var(--font-title);font-size:1.2rem;color:var(--color-brown);letter-spacing:.04em;flex:1 1}.gastro-chevron{color:var(--color-brown-light);font-size:1.2rem;transition:transform var(--transition);flex-shrink:0}.gastro-chevron.open{transform:rotate(180deg)}.gastro-dishes{border-top:1px solid var(--color-kraft-dark);overflow:hidden}.dish-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.05);gap:12px}.dish-row:last-child{border-bottom:none}.dish-name{font-weight:700;font-size:.95rem;color:var(--color-black)}.dish-desc{font-size:.8rem;color:var(--color-brown-light);margin-top:2px;line-height:1.3}.dish-price{font-family:var(--font-title);font-size:1.1rem;color:var(--color-orange);white-space:nowrap;letter-spacing:.02em;flex-shrink:0}.info-card{background:var(--color-white);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-orange);margin-bottom:12px}.info-card-title{font-family:var(--font-title);font-size:1.2rem;color:var(--color-brown);letter-spacing:.04em;display:flex;align-items:center;gap:10px;margin-bottom:12px}.info-card-icon{font-size:1.3rem}.info-card-text{font-size:.95rem;color:var(--color-black);line-height:1.6}.info-list{list-style:none;display:flex;flex-direction:column;gap:8px}.info-list li{display:flex;align-items:flex-start;gap:10px;font-size:.95rem;color:var(--color-black);line-height:1.4}.info-list li:before{content:"›";color:var(--color-orange);font-weight:700;font-size:1.1rem;line-height:1.3;flex-shrink:0}.sponsor-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.sponsor-card{background:var(--color-white);border-radius:var(--radius-md);padding:16px;display:flex;align-items:center;justify-content:center;min-height:90px;box-shadow:var(--shadow-sm)}.sponsor-logo{max-width:100%;max-height:60px;object-fit:contain;filter:saturate(0) brightness(.4);transition:filter var(--transition)}.sponsor-card:active .sponsor-logo{filter:saturate(1) brightness(1)}.sponsor-name-only{font-family:var(--font-title);font-size:1rem;color:var(--color-brown);text-align:center;letter-spacing:.06em}.progress-ring-container{position:relative;width:160px;height:160px;margin:0 auto}.progress-ring-svg{transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:var(--color-kraft-dark);stroke-width:10}.progress-ring-fill{fill:none;stroke:var(--color-orange);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .8s ease}.progress-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.progress-ring-number{font-family:var(--font-title);font-size:2.2rem;color:var(--color-brown);line-height:1;letter-spacing:.02em}.progress-ring-label{font-size:.75rem;color:var(--color-brown-light);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-top:4px}.stat-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.stat-card{background:var(--color-white);border-radius:var(--radius-md);padding:16px;text-align:center;box-shadow:var(--shadow-sm)}.stat-value{font-family:var(--font-title);font-size:2rem;color:var(--color-orange);letter-spacing:.02em}.stat-label{font-size:.8rem;color:var(--color-brown-light);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:700;letter-spacing:.03em}.badge-orange{background:rgba(212,84,11,.12);color:var(--color-orange)}.badge-green{background:rgba(46,125,50,.12);color:var(--color-success)}.badge-yellow{background:rgba(242,201,76,.2);color:var(--color-yellow-dark)}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--color-kraft-dark),transparent);margin:16px 0}.divider-orange{height:2px;background:linear-gradient(90deg,var(--color-orange),var(--color-yellow),var(--color-orange));margin:16px 0;border-radius:var(--radius-full)}.tape-decoration{background-image:url(/assets/identity/Tape_1.png);background-size:cover;background-position:50%;transform:rotate(-1.5deg);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.edition-badge,.tape-decoration{display:inline-block;padding:6px 20px}.edition-badge{background:var(--color-yellow);color:var(--color-black);font-family:var(--font-title);font-size:1.8rem;letter-spacing:.08em;transform:rotate(-2deg);box-shadow:3px 3px 0 rgba(0,0,0,.3)}.expand-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 0;font-size:.85rem;font-weight:700;color:var(--color-brown-light);-webkit-tap-highlight-color:transparent;letter-spacing:.03em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.expand-content{overflow:hidden;transition:max-height var(--transition),opacity var(--transition)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.animate-fade{animation:fadeIn .3s ease forwards}.animate-slide-up{animation:slideUp .35s ease forwards}.animate-scale{animation:scaleIn .3s ease forwards}.animate-slide-down{animation:slideDown .25s ease forwards}.brewery-card:first-child{animation-delay:0s}.brewery-card:nth-child(2){animation-delay:30ms}.brewery-card:nth-child(3){animation-delay:60ms}.brewery-card:nth-child(n+4){animation-delay:80ms}.section-heading{display:flex;align-items:center;gap:10px;margin:20px 0 12px}.section-heading-line{flex:1 1;height:2px;background:linear-gradient(90deg,var(--color-orange),transparent);border-radius:var(--radius-full)}.section-heading-text{font-family:var(--font-title);font-size:1.1rem;color:var(--color-brown);letter-spacing:.06em;white-space:nowrap}.texture-overlay{position:relative}.texture-overlay:after{content:"";position:absolute;inset:0;background-image:url(/assets/identity/Grunge_Preto.png);background-size:cover;opacity:.04;pointer-events:none;mix-blend-mode:multiply}.app-shell{min-height:100dvh;position:relative}@media (min-width:500px){body{background-color:#0A0A0A}.app-shell{max-width:480px;margin:0 auto;box-shadow:0 0 60px rgba(0,0,0,.6);overflow-x:hidden}.bottom-nav{max-width:480px;left:50%;transform:translateX(-50%)}}.app-shell:has(.adm){max-width:none;width:100%;margin:0;box-shadow:none;overflow:visible}@media (min-width:500px){body:has(.adm){background-color:#0a0a0a;overflow-x:hidden}}.dark{color-scheme:dark;--color-cream:#181818;--color-white:#232323;--color-kraft:#282828;--color-kraft-dark:#333333;--color-black:#EDE5D8;--color-brown:#C8A882;--color-brown-light:#9A7A5A;--color-orange:#E8631C;--color-orange-light:#F07830;--color-yellow:#F5CE50;--color-yellow-dark:#DDB030;--shadow-sm:0 2px 8px rgba(0,0,0,0.45);--shadow-md:0 4px 16px rgba(0,0,0,0.55);--shadow-lg:0 8px 32px rgba(0,0,0,0.65);--shadow-orange:0 4px 20px rgba(232,99,28,0.4)}.dark body{color:#EDE5D8}.dark .page-wrapper,.dark body{background-color:#111111}.dark .card{background:#232323}.dark .card-kraft{background:#1E1E1E}.dark .info-card{background:#232323}.dark .info-card-text,.dark .info-list li{color:#EDE5D8}.dark .timeline-card{background:#232323}.dark .timeline-name{color:#EDE5D8}.dark .timeline-dot{border-color:#111111}.dark .gastro-card,.dark .stat-card{background:#232323}.dark .gastro-dishes{border-top-color:rgba(255,255,255,.1)}.dark .dish-row{border-bottom-color:rgba(255,255,255,.05)}.dark .dish-name{color:#EDE5D8}.dark .dish-desc{color:#9A7A5A}.dark .brewery-card{background:#232323}.dark .brewery-name{color:#C8A882}.dark .search-input{background:#282828;border-color:rgba(255,255,255,.15);color:#EDE5D8}.dark .search-input::placeholder{color:rgba(255,255,255,.35)}.dark .textarea-field{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#EDE5D8}.dark .textarea-field::placeholder{color:rgba(255,255,255,.3)}.dark .textarea-field:focus{border-color:var(--color-orange)}.dark .card-nav-brutal{background:#232323;border-color:#444;box-shadow:5px 5px 0 #444}.dark .card-nav-brutal-title{color:#EDE5D8}.dark .card-nav-brutal-desc{color:#9A7A5A}.dark .section-heading-brutal-line{background:#444}.dark .section-heading-brutal-label{color:var(--color-black)}.dark .section-heading-text{color:#C8A882}.dark .divider{background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}.dark .progress-ring-bg{stroke:#333333}.dark .progress-ring-number{color:#EDE5D8}.dark .progress-ring-label{color:#9A7A5A}.dark .star-btn{color:rgba(255,255,255,.25)}.dark .note-text{color:#9A7A5A}.dark .gastro-name{color:#C8A882}.dark .expand-toggle{color:#9A7A5A}.dark .logo-badge{background:#2A2A2A}.dark .sponsor-card{background:#232323}@media (min-width:428px){.brewery-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:768px){html{font-size:16px}.brewery-grid{grid-template-columns:repeat(5,1fr)}.sponsor-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.brewery-grid{grid-template-columns:repeat(6,1fr)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.w-full{width:100%}.text-center{text-align:center}.font-bold{font-weight:700}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.p-16{padding:16px}.p-20{padding:20px}.opacity-60{opacity:.6}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-text{font-size:.8rem;color:var(--color-brown-light);font-style:italic;text-align:center;padding:8px}.glass-rating{gap:0}.glass-btn,.glass-rating{display:flex;align-items:center}.glass-btn{background:none;border:none;cursor:pointer;padding:6px 3px;min-width:48px;min-height:48px;justify-content:center;transition:transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.glass-btn:active:not(:disabled){transform:scale(1.3) rotate(-5deg)}.glass-btn:disabled{cursor:default}.btn-brush{background:var(--color-white);color:var(--color-black);border:none;font-family:var(--font-title);font-size:1.3rem;letter-spacing:.1em;text-transform:uppercase;padding:20px 48px;min-height:64px;width:100%;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;-webkit-clip-path:polygon(0 10%,1.5% 2%,4% 0,13% 4%,30% 1%,48% 3%,66% 0,83% 2%,96% 0,100% 6%,100% 18%,98.5% 34%,100% 52%,99% 72%,100% 88%,99% 97%,97% 100%,88% 96%,70% 100%,52% 97%,34% 100%,17% 97%,4% 100%,1% 95%,0 85%,1.5% 66%,0 48%,1.5% 28%);clip-path:polygon(0 10%,1.5% 2%,4% 0,13% 4%,30% 1%,48% 3%,66% 0,83% 2%,96% 0,100% 6%,100% 18%,98.5% 34%,100% 52%,99% 72%,100% 88%,99% 97%,97% 100%,88% 96%,70% 100%,52% 97%,34% 100%,17% 97%,4% 100%,1% 95%,0 85%,1.5% 66%,0 48%,1.5% 28%);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .15s ease,opacity .15s ease}.btn-brush:active{transform:scale(.97);opacity:.9}.btn-brutal{background:var(--color-orange);color:var(--color-white);border:3px solid var(--color-black);border-radius:4px;box-shadow:5px 5px 0 var(--color-black);font-family:var(--font-title);font-size:1.2rem;letter-spacing:.1em;text-transform:uppercase;padding:14px 28px;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-brutal:active{transform:translate(4px,4px);box-shadow:1px 1px 0 var(--color-black)}.card-nav-brutal{position:relative;background:var(--color-cream);border:3px solid var(--color-black);border-radius:6px;box-shadow:5px 5px 0 var(--color-black);padding:22px 10px 14px;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:box-shadow var(--transition-fast),transform var(--transition-fast);cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:center;overflow:hidden;text-decoration:none}.card-nav-brutal:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--color-black)}.card-nav-brutal-stripe{position:absolute;top:0;left:0;right:0;height:6px}.card-nav-brutal-icon{font-size:2.4rem;line-height:1;margin-top:2px}.card-nav-brutal-title{font-family:var(--font-title);font-size:1.05rem;color:var(--color-black);letter-spacing:.06em;line-height:1.1}.card-nav-brutal-desc{font-size:.7rem;color:var(--color-brown-light);line-height:1.2;font-weight:600}.badge-craft{background:var(--color-yellow);color:var(--color-black);transform:rotate(-2deg)}.badge-craft,.badge-craft-orange{font-family:var(--font-title);font-size:.88rem;padding:3px 14px;letter-spacing:.1em;display:inline-block;box-shadow:3px 3px 0 rgba(0,0,0,.3)}.badge-craft-orange{background:var(--color-orange);color:var(--color-white);transform:rotate(1.5deg)}.section-heading-brutal{display:flex;align-items:center;gap:14px;margin:24px 0 16px}.section-heading-brutal-line{flex:1 1;height:3px;background:var(--color-black)}.section-heading-brutal-label{font-family:var(--font-title);font-size:1.3rem;color:var(--color-black);letter-spacing:.12em;background:var(--color-yellow);padding:2px 14px;transform:rotate(-1deg);display:inline-block;box-shadow:2px 2px 0 rgba(0,0,0,.25);white-space:nowrap}.infographic-count{font-family:var(--font-title);font-size:3.2rem;color:var(--color-yellow);line-height:1;letter-spacing:.02em}.infographic-denom{font-family:var(--font-title);font-size:1.2rem;color:rgba(255,255,255,.4);line-height:1.8;padding-bottom:2px}.title-huge-cream{color:var(--color-cream)}.title-huge-cream,.title-huge-orange{font-family:var(--font-title);font-size:clamp(4rem,16vw,6.5rem);letter-spacing:.03em;line-height:.88;text-shadow:3px 3px 0 rgba(0,0,0,.35);display:block}.title-huge-orange{color:var(--color-orange)}.title-sub-yellow{font-family:var(--font-title);font-size:clamp(1.5rem,5.5vw,2.2rem);color:var(--color-yellow);letter-spacing:.16em;display:block;margin-top:6px;text-shadow:2px 2px 0 rgba(0,0,0,.25)}.band-halftone{position:relative;background:var(--color-black);overflow:hidden}.band-halftone:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.06) 1px,transparent 0);background-size:18px 18px;pointer-events:none}.border-bottom-orange{border-bottom:4px solid var(--color-orange)}.side-menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;opacity:0;pointer-events:none;transition:opacity var(--transition)}.side-menu-overlay.open{opacity:1;pointer-events:all}.side-menu-panel{position:fixed;top:0;right:0;bottom:0;width:min(300px,85vw);background:var(--color-black);z-index:301;transform:translateX(100%);transition:transform var(--transition);display:flex;flex-direction:column;border-left:4px solid var(--color-orange);box-shadow:-8px 0 32px rgba(0,0,0,.5)}.side-menu-panel.open{transform:translateX(0)}.side-menu-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 24px;min-height:var(--header-height);border-bottom:2px solid var(--color-orange);flex-shrink:0}.side-menu-title{font-family:var(--font-title);font-size:1.4rem;color:var(--color-yellow);letter-spacing:.1em}.side-menu-close{background:none;border:none;color:var(--color-cream);font-size:1.3rem;cursor:pointer;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent}.side-menu-close:active{background:rgba(255,255,255,.1)}.side-menu-list{list-style:none;padding:12px 0;flex:1 1;overflow-y:auto}.side-menu-link{display:flex;align-items:center;gap:16px;padding:0 24px;color:var(--color-cream);min-height:58px;border-left:3px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);-webkit-tap-highlight-color:transparent}.side-menu-link:active{background:rgba(255,255,255,.08);border-left-color:var(--color-orange);color:var(--color-yellow)}.side-menu-link-icon{font-size:1.4rem;line-height:1;flex-shrink:0;width:28px;text-align:center}.side-menu-link-label{font-family:var(--font-title);font-size:1.15rem;letter-spacing:.06em}.btn-hamburger{background:none;border:none;color:var(--color-cream);font-size:1.5rem;cursor:pointer;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent}.btn-hamburger:active{background:rgba(255,255,255,.1)}.theme-toggle-switch{position:relative;width:44px;height:24px;border-radius:12px;background:rgba(74,55,40,.38);border:1px solid rgba(255,255,255,.08);cursor:pointer;flex-shrink:0;padding:0;opacity:.7;transition:background var(--transition),opacity var(--transition-fast);-webkit-tap-highlight-color:transparent}.theme-toggle-switch:active{opacity:1}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:rgba(253,248,240,.92);display:flex;align-items:center;justify-content:center;transition:transform var(--transition);box-shadow:0 1px 3px rgba(0,0,0,.2);pointer-events:none}.theme-toggle-switch.is-dark{background:rgba(26,26,36,.5)}.theme-toggle-switch.is-dark .theme-toggle-thumb{transform:translateX(20px)}.theme-toggle-icon{font-size:.58rem;line-height:1;opacity:.6;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card-nav-ribbon{position:absolute;top:8px;right:8px;background:rgba(242,201,76,.88);color:rgba(26,26,26,.9);font-size:.52rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;white-space:nowrap;border-radius:var(--radius-full);box-shadow:0 1px 3px rgba(0,0,0,.14);z-index:2;pointer-events:none;transform:rotate(2deg)}.harmonization-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-kraft) 25%,rgba(255,255,255,.45) 50%,var(--color-kraft) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes toast-slide-in{0%{transform:translateY(-110%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.rating-toast{animation:toast-slide-in .3s ease forwards}.rating-toast-exit{animation:toast-fade-out .5s ease forwards}