@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Nunito:wght@400;600;700;800;900&display=swap";:root{--bg:#082f24;--bg-2:#0f4535;--ink:#f5ede1;--muted:#93a89f;--accent:#00bd00;--accent-2:#6be3ff;--good:#8df01f;--card:#f5ede10f;--card-line:#f5ede124;--btn-ink:#082f24;--font-display:"Fredoka", "Segoe UI", system-ui, sans-serif;--font-body:"Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;font-family:var(--font-body)}*{box-sizing:border-box}.wordmark,.finale-title,.prompt-big,.phone-prompt,.stage-header .brand,.phone h2,.result-big,.qr-card .code,.group-card .val,.award .name{font-family:var(--font-display)}html,body{min-height:100%;color:var(--ink);background:radial-gradient(1200px 800px at 50% -10%, #0f4535 0%, var(--bg) 60%);-webkit-tap-highlight-color:transparent;margin:0;padding:0}button{font:inherit;cursor:pointer}.btn{font-family:var(--font-display);color:var(--btn-ink);background:linear-gradient(135deg, var(--accent), var(--accent-2));border:none;border-radius:16px;padding:18px 26px;font-size:1.1rem;font-weight:600;transition:transform 80ms,box-shadow .2s,opacity .2s;box-shadow:0 10px 30px #00bd0059}.btn:active{transform:translateY(2px)scale(.99)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn--big{padding:22px 34px;font-size:1.4rem}.btn--big span{opacity:.7;font-size:.9rem;font-weight:500}.btn--ghost{color:var(--ink);border:2px solid var(--card-line);box-shadow:none;background:0 0}.landing{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:24px;display:flex}.brand-logo{width:clamp(120px,22vw,170px);height:auto;margin-bottom:6px}.wordmark{letter-spacing:-.02em;margin:0;font-size:clamp(2.4rem,9vw,5rem);font-weight:700;line-height:.95}.wordmark span{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;display:block}.tagline{color:var(--muted);margin:0 0 20px;font-size:1.15rem}.landing-actions{flex-direction:column;gap:20px;width:min(420px,100%);display:flex}.join-box{gap:10px;display:flex}.code-field{text-align:center;text-transform:uppercase;letter-spacing:.3em;border:2px solid var(--card-line);background:var(--card);color:var(--ink);border-radius:16px;flex:0 0 120px;padding:14px 8px;font-size:1.3rem;font-weight:800}.code-field:focus{border-color:var(--accent);outline:none}.join-box .btn{flex:1}.pill{background:var(--card);border:1px solid var(--card-line);color:var(--muted);border-radius:999px;padding:6px 16px;font-weight:600;display:inline-block}.center-col{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.stage-body{overflow:hidden}.stage{flex-direction:column;height:100vh;padding:3vh 3vw;display:flex;overflow:hidden}.stage-actions{z-index:20;gap:12px;display:flex;position:fixed;bottom:3vh;right:3vw}.stage-actions:empty{display:none}.stage-header{justify-content:space-between;align-items:center;margin-bottom:2vh;display:flex}.stage-header .brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.3rem;font-weight:600;display:flex}.stage-header .brand-mark{width:auto;height:1.7rem}.stage-main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2vh;min-height:0;display:flex;overflow:hidden}.round-counter{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.9rem;font-weight:700}.prompt-big{text-align:center;max-width:20ch;margin:0;font-size:clamp(2rem,5vw,4rem);font-weight:700;line-height:1.1}.prompt-kind{color:var(--accent);text-transform:uppercase;letter-spacing:.15em;font-size:1rem;font-weight:800}.lobby-grid{grid-template-columns:auto 1fr;align-items:center;gap:5vw;width:100%;max-width:1100px;display:grid}.qr-card{text-align:center;color:#1a1030;background:#fff;border-radius:24px;padding:22px}.qr-card img{width:260px;height:260px;margin:0 auto;display:block}.qr-card .code{letter-spacing:.2em;margin-top:10px;font-size:2.6rem;font-weight:700}.qr-card .hint{color:#6b6790;font-weight:600}.roster{flex-wrap:wrap;align-content:flex-start;gap:16px;display:flex}.roster-chip{background:var(--card);border:1px solid var(--card-line);border-radius:999px;align-items:center;gap:10px;padding:8px 18px 8px 8px;font-weight:700;animation:.3s pop;display:flex}.roster-chip .av{border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.3rem;display:grid}.timer-ring{--pct:1;background:conic-gradient(var(--accent) calc(var(--pct) * 360deg), #ffffff1a 0);border-radius:50%;place-items:center;width:90px;height:90px;font-size:1.8rem;font-weight:900;display:grid;position:relative}.timer-ring:before{content:"";background:var(--bg);border-radius:50%;position:absolute;inset:8px}.timer-ring span{position:relative}.answered-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.answered-av{opacity:.28;filter:grayscale(.6);border:3px solid #0000;border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.6rem;transition:all .3s;display:grid}.answered-av.locked{opacity:1;filter:none;border-color:var(--good);animation:.25s pop}.nudge{color:var(--accent-2);font-size:1.2rem;font-weight:700}.web{width:min(70vh,90vw);height:min(70vh,90vw)}.web--reveal{flex-shrink:1;width:min(46vh,62vw);height:min(46vh,62vw);min-height:0}.groups{max-height:26vh;overflow:hidden}.web-edge{stroke:var(--accent);opacity:var(--o,.5);stroke-linecap:round}.web-edge--new{stroke:var(--good);opacity:1;filter:drop-shadow(0 0 8px var(--good));stroke-dasharray:1200;stroke-dashoffset:1200px;animation:.7s forwards draw}.web-node-bg{stroke:#ffffff80;stroke-width:3px}.web-node-emoji{font-size:42px}.web-node-name{fill:var(--ink);font-size:26px;font-weight:700}.web-node--spot .web-node-bg{stroke:var(--accent-2);stroke-width:6px;filter:drop-shadow(0 0 12px var(--accent-2))}.web-node--open .web-node-bg{stroke-dasharray:8 8;animation:6s linear infinite spin-dash}.groups{flex-wrap:wrap;justify-content:center;gap:14px;max-width:1000px;display:flex}.group-card{background:var(--card);border:1px solid var(--card-line);text-align:center;border-radius:18px;padding:14px 20px;animation:.35s pop}.group-card .val{font-size:1.6rem;font-weight:700}.group-card .who{color:var(--muted);margin-top:6px;font-weight:600}.group-card--match{border-color:var(--good);box-shadow:0 0 24px #34d39940}.group-card--solo{border-color:var(--accent-2)}.group-card--solo .tag{color:var(--accent-2);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:800}.finale-title{text-align:center;margin:0;font-size:clamp(2.2rem,6vw,4.5rem);font-weight:700}.finale-title span{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text}.awards{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.award{background:var(--card);border:1px solid var(--card-line);text-align:center;border-radius:18px;padding:16px 24px}.award .label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:700}.award .name{margin-top:6px;font-size:1.4rem;font-weight:700}.phone-body{overflow-x:hidden}.phone{flex-direction:column;gap:18px;min-height:100vh;padding:22px;display:flex}.phone h2{margin:0;font-size:1.6rem}.field{border:2px solid var(--card-line);background:var(--card);width:100%;color:var(--ink);border-radius:16px;padding:16px;font-size:1.2rem}.field:focus{border-color:var(--accent);outline:none}.avatar-grid{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.avatar-opt{aspect-ratio:1;background:var(--card);border:3px solid #0000;border-radius:14px;place-items:center;font-size:1.7rem;display:grid}.avatar-opt.sel{border-color:var(--ink);transform:scale(1.06)}.check-row{color:var(--muted);align-items:center;gap:12px;display:flex}.check-row input{width:22px;height:22px}.big-input-area{flex-direction:column;flex:1;justify-content:center;gap:18px;display:flex}.phone-prompt{font-size:1.7rem;font-weight:700;line-height:1.15}.choice-btns{flex-direction:column;gap:14px;display:flex}.choice-btns .btn{padding:26px;font-size:1.5rem}.num-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.num-grid .btn{padding:20px 0;font-size:1.5rem}.locked-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.locked-badge{font-size:4rem}.result-big{text-align:center;font-size:2rem;font-weight:700}.you-av{border-radius:50%;place-items:center;width:84px;height:84px;margin:0 auto;font-size:2.4rem;display:grid}.spotlight-banner{background:linear-gradient(135deg, var(--accent-2), var(--accent));color:#1a1030;text-align:center;border-radius:16px;padding:14px;font-weight:800}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes spin-dash{to{stroke-dashoffset:32px}}
