@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@600;700&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#15243d;background:#fff8eb;font-synthesis:none;--navy:#15243d;--coral:#f36f56;--coral-dark:#d94d38;--teal:#19b8ae;--teal-dark:#087f7a;--yellow:#ffd65a;--cream:#fff8eb;--white:#fff;--muted:#687386;--line:#e9e1d4;--shadow:0 12px 36px rgba(35,42,62,.09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.button.primary:disabled{opacity:1;background:#b4bac5;box-shadow:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Fredoka,sans-serif;line-height:1.05}h1{font-size:clamp(2rem,6vw,3.8rem);letter-spacing:-.04em}h2{font-size:clamp(1.55rem,4vw,2.25rem)}h3{font-size:1.25rem}.landing{min-height:100vh;display:grid;place-content:center;padding:28px;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 18%,rgba(255,214,90,.28),transparent 22%),radial-gradient(circle at 88% 82%,rgba(25,184,174,.15),transparent 23%),var(--cream)}.brand{display:flex;align-items:center;justify-content:center;gap:10px;font:700 1.55rem Fredoka;margin-bottom:26px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--yellow);transform:rotate(-4deg)}.brand-mark svg{width:23px}.brand.small{justify-content:flex-start;margin:0}.brand.small .brand-mark{width:36px;height:36px}.hero-card{width:min(100%,620px);background:#ffffffed;padding:clamp(28px,7vw,64px);border-radius:32px;box-shadow:var(--shadow);text-align:center;position:relative;border:1px solid rgba(255,255,255,.8)}.hero-card h1{margin:20px 0}.hero-card h1 em{font-style:normal;color:var(--coral)}.hero-copy{font-size:1.08rem;line-height:1.65;color:var(--muted);max-width:470px;margin:0 auto 30px}.date-pill,.round-pill{display:inline-flex;padding:8px 13px;border-radius:999px;background:#fff1bd;font-size:.72rem;letter-spacing:.12em;font-weight:800}.stack{display:grid;gap:12px}.button{min-height:52px;border:0;border-radius:15px;padding:13px 18px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px;transition:transform .15s,box-shadow .15s}.button:hover:not(:disabled){transform:translateY(-2px)}.button svg{width:19px}.button.primary{background:var(--navy);color:#fff;box-shadow:0 7px 18px #15243d2e}.button.secondary{background:#f1ede6;color:var(--navy)}.button.danger{background:#fee5e1;color:#a52c1b}.button.ghost{background:transparent;color:var(--navy)}.form-card{text-align:left}.form-card h2{text-align:center}.back{background:none;border:0;color:var(--muted);position:absolute;left:24px;top:24px}.eyebrow{font-size:.72rem;letter-spacing:.12em;font-weight:800;color:var(--muted);margin-bottom:8px}.form-card>.eyebrow{text-align:center;margin-top:18px}.form-card label,.compact,label{font-size:.82rem;font-weight:700;display:grid;gap:7px}.form-card input,input,select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:10px 13px;background:#fff;color:var(--navy)}input,select,textarea{font-size:1rem}input:focus,select:focus{outline:3px solid rgba(25,184,174,.2);border-color:var(--teal)}:where(button,a,summary,[role=radio]):focus-visible{outline:3px solid rgba(25,184,174,.65);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.room-input{text-transform:uppercase;letter-spacing:.2em;font-weight:800}.error{display:flex;align-items:center;gap:8px;background:#ffebe8;color:#9d2d1e;padding:12px;border-radius:12px;font-size:.85rem}.error svg{width:18px;flex:none}.error button{margin-left:auto;border:0;background:none;color:inherit}.setup svg{color:var(--coral)}.setup code{background:#f4efe7;padding:2px 5px;border-radius:5px}.muted{color:var(--muted)}.small{font-size:.78rem}.confetti{position:absolute;width:13px;height:35px;border-radius:8px;transform:rotate(25deg)}.c1{background:var(--coral);left:9%;top:17%}.c2{background:var(--teal);right:10%;top:23%;transform:rotate(-45deg)}.c3{background:var(--yellow);right:16%;bottom:13%;transform:rotate(72deg)}header{background:#ffffffe0;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.header-inner{max-width:1180px;margin:auto;padding:8px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.header-actions{display:flex;align-items:center;gap:4px}.room-code{min-height:44px;background:#fff5cb;border:1px dashed #d6ae26;border-radius:11px;padding:4px 14px;color:var(--navy);transition:background .2s,border-color .2s}.room-code.copied{background:#dff6ed;border-color:#70cfb4}.room-code small,.room-code strong{display:block}.room-code small{font-size:.56rem;letter-spacing:.13em}.room-code strong{letter-spacing:.16em}.exit{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--muted);padding:0}.event-main{max-width:1180px;margin:auto;padding:18px 20px 60px}.offline{display:flex;gap:6px;align-items:center;font-size:.75rem;font-weight:700;color:#9d2d1e;background:#ffebe8;padding:7px 11px;border-radius:999px}.offline svg{width:16px}.scoreboard{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-radius:20px;overflow:hidden;color:#fff;box-shadow:var(--shadow)}.team-score{position:relative;min-width:0;height:100%;display:flex;align-items:center;gap:14px;padding:10px clamp(14px,3vw,34px)}.team-score-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;font-size:clamp(.66rem,1.8vw,.9rem);letter-spacing:.06em}.team-score.coral .team-score-name{text-align:right}.team-score strong{font:700 clamp(2rem,5.5vw,3rem)/1 "Fredoka";font-variant-numeric:tabular-nums}.lead-crown{position:absolute;top:4px;left:50%;width:14px;height:14px;transform:translate(-50%);opacity:.95}.team-score.coral{background:var(--coral);justify-content:flex-end}.team-score.turquoise{background:var(--teal)}.versus{align-self:stretch;display:grid;place-items:center;background:var(--navy);padding:0 13px;font:700 .67rem Fredoka;z-index:1}.tabs{display:flex;gap:5px;padding:14px 0 12px}.tabs button{border:0;background:transparent;color:var(--muted);padding:12px 18px;border-radius:12px;font-weight:800;display:flex;align-items:center;gap:7px}.tabs button svg{width:18px}.tabs button.active{background:#fff;color:var(--navy);box-shadow:0 4px 14px #232a3e12}.view-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px}.main-column,aside{display:grid;gap:18px;align-content:start}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 5px 18px #232a3e0b}.challenge{text-align:center;padding:clamp(18px,4vw,32px);position:relative;overflow:hidden}.challenge:before{content:"";position:absolute;width:180px;height:180px;background:#fff4c9;border-radius:50%;top:-100px;right:-80px}.challenge-top{display:flex;justify-content:space-between;align-items:center}.state{text-transform:uppercase;font-size:.68rem;font-weight:800;letter-spacing:.11em;color:var(--teal-dark);background:#e0f7f4;padding:7px 10px;border-radius:999px}.challenge-chapter{margin:12px 0 4px}.challenge-title{margin:0 0 8px;font-size:clamp(1.6rem,6vw,2.25rem)}.challenge-icon{display:inline-block;margin-right:.28em;font-size:.95em}.challenge>p:not(.eyebrow){color:var(--muted);max-width:500px;margin:0 auto 14px;line-height:1.45}.challenge .button{margin:14px auto 0}.state.state-playing{background:#ffe9e4;color:var(--coral-dark)}.state.state-playing:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor;vertical-align:1px;animation:live-dot 1.4s ease-in-out infinite}.state.state-review{background:#fff1bd;color:#735400}.state.state-completed{background:#eee8df;color:var(--muted)}@keyframes live-dot{50%{opacity:.25}}.score-entry{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end;max-width:450px;margin:14px auto 4px}.score-entry label span{font-size:.75rem}.score-entry input{text-align:center;font:700 2rem Fredoka;height:65px}.score-entry .button{grid-column:1/-1;width:100%;margin:5px 0}.coral-text{color:var(--coral-dark)}.turquoise-text{color:var(--teal-dark)}.final-score{display:flex;justify-content:center;align-items:center;gap:25px;margin:16px}.final-score strong{font:700 3rem Fredoka;font-variant-numeric:tabular-nums}.review-outcome{margin:0 0 10px!important;font-size:.92rem}.review-outcome strong{color:var(--navy)}.final-score span{font-size:.7rem;text-transform:uppercase;color:var(--muted)}.button-row{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.wheel-control{display:grid;gap:12px;max-width:330px;margin:auto}.wheel-result{display:flex;text-align:left;align-items:center;gap:13px;background:#fff4c9;padding:12px 14px;border-radius:15px;max-width:500px;margin:10px auto 0}.wheel-result svg{color:#d99d00}.wheel-result small,.wheel-result strong{display:block}.wheel-result small{font-size:.65rem;letter-spacing:.11em}.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px}.section-title h2,.section-title h3{margin:0}.count{display:grid;place-items:center;background:var(--coral);color:#fff;border-radius:50%;width:28px;height:28px;font-weight:700}.action-item{display:flex;align-items:center;gap:11px;padding:14px 0;border-top:1px solid var(--line)}.action-item div{flex:1}.action-item strong,.action-item small{display:block}.action-item small{color:var(--muted);margin-top:3px}.action-item button{flex:none;border:0;background:#e1f7f4;color:var(--teal-dark);border-radius:50%;width:44px;height:44px}.action-item button svg{width:18px}.team-dot{width:12px;height:12px;border-radius:50%}.team-dot.coral{background:var(--coral)}.team-dot.turquoise{background:var(--teal)}.tactical-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:8px}.tactical{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:#faf7f2;border:1px solid var(--line)}.tactical>div{flex:1;min-width:0}.tactical strong,.tactical small{display:block}.tactical small{color:var(--muted);font-size:.74rem;line-height:1.35;margin-top:2px}.tactical-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:11px;background:#fff1bd;color:#735400}.tactical-icon svg{width:18px}.tactical-status{flex:none;padding:4px 9px;border-radius:999px;background:#eee8df;color:var(--muted);font-size:.68rem;font-weight:800;white-space:nowrap}.tactical.eligible{border-color:#efd677;background:#fffaeb}.tactical.eligible .tactical-status{background:var(--yellow);color:#5c4100}.tactical.used{opacity:.55}.tactical.used .tactical-icon{background:#eee8df;color:var(--muted)}.player button,.mini-player button{min-height:40px;border:0;border-radius:8px;background:#fff2bb;color:#735400;font-size:.7rem;font-weight:800;padding:8px}.compact{margin-top:10px}.host-panel .eyebrow{display:flex;gap:6px;align-items:center}.host-panel .eyebrow svg{width:15px}.teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.roster{border-top:5px solid}.roster.coral{border-top-color:var(--coral)}.roster.turquoise{border-top-color:var(--teal)}.player{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:13px 0}.player .avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:#f3efe8;font-weight:800}.player div{flex:1}.player strong,.player small{display:block}.player small{font-size:.7rem;color:var(--muted)}.player>svg{width:18px;color:#d89f00}.mini-player{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.timeline-item{display:flex;gap:12px;padding:13px 0}.timeline-item>span{width:10px;height:10px;border-radius:50%;background:var(--yellow);margin-top:4px;box-shadow:0 0 0 5px #fff7d6}.timeline-item strong,.timeline-item small{display:block}.timeline-item small{color:var(--muted);font-size:.7rem;margin-top:4px}.drinks-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.drinks-head .eyebrow{display:flex;align-items:center;gap:6px;margin:0}.drinks-head .eyebrow svg{width:15px}.drink-totals{display:flex;gap:6px;flex-wrap:wrap}.drink-totals span{max-width:100%;padding:5px 10px;border-radius:999px;background:#f7f3ec;color:var(--muted);font-size:.75rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drink-totals strong{color:var(--navy);font-variant-numeric:tabular-nums}.drinks-prompt{margin:14px 0 8px;font-size:.82rem;font-weight:700}.drink-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.drink-options button{display:grid;justify-items:center;gap:2px;min-height:64px;padding:8px 4px;border-radius:14px;border:1px solid var(--line);background:#faf7f2;color:var(--navy);font-size:.78rem;font-weight:800;transition:transform .12s,background .12s}.drink-options button span{font-size:1.4rem;line-height:1}.drink-options button:active{transform:scale(.96);background:#fff1bd}.drink-logged{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 8px 8px 12px;border-radius:12px;background:#dff6ed;color:#176c54;font-weight:800;font-size:.85rem;animation:notice-pop .25s ease-out}.drink-logged svg{width:17px;flex:none}.drink-logged span{flex:1}.drink-logged button{min-height:36px;padding:0 12px;border:0;border-radius:9px;background:#fff;color:#176c54;font-weight:800}.drink-history{margin-top:12px;border-top:1px solid var(--line)}.drink-history summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;font-size:.82rem;font-weight:800;list-style:none}.drink-history summary svg{width:16px;transition:transform .15s}.drink-history[open] summary svg{transform:rotate(90deg)}.drink-list>div{display:flex;justify-content:space-between;align-items:center;padding:2px 0;border-bottom:1px solid var(--line);font-size:.85rem}.drink-list small{margin-left:8px;color:var(--muted);font-size:.72rem}.drink-list button{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--muted)}.drink-list svg{width:17px}@keyframes notice-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.floating{position:fixed;z-index:60;left:16px;right:16px;bottom:24px;max-width:520px;margin:0 auto;box-shadow:0 12px 32px #232a3e38}.loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:15px}.spinner{display:block;width:34px;height:34px;border:4px solid #e5ded2;border-top-color:var(--coral);border-radius:50%;animation:spin .8s linear infinite}.busy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff8eb66;display:grid;place-items:center;z-index:30;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.event-main{padding:10px 12px calc(84px + env(safe-area-inset-bottom))}.header-inner{padding:6px 12px}.brand.small>span:last-child{display:none}.brand.small .brand-mark{width:34px;height:34px}.view-grid,.main-column,aside{gap:12px}.teams-grid{grid-template-columns:1fr;gap:12px}.view-grid{grid-template-columns:1fr}.scoreboard{height:58px;border-radius:16px}.team-score{padding:6px 10px;gap:8px}.team-score strong{font-size:1.85rem}.team-score-name{font-size:.6rem}.activity-view aside{order:-1}.tabs{position:fixed;bottom:0;left:0;right:0;background:#fff;z-index:20;padding:7px 10px calc(7px + env(safe-area-inset-bottom));justify-content:space-around;border-top:1px solid var(--line)}.tabs button{flex:1;max-width:140px;min-height:50px;justify-content:center;flex-direction:column;gap:1px;padding:6px 10px;font-size:.7rem}.tabs button.active{background:#f5f0e8;box-shadow:none}.card{padding:16px}.score-entry{grid-template-columns:1fr auto 1fr}.challenge{padding:14px 14px 16px}.final-score{gap:14px}.final-score strong{font-size:2.5rem}.section-title{align-items:flex-start;flex-direction:column}.section-title.inline{flex-direction:row;align-items:center}.section-title .button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}.fortune{display:grid;justify-items:center;margin:8px auto 0;max-width:520px}.wheel-stage{width:min(70vw,330px,40vh);width:min(70vw,330px,40dvh);aspect-ratio:1;position:relative;display:grid;place-items:center;padding:14px}.wheel-stage:before{content:"";position:absolute;top:7%;right:7%;bottom:7%;left:7%;border-radius:50%;background:#ffd65a3d;filter:blur(18px)}.wheel-pointer{position:absolute;z-index:3;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:17px solid transparent;border-right:17px solid transparent;border-top:34px solid var(--navy);filter:drop-shadow(0 4px 2px rgba(21,36,61,.2))}.fortune-wheel{width:100%;height:100%;overflow:visible;transform-origin:center;will-change:transform;filter:drop-shadow(0 13px 18px rgba(35,42,62,.18))}.wheel-rim{fill:#fff;stroke:var(--navy);stroke-width:8}.wheel-segment{stroke:#fff;stroke-width:3;transition:filter .3s,stroke-width .3s}.wheel-label-group{transform-box:view-box;will-change:transform}.wheel-label{fill:#15243d;font:800 11px DM Sans,sans-serif;paint-order:stroke;stroke:#ffffffc7;stroke-width:2.4px;stroke-linejoin:round}.wheel-hub{fill:#fff;stroke:var(--navy);stroke-width:6}.wheel-hub-text{fill:var(--navy);font:700 16px Fredoka,sans-serif}.fortune.revealed .winning-segment .wheel-segment{stroke:#fff7c6;stroke-width:9;filter:brightness(1.13) drop-shadow(0 0 8px #ffd65a)}.fortune .wheel-result{width:100%;opacity:.84;transform:translateY(3px);transition:opacity .35s,transform .35s}.fortune .wheel-result.show{opacity:1;transform:none;box-shadow:0 8px 22px #d99d0021}.score-error{grid-column:1/-1!important;color:#9d2d1e!important;font-size:.78rem!important;margin:0!important}.score-entry input[aria-invalid=true]{border-color:#d94d38;background:#fff8f6}@media(max-width:420px){.wheel-stage{width:min(76vw,300px,36vh);width:min(76vw,300px,36dvh);padding:8px}.wheel-label{font-size:10.5px}.wheel-pointer{border-left-width:14px;border-right-width:14px;border-top-width:28px}}.wheel-settings{padding:0}.wheel-settings summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer;font-weight:800}.wheel-settings summary span{display:flex;align-items:center;gap:8px}.wheel-settings summary svg{width:18px}.wheel-settings[open] summary>svg{transform:rotate(90deg)}.settings-body{display:grid;gap:11px;border-top:1px solid var(--line);padding:17px 20px 20px}.settings-body>p{margin:0;line-height:1.45}.settings-body label>span{display:flex;align-items:center;gap:7px}.settings-body label i{display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line)}.settings-body input{min-height:44px}.settings-body .button{margin-top:4px}.settings-error{color:#9d2d1e;font-size:.78rem}.team-avatar{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;overflow:hidden;flex:none;color:#fff;font:700 1.45rem Fredoka;border:4px solid white;box-shadow:0 5px 14px #15243d26}.team-avatar.coral{background:linear-gradient(145deg,#ff967f,var(--coral-dark))}.team-avatar.turquoise{background:linear-gradient(145deg,#43d3c9,var(--teal-dark))}.team-avatar img{width:100%;height:100%;object-fit:cover}.team-avatar.compact-avatar{width:44px;height:44px;border-radius:14px;border-width:2px;font-size:.8rem;box-shadow:none}.team-identity-heading{display:flex;align-items:center;gap:15px;margin-bottom:15px}.team-identity-heading h2{margin:0 0 3px}.team-identity-heading p{margin:0}.team-identity-heading>div>span{font-size:.75rem;color:var(--muted)}.identity-hint{display:flex;align-items:center;gap:7px;background:#fff7d6;color:#745a09;border-radius:11px;padding:10px 12px;margin:16px 0 0;font-size:.82rem}.identity-hint svg{width:17px;flex:none}.identity-editor{border-block:1px solid var(--line);margin:0 0 4px}.identity-editor summary{display:flex;align-items:center;gap:7px;padding:12px 2px;cursor:pointer;font-size:.78rem;font-weight:800;color:var(--teal-dark)}.identity-editor summary svg{width:17px}.identity-fields{display:grid;gap:9px;padding:2px 0 15px}.identity-fields .button{min-height:43px}.identity-fields p{margin:0}.photo-picker{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;background:#f1ede6;border-radius:12px;padding:10px;color:var(--navy);font-weight:800;cursor:pointer}.photo-picker svg{width:18px}.photo-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-progress{height:32px;background:#e8e1d6;border-radius:9px;position:relative;overflow:hidden}.upload-progress>span{position:absolute;inset:0 auto 0 0;background:#a8e4df;transition:width .2s}.upload-progress small{position:relative;z-index:1;display:grid;place-items:center;height:100%;font-weight:800;color:var(--teal-dark)}@media(max-width:760px){.team-score .compact-avatar{width:32px;height:32px;border-radius:10px}.team-score.coral .compact-avatar{order:-1}.team-avatar{width:68px;height:68px;border-radius:20px}.team-identity-heading{gap:12px}}.icon-picker{border:0;padding:3px 0 6px;margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.icon-picker legend{font-size:.82rem;font-weight:700;margin-bottom:7px}.icon-picker button{aspect-ratio:1;border:2px solid transparent;border-radius:11px;background:#f4efe7;font-size:1.25rem;padding:3px}.icon-picker button:hover{background:#fff5cb}.icon-picker button.selected{border-color:var(--navy);background:#fff1bd;box-shadow:0 0 0 2px #fff inset}.identity-fields textarea{width:100%;resize:vertical;min-height:78px;border:1px solid var(--line);border-radius:12px;padding:10px 13px;background:#fff;color:var(--navy);font:inherit;font-size:1rem}.identity-fields textarea:focus{outline:3px solid rgba(25,184,174,.2);border-color:var(--teal)}.identity-fields label>small{justify-self:end;color:var(--muted);font-weight:500}.team-description{font-size:.84rem;line-height:1.5;color:var(--muted);font-style:italic;background:#f8f4ed;padding:10px 12px;border-radius:11px;margin:0 0 13px}.team-notice{position:fixed;z-index:40;top:82px;left:50%;transform:translate(-50%);width:min(calc(100% - 24px),520px);display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--yellow);border-radius:18px;padding:14px 15px;box-shadow:0 15px 38px #15243d33;animation:notice-in .35s ease-out}.team-notice>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff1bd;flex:none}.team-notice svg{width:21px}.team-notice>div{flex:1}.team-notice strong,.team-notice small{display:block}.team-notice small{color:var(--muted);margin-top:3px}.team-notice>button{border:0;background:transparent;color:var(--muted);padding:7px}.team-notice>button svg{width:18px}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,-14px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:760px){.team-notice{top:68px}.team-notice small{font-size:.72rem}}.game-info-button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#f7f3ec;color:var(--navy);border-radius:999px;padding:8px 13px;font-size:.78rem;font-weight:800}.game-info-button svg{width:16px}.round-info{max-width:540px;margin:14px auto 2px;display:grid;grid-template-columns:1fr 1fr;gap:9px;text-align:left}.round-info>div{background:#f8f4ed;border-radius:11px;padding:11px 12px}.round-info strong,.round-info span{display:block}.round-info strong{font-size:.75rem;margin-bottom:3px}.round-info span{font-size:.76rem;line-height:1.4;color:var(--muted)}@media(max-width:520px){.round-info{grid-template-columns:1fr}}.preplay-check{max-width:560px;margin:12px auto 10px;padding:14px;border:1px solid #efd677;border-radius:16px;background:linear-gradient(135deg,#fff9df,#fffdf6);text-align:center}.preplay-check h3{margin-bottom:6px}.preplay-check>p:not(.eyebrow){font-size:.85rem!important;margin-bottom:14px!important}.preplay-check .button{margin:0}.decision-status{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:13px}.decision-status span{display:flex;align-items:center;gap:5px;background:#eee8df;color:var(--muted);border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:800}.decision-status span.done{background:#dff6ed;color:#176c54}.decision-status svg{width:15px}.start-wait{margin:8px auto 0!important}.tactical-modal-backdrop{position:fixed;z-index:35;top:0;right:0;bottom:0;left:0;background:#15243d61;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:18px;overflow-y:auto}.contextual-card{width:min(100%,560px);display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:start;border-left:6px solid;background:#fff;border-radius:22px;padding:24px;box-shadow:0 22px 60px #15243d47}.contextual-card.coral{border-left-color:var(--coral)}.contextual-card.turquoise{border-left-color:var(--teal)}.contextual-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fff1bd;font-size:1.55rem}.contextual-card h3{margin-bottom:5px}.contextual-card p:not(.eyebrow){color:var(--muted);font-size:.86rem;line-height:1.45;margin-bottom:12px}.contextual-card label{max-width:480px;margin-bottom:12px}.contextual-card .button-row{justify-content:flex-start}.contextual-card .button{margin:0}.modal-note{display:block;color:var(--muted);margin-top:11px}@media(max-width:520px){.contextual-card{grid-template-columns:1fr}.contextual-card-icon{width:42px;height:42px}.contextual-card .button-row{display:grid}.contextual-card .button{width:100%}}.active-card-strip{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px auto;max-width:620px}.active-card-strip span{display:flex;align-items:center;gap:6px;background:#fff1bd;color:#684f00;border-radius:999px;padding:8px 12px;font-size:.76rem;font-weight:800;animation:card-activated .5s cubic-bezier(.2,1.5,.4,1) both}@keyframes card-activated{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.active-card-strip svg{width:15px}.round-checkpoint{max-width:520px;margin:15px auto;display:flex;align-items:center;gap:12px;text-align:left;background:#f7f3ec;border:1px solid var(--line);border-radius:14px;padding:13px 15px}.round-checkpoint>svg{width:23px;color:var(--teal-dark);flex:none}.round-checkpoint strong,.round-checkpoint small{display:block}.round-checkpoint small{color:var(--muted);margin-top:3px;line-height:1.35}.result-celebration{position:relative;isolation:isolate;overflow:hidden;max-width:620px;margin:12px auto 0;padding:18px 16px 16px;border-radius:24px;background:linear-gradient(145deg,#fff5bd,#fffdf5 62%);border:2px solid #f0ce4f;box-shadow:0 14px 35px #be8f0021}.celebration-trophy{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 8px;border-radius:19px;background:var(--yellow);color:#8a6500;transform:rotate(-4deg)}.celebration-trophy svg{width:24px;height:24px}.result-celebration h2{font-size:clamp(1.7rem,6.5vw,2.6rem);margin:0 0 7px}.result-celebration>p:not(.eyebrow){max-width:430px;margin:8px auto 10px!important;color:var(--muted);font-size:.95rem!important}.points-won{display:inline-block;color:var(--teal-dark);font:700 clamp(1.5rem,5vw,2.2rem) "Fredoka";background:#dff6ed;border-radius:999px;padding:7px 17px}.waiting-wheel{display:flex;align-items:center;justify-content:center;gap:11px;max-width:430px;margin:17px auto 0;padding:12px 15px;border-radius:14px;background:#ffffffc2;text-align:left}.waiting-wheel>svg{width:25px;color:var(--coral)}.waiting-wheel strong,.waiting-wheel small{display:block}.waiting-wheel small{color:var(--muted);margin-top:2px}.celebration-confetti{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;pointer-events:none}.celebration-confetti i{position:absolute;width:7px;height:18px;border-radius:4px;background:var(--coral);animation:confetti-fall 2.8s ease-out infinite}.celebration-confetti i:nth-child(3n){background:var(--teal);transform:rotate(35deg)}.celebration-confetti i:nth-child(3n+2){background:#8774d6;transform:rotate(-28deg)}.celebration-confetti i:nth-child(1){left:7%;top:-12%;animation-delay:.1s}.celebration-confetti i:nth-child(2){left:16%;top:-16%;animation-delay:.7s}.celebration-confetti i:nth-child(3){left:27%;top:-10%;animation-delay:1.4s}.celebration-confetti i:nth-child(4){left:39%;top:-15%;animation-delay:.4s}.celebration-confetti i:nth-child(5){left:51%;top:-13%;animation-delay:1.8s}.celebration-confetti i:nth-child(6){left:63%;top:-18%;animation-delay:.9s}.celebration-confetti i:nth-child(7){left:76%;top:-12%;animation-delay:1.5s}.celebration-confetti i:nth-child(8){left:89%;top:-16%;animation-delay:.2s}.celebration-confetti i:nth-child(9){left:12%;top:-14%;animation-delay:2s}.celebration-confetti i:nth-child(10){left:34%;top:-19%;animation-delay:1.1s}.celebration-confetti i:nth-child(11){left:57%;top:-11%;animation-delay:.55s}.celebration-confetti i:nth-child(12){left:70%;top:-17%;animation-delay:2.2s}.celebration-confetti i:nth-child(13){left:83%;top:-9%;animation-delay:1.25s}.celebration-confetti i:nth-child(14){left:95%;top:-15%;animation-delay:.8s}@keyframes confetti-fall{0%{translate:0 -15px;rotate:0deg;opacity:0}12%{opacity:1}to{translate:18px 330px;rotate:480deg;opacity:0}}.ready-modal-backdrop{position:fixed;z-index:55;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#15243d6b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.ready-modal{width:min(100%,340px);padding:24px;border-radius:22px;background:#fff;border:2px solid var(--yellow);box-shadow:0 22px 60px #15243d47;text-align:center}.ready-modal h3{font-size:1.55rem;margin-bottom:18px}.ready-modal .button{width:100%;margin:0}.ready-modal.waiting{border-color:#70cfb4}.ready-modal.waiting h3{margin-bottom:10px}.ready-modal-check{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 12px;border-radius:50%;background:#dff6ed;color:#176c54;animation:ready-pulse 1.8s ease-in-out infinite}.ready-modal-check svg{width:24px}.ready-count{display:inline-block;padding:5px 13px;border-radius:999px;background:#e8f7f1;color:#176c54;font-size:.85rem}.ready-modal.waiting p{color:var(--muted);font-size:.88rem;line-height:1.45;margin:10px 0 0;overflow-wrap:anywhere}@keyframes ready-pulse{0%,to{box-shadow:0 0 #70cfb473}50%{box-shadow:0 0 0 10px #70cfb400}}@media(prefers-reduced-motion:reduce){.ready-modal-check{animation:none}}.next-round-suggestion{max-width:340px;margin:12px auto 0}.next-round-suggestion .button{width:100%;margin:0}.winner-entry{max-width:450px;margin:25px auto}.winner-entry .button{width:100%;margin:5px 0 0}.result-choice{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:#f5f0e8;margin-bottom:12px}.result-choice button{min-height:42px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:800}.result-choice button.selected{background:#fff;color:var(--navy);box-shadow:0 2px 8px #232a3e1a}.team-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.team-choice button{min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border-radius:16px;border:2px solid var(--line);background:#fff;font-weight:800;color:var(--navy);transition:border-color .15s,background .15s}.team-choice button span:last-child{max-width:100%;overflow-wrap:anywhere}.team-choice button.coral.selected{border-color:var(--coral);background:#fff0ec}.team-choice button.turquoise.selected{border-color:var(--teal);background:#e6f8f6}.winner-preview{display:flex;align-items:center;justify-content:center;gap:6px;min-height:22px;margin:12px 0 4px!important;color:var(--muted);font-size:.86rem!important;font-weight:700}.winner-preview svg{width:16px;color:#b48a00;flex:none}.submitted-winner{display:flex;align-items:center;justify-content:center;gap:11px;max-width:380px;margin:26px auto;padding:14px 18px;border-radius:16px;background:#fff5bd;border:2px solid #f0ce4f;text-align:left}.submitted-winner>svg{width:26px;color:#8a6500;flex:none}.submitted-winner small,.submitted-winner strong{display:block}.submitted-winner small{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.submitted-winner strong{font:700 1.5rem Fredoka;overflow-wrap:anywhere}.landing{display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-card{width:100%;max-width:620px;min-width:0}@media(max-width:760px){body{overflow-x:hidden;-webkit-tap-highlight-color:transparent}button,.button,summary,label.photo-picker{touch-action:manipulation}input,select,textarea{font-size:16px!important}.landing{padding:16px;justify-content:flex-start;padding-top:max(28px,env(safe-area-inset-top))}.landing>.brand{margin:12px 0 18px}.hero-card{padding:28px 18px;border-radius:24px}.hero-card h1{font-size:clamp(2rem,11vw,2.75rem);overflow-wrap:anywhere;margin:17px 0}.hero-copy{font-size:.98rem;line-height:1.55;margin-bottom:22px}.back{min-width:44px;min-height:44px;left:12px;top:12px}.event-main{padding:14px 10px calc(92px + env(safe-area-inset-bottom))}.header-inner{min-height:58px}.room-code{min-height:44px;padding:5px 12px}.exit{width:44px;height:44px;display:grid;place-items:center}.title-row{align-items:center;min-width:0}.title-row>div{min-width:0}.title-row .eyebrow{display:none}.title-row h1{font-size:1.5rem;margin:4px 0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offline{font-size:0;width:40px;height:40px;padding:0;justify-content:center;flex:none}.scoreboard{height:72px;border-radius:17px}.team-score{min-width:0;padding:7px 9px;gap:6px}.team-score strong{font-size:2rem;flex:none}.team-score span{font-size:.62rem;letter-spacing:.04em;max-width:74px}.versus{padding:0 8px;font-size:.59rem}.tabs{gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 25px #15243d14}.tabs button{flex:1;min-height:54px;padding:5px 8px;font-size:.7rem}.tabs button svg{width:20px;height:20px}.view-grid,.main-column,aside{gap:12px}.card{padding:15px;border-radius:17px}.challenge{padding:18px 12px}.challenge:before{width:130px;height:130px}.challenge-top{position:relative;z-index:1}.challenge-icon{font-size:2.35rem;margin:10px}.challenge h2{margin-bottom:10px}.challenge>p:not(.eyebrow){font-size:.9rem;line-height:1.45;margin-bottom:16px}.challenge .button{width:100%;margin-top:14px}.button-row{display:grid;grid-template-columns:1fr;width:100%}.button-row .button{width:100%;margin:0}.preplay-check{padding:15px 12px;margin:15px auto 12px}.decision-status{display:grid;grid-template-columns:1fr;width:100%}.decision-status span{justify-content:center;min-height:40px}.game-info-button{min-height:44px}.round-info{gap:7px;margin-top:10px}.score-entry{gap:6px;margin:18px auto 5px;width:100%}.score-entry>span{padding-bottom:19px}.score-entry label{min-width:0}.score-entry label span{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-entry input{height:62px;padding:6px;font-size:2rem!important}.final-score{margin:20px 0;gap:10px}.final-score span{max-width:70px}.result-celebration{margin:14px 0 2px;padding:24px 14px 18px;border-radius:20px}.result-celebration h2{font-size:2.25rem}.result-celebration .wheel-control{max-width:none;width:100%}.waiting-wheel{align-items:flex-start}.fortune{width:100%;margin-top:12px}.wheel-stage{width:min(calc(100vw - 36px),360px)}.wheel-result{margin:12px 0;width:100%;padding:13px}.wheel-result strong{line-height:1.25}.action-item{min-height:60px}.action-item button{width:44px;height:44px;flex:none}.section-title{gap:9px}.team-identity-heading{align-items:flex-start}.identity-editor summary,.wheel-settings summary{min-height:48px}.identity-fields .button,.photo-picker{min-height:48px}.icon-picker{grid-template-columns:repeat(4,1fr);gap:9px}.icon-picker button{min-height:48px}.player,.mini-player{min-height:58px}.player button,.mini-player button{min-height:44px;padding:8px 11px}.tactical-modal-backdrop{place-items:end center;padding:0;z-index:50}.contextual-card{width:100%;max-height:calc(100dvh - 24px);overflow-y:auto;border-left:0;border-top:6px solid;border-radius:24px 24px 0 0;padding:22px 18px calc(20px + env(safe-area-inset-bottom))}.team-notice{top:66px;align-items:flex-start}.busy-overlay{pointer-events:auto;z-index:70}}@media(max-width:360px){.team-score .compact-avatar{display:none}.team-score span{max-width:82px}.hero-card{padding-inline:15px}.date-pill{font-size:.64rem;letter-spacing:.08em}}@media(max-width:760px){.floating{bottom:calc(84px + env(safe-area-inset-bottom))}}.name-draw{max-width:540px;margin:22px auto 6px}.name-draw-grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.name-chip{min-width:0;max-width:100%;padding:9px 14px;border-radius:999px;background:#fff;border:2px solid var(--line);font-weight:800;font-size:.9rem;overflow-wrap:anywhere;transition:background .12s,border-color .12s,transform .12s,opacity .3s}.name-chip.coral{border-left:6px solid var(--coral)}.name-chip.turquoise{border-left:6px solid var(--teal)}.name-chip.active{background:var(--yellow);border-color:#e5b92e;transform:scale(1.08)}.name-draw.revealed .name-chip:not(.picked){opacity:.4}.name-chip.picked{background:var(--yellow);border-color:#d99d00;transform:scale(1.15);animation:pick-pulse 1.4s ease-in-out infinite}@keyframes pick-pulse{0%,to{box-shadow:0 0 #ffd65ab3}50%{box-shadow:0 0 0 12px #ffd65a00}}.draw-result{max-width:440px;margin:20px auto 0;padding:15px 18px;border-radius:16px;background:#f7f3ec;text-align:center}.draw-result.show{background:#fff4c9;border:2px solid #f0ce4f}.draw-result small,.draw-result strong{display:block}.draw-result small{font-size:.7rem;letter-spacing:.05em;color:var(--muted)}.draw-result strong{margin-top:3px;font:700 1.35rem Fredoka;overflow-wrap:anywhere}.announcement-teaser{max-width:520px;margin:22px auto 4px;padding:20px 18px;border-radius:20px;background:linear-gradient(145deg,#fff5bd,#fffdf5 70%);border:2px solid #f0ce4f}.announcement-teaser blockquote{margin:6px 0 0;font:600 clamp(1.15rem,4.6vw,1.45rem)/1.9 "Fredoka";color:var(--navy)}.blank-word{display:inline-flex;gap:3px;margin:0 4px;vertical-align:-.12em;white-space:nowrap}.blank-word i{display:inline-block;width:.78em;height:1.05em;border-bottom:3px solid var(--navy);background:#ffffffb3;border-radius:4px 4px 0 0}.attempt-entry{max-width:450px;margin:25px auto;display:grid;gap:10px}.attempt-entry .button{width:100%;margin:0}.attempt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;background:#fff;border:2px solid var(--line);text-align:left}.attempt-row.coral{border-left:6px solid var(--coral)}.attempt-row.turquoise{border-left:6px solid var(--teal)}.attempt-team{display:flex;align-items:center;gap:10px;min-width:0}.attempt-team strong,.attempt-team small{display:block;overflow-wrap:anywhere}.attempt-team small{color:var(--muted);font-size:.75rem;margin-top:1px}.attempt-choice{display:flex;gap:6px;flex:none}.attempt-choice button{display:flex;align-items:center;gap:4px;min-height:42px;padding:0 12px;border-radius:12px;border:2px solid var(--line);background:#faf7f2;font-weight:800;color:var(--navy)}.attempt-choice button svg{width:16px}.attempt-choice button.selected.yes{background:#dff6ed;border-color:#70cfb4;color:#176c54}.attempt-choice button.selected.no{background:#ffebe8;border-color:#f3a99b;color:#9d2d1e}.attempt-entry .winner-preview{margin:4px 0!important}.attempt-review{display:grid;gap:8px;max-width:380px;margin:26px auto}.attempt-review span{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 14px;border-radius:14px;font-weight:800;overflow-wrap:anywhere}.attempt-review span svg{width:18px;flex:none}.attempt-review .yes{background:#dff6ed;color:#176c54}.attempt-review .no{background:#ffebe8;color:#9d2d1e}@media(max-width:420px){.attempt-row{flex-direction:column;align-items:stretch}.attempt-choice button{flex:1;justify-content:center}}.finale{position:relative;overflow:hidden;text-align:center;background:linear-gradient(170deg,#fff8dc,#fff 38%);border:2px solid #f0ce4f}.finale-heading .eyebrow{margin-bottom:4px}.finale-heading h2{margin:0 0 4px;font:700 clamp(1.3rem,5.6vw,2.3rem)/1.05 "Fredoka";text-transform:uppercase;letter-spacing:.01em;background:linear-gradient(90deg,var(--coral-dark),#c98a00,var(--teal-dark));-webkit-background-clip:text;background-clip:text;color:transparent}.finale-scoreline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;margin:10px 0 4px}.finale-jackpot-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;background:var(--yellow);color:#6b4d00;font-weight:800;font-size:.85rem}.finale-jackpot-chip svg{width:16px}.finale-wins{display:flex;align-items:center;gap:10px}.finale-wins>span{display:flex;align-items:center;gap:7px}.finale-wins strong{font:700 1.9rem Fredoka}.finale-wins .coral strong{color:var(--coral-dark)}.finale-wins .turquoise strong{color:var(--teal-dark)}.finale-wins small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.finale-intro{display:grid;gap:12px;max-width:560px;margin:10px auto 0}.finale-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.finale-team{min-width:0;display:grid;justify-items:center;gap:4px;padding:10px 6px;border-radius:18px;background:#fff;border:2px solid var(--line)}.finale-team.coral{border-color:#f7b3a5}.finale-team.turquoise{border-color:#8ad8d0}.finale-team strong{max-width:100%;overflow-wrap:anywhere}.finale-team-score{font:700 1.6rem Fredoka}.finale-team-score small{font:600 .75rem DM Sans,sans-serif;color:var(--muted)}.finale-vs{font:700 1rem Fredoka;color:var(--muted)}.finale-jackpot{display:grid;justify-items:center;padding:12px 12px 10px;border-radius:24px;background:radial-gradient(circle at 50% 30%,#fff3b0,#ffd65a 70%);box-shadow:0 14px 40px #c98a0040;animation:jackpot-glow 2.6s ease-in-out infinite}.finale-jackpot small{font-weight:800;letter-spacing:.12em;color:#7a5600}.finale-jackpot strong{font:700 clamp(3.6rem,18vw,6.5rem)/1 "Fredoka";font-variant-numeric:tabular-nums;color:#5c4100;animation:jackpot-pop .9s cubic-bezier(.2,1.4,.4,1) both}.finale-jackpot span{font-weight:800;color:#7a5600;text-transform:uppercase;letter-spacing:.08em}@keyframes jackpot-glow{0%,to{box-shadow:0 14px 40px #c98a0038}50%{box-shadow:0 14px 56px #c98a0073}}@keyframes jackpot-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.finale-pitch{margin:0!important;font:600 1.05rem/1.4 Fredoka;color:var(--navy)}.finale-howto{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.finale-howto li{padding:8px;border-radius:12px;background:#f7f3ec;font-size:.78rem;font-weight:700}.finale-warning{margin:4px auto!important;max-width:460px;padding:10px 14px;border-radius:14px;background:#fff1c7;color:#6b4d00;font-weight:700;font-size:.86rem!important}.finale-hint{margin:10px auto 0!important}.finale .button{width:100%;max-width:420px;margin:12px auto 0}.finale-settings{text-align:left;margin:0}.finale-question,.finale-reveal{max-width:560px;margin:8px auto 0}.finale-question-text{margin:4px 0 6px;font:700 clamp(1.35rem,5.5vw,1.9rem)/1.25 "Fredoka";overflow-wrap:anywhere}.finale-question-text.compact{font-size:1.1rem;color:var(--muted)}.finale-unit{margin:0 0 12px!important;color:var(--muted);font-weight:700}.finale-locks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 0}.finale-lock{min-width:0;display:flex;align-items:center;gap:9px;padding:11px;border-radius:16px;background:#fff;border:2px solid var(--line);text-align:left;transition:border-color .2s,background .2s}.finale-team-text{min-width:0;flex:1}.finale-lock strong,.finale-lock small{display:block;overflow-wrap:anywhere}.finale-lock small{color:var(--muted);font-size:.74rem}.finale-lock.locked.coral{border-color:var(--coral);background:#fff0ec}.finale-lock.locked.turquoise{border-color:var(--teal);background:#e6f8f6}.finale-lock .lock-icon{width:20px;flex:none;animation:lock-in .5s cubic-bezier(.2,1.6,.4,1) both}.finale-lock.coral .lock-icon{color:var(--coral-dark)}.finale-lock.turquoise .lock-icon{color:var(--teal-dark)}@keyframes lock-in{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}.thinking-dots{display:flex;gap:3px;flex:none}.thinking-dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:thinking 1.2s ease-in-out infinite}.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}@keyframes thinking{0%,80%,to{opacity:.25}40%{opacity:1}}.finale-my-guess{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 0!important;font-weight:700}.finale-my-guess svg{width:16px}.finale-guess-entry{display:grid;gap:8px;max-width:420px;margin:10px auto 0;text-align:left}.finale-guess-entry label span{font-size:.78rem;font-weight:800}.finale-guess-entry input{height:68px;text-align:center;font:700 2.1rem Fredoka}.finale-guess-entry .button{margin:0;max-width:none}.finale-countdown{margin:8px auto;font:700 clamp(5rem,30vw,9rem)/1 "Fredoka";color:#c98a00;animation:countdown-pop 1s ease-out both}@keyframes countdown-pop{0%{transform:scale(1.8);opacity:0}25%{transform:scale(1);opacity:1}85%{opacity:1}to{transform:scale(.85);opacity:.15}}.finale-answer{display:grid;justify-items:center;margin:10px auto;padding:12px;border-radius:22px;background:var(--yellow);animation:answer-reveal .7s cubic-bezier(.2,1.5,.4,1) both}.finale-answer small{font-weight:800;letter-spacing:.12em;color:#7a5600}.finale-answer strong{font:700 clamp(2.4rem,11vw,3.8rem)/1.1 "Fredoka";color:#5c4100;overflow-wrap:anywhere}@keyframes answer-reveal{0%{transform:scale(.3) rotate(-4deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.finale-guesses{display:grid;gap:9px}.finale-guess{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:16px;background:#fff;border:2px solid var(--line);text-align:left;animation:guess-in .45s ease-out both;transition:border-color .3s,background .3s,opacity .3s,transform .3s}.finale-guess:nth-child(2){animation-delay:.15s}.finale-guess .finale-team-text{min-width:0;flex:1}.finale-guess strong,.finale-guess small{display:block;overflow-wrap:anywhere}.finale-guess small{color:var(--muted);font-size:.75rem}.finale-guess b{font:700 1.3rem Fredoka;white-space:nowrap}.finale-guess.closest.coral{border-color:var(--coral);background:#fff0ec;transform:scale(1.03)}.finale-guess.closest.turquoise{border-color:var(--teal);background:#e6f8f6;transform:scale(1.03)}.finale-guess.missed{opacity:.55}.closest-crown{width:20px;flex:none;color:#c98a00}@keyframes guess-in{0%{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}.finale-verdict{margin:14px 0 6px!important;font:700 1.45rem Fredoka;animation:answer-reveal .6s cubic-bezier(.2,1.5,.4,1) both}.finale-verdict.coral{color:var(--coral-dark)}.finale-verdict.turquoise{color:var(--teal-dark)}.finale-fact{display:flex;gap:7px;align-items:flex-start;justify-content:center;max-width:460px;margin:6px auto!important;color:var(--muted);font-size:.88rem!important}.finale-fact svg{width:16px;flex:none;color:#c98a00;margin-top:2px}.finale-history{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.finale-history li{display:flex;align-items:center;gap:6px;max-width:100%;padding:5px 11px;border-radius:999px;background:#f7f3ec;font-size:.76rem;font-weight:800;overflow-wrap:anywhere}.finale-history li span{color:var(--muted)}.finale-history li.coral{background:#ffe4dd;color:var(--coral-dark)}.finale-history li.turquoise{background:#d9f4f1;color:var(--teal-dark)}.finale-champion{position:relative;isolation:isolate;overflow:hidden;display:grid;justify-items:center;gap:6px;max-width:560px;margin:10px auto 0;padding:16px 14px;border-radius:24px;background:linear-gradient(145deg,#fff5bd,#fffdf5 62%);border:2px solid #f0ce4f}.finale-champion h2{margin:0;font-size:clamp(2rem,8vw,3rem);overflow-wrap:anywhere}.finale-champion.coral h2{color:var(--coral-dark)}.finale-champion.turquoise h2{color:var(--teal-dark)}.finale-trophy{width:56px;height:56px;margin:0;animation:trophy-rise .9s cubic-bezier(.2,1.5,.4,1) both}.finale-trophy svg{width:30px;height:30px}@keyframes trophy-rise{0%{transform:translateY(30px) scale(.4) rotate(-12deg);opacity:0}to{transform:rotate(-4deg);opacity:1}}.finale-champion>p:not(.eyebrow){margin:0!important;color:var(--muted)}.finale-final-scores{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:8px 0}.finale-final-scores>div{min-width:0;padding:12px 8px;border-radius:16px;background:#fff;border:2px solid var(--line)}.finale-final-scores span{display:block;font-size:.8rem;font-weight:800;overflow-wrap:anywhere}.finale-final-scores strong{font:700 2rem Fredoka;font-variant-numeric:tabular-nums}.finale-final-scores .coral.is-champion{border-color:var(--coral);background:#fff0ec}.finale-final-scores .turquoise.is-champion{border-color:var(--teal);background:#e6f8f6}.final-leaderboard{max-width:560px;margin:16px auto 0;display:grid;gap:14px;text-align:left}.final-leaderboard .eyebrow{text-align:center}.leaderboard-totals{list-style:none;margin:0;padding:0;display:grid;gap:8px}.leaderboard-totals li{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#fff;border:2px solid var(--line)}.leaderboard-totals li:first-child{background:#fff5bd;border-color:#f0ce4f}.leaderboard-totals strong{flex:1;min-width:0;overflow-wrap:anywhere}.leaderboard-totals b{font:700 1.6rem Fredoka}.leaderboard-rank{font:700 1.2rem Fredoka;color:var(--muted);width:20px}.leaderboard-rounds{width:100%;border-collapse:collapse;font-size:.85rem;background:#fff;border-radius:16px;overflow:hidden}.leaderboard-rounds th,.leaderboard-rounds td{padding:9px 10px;border-bottom:1px solid var(--line)}.leaderboard-rounds thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;overflow-wrap:anywhere}.leaderboard-rounds td,.leaderboard-rounds thead th:not(:first-child){text-align:center;width:22%;font-variant-numeric:tabular-nums}.leaderboard-rounds thead .team-avatar{margin:auto}.leaderboard-rounds tbody th{font-weight:700;overflow-wrap:anywhere}.leaderboard-rounds tfoot th,.leaderboard-rounds tfoot td{font:700 1.05rem Fredoka;border-bottom:0}.finale-settings-title{margin:8px 0 0;font-size:1rem}.finale-question-form{display:grid;gap:8px;padding:12px;border-radius:14px;background:#faf7f2;border:1px solid var(--line)}.finale-question-form label{display:grid;gap:4px;font-size:.78rem;font-weight:800}.finale-question-form textarea{resize:vertical;font:inherit;font-size:1rem;font-weight:500;padding:10px;border-radius:12px;border:1px solid var(--line)}.finale-question-form.locked p{margin:0}.finale-form-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.finale-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:#eee7dc;color:var(--muted);font-size:.7rem;font-weight:800}.finale-badge svg{width:12px}.finale-badge.saved{background:#dff6ed;color:#176c54}.finale-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.finale-form-actions{display:flex;flex-wrap:wrap;gap:8px}.finale-form-actions .button{flex:1;margin:0;min-height:44px}@media(max-width:420px){.finale-form-row{grid-template-columns:1fr}.finale-teams{gap:6px}.finale-team .team-avatar{width:52px;height:52px;border-radius:16px;border-width:3px}.finale-team strong{font-size:.85rem}.finale-locks{grid-template-columns:1fr}.finale-lock{padding:8px 10px}}.challenge,.finale{overflow:hidden;overflow:clip}@media(max-width:760px){.challenge>.button.primary:not(:disabled),.challenge>.button-row,.next-round-suggestion,.finale-intro>.button.primary:not(:disabled),.finale-question>.button.primary,.finale-reveal>.button.primary{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:6}.challenge>.button.primary,.next-round-suggestion .button,.finale-intro>.button.primary,.finale-question>.button.primary,.finale-reveal>.button.primary{box-shadow:0 10px 26px #15243d4d}.challenge>.button-row{padding:6px;margin-left:-6px;margin-right:-6px;border-radius:18px;background:#fffffff0}}.game-artwork{--art-accent:var(--coral);position:relative;isolation:isolate;width:min(100%,310px);height:190px;margin:4px auto 10px;display:grid;place-items:center;overflow:hidden}.game-artwork.accent-turquoise{--art-accent:var(--teal)}.game-artwork.accent-yellow{--art-accent:#e7b900}.game-artwork.accent-purple{--art-accent:#7863ce}.game-artwork-glow{position:absolute;z-index:-1;width:72%;aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--art-accent) 18%,transparent);filter:blur(18px);transform:scale(.8)}.game-artwork img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(21,36,61,.16));animation:art-reveal .55s cubic-bezier(.2,.8,.2,1) both}.game-artwork.compact{height:120px;width:210px}.finale-intro>.game-artwork{height:220px;width:min(100%,360px);margin:-4px auto -6px}.challenge.state-ready .game-artwork img{animation:art-reveal .55s cubic-bezier(.2,.8,.2,1) both,art-breathe 4s 1s ease-in-out infinite alternate}@keyframes art-reveal{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}@keyframes art-breathe{to{transform:translateY(-3px) rotate(.4deg)}}.tactical{position:relative;overflow:hidden;background:linear-gradient(135deg,#fffdf8,#f7f2e9);box-shadow:0 4px 12px #15243d0a;transition:transform .15s,box-shadow .15s,border-color .15s}.tactical:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#8774d6;opacity:.72}.tactical:nth-child(1):before{background:var(--yellow)}.tactical:nth-child(2):before{background:var(--teal)}.tactical:nth-child(3):before{background:var(--coral)}.tactical-icon{position:relative;box-shadow:inset 0 0 0 1px #fffc,0 4px 10px #15243d14}.tactical.eligible{transform:translateY(-1px);box-shadow:0 8px 18px #be8f001f}.tactical.eligible .tactical-icon{animation:card-charge 1.5s ease-in-out infinite alternate}@keyframes card-charge{to{transform:rotate(-5deg) scale(1.06);box-shadow:0 0 0 5px #ffd65a2e}}@media(max-width:760px){.game-artwork{height:148px;width:min(100%,250px);margin:0 auto 8px}.finale-intro>.game-artwork{height:170px;width:280px;margin:-6px auto -8px}.challenge-title{position:relative;z-index:1}.tactical{padding:9px}.tactical-icon{width:38px;height:38px}}@media(prefers-reduced-motion:reduce){.game-artwork img,.challenge.state-ready .game-artwork img,.tactical.eligible .tactical-icon{animation:none!important}}@media(max-width:420px){.finale-scoreline{gap:8px}.finale-jackpot-chip{padding:6px 10px;font-size:.8rem}.finale-wins{gap:7px}.finale-wins .compact-avatar{width:30px;height:30px;border-radius:10px}.finale-wins strong{font-size:1.5rem}.finale-wins small{font-size:.62rem}.finale-champion .team-avatar{width:60px;height:60px;border-radius:18px}.finale-trophy{width:46px;height:46px}.finale-trophy svg{width:24px;height:24px}}
