@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Archivo:wght@400;500;600;700&display=swap");:root{--sand:#efede6;--card:#fff;--ink:#12232b;--ink2:#4e5f66;--court:#145c74;--court-deep:#0c3b4c;--court-soft:#e1ebee;--ball:#d7e436;--ball-deep:#b7c41c;--line:#ddd8cb;--danger:#b4472e;--ok:#2e7d57;--r:16px}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:Archivo,system-ui,sans-serif;font-size:15px;line-height:1.45}.oc,body,html{min-height:100vh;background:var(--sand);color:var(--ink)}.oc{display:flex;justify-content:center}.oc :focus-visible{outline:2px solid var(--court);outline-offset:2px;border-radius:4px}.shell{width:100%;max-width:460px;min-height:100vh;display:flex;flex-direction:column;background:var(--sand);position:relative}@media(min-width:900px){.shell{max-width:520px;border-left:1px solid var(--line);border-right:1px solid var(--line)}}.screen{flex:1 1;overflow-y:auto;padding:20px 18px 96px}.disp{font-family:Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.02em}.h1{font-weight:700;font-size:30px;line-height:1.05;letter-spacing:.01em}.h1,.h2{font-family:Barlow Condensed;text-transform:uppercase}.h2{font-size:21px;letter-spacing:.03em}.eyebrow,.h2{font-weight:600}.eyebrow{font-family:Barlow Condensed;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--court);margin-bottom:6px}.muted{color:var(--ink2);font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:12px}.card.dark{background:var(--court-deep);color:#edf4f6;border-color:var(--court-deep)}.card.dark .muted{color:#9db8c2}.row,.spread{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.btn{font-family:Barlow Condensed;font-weight:600;font-size:17px;letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:12px;padding:13px 18px;cursor:pointer;background:var(--court);color:#fff;width:100%;transition:transform .06s}.btn:active{transform:scale(.98)}.btn.ball{background:var(--ball);color:var(--ink)}.btn.ghost{background:transparent;color:var(--court);border:1.5px solid var(--court)}.btn.sm{width:auto;padding:8px 14px;font-size:14px}.btn:disabled{opacity:.4;cursor:default}.btn.dngr{background:transparent;border:1.5px solid var(--danger);color:var(--danger)}.chip{font-family:Barlow Condensed;font-weight:600;font-size:15px;letter-spacing:.04em;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:7px 14px;cursor:pointer;white-space:nowrap}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--ball)}.chiprow{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.chiprow::-webkit-scrollbar{display:none}.seg{display:flex;background:#e4e1d7;border-radius:12px;padding:3px;margin-bottom:14px}.seg button{flex:1 1;border:none;border-radius:10px;padding:9px 6px;cursor:pointer;background:transparent;font-family:Barlow Condensed;font-weight:600;font-size:15px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2)}.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}.slotgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.slot{font-family:Barlow Condensed;font-weight:600;font-size:15px;border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:9px 2px;cursor:pointer;text-align:center}.slot.on{background:var(--court);border-color:var(--court);color:#fff}.slot:disabled{opacity:.3;cursor:default;text-decoration:line-through}.timeline{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}.timeline::-webkit-scrollbar{display:none}.timeline .slot{flex-shrink:0;min-width:64px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:460px;display:flex;background:var(--court-deep);padding:8px 6px calc(10px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;z-index:40}@media(min-width:900px){.nav{max-width:520px}}.nav a,.nav button{flex:1 1;background:none;border:none;color:#7fa2ae;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:Barlow Condensed;font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 0;text-decoration:none}.nav a.on,.nav button.on{color:var(--ball)}.nav svg{width:22px;height:22px}.sheetwrap{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}.scrim{position:absolute;inset:0;background:rgba(12,28,35,.55)}.sheet{position:relative;width:100%;max-width:460px;background:var(--sand);border-radius:22px 22px 0 0;padding:18px 18px calc(24px + env(safe-area-inset-bottom));max-height:88vh;overflow-y:auto;animation:up .22s ease}@media(min-width:900px){.sheet{max-width:520px}}@keyframes up{0%{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.sheet{animation:none}.btn:active{transform:none}}.grab{width:38px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 14px}.toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:60;background:var(--ink);color:var(--ball);font-family:Barlow Condensed;font-weight:600;letter-spacing:.05em;font-size:15px;text-transform:uppercase;padding:10px 20px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.25)}.scorebox{display:flex;gap:6px;align-items:center}.scorebox input{width:46px;text-align:center;font-size:22px;border:1.5px solid var(--line);border-radius:10px;padding:6px 0;background:var(--card);color:var(--ink)}.bignum,.scorebox input{font-family:Barlow Condensed;font-weight:700}.bignum{font-size:34px;line-height:1}.lvltag{font-family:Barlow Condensed;font-weight:700;font-size:13px;background:var(--ball);color:var(--ink);border-radius:6px;padding:1px 6px;letter-spacing:.03em}.pos{color:var(--ok)}.neg{color:var(--danger)}.tablerow{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line)}.tablerow:last-child{border-bottom:none}.rank{font-size:18px;width:26px;color:var(--ink2)}.avatar,.rank{font-family:Barlow Condensed;font-weight:700}.avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.avatar,.notice{background:var(--court-soft);color:var(--court-deep)}.notice{border:1px solid #c6d8de;border-radius:12px;font-size:13px;margin-bottom:12px}.input,.notice{padding:10px 12px}.input{border:1.5px solid var(--line);border-radius:10px;font-size:15px;background:var(--card);color:var(--ink);font-family:Archivo,sans-serif;width:100%}.input:focus{outline:2px solid var(--court);border-color:var(--court)}.cropstage{position:relative;width:100%;height:min(60vh,320px);border-radius:16px;overflow:hidden;background:#000}.zoomslider{width:100%;accent-color:var(--court);margin:14px 0}.bubblerow{display:flex;margin-bottom:8px}.bubblerow.me{justify-content:flex-end}.bubble{max-width:78%;padding:9px 13px;border-radius:16px;background:var(--card);border:1px solid var(--line);font-size:14px;line-height:1.4}.bubblerow.me .bubble{background:var(--court);color:#fff;border-color:var(--court)}.chatinput{position:fixed;left:50%;transform:translateX(-50%);bottom:64px;width:100%;max-width:460px;display:flex;gap:8px;padding:8px 18px;background:var(--sand);z-index:41}@media(min-width:900px){.chatinput{max-width:520px}}.pill{font-family:Barlow Condensed;font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:2px 8px;background:var(--court-soft);color:var(--court-deep)}.pill.gold{background:var(--ball);color:var(--ink)}.pill.warn{background:#f3dcd4;color:var(--danger)}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--court-deep);padding:20px}.auth-card{background:var(--sand);border-radius:20px;padding:28px 24px;width:100%;max-width:400px}.auth-card .h1{margin-bottom:4px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-family:Barlow Condensed;font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}.field input{border:1.5px solid var(--line);border-radius:10px;padding:11px 14px;font-size:15px;background:var(--card);color:var(--ink);font-family:Archivo,sans-serif}.field input:focus{outline:2px solid var(--court);border-color:var(--court)}.err{color:var(--danger);font-size:13px;margin-bottom:10px}