@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--brand-blue: #00a6d6;--brand-red: #f43655;--brand-red-deep: #c7203e;--brand-yellow: #ffb71b;--brand-ink: #11171b;--brand-paper: #f8fafb;color:#f8fafb;background:var(--brand-ink);font-family:Manrope,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 8% 12%,rgba(244,54,85,.2) 0,transparent 23rem),radial-gradient(circle at 92% 0%,rgba(0,166,214,.24) 0,transparent 28rem),linear-gradient(180deg,#172127 0,#0d1317);background-attachment:fixed}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}.site-header{width:min(1120px,calc(100% - 2rem));margin:auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(248,250,251,.18)}.brand{font-family:Fraunces,serif;font-size:1.35rem;letter-spacing:.08em}.brand span{color:var(--brand-yellow);font-size:.85em}.brand img{width:auto;height:54px;display:block;object-fit:contain}nav{display:flex;gap:1.35rem;font-size:.9rem;font-weight:700}nav a{padding:.4rem 0;color:#dce7eb}nav a.active{color:#ff7189;border-bottom:2px solid var(--brand-red)}.page{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:3.5rem 0 5rem}.hero{max-width:780px;margin-bottom:2.5rem}.eyebrow{margin:0 0 .45rem;color:#ff7189;font:500 .7rem/1.25 DM Mono,monospace;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Fraunces,serif}.hero h1{max-width:700px;margin-bottom:1rem;font-size:clamp(2.65rem,9vw,5.7rem);line-height:.95;letter-spacing:-.055em}.hero h1 em{color:var(--brand-yellow);font-style:italic;white-space:nowrap}.hero>p:last-child,.page-intro>p:last-child{max-width:650px;color:#d6e2e6;font-size:1.05rem;line-height:1.7}.dice-panel{display:grid;grid-template-columns:1fr auto;gap:1.5rem;padding:clamp(1.2rem,4vw,2.2rem);margin-bottom:2rem;overflow:hidden;border:1px solid rgba(0,166,214,.5);border-left:5px solid var(--brand-red);border-radius:1.25rem;color:#f8fafb;background:linear-gradient(120deg,#15323d,#111a1f);box-shadow:0 15px 50px #0003}.dice-panel h2{margin-bottom:.5rem;font-size:clamp(1.5rem,4vw,2.15rem)}.dice-panel .eyebrow{color:var(--brand-yellow)}.dice-panel__copy p:last-child{max-width:600px;margin:0;color:#d9ceda;line-height:1.65}.dice-panel__action{display:flex;align-items:center;gap:1rem}.d20{width:78px;height:78px;display:grid;place-items:center;flex:0 0 auto;transform:rotate(45deg);border:2px solid var(--brand-yellow);border-radius:19px;color:var(--brand-ink);background:var(--brand-yellow);box-shadow:0 0 0 7px #ffb71b24}.d20 span{transform:rotate(-45deg);font:700 1.45rem DM Mono,monospace}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.75rem 1rem;border:1px solid var(--brand-yellow);border-radius:.45rem;color:var(--brand-ink);background:var(--brand-yellow);font-weight:800;transition:transform .18s,background .18s}.button:hover:not(:disabled){transform:translateY(-2px);background:#ffc94f}.button:disabled{opacity:.52}.button--gold{white-space:nowrap}.button--quiet{border-color:var(--brand-blue);color:#f8fafb;background:transparent}.button--quiet:hover:not(:disabled){background:#00a6d624}.recommendation{grid-column:1 / -1;padding-top:1.5rem;border-top:1px solid rgba(249,242,232,.18);animation:reveal .4s ease-out}.recommendation h3{margin-bottom:.35rem;font-size:1.5rem;color:var(--brand-yellow)}.recommendation>p:not(.eyebrow){color:#ddd1df}.recommendation ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;padding:0;margin:1rem 0 0;list-style:none}.recommendation li{display:flex;flex-direction:column;gap:.25rem;padding:.8rem;border-radius:.5rem;background:#ffffff0f;font-size:.9rem}.recommendation li span{color:#cec0d0;font-size:.8rem;line-height:1.45}.flow-card{padding:clamp(1.25rem,4vw,2.6rem);border:1px solid rgba(0,166,214,.34);border-radius:1.25rem;color:#f8fafb;background:linear-gradient(145deg,#18313b,#111a1f);box-shadow:0 20px 55px #00000038}.step-heading{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.7rem}.step-number{width:2.2rem;height:2.2rem;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--brand-blue);font:500 .8rem DM Mono,monospace}.registration-card .step-number{background:var(--brand-red)}.step-heading .eyebrow{color:#ff8da1}.step-heading h1{margin-bottom:.45rem;font-size:clamp(1.7rem,5vw,2.6rem);line-height:1.05}.step-heading p:last-child{margin:0;color:#c6d4d9;line-height:1.55}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.class-card{min-height:145px;padding:1rem;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #dacdd2;border-radius:.7rem;color:#342536;background:#fffaf3;transition:border .18s,background .18s,transform .18s}.class-card:hover{transform:translateY(-2px);border-color:var(--brand-blue)}.class-card.is-selected{border-color:var(--brand-red);background:#fff0f3;box-shadow:inset 0 0 0 1px var(--brand-red)}.class-card__icon{width:5rem;height:5rem;display:grid;place-items:center;margin-bottom:.85rem;color:#9b5a1e;font-size:1.45rem;line-height:1}.class-card__icon img{width:100%;height:100%;object-fit:cover;border-radius:.35rem}.class-card__name{margin:.55rem 0 .25rem;font-family:Fraunces,serif;font-size:1.15rem;font-weight:700}.class-card__description{color:#6c5967;font-size:.77rem;line-height:1.4}.flow-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.7rem 0 0;padding-top:1.3rem;border-top:1px solid rgba(198,212,217,.22)}.flow-card__footer p{margin:0;color:#c6d4d9;font-size:.9rem}.registration-card{max-width:760px;margin:0 auto}.field{display:grid;gap:.5rem}.field>span{color:#e4edf0;font-size:.82rem;font-weight:800}.field input{width:100%;min-height:52px;padding:.8rem .9rem;border:1px solid #cdbcc4;border-radius:.55rem;color:#291a2d;background:#fffaf4;outline:none;transition:border-color .18s,box-shadow .18s}.field input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #00a6d626}.consent-field{display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1rem;border:1px solid #ded1d5;border-radius:.65rem;color:#493746;background:#fffaf4;cursor:pointer}.consent-field:not(.privacy-consent){border-left:4px solid var(--brand-red)}.privacy-consent{border-left:4px solid var(--brand-blue)}.consent-field input{width:1.15rem;height:1.15rem;flex:0 0 auto;margin-top:.1rem;accent-color:var(--brand-blue)}.consent-field span{display:grid;gap:.25rem}.consent-field small{color:#756371;line-height:1.45}.privacy-consent label{cursor:pointer}.privacy-consent a{color:#007da3;font-weight:800;text-decoration:underline;text-underline-offset:.15em}.participant-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;border:1px solid rgba(0,166,214,.35);border-left:4px solid var(--brand-red);border-radius:.65rem;color:#d6e2e6;background:#15323db8;font-size:.78rem}.participant-banner strong{color:#fff}.participant-banner .is-eligible{color:#ff8da1;font-weight:800}.vote-counter{display:inline-flex;align-items:baseline;gap:.35rem;margin:-1rem 0 1.3rem 3.2rem;padding:.45rem .7rem;border-radius:999px;color:#fff;background:#007fa6}.vote-counter strong{font:500 1.2rem DM Mono,monospace;color:var(--brand-yellow)}.vote-counter span{font-size:.76rem;font-weight:700}.brewery-list{display:grid;gap:1.8rem}.brewery{padding-top:1.7rem;border-top:1px solid rgba(198,212,217,.2)}.brewery:first-child{padding-top:0;border-top:0}.brewery__heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.brewery__heading .eyebrow{color:var(--brand-yellow)}.brewery__heading h3{margin:0;font-size:1.5rem}.brewery__heading>p{max-width:480px;margin:0;color:#b9cbd1;text-align:right;font-size:.82rem;line-height:1.45}.beer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.beer-chip{min-width:0;min-height:100px;padding:.8rem;display:flex;align-items:flex-start;gap:.65rem;border:1px solid #decfd6;border-radius:.6rem;color:#382739;background:#fffaf4;text-align:left;transition:.18s}.beer-chip:hover:not(:disabled){border-color:var(--brand-blue);transform:translateY(-1px)}.beer-chip.is-selected{border-color:var(--brand-red);color:#172127;background:#fff0f3;box-shadow:inset 0 0 0 1px var(--brand-red)}.beer-chip:disabled{color:#a596a1;background:#f4eeee}.beer-chip__check{width:1.35rem;height:1.35rem;display:grid;place-items:center;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;font-weight:800}.beer-chip__content{display:flex;min-width:0;flex-direction:column;gap:.18rem}.beer-chip strong{font-size:.92rem}.beer-chip small{color:#7b6676;font:500 .68rem DM Mono,monospace}.beer-chip__description{display:-webkit-box;overflow:hidden;margin-top:.12rem;color:#6c5967;font-size:.73rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.status-message,.inline-error{padding:1rem;border-radius:.6rem;line-height:1.55}.status-message{color:#745f70;background:#f2e9df}.inline-error{color:#9f1730;background:#ffe8ec}.success-card{padding:3.8rem 1.5rem;border-radius:1.25rem;color:#f8fafb;background:radial-gradient(circle at 50% 5%,#007fa6,#111a1f 70%);text-align:center;box-shadow:0 20px 55px #0003}.success-card>span{display:block;margin-bottom:.7rem;color:var(--brand-yellow);font-size:3.5rem;animation:pulse 1.2s infinite alternate}.success-card h1{margin-bottom:.7rem;font-size:clamp(2rem,7vw,3.8rem)}.success-card p:last-child{max-width:500px;margin:0 auto;color:#ded3df;line-height:1.65}.page--results,.page--privacy{min-height:calc(100vh - 150px)}.privacy-policy{max-width:780px;padding:clamp(1.25rem,4vw,2.6rem);margin:0 auto;border-radius:1.25rem;color:#172127;background:var(--brand-paper);box-shadow:0 20px 55px #0000002b}.privacy-policy>h1{margin-bottom:1rem;font-size:clamp(2.3rem,7vw,4.5rem);line-height:1}.privacy-policy>h2{margin:2rem 0 .5rem;color:#007fa6;font-size:1.5rem}.privacy-policy>p{color:#675563;line-height:1.7}.page-intro{max-width:700px;margin-bottom:2rem}.page-intro h1{margin-bottom:.7rem;font-size:clamp(2.3rem,7vw,4.8rem);line-height:.98}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.ranking-card{padding:1.45rem;border:1px solid rgba(0,166,214,.5);border-top:4px solid var(--brand-red);border-radius:1rem;color:#f8fafb;background:#111a1fe0}.ranking-card h2{margin-bottom:1rem;font-size:1.8rem}.ranking-card ol{display:grid;gap:.55rem;padding:0;margin:0;list-style:none}.ranking-card li{display:grid;grid-template-columns:1.7rem 1fr auto;align-items:center;gap:.5rem;padding:.55rem 0;border-top:1px solid rgba(249,242,232,.14)}.ranking-card__position{color:var(--brand-yellow);font:500 .9rem DM Mono,monospace}.ranking-card li:nth-child(2n) .ranking-card__position{color:#ff8da1}.ranking-card li strong,.ranking-card li small{display:block}.ranking-card li small{margin-top:.16rem;color:#cbbdce;font-size:.72rem}.ranking-card li b{color:var(--brand-yellow);font:500 .9rem DM Mono,monospace}footer{width:min(1120px,calc(100% - 2rem));padding:1.4rem 0 2.5rem;margin:auto;border-top:1px solid rgba(248,250,251,.18);color:#aebfc6;font-size:.75rem;text-align:center}footer a{color:#ff7189;text-decoration:underline;text-underline-offset:.15em}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{to{transform:scale(1.1) rotate(10deg)}}@media (max-width: 720px){.page{padding-top:2.2rem}.hero{margin-bottom:2rem}.dice-panel{grid-template-columns:1fr}.dice-panel__action{justify-content:space-between}.class-grid{grid-template-columns:repeat(2,1fr)}.class-card{min-height:136px}.brewery__heading{display:block}.brewery__heading>p{margin-top:.45rem;text-align:left}.results-grid{grid-template-columns:1fr}}@media (max-width: 480px){.site-header,.page,footer{width:min(100% - 1.25rem,1120px)}.site-header{min-height:65px}.dice-panel{padding:1.1rem}.d20{width:64px;height:64px}.button{min-height:43px;padding:.65rem .75rem;font-size:.86rem}.flow-card{padding:1.15rem}.class-grid,.beer-grid{grid-template-columns:1fr}.class-card{min-height:auto}.flow-card__footer{align-items:stretch;flex-direction:column}.flow-card__footer .button{width:100%}.vote-counter{margin-left:0}.participant-banner{align-items:flex-start;flex-direction:column}}
