:root{--bg: oklch(.165 .012 264);--bg-2: oklch(.142 .013 264);--surface: oklch(.215 .013 264);--surface-2: oklch(.255 .014 264);--line: oklch(1 0 0 / .09);--line-2: oklch(1 0 0 / .16);--text: oklch(.975 .004 264);--text-dim: oklch(.74 .012 264);--text-faint: oklch(.56 .012 264);--accent: #5b8def;--accent-soft: color-mix(in oklab, var(--accent) 15%, transparent);--accent-line: color-mix(in oklab, var(--accent) 55%, transparent);--accent-glow: color-mix(in oklab, var(--accent) 42%, transparent);--success: oklch(.78 .15 155);--danger: oklch(.72 .14 25);--radius: 18px;--radius-sm: 12px;--gap: 14px;--pad-card: 22px;--font-display: "Bricolage Grotesque", "Avenir Next", "Segoe UI", sans-serif;--font-body: "Hanken Grotesk", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", ui-monospace, monospace;--spectrum: linear-gradient( 90deg, oklch(.7 .2 350), oklch(.74 .19 30), oklch(.84 .16 95), oklch(.74 .18 150), oklch(.72 .15 200), oklch(.66 .18 264), oklch(.62 .2 300) )}[data-bg=cool]{--bg: oklch(.165 .012 264);--bg-2: oklch(.142 .013 264)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-width:320px;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font:inherit}img{display:block;max-width:100%}.app-bg{min-height:100vh;background:radial-gradient(1100px 520px at 18% -8%,color-mix(in oklab,var(--accent) 14%,transparent),transparent 60%),radial-gradient(900px 480px at 92% -2%,color-mix(in oklab,oklch(.66 .2 320) 12%,transparent),transparent 62%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);background-attachment:fixed}.spectrum-bar{position:sticky;top:0;z-index:60;width:100%;height:4px;background:var(--spectrum)}.shell{max-width:760px;margin:0 auto;padding:0 22px 120px}.topnav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 0 18px}.brand,.state-brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;font-family:var(--font-display);font-size:17px;font-weight:800;letter-spacing:-.5px;color:#0b0d12;box-shadow:0 6px 22px -8px #8d90ffb3;box-shadow:0 6px 22px -8px oklch(.7 .18 280 / .7)}.brand-text{line-height:1.05}.brand-text .k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:3px;color:var(--text-faint);text-transform:uppercase}.brand-text .t{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:-.2px;color:var(--text)}.ghost-btn,.primary-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:10px;cursor:pointer;transition:all .18s ease}.ghost-btn{padding:9px 15px;border:1px solid var(--line);background:#ffffff0a;color:var(--text-dim);font-family:var(--font-mono);font-size:12px;letter-spacing:.3px;white-space:nowrap}.ghost-btn:hover{color:var(--text);border-color:var(--line-2);background:#ffffff12}.ghost-btn:disabled,.primary-btn:disabled{opacity:.6;cursor:not-allowed}.hero{padding:8px 0 22px}.hero-head{display:flex;align-items:center;justify-content:space-between;gap:12px}h1{margin:0 0 12px;font-family:var(--font-display);font-size:clamp(40px,8vw,60px);font-weight:800;line-height:.95;letter-spacing:-.03em;text-wrap:balance}.hero-title{margin:0;font-size:clamp(28px,5.8vw,38px);line-height:.98}.dim{color:var(--text-faint)}.hero p,.state-copy,.terms-card p{margin:0;color:var(--text-dim);font-size:16px;line-height:1.55}.score-pill{display:inline-flex;align-items:baseline;gap:10px;margin-bottom:0;padding:10px 14px;border:1px solid var(--accent-line);border-radius:999px;background:color-mix(in oklab,var(--accent) 14%,transparent);box-shadow:inset 0 1px #ffffff14;white-space:nowrap}.score-pill-label{color:var(--text-faint);font-family:var(--font-mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.score-pill-value{color:var(--text);font-family:var(--font-display);font-size:22px;font-weight:800;line-height:1;letter-spacing:-.02em}.filterbar{position:sticky;top:4px;z-index:40;display:flex;align-items:center;gap:10px;margin-bottom:4px;padding:12px 0;background:linear-gradient(180deg,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.chips{display:flex;flex:1;gap:8px;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip,.jump{border:1px solid var(--line);background:var(--surface)}.chip{padding:8px 14px;border-radius:999px;color:var(--text-dim);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .16s ease}.chip:hover{color:var(--text);border-color:var(--line-2)}.chip[data-active=true]{color:var(--bg);border-color:var(--text);background:var(--text)}.jump{padding:8px 12px;border-radius:10px;color:var(--text-dim);font-family:var(--font-mono);font-size:12px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.jump:hover{border-color:var(--line-2)}.day-head{position:sticky;top:56px;z-index:30;display:flex;align-items:center;gap:11px;margin-top:8px;padding:14px 0 12px;background:linear-gradient(180deg,var(--bg) 70%,transparent)}.day-dot{width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft),0 0 14px -1px var(--accent-glow)}.day-head .d{color:var(--text);font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.day-head .count{margin-left:auto;color:var(--text-faint);font-family:var(--font-mono);font-size:11px}.match{position:relative;margin-bottom:var(--gap);padding:var(--pad-card);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff0b,#ffffff04);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.match:not(.locked):hover{border-color:var(--line-2)}.match.has-pick{border-color:var(--accent-line)}.match.has-pick:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--accent-line),0 18px 50px -28px var(--accent-glow);pointer-events:none}.match.locked{opacity:.7}.lock-badge{position:absolute;top:12px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid oklch(.55 .16 25);border-radius:999px;background:#5c1717;box-shadow:0 8px 20px -8px #b32228b3;color:#fedbd7;font-family:var(--font-mono);font-size:10.5px;letter-spacing:1px;text-transform:uppercase}.lock-badge svg{width:11px;height:11px}.match-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.match-meta{display:flex;flex-direction:column;gap:8px;min-width:0}.tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.stage-pill{padding:4px 9px;border:1px solid var(--accent-line);border-radius:7px;background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;white-space:nowrap}.group-tag{color:var(--text-faint);font-family:var(--font-mono);font-size:11px;white-space:nowrap}.matchup{color:var(--text);font-family:var(--font-display);font-size:21px;font-weight:700;line-height:1.1;letter-spacing:-.02em}.matchup .vs{padding:0 5px;color:var(--text-faint);font-size:15px;font-weight:600}.match-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right;white-space:nowrap}.kick{color:var(--text);font-family:var(--font-mono);font-size:17px;font-weight:600;letter-spacing:-.5px}.lockline{display:inline-flex;align-items:center;gap:5px;color:var(--text-faint);font-family:var(--font-mono);font-size:11px}.lockline svg{width:11px;height:11px;opacity:.8}.picks{display:grid;gap:10px}.picks.group{grid-template-columns:1fr .86fr 1fr}.picks.knock{grid-template-columns:1fr 1fr}.pick{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 12px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .14s ease,border-color .16s ease,background .16s ease,box-shadow .2s ease}.pick:not(.disabled):hover{transform:translateY(-2px);border-color:var(--line-2)}.pick:not(.disabled):active{transform:translateY(0) scale(.985)}.pick.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent),0 14px 32px -16px var(--accent-glow)}.pick.disabled{cursor:default}.pick:disabled{opacity:1}.pick-check{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--bg);opacity:0;transform:scale(.4);transition:opacity .2s ease,transform .25s cubic-bezier(.2,1.4,.4,1)}.pick.selected .pick-check{opacity:1;transform:scale(1)}.pick-check svg{width:11px;height:11px}.flag,.draw-emblem{display:grid;place-items:center;width:55px;height:55px;border-radius:50%}.flag{overflow:hidden;background:var(--surface);box-shadow:0 0 0 1.5px var(--line-2),0 6px 14px -6px #0009;transition:transform .2s ease,box-shadow .2s ease}.flag img{width:75%;height:75%;object-fit:fill}.flag-fallback{color:var(--text);font-family:var(--font-mono);font-size:13px;font-weight:700}.pick.selected .flag{transform:scale(1.04);box-shadow:0 0 0 2px var(--accent),0 6px 16px -6px var(--accent-glow)}.draw-emblem{background:#ffffff0a;box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--text-faint)}.pick.selected.draw .draw-emblem{color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.draw-emblem svg{width:22px;height:22px}.pname{color:var(--text);text-align:center;font-size:14px;font-weight:700;line-height:1.15;letter-spacing:-.01em}.pick.draw .pname{color:var(--text-dim)}.pick.selected.draw .pname{color:var(--text)}.score-wrap{margin-top:14px}.slabel{display:block;margin-bottom:7px;color:var(--text-faint);font-family:var(--font-mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.score-input{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:15px;transition:border-color .16s ease,box-shadow .16s ease}.score-input::placeholder{color:var(--text-faint)}.score-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.score-input:disabled{opacity:.6;cursor:not-allowed}.match-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.saved,.locknote,.saving-note{font-family:var(--font-mono);font-size:11.5px}.saved{display:inline-flex;align-items:center;gap:7px;color:var(--text-faint);white-space:nowrap}.saved.ok{color:var(--success)}.saved svg{width:13px;height:13px}.saved .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.locknote{color:var(--danger)}.saving-note{color:var(--text-dim)}.empty{padding:60px 0;color:var(--text-faint);text-align:center;font-family:var(--font-mono);font-size:13px}.state-shell{display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 4px)}.state-shell.is-ready{justify-content:flex-start;min-height:100vh;padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}.state-card,.terms-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff0b,#ffffff04);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.state-card{max-width:620px;margin-top:26px;padding:28px}.terms-screen{display:flex;flex:1;flex-direction:column;min-height:calc(100vh - 120px)}.terms-screen-card{display:flex;flex:1;flex-direction:column;min-height:0}.terms-card{margin:24px 0 18px;padding:18px 20px}.terms-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.terms-kicker{margin-bottom:8px;color:var(--text-faint);font-family:var(--font-mono);font-size:11px;letter-spacing:1.6px;text-transform:uppercase}.terms-list{display:grid;gap:10px}.terms-list p{margin:0;color:var(--text-dim);font-size:14px;line-height:1.5}.terms-list strong{color:var(--text);font-weight:700}.terms-actionbar{position:sticky;bottom:0;z-index:20;margin-top:auto;padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,oklch(.165 .012 264 / 0),var(--bg) 30%,var(--bg) 100%)}.terms-submit{width:100%}.primary-btn{border:1px solid color-mix(in oklab,var(--accent) 55%,transparent);background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 90%,white 10%),color-mix(in oklab,var(--accent) 64%,oklch(.64 .18 264) 36%));color:#fff;padding:12px 16px;font-family:var(--font-body);font-size:14px;font-weight:700;box-shadow:0 10px 22px color-mix(in oklab,var(--accent) 26%,transparent)}.hint{margin-top:18px;color:var(--text-faint);font-family:var(--font-mono);font-size:12px}.hint code{color:var(--text)}.toast{position:fixed;right:20px;bottom:20px;z-index:80;max-width:min(460px,calc(100vw - 32px));padding:12px 15px;border:1px solid color-mix(in oklab,var(--success) 36%,transparent);border-radius:12px;background:color-mix(in oklab,var(--surface) 85%,black 15%);box-shadow:0 20px 50px -26px #000000b3;color:var(--text);font-family:var(--font-mono);font-size:12px}.toast.error{border-color:color-mix(in oklab,var(--danger) 45%,transparent)}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .18s ease,transform .18s ease}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translateY(6px)}@media(max-width:720px){.shell{padding:0 16px 96px}.state-shell.is-ready{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}.terms-screen{min-height:calc(100vh - 104px)}.terms-screen-card{margin-top:18px;padding:22px 18px}.terms-card{margin:20px 0 14px;padding:16px}.topnav,.filterbar,.match-top,.match-foot{flex-direction:column;align-items:stretch}.hero-head{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.score-pill{padding:8px 12px}.score-pill-value{font-size:19px}.match-right{align-items:flex-start;text-align:left}.picks.group{grid-template-columns:minmax(0,1fr) minmax(84px,.72fr) minmax(0,1fr)}.picks.knock{grid-template-columns:repeat(2,minmax(0,1fr))}.pick{padding:14px 8px 12px;gap:8px}.flag,.draw-emblem{width:48px;height:48px}.pname{font-size:12.5px}.jump,.ghost-btn,.primary-btn{width:100%}.lock-badge{right:14px}}@media(max-width:420px){.picks.group{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr)}.pick{padding:13px 6px 11px}.flag,.draw-emblem{width:44px;height:44px}.draw-emblem svg{width:18px;height:18px}.pname{font-size:12px;line-height:1.1}}
