:root{--bg:#000;--surface:#141414;--surface2:#1f1f1f;--line:#2a2a2a;--text:#fff;--muted:#8e8e93;--yellow:#f2c400;--yellow-dim:#6b5600;--brown:#7a4b12;--red:#ff453a;--green:#30d158;--radius:14px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--bg);height:100%;color:var(--text);margin:0;padding:0;overflow:hidden}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input{font:inherit}.app{overscroll-behavior:none;max-width:430px;height:100dvh;padding-bottom:var(--sab);flex-direction:column;margin:0 auto;display:flex;overflow-y:auto}.topbar{height:calc(52px + var(--sat));padding:var(--sat) 8px 0;background:var(--bg);z-index:5;grid-template-columns:44px 1fr 88px;align-items:center;display:grid;position:sticky;top:0}.topbar .icon{width:44px;height:44px;color:var(--text);border-radius:22px;place-items:center;display:grid}.topbar .icon:active{background:var(--surface)}.topbar .icon svg{width:22px;height:22px}.topbar .icon[aria-pressed=true]{color:var(--yellow)}.topbar .row-icons{justify-content:flex-end;display:flex}.wordmark{text-align:center;letter-spacing:-.04em;padding-left:44px;font-size:22px;font-weight:800}.wordmark b{color:var(--yellow);font-weight:800}.main{flex-direction:column;flex:1;gap:12px;padding:0 16px 16px;display:flex}.stage{aspect-ratio:1/1.1;background:var(--surface);border-radius:20px;place-items:center;display:grid;position:relative;overflow:hidden}.stage .floor{background:linear-gradient(#0000,#7a4b1240);height:22%;position:absolute;bottom:0;left:0;right:0}.stage.thirsty{box-shadow:inset 0 0 0 2px var(--yellow);background:#1a1600}.stage.late{box-shadow:inset 0 0 0 2px var(--red);background:#1a0705}.stage.flash{animation:.25s 4 flash}@keyframes flash{50%{background:var(--yellow)}}.eel{touch-action:manipulation;will-change:transform;width:100%;height:auto}.eel-body{fill:var(--eel);transition:fill .6s}.eel-outline{fill:#4a2e0a;stroke:#4a2e0a;stroke-width:6px;stroke-linejoin:round}.eel-belly{fill:var(--belly);transition:fill .6s}.eel-fin{fill:var(--brown)}.eel-spot{fill:#c48a1e;opacity:.55}.leder .shorts{fill:#6e4b2a;stroke:#3d2914;stroke-width:1.5px;stroke-linejoin:round}.leder .stitch{fill:none;stroke:#9cc46f;stroke-width:1.2px;stroke-dasharray:2 2;stroke-linecap:round}.leder .strap{fill:none;stroke:#6e4b2a;stroke-width:4.5px;stroke-linecap:round}.leder .strap-line{fill:none;stroke:#9cc46f;stroke-width:1.2px;stroke-linecap:round}.leder .steg{fill:#6e4b2a;stroke:#3d2914;stroke-width:1.2px}.leder .petal{fill:#fff}.leder .pistil{fill:var(--yellow)}.hat .felt{fill:#4a7a3f;stroke:#2b4a25;stroke-width:1.5px;stroke-linejoin:round}.hat .brim{fill:none;stroke:#2b4a25;stroke-width:4px;stroke-linecap:round}.hat .band{fill:none;stroke:#2b4a25;stroke-width:3px}.hat .feather{fill:none;stroke:#fff;stroke-width:2.5px;stroke-linecap:round}.hat .feather-tip{fill:var(--red)}.face .eye{fill:#111}.face .glint{fill:#fff}.face .lid{fill:var(--eel)}.face .cheek{fill:#ff7a7a;opacity:.7}.face .mouth,.face .brow,.face path{fill:none;stroke:#111;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.face .mouth-open{fill:#5a1a1a;stroke:#111;stroke-width:1.5px}.face .tear{fill:#7fc8ff;stroke:none;animation:1.8s infinite tear}.face .bubble{fill:none;stroke:#fff;stroke-width:1.2px;opacity:.6;animation:2.4s infinite bubble}.face .bubble2{animation-delay:.8s}.face .blink{transform-box:fill-box;transform-origin:50%;animation:4.5s infinite blink}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes tear{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(14px)}}@keyframes bubble{0%{opacity:0;transform:translateY(0)}40%{opacity:.7}to{opacity:0;transform:translateY(-14px)}}.eel-gone{place-items:center;width:100%;height:100%;display:grid}.eel-sign{border:2px solid var(--brown);color:var(--muted);border-radius:6px;padding:8px 14px;font-weight:700;position:relative;transform:rotate(-4deg)}.eel-sign:after{content:"";background:var(--brown);width:3px;height:40px;position:absolute;top:100%;left:50%}.card{background:var(--surface);border-radius:var(--radius);padding:14px 16px}.card .title{font-size:17px;font-weight:700}.card .sub{color:var(--muted);margin-top:2px;font-size:14px}.card.center{text-align:center}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pill{background:var(--surface2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.pill.ok{color:var(--green)}.pill.late{color:var(--red)}.pill.warn{color:var(--yellow)}.countdown{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:56px;font-weight:800;line-height:1}.countdown.late{color:var(--red);font-size:40px}.btn{background:var(--text);color:#000;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:100%;height:56px;font-size:18px;font-weight:800;transition:transform .1s;display:flex}.btn:active{transform:scale(.97)}.btn.yellow{background:var(--yellow)}.btn.ghost{background:var(--surface2);color:var(--text);height:46px;font-size:15px;font-weight:600}.btn:disabled{opacity:.5}.bottle{transform-origin:20% 90%;width:34px;height:74px;transition:transform .4s;position:absolute;top:12%;right:10%}.bottle.pouring{transform:rotate(-110deg)translate(-10px,10px)}.stream{background:linear-gradient(#ffe066,#f2c400);border-radius:3px;width:6px;height:0;animation:.9s forwards pour;position:absolute;top:26%;right:24%}@keyframes pour{20%{height:0}60%{height:34%}to{opacity:0;height:34%}}.hero{text-align:center;padding:22px 16px 18px}.hero .big{letter-spacing:-.04em;font-size:64px;font-weight:800;line-height:1}.hero .big small{color:var(--muted);font-size:28px;font-weight:700}.hero .label{color:var(--muted);margin-top:8px;font-size:13px}.trio{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.trio .card{text-align:center;padding:12px 8px}.trio .v{letter-spacing:-.02em;font-size:22px;font-weight:800}.trio .k{color:var(--muted);margin-top:2px;font-size:12px}.grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cell{aspect-ratio:1;background:var(--surface2);color:var(--muted);border-radius:8px;place-items:center;font-size:11px;font-weight:600;display:grid}.cell.ok{background:var(--yellow);color:#000}.cell.late{background:var(--yellow-dim);color:#fff}.cell.miss{color:var(--red);background:#3a1210}.cell.today{outline:2px solid var(--text);outline-offset:-2px}.legend{color:var(--muted);gap:14px;margin-top:10px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.h{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 6px;font-size:13px;font-weight:700}.list{flex-direction:column;gap:2px;display:flex}.list .item{background:var(--surface);border-radius:10px;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.list .item.me{outline:1.5px solid var(--yellow)}.list .rank{color:var(--muted);font-size:13px;font-weight:700}.list .name{font-weight:600}.list .meta{color:var(--muted);font-size:12px}.list .score{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.list .item button.x{color:var(--muted);margin-left:6px;padding:4px 6px;font-size:12px}.form{gap:8px;margin:8px 0;display:flex}.input{border:1px solid var(--line);background:var(--surface);min-width:0;height:46px;color:var(--text);border-radius:12px;outline:none;flex:1;padding:0 14px}.input:focus{border-color:var(--yellow)}.input.short{flex:0 0 90px}.overlay{z-index:20;background:#000000b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:430px;padding:16px 16px calc(20px + var(--sab));border-radius:20px 20px 0 0;flex-direction:column;gap:10px;animation:.25s ease-out up;display:flex}@keyframes up{0%{opacity:0;transform:translateY(40px)}}.sheet .grab{background:var(--line);border-radius:2px;width:36px;height:4px;margin:0 auto 6px}.toggle{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.toggle:last-of-type{border-bottom:0}.switch{background:var(--surface2);border-radius:14px;width:46px;height:28px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:11px;width:22px;height:22px;transition:left .2s;position:absolute;top:3px;left:3px}.switch.on{background:var(--green)}.switch.on:after{left:21px}.hint{color:var(--muted);font-size:13px;line-height:1.4}.hint b{color:var(--text)}.hint.err,.btn.danger{color:var(--red)}.danger{border:1px solid var(--red);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.danger .form{margin:0}.box{border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.nudge{border:1px solid var(--line);position:relative}.nudge ol{color:var(--muted);margin:8px 0 0;padding-left:20px;font-size:14px;line-height:1.7}.nudge ol b{color:var(--text)}.nudge .share-icon{vertical-align:-3px;color:#2f7cf6;width:16px;height:16px}.nudge button.x{color:var(--muted);padding:4px 6px;font-size:12px;position:absolute;top:10px;right:12px}.nudge .row .btn{flex:1}.dev{grid-template-columns:1fr 1fr;gap:6px;display:grid}.dev button{background:var(--surface2);border-radius:10px;padding:10px;font-size:13px;font-weight:600}.onboard{z-index:30;background:var(--bg);padding:32px 24px calc(32px + var(--sab));flex-direction:column;justify-content:center;gap:18px;max-width:430px;margin:0 auto;display:flex;position:fixed;inset:0}.onboard h1{letter-spacing:-.04em;margin:0;font-size:40px;font-weight:800}.onboard p{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.onboard p b{color:var(--text)}.onboard .eel{align-self:center;width:80%}.onboard .steps{color:var(--muted);margin:0;padding-left:22px;font-size:16px;line-height:1.8}.onboard .steps b{color:var(--text)}.onboard .share-icon{vertical-align:-3px;color:#2f7cf6;width:18px;height:18px}.onboard .btn{flex:none}.onboard .link{color:var(--muted);align-self:center;padding:4px;font-size:13px;text-decoration:underline}.toast{left:50%;bottom:calc(24px + var(--sab));background:var(--text);color:#000;z-index:40;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:700;animation:.2s ease-out up;position:fixed;transform:translate(-50%)}.party{z-index:15;pointer-events:none;width:100%;max-width:430px;position:fixed;top:0;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.party .lights{mix-blend-mode:screen;opacity:.55;animation:.5s step-end infinite disco;position:absolute;inset:0}@keyframes disco{0%{background:radial-gradient(circle at 20% 30%,#ff2d95 0,#0000 45%)}25%{background:radial-gradient(circle at 80% 25%,#2dffb5 0,#0000 45%)}50%{background:radial-gradient(circle at 30% 80%,#2d8dff 0,#0000 45%)}75%{background:radial-gradient(circle at 75% 70%,#ffd52d 0,#0000 45%)}}.party .spot{aspect-ratio:1;filter:blur(60px);opacity:.35;mix-blend-mode:screen;border-radius:50%;width:90%;animation:3s ease-in-out infinite alternate sweep;position:absolute}.party .spot.a{background:#ff2d95;top:-20%;left:-20%}.party .spot.b{background:#2dffb5;animation-delay:-1s;bottom:-20%;right:-20%}.party .spot.c{background:#ffd52d;animation-delay:-2s;top:30%;left:30%}@keyframes sweep{to{transform:translate(25%,15%)scale(1.2)}}.party .drop{filter:drop-shadow(0 4px 6px #00000080);animation:linear infinite fall;position:absolute;top:-12vh}@keyframes fall{to{transform:translateY(125vh) rotate(calc(var(--spin,1) * 540deg))}}.party .banner{left:50%;top:calc(14px + var(--sat));color:#000;white-space:nowrap;background:#fff;border-radius:999px;padding:8px 16px;font-size:15px;font-weight:800;animation:.5s ease-in-out infinite alternate bounce;position:absolute;transform:translate(-50%)}@keyframes bounce{to{transform:translate(-50%)translateY(-6px)rotate(-3deg)}}.stage.party{aspect-ratio:auto;z-index:14;border-radius:0;width:100%;max-width:430px;height:100dvh;animation:.5s step-end infinite strobe,.35s ease-out partyIn;position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%)}@keyframes partyIn{0%{opacity:0;scale:.96}}@keyframes strobe{0%{background:#2a0a1c}25%{background:#0a2a1e}50%{background:#0a1a2a}75%{background:#2a230a}}.meter{background:#ffffff1f;border-radius:2px;height:4px;position:absolute;bottom:12px;left:16px;right:16px;overflow:hidden}.meter i{background:var(--yellow);height:100%;transition:width .1s linear;display:block}.meter b{text-align:center;color:var(--muted);font-size:11px;font-weight:600;position:absolute;bottom:8px;left:0;right:0}.onboard .input{flex:none;height:50px}.face .shades{fill:#111}.face .shades-bridge{stroke:#111;stroke-width:2px}.face .tongue{fill:#ff7a9a;stroke:none}.face .grin{stroke-width:2.4px}.blink-group .eye{transform-box:fill-box;transform-origin:50%;animation:4.5s infinite blink}.blink-group .glint{animation:4.5s infinite blinkGlint}@keyframes blinkGlint{0%,92%,to{opacity:1}93%,97%{opacity:0}}.eel-spot{fill:var(--spot,#c48a1e)}.party-hat .cone{fill:#ff2d95;stroke:#a3145c;stroke-width:1.5px;stroke-linejoin:round}.party-hat .stripe{fill:none;stroke:var(--yellow);stroke-width:2.2px;stroke-linecap:round}.party-hat .pom,.beanie .pom{fill:#fff;stroke:#333;stroke-width:1px}.beanie .knit{fill:#d43b3b;stroke:#7a1f1f;stroke-width:1.5px}.beanie .cuff{fill:#f0f0f0;stroke:#7a1f1f;stroke-width:1.2px}.viking .steel{fill:#b9c1cc;stroke:#4c5560;stroke-width:1.5px}.viking .rim{fill:#8a939e;stroke:#4c5560;stroke-width:1.2px}.viking .horn{fill:#f3e9d2;stroke:#6b5a3a;stroke-width:1.5px;stroke-linejoin:round}.captain .crown-white{fill:#fff;stroke:#2b3a55;stroke-width:1.5px}.captain .band{fill:#1e2a44}.captain .visor{fill:#111;stroke:#000;stroke-width:1px}.captain .badge{fill:var(--yellow)}.crown .gold{fill:gold;stroke:#9a7a00;stroke-width:1.5px;stroke-linejoin:round}.crown .jewel{fill:#2d8dff;stroke:#123;stroke-width:.8px}.crown .jewel.red{fill:var(--red)}.halo .ring{fill:none;stroke:#fff3b0;stroke-width:3.5px;filter:drop-shadow(0 0 4px gold);animation:2.4s ease-in-out infinite alternate hover}@keyframes hover{to{transform:translateY(-3px)}}.acc .monocle{fill:none;stroke:#d4af37;stroke-width:2px}.acc .monocle-string{fill:none;stroke:#d4af37;stroke-width:1.2px}.acc .stache{fill:#3a2418;stroke:none}.acc .bow{fill:var(--red);stroke:#7a1010;stroke-width:1.2px;stroke-linejoin:round}.acc .knot{fill:#7a1010;stroke:none}.stream{background:linear-gradient(var(--beer-hi,#ffe066), var(--beer-lo,#f2c400))}.stage .dress{color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff14;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;position:absolute;top:12px;left:12px}.stage .dress:active{background:#ffffff2e}.fact{text-align:left;width:100%;animation:.3s ease-out up}.fact .k{color:var(--yellow);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;font-size:12px;font-weight:700;display:flex}.fact .k span{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:600}.fact p{margin:6px 0 0;font-size:15px;line-height:1.45}.stage.dressing{aspect-ratio:1/.7}.bottle.still{top:auto;bottom:14%;right:12%;transform:none}.tabs{background:var(--surface);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;display:grid}.tabs button{color:var(--muted);border-radius:9px;padding:9px 0;font-size:14px;font-weight:700}.tabs button.on{background:var(--surface2);color:var(--text)}.rack{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.rack .item{text-align:left;background:var(--surface);border:1.5px solid #0000;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:34px 1fr;align-items:center;column-gap:10px;padding:10px 12px;display:grid}.rack .item.on{border-color:var(--yellow)}.rack .item.locked{opacity:.55}.rack .item .e{text-align:center;grid-row:1/3;font-size:24px}.rack .item .n{font-size:14px;font-weight:700}.rack .item .d{color:var(--muted);font-size:11px;line-height:1.3}.trophies-link{text-align:left;width:100%}.trophies{flex-direction:column;gap:6px;display:flex}.trophy{background:var(--surface);border-radius:12px;grid-template-columns:52px 1fr;align-items:center;gap:12px;padding:10px 12px;display:grid}.trophy:not(.done){opacity:.7}.trophy .medal,.unlock .medal{background:var(--surface2);border-radius:50%;place-items:center;width:52px;height:52px;font-size:26px;display:grid}.trophy.done .medal{background:radial-gradient(circle at 35% 30%, #fff3b0, var(--yellow) 60%, #c9a200);box-shadow:0 2px 10px #f2c40059}.trophy .t{font-size:15px;font-weight:700}.trophy .d{color:var(--muted);font-size:12px}.trophy .r{color:var(--yellow);margin-top:3px;font-size:12px;font-weight:600}.trophy .bar{background:var(--surface2);border-radius:3px;height:6px;margin-top:6px;position:relative;overflow:visible}.trophy .bar i{background:var(--yellow);border-radius:3px;height:100%;display:block}.trophy .bar em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-style:normal;position:absolute;top:-16px;right:0}.rare-tag{letter-spacing:.1em;text-transform:uppercase;color:#1a1020;vertical-align:2px;background:linear-gradient(100deg,#6ff2e0,#c9a0ff 45%,#ffb3ec);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;font-style:normal;font-weight:800;display:inline-block}.rack .item.rare{border-color:#c9a0ff}.rack .item.rare.on{border-color:var(--yellow)}.trophy.rare{box-shadow:inset 0 0 0 1.5px #c9a0ff}.trophy.rare .r{color:#d9b8ff}.unlock{z-index:25;background:#000000d1;place-items:center;padding:24px;animation:.25s ease-out fadeIn;display:grid;position:fixed;inset:0;overflow:hidden}@keyframes fadeIn{0%{opacity:0}}.unlock .rays{background:repeating-conic-gradient(from 0deg, #f2c40024 0 10deg, transparent 10deg 20deg);opacity:.8;width:200vmax;height:200vmax;animation:24s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.unlock .drop{pointer-events:none;animation:linear infinite fall;position:absolute;top:-10vh}.unlock-card{background:var(--surface);text-align:center;width:100%;max-width:360px;box-shadow:0 0 0 2px var(--yellow), 0 20px 60px #0009;border-radius:24px;flex-direction:column;align-items:center;gap:10px;padding:26px 22px 20px;animation:.55s cubic-bezier(.2,1.4,.4,1) pop;display:flex;position:relative}@keyframes pop{0%{opacity:0;transform:scale(.6)rotate(-4deg)}}.unlock .eyebrow{color:var(--yellow);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}.unlock .medal{background:radial-gradient(circle at 35% 30%, #fff3b0, var(--yellow) 60%, #c9a200);width:96px;height:96px;font-size:48px;animation:.9s cubic-bezier(.2,1.6,.4,1) .15s both medal;box-shadow:0 6px 24px #f2c40073,inset 0 -4px #00000026}@keyframes medal{0%{transform:scale(0)rotate(-180deg)}}.unlock h2{letter-spacing:-.03em;margin:4px 0 0;font-size:28px}.unlock p{color:var(--muted);margin:0;font-size:15px}.unlock .reward{background:var(--surface2);border-radius:14px;flex-direction:column;gap:2px;width:100%;margin-top:6px;padding:12px;display:flex}.unlock .reward .tag{color:var(--yellow);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.unlock-card.rare{box-shadow:0 0 0 2px #c9a0ff,0 20px 60px #0009,0 0 40px #c9a0ff59}.unlock-card.rare .eyebrow,.unlock-card.rare .reward .tag{color:#d9b8ff}.unlock-card.rare .medal{background:radial-gradient(circle at 35% 30%,#fff,#c9a0ff 55%,#6ff2e0);box-shadow:0 6px 24px #c9a0ff80,inset 0 -4px #00000026}.unlock .reward b{font-size:18px}.unlock .reward small{color:var(--muted);font-size:13px}.unlock .btn{width:100%}.unlock .btn.yellow{margin-top:6px}.cap .tin{fill:#d8d8d8;stroke:#6a6a6a;stroke-width:1.2px;stroke-linejoin:round}.cap .liner{fill:var(--red);stroke:#7a1010;stroke-width:1px}.cap .mark{fill:none;stroke:#fff;stroke-width:1.6px;stroke-linecap:round}.admin-lock{justify-content:center}.admin-lock-btn{color:var(--muted);padding:4px 8px;font-size:13px}.big-count{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:48px;font-weight:800;line-height:1}.list.admin .item{grid-template-columns:1fr auto auto}.list.admin .score{color:var(--muted);font-size:15px}.list.admin .meta{word-break:break-all}.admin-del{color:var(--red);padding:6px 8px;font-size:12px}
