:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e141d;--bg-accent:#182130;--panel:#0e141dd1;--panel-strong:#182130f2;--line:#b8cce42e;--text:#edf4ff;--muted:#a9b8ca;--gold:#f8bd63;--rose:#ff6b81;--cyan:#67d5ff;--mint:#8cf3c6;--shadow:0 24px 80px #00000059;--body-font:"Avenir Next", "Trebuchet MS", "Segoe UI", sans-serif;--display-font:"Palatino Linotype", "Book Antiqua", Georgia, serif}*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;font-family:var(--body-font);color:var(--text);background:radial-gradient(circle at top,#67d5ff2e,#0000 32%),radial-gradient(circle at 85% 15%,#ff6b812e,#0000 24%),linear-gradient(#162132 0%,#0e141d 55%,#0a0f16 100%);margin:0}button{font:inherit}.page-shell{width:min(1180px,100vw - 2rem);margin:0 auto;padding:2rem 0 3rem}.hero-card,.rules-card{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow)}.hero-card{border-radius:28px;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);align-items:center;gap:1.5rem;padding:1.5rem;display:grid}.hero-copy{align-content:center;min-height:100%;display:grid}.brand-row{align-items:center;gap:.8rem;margin-bottom:.75rem;display:flex}.logo-mark{width:3rem;height:3rem;color:var(--gold);background:linear-gradient(#182130fa,#0a0f16fa),linear-gradient(135deg,#f8bd6314,#67d5ff14);border:1px solid #b8cce424;border-radius:16px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #f8bd6314}.logo-mark svg{stroke-width:1.8px;width:1.5rem;height:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin:0;font-size:.74rem}.hero-copy h1{font-family:var(--display-font);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.5rem,4.4vw,4.45rem);line-height:.9}.lede{max-width:44rem;color:var(--muted);margin:1rem 0 0;font-size:1.05rem;line-height:1.7}.status-panel{background:linear-gradient(#f8bd631f,#67d5ff14);border:1px solid #f8bd632e;border-radius:22px;align-content:start;justify-self:end;gap:1rem;width:min(100%,360px);padding:1.25rem;display:grid}.status-label{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;margin:0 0 .3rem;font-size:.72rem}.status-value,.status-detail{margin:0;line-height:1.5}.status-value{font-size:1.15rem;font-weight:700}.status-detail{color:var(--muted)}.reset-button{background:linear-gradient(135deg, var(--gold), #ffd694);color:#15120c;cursor:pointer;border:0;border-radius:999px;padding:.95rem 1.1rem;font-weight:800;transition:transform .16s,box-shadow .16s}.reset-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px #f8bd6347}.game-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.5rem;margin-top:1.5rem;display:grid}.board-frame{--board-pad:1rem;--major-line-width:3px;width:100%;padding:var(--board-pad);border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#182130f5,#0a0f16f5),linear-gradient(135deg,#f8bd6314,#67d5ff14);border-radius:28px;align-self:start;display:block;position:relative}.board-grid{aspect-ratio:1;border-top:1px solid #b8cce424;border-left:1px solid #b8cce424;grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));gap:0;width:100%;display:grid}.cell{min-width:0;min-height:0;color:var(--text);font-family:var(--display-font);cursor:default;background:#151e2cb3;border:1px solid #b8cce424;border-width:0 1px 1px 0;border-radius:0;font-size:clamp(1rem,2vw,2rem);transition:transform .14s,background .14s,border-color .14s,box-shadow .14s;position:relative}.cell-playable{cursor:pointer}.cell-playable:hover{z-index:1;background:#2b3749f2;box-shadow:inset 0 0 0 1px #f8bd633d}.cell-last-move{background:#58421a73;box-shadow:inset 0 0 0 1px #f8bd6352}.cell-active-board{background:#1f363475}.cell-board-complete{background:#2a3039ad}.cell-x{color:var(--cyan)}.cell-o{color:var(--rose)}.board-stamp{font-family:var(--body-font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);pointer-events:none;font-size:clamp(.45rem,1vw,.62rem);display:block;position:absolute;inset:auto 0 .3rem}.board-major-lines{inset:var(--board-pad);pointer-events:none;position:absolute}.board-major-line{background:#f8bd636b;position:absolute}.board-major-line-v1,.board-major-line-v2{width:var(--major-line-width);height:100%;transform:translateX(calc(var(--major-line-width) / -2));top:0}.board-major-line-v1{left:33.3333%}.board-major-line-v2{left:66.6667%}.board-major-line-h1,.board-major-line-h2{width:100%;height:var(--major-line-width);transform:translateY(calc(var(--major-line-width) / -2));left:0}.board-major-line-h1{top:33.3333%}.board-major-line-h2{top:66.6667%}.rules-card{border-radius:24px;flex-direction:column;padding:1.25rem;display:flex}.rules-card h2{font-family:var(--display-font);margin:0 0 1rem;font-size:1.65rem}.rules-card ul{color:var(--muted);margin:0;padding-left:1.1rem;line-height:1.7}.board-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1.25rem;display:grid}.board-summary-item{color:var(--muted);background:#182130d9;border:1px solid #b8cce41f;border-radius:14px;gap:.15rem;padding:.7rem .8rem;display:grid}.board-summary-item span{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.board-summary-item strong{color:var(--text);font-size:1.2rem}.sidebar-middle{flex:1;align-content:start;gap:.85rem;margin-top:.95rem;display:grid}.tactical-card{background:#121a27e6;border:1px solid #b8cce41c;border-radius:18px;padding:.9rem}.tactical-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.5rem;display:grid}.tactical-item{background:#182130d1;border:1px solid #b8cce41a;border-radius:14px;gap:.18rem;padding:.7rem .75rem;display:grid}.tactical-item span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.7rem}.tactical-item strong{font-size:.95rem;line-height:1.4}.tactical-item-wide{grid-column:1/-1}.legend{flex-wrap:wrap;gap:.65rem;margin-top:1rem;padding-top:.25rem;display:flex}.legend-chip{border:1px solid var(--line);border-radius:999px;padding:.45rem .7rem;font-size:.84rem}.legend-chip-active{color:var(--mint);border-color:#8cf3c673}.legend-chip-last{color:var(--gold);border-color:#f8bd6373}.legend-chip-x{color:var(--cyan);border-color:#67d5ff73}.legend-chip-o{color:var(--rose);border-color:#ff6b8173}@media (max-width:980px){.hero-card,.game-layout{grid-template-columns:1fr}.game-layout{align-items:start}.status-panel{justify-self:stretch;width:100%}}@media (max-width:760px){.page-shell{width:min(100vw - 1rem,100%);padding:.75rem 0 1.5rem}.hero-card{border-radius:22px;gap:1rem;padding:1rem}.hero-copy h1{text-wrap:pretty;font-size:clamp(2.35rem,13vw,3.6rem);line-height:.92}.brand-row{gap:.65rem;margin-bottom:.55rem}.logo-mark{border-radius:14px;width:2.6rem;height:2.6rem}.lede{font-size:.98rem;line-height:1.55}.status-panel,.rules-card{padding:1rem}.board-frame{--board-pad:.65rem;--major-line-width:2px;border-radius:22px}.cell{font-size:clamp(.92rem,5.8vw,1.35rem)}.board-summary{grid-template-columns:1fr 1fr}.board-summary-item{padding:.6rem .7rem}.tactical-card{padding:.8rem}.legend{gap:.45rem}}@media (max-width:520px){.page-shell{width:min(100vw - .6rem,100%);padding:.35rem 0 1rem}.game-layout{gap:.9rem}.hero-card,.board-frame,.rules-card{border-radius:18px}.status-value{font-size:1.02rem}.status-detail,.rules-card ul{font-size:.95rem}.board-summary,.tactical-grid{grid-template-columns:1fr}.tactical-item-wide{grid-column:auto}.board-stamp{font-size:.42rem;bottom:.22rem}}
