@font-face{font-family:Libre Caslon Condensed;font-weight:400 700;font-style:normal;font-display:swap;src:url(/fonts/LibreCaslonCondensed-VF.woff2) format("woff2")}@font-face{font-family:Libre Caslon Condensed;font-weight:400 700;font-style:italic;font-display:swap;src:url(/fonts/LibreCaslonCondensed-Italic-VF.woff2) format("woff2")}:root{--bg: #08080a;--bg-2: #0e0e12;--surface: rgba(255,255,255,.035);--surface-2: rgba(255,255,255,.06);--hair: rgba(255,255,255,.08);--hair-2: rgba(255,255,255,.14);--text: #f2efe9;--text-2: #b8b3aa;--muted: #6f6a63;--accent: #e5a248;--accent-ink: #1a1206;--accent-soft: rgba(229,162,72,.16);--danger: #d9666f;--danger-soft: rgba(217,102,111,.16);--sans: "Geist", ui-sans-serif, system-ui, sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--serif: "Libre Caslon Condensed", "Libre Caslon Text", Georgia, serif;--ease: cubic-bezier(.32,.72,0,1);--r-xl: 28px;--r-lg: 20px;--r-md: 14px;--r-sm: 9px}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body{min-height:100dvh;padding:0 clamp(16px,3vw,40px) 96px;position:relative;isolation:isolate}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background:radial-gradient(900px 520px at 12% -10%,rgba(229,162,72,.16),transparent 60%),radial-gradient(700px 420px at 95% 110%,rgba(229,162,72,.07),transparent 60%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}a{color:var(--accent);text-decoration:none}::selection{background:var(--accent-soft)}.wrap{max-width:1280px;margin:0 auto}header.top{position:sticky;top:14px;z-index:30;margin:18px auto 0;width:max-content;max-width:100%;display:flex;align-items:center;gap:22px;padding:8px 10px 8px 18px;border-radius:999px;background:#0e0e12b8;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--hair);box-shadow:inset 0 1px #ffffff0f,0 20px 60px -30px #e5a24859}header.top h1{font-family:var(--serif);font-size:22px;margin:0;font-weight:500;letter-spacing:0;line-height:1;white-space:nowrap}header.top h1 small{display:none}.badges{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.badge{font-family:var(--serif);font-size:14px;letter-spacing:.01em;padding:4px 11px;border-radius:999px;color:var(--text-2);background:var(--surface-2);white-space:nowrap;line-height:1.3}.badge b{font-family:var(--mono);font-size:11.5px;color:var(--text);font-weight:500;vertical-align:1px}.badge.live{color:var(--accent);background:var(--accent-soft)}.badge.mock{color:var(--danger);background:var(--danger-soft)}.hero{padding:clamp(44px,7vw,96px) 0 clamp(24px,3vw,40px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:end}.hero h2{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(44px,6.6vw,92px);line-height:.92;letter-spacing:-.01em;text-wrap:balance}.hero h2 em{font-style:italic;font-weight:400;color:var(--accent)}.hero p{margin:0;color:var(--text-2);font-size:16px;max-width:46ch;text-wrap:pretty}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:20px}}.shell{padding:6px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--hair)}.panel{background:var(--bg-2);border-radius:calc(var(--r-xl) - 6px);padding:clamp(18px,2.4vw,28px);box-shadow:inset 0 1px #ffffff0d;min-width:0}.panel h2{margin:0 0 16px;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.inset{background:var(--surface);border-radius:var(--r-md);border:1px solid var(--hair)}.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.dim{color:var(--text-2)}.small{font-size:13px}.kpi{font-family:var(--mono);font-size:clamp(34px,4vw,52px);font-weight:400;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.kpi small{font-family:var(--sans);font-size:12px;color:var(--muted);margin-left:8px;letter-spacing:0}button{font:inherit;font-size:14px;cursor:pointer;border-radius:999px;border:1px solid var(--hair);background:var(--surface-2);color:var(--text);padding:10px 18px;transition:transform .5s var(--ease),background .4s var(--ease),border-color .4s var(--ease),opacity .3s}button:hover{background:#ffffff1a;border-color:var(--hair-2)}button:active{transform:scale(.97)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:500;padding-right:8px;display:inline-flex;align-items:center;gap:12px}button.primary:after{content:"→";width:28px;height:28px;border-radius:50%;background:#0000001f;display:grid;place-items:center;font-size:14px;transition:transform .5s var(--ease)}button.primary:hover{background:#f0b25c}button.primary:hover:after{transform:translate(2px,-1px)}button:disabled{opacity:.35;cursor:not-allowed}button.chip{border-radius:var(--r-sm);padding:9px 13px;font-size:13.5px;background:transparent}button.chip.sel,button.chip[aria-pressed=true]{background:var(--accent-soft);border-color:#e5a24880;color:var(--text)}textarea,input[type=text],select{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);padding:14px 16px;outline:none;transition:border-color .4s var(--ease),background .4s var(--ease)}textarea:focus,input[type=text]:focus{border-color:#e5a2488c;background:#ffffff0d}select{width:auto;border-radius:999px;padding:9px 36px 9px 14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23b8b3aa' stroke-width='1.2'/></svg>");background-repeat:no-repeat;background-position:right 14px center}.bar{position:relative;height:30px;background:var(--surface);border-radius:var(--r-sm);overflow:hidden}.bar>canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.bar>span{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;height:100%;padding:0 12px;font-size:13px;color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,.55)}.bar>span em{font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.bar>span .num{font-size:13px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.flash{animation:flash .7s var(--ease)}@keyframes flash{0%{box-shadow:0 0 0 0 var(--danger)}40%{box-shadow:0 0 0 5px var(--danger-soft)}to{box-shadow:0 0 0 0 transparent}}.error{color:var(--danger);font-family:var(--mono);font-size:12px;white-space:pre-wrap}footer.note{margin:40px 0 0;max-width:72ch;color:var(--muted);font-size:12.5px;line-height:1.6;text-wrap:pretty}.rise{opacity:0;transform:translateY(18px);animation:rise 1s var(--ease) forwards}.rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.18s}.rise.d3{animation-delay:.3s}@keyframes rise{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}#root{min-height:100dvh}.ring{position:relative;flex:none}.ring>canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.ring-inner{position:absolute;border-radius:50%;background:var(--bg-2);display:grid;place-items:center;font-family:var(--mono);font-size:24px;letter-spacing:-.03em}canvas.columns{display:block;width:100%}.chips{position:relative;display:inline-block;max-width:100%}.chips-liquid{display:flex;flex-wrap:wrap;gap:11px;position:relative;padding:3px}.chips .chip{position:relative;z-index:1;background:transparent!important;border-color:transparent!important;color:var(--text-2);padding:8px 14px;font-size:13.5px;transition:color .5s var(--ease)}.chips.sm .chip{padding:6px 11px;font-size:12.5px}.chips .chip:hover{color:var(--text);background:transparent!important}.chips .chip.sel{color:var(--accent-ink);font-weight:500}.chips .chip:disabled{opacity:.4}.chips .chip-ind-item{pointer-events:none;z-index:0}.chip-ind{position:absolute;left:0;top:0;background:var(--accent);transition:transform .7s cubic-bezier(.34,1.56,.64,1),width .5s var(--ease),height .5s var(--ease);will-change:transform}.beam{display:block;border-radius:var(--r-md)}.beam>*{border-radius:inherit}button.primary:after{content:"→"}.stage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;align-items:start}@media(max-width:900px){.stage{grid-template-columns:1fr}}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.board{position:relative;padding:14px;border-radius:20px;background:var(--surface)}.grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:8px}.cell{position:relative;aspect-ratio:1;border-radius:14px;background:var(--bg-2);border:1px solid var(--hair);display:grid;place-items:center;padding:0;overflow:hidden;transition:border-color .4s var(--ease),transform .4s var(--ease)}.cell:not(:disabled):hover{border-color:var(--hair-2);transform:translateY(-1px)}.cell:disabled{cursor:default;opacity:1}.cell .heat{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,var(--accent),transparent 72%);opacity:0;transition:opacity .8s var(--ease)}.cell .p{position:absolute;bottom:8px;right:10px;font-family:var(--mono);font-size:12px;color:var(--text-2)}.cell .mark{position:relative;font-family:var(--serif);font-size:clamp(38px,7vw,72px);line-height:1;letter-spacing:-.02em}.cell.X .mark{color:var(--text)}.cell.O .mark{color:var(--accent)}.cell.win{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 20px 60px -30px #e5a248b3}.board.c4 .grid{gap:6px}.board.c4 .cell{border-radius:50%;background:var(--bg-2)}.board.c4 .cell.filled:after{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:50%;box-shadow:inset 0 -3px 6px #00000059,inset 0 2px 2px #ffffff1f;animation:drop .5s cubic-bezier(.34,1.56,.64,1) both}.board.c4 .cell.X:after{background:#e8e4dc}.board.c4 .cell.O:after{background:var(--accent)}@keyframes drop{0%{transform:translateY(-140%)}to{transform:none}}.drops{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}.drop{position:relative;height:34px;border-radius:10px;background:transparent;border:1px dashed var(--hair);font-family:var(--mono);font-size:12px;color:var(--text-2);padding:0;overflow:hidden}.drop:not(:disabled):hover{border-color:var(--accent);color:var(--text)}.drop .heat{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-soft);opacity:0;transition:opacity .8s var(--ease)}.drop .num{position:relative}.status{margin-top:14px;font-size:15px;color:var(--text-2);min-height:24px}.status b{color:var(--accent);font-family:var(--serif);font-size:22px;font-weight:500}.status em{font-style:italic;color:var(--text)}.lead{display:flex;gap:18px;align-items:center}.lead .name{font-family:var(--mono);font-size:28px;letter-spacing:-.02em;margin:4px 0 6px}.why{margin-top:16px;padding:12px 14px;border-radius:var(--r-md);background:var(--accent-soft);font-family:var(--serif);font-size:19px;line-height:1.3;min-height:48px}.why .muted{font-family:var(--sans);font-size:14px}.meters{display:grid;gap:14px;margin-top:20px;padding-top:18px;border-top:1px solid var(--hair)}.meters .lbl{display:flex;justify-content:space-between;font-size:13px;color:var(--text-2);margin-bottom:8px;gap:10px}.meters .lbl .mono{color:var(--muted);font-size:12px}.list{display:grid;gap:5px}.score{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}.score>div{padding:12px;border-radius:var(--r-md);background:var(--surface);min-width:0}.score .who{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score .kpi{margin-top:6px;font-size:30px}.score .kpi small{margin-left:4px}.step{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.lbl-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--text-2);margin-bottom:8px;gap:10px}.lbl-row .mono{color:var(--muted);font-size:12px}.score.three{grid-template-columns:repeat(3,1fr)}.seas{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media(max-width:720px){.seas{grid-template-columns:1fr}}.sea{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:4px;padding:8px;border-radius:16px;background:var(--surface)}.sea .sq{position:relative;aspect-ratio:1;border-radius:6px;background:var(--bg-2);border:1px solid var(--hair);display:grid;place-items:center;padding:0;font-family:var(--mono);font-size:13px;color:var(--text-2);overflow:hidden;transition:border-color .4s var(--ease),background .4s var(--ease)}.sea button.sq:not(:disabled):hover{border-color:var(--accent)}.sea .sq.miss{color:var(--muted)}.sea .sq.hit{background:var(--danger-soft);color:var(--danger);border-color:#d9666f66}.sea .sq.sunk{background:var(--danger);color:#1a0608;border-color:var(--danger)}.sea .sq.reveal{border-color:var(--accent);background:var(--accent-soft)}.sea.mine .sq.ship{background:#f2efe914;border-color:var(--hair-2)}.sea.mine .sq.ship.hit{background:var(--danger-soft)}.sea.mine .sq .heat{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,var(--accent),transparent 75%);opacity:0;transition:opacity .8s var(--ease)}.sea.mine .sq .mk{position:relative}.sea.mine .sq.last{box-shadow:0 0 0 2px var(--accent)}.wboards{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media(max-width:720px){.wboards{grid-template-columns:1fr}}.jboard{padding:0}.wrow{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:6px}.tile{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;background:var(--bg-2);border:1px solid var(--hair);font-family:var(--serif);font-size:clamp(22px,3vw,34px);text-transform:uppercase;color:var(--text);transition:background .5s var(--ease),border-color .5s var(--ease)}.wrow.empty .tile{border-style:dashed;opacity:.6}.tile.G{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tile.Y{background:#e5a24838;border-color:#e5a24880}.tile.N{background:var(--surface);color:var(--muted)}.wform{display:flex;gap:8px;margin-top:10px;align-items:stretch}.wform .beam{flex:1}.wform input{width:100%;height:100%;font-family:var(--mono);font-size:18px;letter-spacing:.3em;text-transform:uppercase;padding:12px 14px}
