:root{--background:#eef3f8;--ink:#101722;--muted:#5d6878;--line:#ffffffb3;--line-dark:#4755692e;--danger:#b91c1c;--confirm:#15803d;--page-pad:clamp(6px, 1vw, 14px);--layout-gap:clamp(6px, .8vw, 10px);--header-h:clamp(44px, 7dvh, 58px);--human-h:clamp(146px, 20dvh, 178px);--p0:37 99 235;--p1:124 58 237;--p2:22 163 74;--p3:217 119 6}*,:before,:after{box-sizing:border-box}html,body{background:var(--background);width:100%;min-height:100%;margin:0}body{color:var(--ink);background:radial-gradient(circle at 16% 18%,#2563eb2e,#0000 30%),radial-gradient(circle at 84% 14%,#d9770629,#0000 28%),radial-gradient(circle at 72% 82%,#16a34a29,#0000 32%),linear-gradient(135deg,#f8fbff,#e6edf6 48%,#f5f1ec);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3,p{margin:0}a{color:inherit}.game-viewport{width:100%;height:100dvh;overflow:hidden}.home-information,.content-page{color:#172033;background:#f8fafc;min-height:100dvh}.site-header{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fafcf0;border-bottom:1px solid #94a3b83d;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:28px;width:min(1120px,100% - 40px);min-height:66px;margin:0 auto;display:flex}.site-wordmark{color:#101722;letter-spacing:-.04em;flex:none;font-size:1.15rem;font-weight:950;text-decoration:none}.site-nav{color:#475569;white-space:nowrap;align-items:center;gap:clamp(14px,2.4vw,30px);font-size:.86rem;font-weight:750;display:flex;overflow-x:auto}.site-nav a,.site-footer a{text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible,.site-footer a:hover,.site-footer a:focus-visible{color:#1d4ed8;text-underline-offset:4px;text-decoration:underline}.home-content,.content-main{width:min(1040px,100% - 40px);margin:0 auto}.home-content{gap:clamp(64px,9vw,112px);padding:clamp(70px,9vw,120px) 0;display:grid}.content-eyebrow{color:#2563eb;letter-spacing:.16em;font-size:.74rem;font-weight:900}.home-intro{gap:24px;max-width:820px;display:grid}.home-intro h2,.content-hero h1{color:#0f172a;letter-spacing:-.055em;font-size:clamp(2.25rem,6vw,4.8rem);font-weight:950;line-height:1.02}.home-intro>p:last-child,.content-hero>p:last-child{color:#475569;max-width:760px;font-size:clamp(1rem,1.7vw,1.16rem);line-height:1.9}.home-facts,.fact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 0;display:grid}.home-facts div,.fact-grid div{background:#fff;border:1px solid #dbe3ec;border-radius:14px;gap:5px;min-width:0;padding:16px;display:grid}.home-facts dt,.fact-grid dt{color:#2563eb;letter-spacing:.08em;font-size:.7rem;font-weight:900}.home-facts dd,.fact-grid dd{color:#172033;margin:0;font-size:.92rem;font-weight:800;line-height:1.45}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.feature-grid article{background:#fff;border:1px solid #94a3b838;border-radius:24px;align-content:start;gap:16px;min-height:280px;padding:clamp(24px,3.5vw,38px);display:grid;box-shadow:0 18px 45px #0f172a0f}.feature-grid span{color:#2563eb;letter-spacing:.1em;font-size:.76rem;font-weight:900}.feature-grid h3,.home-guide h2{color:#0f172a;font-size:1.3rem}.feature-grid p,.home-guide li{color:#526072;line-height:1.8}.home-guide{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:clamp(36px,7vw,90px);display:grid}.home-guide>div{align-content:start;gap:16px;display:grid}.home-guide h2{letter-spacing:-.04em;font-size:clamp(1.8rem,4vw,3.1rem);line-height:1.12}.home-guide ol{counter-reset:guide-step;gap:0;margin:0;padding:0;list-style:none;display:grid}.home-guide li{counter-increment:guide-step;border-top:1px solid #dbe3ec;padding:24px 0 24px 52px;position:relative}.home-guide li:before{color:#2563eb;content:counter(guide-step, decimal-leading-zero);font-size:.74rem;font-weight:900;position:absolute;left:4px}.home-guide li strong{color:#172033;margin-bottom:6px;display:block}.home-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.home-links a{text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding:18px 20px;font-weight:800;text-decoration:none}.home-links a:hover,.home-links a:focus-visible{color:#1d4ed8;border-color:#2563eb}.content-main{padding:clamp(60px,8vw,96px) 0 100px}.content-hero{border-bottom:1px solid #dbe3ec;gap:20px;max-width:880px;padding-bottom:clamp(48px,7vw,80px);display:grid}.content-hero h1{font-size:clamp(2.5rem,6vw,4.6rem)}.content-article{gap:0;max-width:800px;padding-top:20px;display:grid}.content-article section{border-bottom:1px solid #e2e8f0;gap:16px;padding:34px 0;display:grid}.content-article h2{color:#172033;letter-spacing:-.025em;font-size:clamp(1.3rem,2.8vw,1.7rem);line-height:1.35}.content-article h3{color:#1e3a8a;margin:8px 0 0;font-size:1.08rem;line-height:1.5}.content-article p,.content-article li,.content-article dd{color:#4b586a;line-height:1.9}.content-article p+p{margin-top:4px}.content-article ul{gap:8px;margin:0;padding-left:1.4em;display:grid}.content-article ol{margin:0}.content-article code{color:#1e3a8a;background:#eaf1fb;border-radius:5px;padding:.15em .4em;font-size:.9em}.content-article a{color:#1d4ed8;text-underline-offset:3px}.policy-date{color:#64748b;padding:24px 0 4px;font-size:.88rem}.content-updated{color:#64748b;padding:24px 0 4px;font-size:.82rem}.content-steps{gap:10px;padding-left:1.5em;display:grid}.guide-legend{color:#64748b;flex-wrap:wrap;font-size:.78rem;list-style:none;gap:8px 18px!important;padding:0!important;display:flex!important}.guide-legend li{align-items:center;gap:7px;display:inline-flex}.guide-legend li>span{border:1px solid #0f172a24;border-radius:3px;flex:0 0 14px;width:14px;height:14px}.guide-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.guide-comparison-single{grid-template-columns:minmax(0,420px)}.guide-diagram{background:#fff;border:1px solid #dbe3ec;border-radius:18px;align-content:start;gap:14px;margin:0;padding:clamp(16px,3vw,24px);display:grid;box-shadow:0 12px 30px #0f172a0d}.guide-board{aspect-ratio:1;background:#dbe3ec;border:1px solid #cbd5e1;border-radius:12px;justify-self:center;gap:2px;width:min(100%,300px);padding:7px;display:grid}.guide-cell{background:#f8fafc;border-radius:3px;min-width:0;min-height:0;position:relative}.guide-cell-own,.guide-cell-candidate,.guide-cell-opponent,.guide-cell-start,.guide-cell-corner{border:1px solid #0f172a29!important}.guide-cell-own{background:#2563eb!important}.guide-cell-candidate{box-shadow:inset 0 0 0 2px #ffffff8c;background:#7dd3fc!important}.guide-cell-opponent{background:#d97706!important}.guide-cell-start{background:#7c3aed!important}.guide-cell-corner{background:#dcfce7!important;border-color:#16a34a!important}.guide-cell.guide-cell-corner:after{content:"";background:#16a34a;border-radius:50%;position:absolute;inset:28%}.guide-diagram figcaption{gap:5px;display:grid}.guide-diagram figcaption strong{color:#172033}.guide-diagram figcaption span{color:#64748b;font-size:.88rem;line-height:1.7}.content-article figure .piece-glyph{--glyph-cell:12px}.timeline-list{gap:0;list-style:none;display:grid;padding:0!important}.timeline-list li{border-top:1px solid #e2e8f0;grid-template-columns:140px 1fr;gap:20px;padding:15px 0;display:grid}.timeline-list time{color:#2563eb;font-size:.86rem;font-weight:800}.operator-list{margin:0;display:grid}.operator-list div{border-top:1px solid #e2e8f0;grid-template-columns:140px 1fr;gap:20px;padding:14px 0;display:grid}.operator-list dt{color:#64748b;font-weight:750}.operator-list dd{margin:0}.primary-external-link{background:#1d4ed8;border-radius:10px;padding:13px 18px;font-weight:850;text-decoration:none;display:inline-flex;color:#fff!important}.site-footer{color:#64748b;border-top:1px solid #dbe3ec;grid-template-columns:1fr auto;gap:30px 60px;width:min(1120px,100% - 40px);margin:0 auto;padding:54px 0 42px;display:grid}.site-footer>div{gap:8px;display:grid}.site-footer strong{color:#172033}.site-footer p{line-height:1.6}.site-footer nav{flex-wrap:wrap;place-content:start flex-end;gap:14px 24px;font-size:.85rem;display:flex}.site-footer small{grid-column:1/-1}@media (max-width:760px){.site-header-inner{flex-direction:column;align-items:flex-start;gap:12px;width:min(100% - 28px,1120px);padding:15px 0 12px}.site-nav{width:100%;padding-bottom:3px}.home-content,.content-main{width:min(100% - 32px,1040px)}.feature-grid{grid-template-columns:1fr}.home-facts,.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-comparison,.guide-comparison-single{grid-template-columns:1fr}.feature-grid article{min-height:0}.home-guide{grid-template-columns:1fr}.home-links{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{grid-template-columns:1fr;width:min(100% - 32px,1120px)}.site-footer nav{justify-content:flex-start}.site-footer small{grid-column:auto}}@media (max-width:440px){.home-facts,.fact-grid,.home-links{grid-template-columns:1fr}.operator-list div{grid-template-columns:1fr;gap:4px}.timeline-list li{grid-template-columns:1fr;gap:5px}}button{font:inherit}.player-0{--cell:var(--p0)}.player-1{--cell:var(--p1)}.player-2{--cell:var(--p2)}.player-3{--cell:var(--p3)}.app-shell{grid-template-rows:var(--header-h) minmax(0, 1fr);gap:var(--layout-gap);width:100%;height:100dvh;padding:max(var(--page-pad), env(safe-area-inset-top)) max(var(--page-pad), env(safe-area-inset-right)) max(var(--page-pad), env(safe-area-inset-bottom)) max(var(--page-pad), env(safe-area-inset-left));-webkit-user-select:none;user-select:none;transition:filter .18s,transform .18s;display:grid;position:relative;overflow:clip}.app-shell>:not(.title-overlay){transition:filter .22s,transform .22s,opacity .22s}.app-shell[data-title=true]>:not(.title-overlay){filter:blur(6px)saturate(.96);opacity:.94;pointer-events:none;-webkit-user-select:none;user-select:none;transform:scale(1.005)}.title-overlay{isolation:isolate;z-index:50;padding:max(18px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px)saturate(118%);backdrop-filter:blur(8px)saturate(118%);-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 46%,#ffffff80,#0000 30%),#eef3f833;place-items:center;animation:.18s ease-out both overlayIn;display:grid;position:absolute;inset:0}.title-menu{text-align:center;justify-items:center;gap:clamp(14px,2.2dvh,22px);width:min(760px,100dvw - 32px);animation:.3s cubic-bezier(.2,.9,.25,1) both titleMenuIn;display:grid}.title-kicker{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.75rem;font-weight:900;line-height:1;display:none}.title-logo{max-width:100%;color:var(--ink);white-space:nowrap;font-size:clamp(3rem,9.5vw,8rem);font-weight:950;line-height:.9}.title-summary{color:#475569;max-width:500px;font-size:clamp(.78rem,1.6vw,.95rem);font-weight:750;line-height:1.6}.title-actions{--title-radius:8px;--title-glass-border:#ffffffbd;--title-glass-bg:linear-gradient(145deg, #ffffffc2, #ffffff3d), #f8fafc94;--title-glass-shadow:0 14px 34px #1e293b21, inset 0 1px 0 #ffffffd6;grid-template-columns:minmax(0,1fr);gap:10px;width:min(300px,100%);display:grid}.title-guide-links{color:#334155;flex-wrap:wrap;justify-content:center;gap:8px 14px;max-width:560px;font-size:.75rem;font-weight:850;display:flex}.title-guide-links a{text-underline-offset:4px;padding:5px 2px;-webkit-text-decoration:underline #47556959;text-decoration:underline #47556959}.title-guide-links a:hover,.title-guide-links a:focus-visible{color:#1d4ed8;text-decoration-color:currentColor}.ad-slot{min-width:0;max-width:100%;overflow:hidden}.ad-slot-title{width:min(520px,100%)}.title-button{border:1px solid var(--title-glass-border);border-radius:var(--title-radius);background:var(--title-glass-bg);min-width:0;min-height:50px;box-shadow:var(--title-glass-shadow);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(14px)saturate(128%);backdrop-filter:blur(14px)saturate(128%);font-size:.95rem;font-weight:950}.title-button:hover,.title-button:focus-visible{border-color:rgb(var(--p0) / .42);box-shadow:0 16px 38px rgb(var(--p0) / .18), 0 0 0 3px #ffffffb8, inset 0 1px 0 #ffffffe6;outline:none}.title-button:disabled{cursor:not-allowed;opacity:.52}.title-message{border-radius:var(--title-radius);min-width:0;color:var(--danger);background:linear-gradient(145deg,#ffffffbd,#ffffff4d),#fef2f2b3;border:1px solid #b91c1c2e;margin:0;padding:9px 11px;font-size:.72rem;font-weight:900;line-height:1.25;box-shadow:0 12px 28px #7f1d1d14,inset 0 1px #ffffffd6}.title-button-primary{border-color:rgb(var(--p0) / .34);background:linear-gradient(145deg, #ffffff3d, transparent 52%), rgb(var(--p0) / .92);box-shadow:0 16px 38px rgb(var(--p0) / .22), inset 0 1px 0 #ffffff52;color:#fff;text-shadow:0 1px 1px #0f172a2e}.topbar,.score-chip,.turn-pill,.player-tray,.result-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(125%);backdrop-filter:blur(14px)saturate(125%);background:#f8fafcc7;box-shadow:0 16px 44px #1e293b21,inset 0 1px #ffffffc7}.topbar{align-items:center;gap:var(--layout-gap);border-radius:8px;grid-template-columns:minmax(150px,.75fr) minmax(0,1.6fr) minmax(128px,auto);min-width:0;min-height:0;padding:6px 8px;display:grid}.brand-lockup{gap:1px;min-width:0;display:grid}.app-loading{grid-template-rows:var(--header-h) minmax(0, 1fr)}.loading-line{color:var(--muted);justify-self:end;font-size:.8rem;font-weight:850}.admin-shell{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;width:100%;height:100dvh;padding:14px;display:grid;overflow:hidden}.admin-header,.admin-sidebar,.admin-editor,.admin-footer,.admin-form-panel,.admin-training-panel,.admin-weights-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(124%);backdrop-filter:blur(16px)saturate(124%);background:#f8fafcd1;border-radius:8px;box-shadow:0 18px 50px #1e293b1f,inset 0 1px #fffc}.admin-header{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.admin-header h1,.admin-editor h2{color:var(--ink);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:950;line-height:.95}.admin-eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:950}.admin-header-actions,.admin-editor-actions,.admin-training-actions,.admin-button-stack{gap:8px;display:flex}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center}.admin-layout{grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:12px;min-height:0;display:grid}.admin-sidebar,.admin-editor{min-height:0;padding:12px}.admin-sidebar{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;display:grid}.admin-sidebar-title,.admin-editor-top,.admin-panel-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-sidebar-title h2,.admin-panel-heading h3{font-size:1rem;font-weight:950}.admin-sidebar-title span,.admin-panel-heading span,.admin-meta,.admin-status,.admin-footer{color:var(--muted);font-size:.82rem;font-weight:800}.admin-list{gap:6px;min-height:0;padding-right:2px;display:grid;overflow:auto}.admin-list-item,.admin-shell button,.admin-link{color:var(--ink);cursor:pointer;background:linear-gradient(145deg,#ffffffdb,#ffffff52),#ffffffad;border:1px solid #ffffffd1;border-radius:8px;font-weight:950;text-decoration:none;box-shadow:0 10px 24px #1e293b14,inset 0 1px #ffffffd1}.admin-list-item{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.admin-list-item[data-active=true]{border-color:rgb(var(--p0) / .5);background:linear-gradient(145deg,#ffffffe0,#ffffff6b),#dbeafebd}.admin-list-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-list-item small{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.admin-button-stack{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-shell button,.admin-link{min-height:38px;padding:8px 11px}.admin-shell button:hover,.admin-shell button:focus-visible,.admin-link:hover,.admin-link:focus-visible{border-color:rgb(var(--p0) / .48);outline:none}.admin-shell button:disabled{cursor:not-allowed;opacity:.45}.admin-danger-button{color:var(--danger)}.admin-switch{color:var(--muted);align-items:center;gap:8px;font-size:.86rem;font-weight:900;display:flex}.admin-editor{grid-template-rows:auto minmax(0,1fr);gap:12px;display:grid;overflow:hidden}.admin-editor-grid{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(260px,.78fr) minmax(320px,1.22fr);gap:12px;min-height:0;display:grid}.admin-form-panel,.admin-training-panel,.admin-weights-panel,.admin-empty{padding:14px}.admin-form-panel,.admin-training-panel{align-content:start;gap:12px;display:grid}.admin-weights-panel{grid-area:1/2/span 2;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;display:grid}.admin-form-panel label,.admin-number-field,.admin-weight-row{color:var(--muted);gap:6px;font-size:.78rem;font-weight:900;display:grid}.admin-form-panel input,.admin-form-panel textarea,.admin-number-field input,.admin-weight-row input[type=number]{border:1px solid var(--line-dark);width:100%;min-width:0;color:var(--ink);font:inherit;background:#ffffffc7;border-radius:8px;padding:9px 10px;font-weight:850}.admin-form-panel textarea{resize:none}.admin-meta{gap:4px;display:grid}.admin-training-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.admin-progress{background:#94a3b82e;border-radius:999px;width:100%;height:8px;overflow:hidden}.admin-progress div{border-radius:inherit;background:rgb(var(--p0) / .82);height:100%;transition:width .16s}.admin-phase-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px;min-height:0;display:grid;overflow:auto}.admin-phase{align-content:start;gap:10px;min-width:0;display:grid}.admin-phase h4{margin:0;font-size:.9rem;font-weight:950}.admin-weight-row{grid-template-columns:minmax(118px,1fr) minmax(96px,1.15fr) 72px;align-items:center}.admin-weight-row span{color:var(--ink);font-size:.78rem}.admin-weight-row input[type=range]{width:100%;min-width:0;accent-color:rgb(var(--p0))}.admin-empty{min-height:280px;color:var(--muted);text-align:center;place-items:center;gap:14px;display:grid}.admin-file-input{display:none}.admin-footer{padding:10px 12px}@media (max-width:980px){.admin-layout,.admin-editor-grid{grid-template-columns:1fr}.admin-sidebar{max-height:280px}.admin-weights-panel{grid-area:auto}.admin-phase-grid{grid-template-columns:1fr}}.trainer-shell{grid-template-rows:auto minmax(0,1fr);gap:12px;width:100%;height:100dvh;padding:14px;display:grid;overflow:hidden}.trainer-header,.trainer-list-panel,.trainer-workbench{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(124%);backdrop-filter:blur(16px)saturate(124%);background:#f8fafcd1;border-radius:8px;box-shadow:0 18px 50px #1e293b1f,inset 0 1px #fffc}.trainer-header{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.trainer-eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:950;line-height:1}.trainer-header h1{color:var(--ink);margin:0;font-size:clamp(1.8rem,4vw,3rem);font-weight:950;line-height:.95}.trainer-link,.trainer-shell button{min-height:42px;color:var(--ink);cursor:pointer;font:inherit;background:linear-gradient(145deg,#ffffffdb,#ffffff52),#ffffffad;border:1px solid #ffffffd1;border-radius:8px;padding:9px 12px;font-weight:950;text-decoration:none;box-shadow:0 10px 24px #1e293b14,inset 0 1px #ffffffd1}.trainer-link:hover,.trainer-link:focus-visible,.trainer-shell button:hover,.trainer-shell button:focus-visible{border-color:rgb(var(--p0) / .48);outline:none}.trainer-shell button:disabled{cursor:not-allowed;opacity:.45}.trainer-main{grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:12px;min-height:0;display:grid}.trainer-list-panel,.trainer-workbench{min-height:0;padding:12px}.trainer-list-panel{grid-template-rows:auto minmax(0,1fr);gap:10px;display:grid}.trainer-section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.trainer-section-title h2{margin:0;font-size:1rem;font-weight:950}.trainer-section-title span{color:var(--muted);font-size:.82rem;font-weight:900}.trainer-list{align-content:start;gap:7px;min-height:0;padding-right:2px;display:grid;overflow:auto}.trainer-list-item{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.trainer-list-item[data-active=true]{border-color:rgb(var(--p0) / .5);background:linear-gradient(145deg,#ffffffe0,#ffffff6b),#dbeafebd}.trainer-list-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trainer-list-item span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:950}.trainer-workbench{grid-auto-rows:max-content;align-content:start;gap:14px;display:grid;overflow:auto}.trainer-hero{grid-template-columns:minmax(0,1fr) minmax(130px,auto);align-items:start;gap:14px;display:grid}.trainer-hero h2{margin:6px 0 8px;font-size:clamp(2rem,5vw,4.5rem);font-weight:950;line-height:.9}.trainer-hero p{max-width:720px;color:var(--muted);font-size:.96rem;font-weight:750;line-height:1.45}.trainer-score{border:1px solid var(--line-dark);text-align:right;background:#ffffff8f;border-radius:8px;gap:4px;min-width:120px;padding:12px;display:grid}.trainer-score span,.trainer-stats span,.trainer-notice{color:var(--muted);font-size:.78rem;font-weight:900}.trainer-score strong{color:rgb(var(--p0));font-size:1.6rem;font-weight:950}.trainer-score small{color:var(--muted);font-size:.68rem;font-weight:850}.trainer-actions{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.trainer-primary{background:linear-gradient(145deg, #ffffff38, transparent 52%), rgb(var(--p0) / .9)!important;color:#fff!important}.trainer-danger{color:var(--danger)!important}.trainer-progress{background:#94a3b82e;border-radius:999px;width:100%;height:10px;overflow:hidden}.trainer-progress div{border-radius:inherit;background:rgb(var(--p0) / .86);height:100%;transition:width .18s}.trainer-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.trainer-stats div{border:1px solid var(--line-dark);background:#ffffff85;border-radius:8px;gap:4px;padding:12px;display:grid}.trainer-stats strong{font-size:1.2rem;font-weight:950}.trainer-live-panel,.trainer-report{border:1px solid rgb(var(--p0) / .22);background:linear-gradient(145deg,#ffffffb3,#ffffff61),#dbeafe6b;border-radius:8px;padding:12px;box-shadow:0 14px 34px #1e293b14,inset 0 1px #ffffffd6}.trainer-live-panel{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,.8fr));gap:10px;display:grid}.trainer-live-panel div,.trainer-report-grid div{gap:4px;min-width:0;display:grid}.trainer-live-panel span,.trainer-report-header span,.trainer-report-grid span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.trainer-live-panel strong,.trainer-report-grid strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:950;overflow:hidden}.trainer-report{border-color:rgb(var(--p2) / .28);background:linear-gradient(145deg,#ffffffb8,#ffffff6b),#dcfce76b;gap:12px;display:grid}.trainer-report-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.trainer-report-header h3{color:var(--ink);margin:4px 0 0;font-size:1.35rem;font-weight:950;line-height:1}.trainer-report-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.trainer-report-grid div{border:1px solid var(--line-dark);background:#ffffff85;border-radius:8px;padding:10px}.trainer-report p{color:var(--muted);margin:0;font-size:.78rem;font-weight:800;line-height:1.35}.trainer-match-panel{border:1px solid var(--line-dark);background:linear-gradient(145deg,#ffffffad,#ffffff57),#f8fafcad;border-radius:8px;gap:10px;padding:12px;display:grid}.trainer-match-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.trainer-match-header span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.trainer-match-header h3{color:var(--ink);margin:4px 0 0;font-size:1.2rem;font-weight:950;line-height:1}.trainer-match-header strong{border:1px solid var(--line-dark);color:var(--ink);white-space:nowrap;background:#ffffff94;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:950}.trainer-match-content{grid-template-columns:minmax(176px,260px) minmax(220px,380px);align-items:start;gap:12px;max-width:660px;display:grid}.trainer-match-board{aspect-ratio:1;background:#4755693d;border:1px solid #47556938;border-radius:8px;grid-template-rows:repeat(20,minmax(0,1fr));grid-template-columns:repeat(20,minmax(0,1fr));gap:1px;width:min(100%,260px,27dvh);padding:2px;display:grid}.trainer-match-cell{background:#f4f7fb;border-radius:1.5px;min-width:0;min-height:0;box-shadow:inset 0 0 0 1px #47556914}.trainer-match-cell.owner-0{--cell:var(--p0)}.trainer-match-cell.owner-1{--cell:var(--p1)}.trainer-match-cell.owner-2{--cell:var(--p2)}.trainer-match-cell.owner-3{--cell:var(--p3)}.trainer-match-cell.owner-0,.trainer-match-cell.owner-1,.trainer-match-cell.owner-2,.trainer-match-cell.owner-3{background:linear-gradient(145deg, #ffffff42, transparent 52%), rgb(var(--cell) / .94)}.trainer-match-scoreboard{grid-template-columns:repeat(2,minmax(0,1fr));align-self:start;gap:8px;display:grid}.trainer-match-scoreboard div{border:1px solid var(--line-dark);background:#ffffff85;border-radius:8px;gap:4px;padding:10px;display:grid}.trainer-match-scoreboard div[data-trainee=true]{border-color:rgb(var(--p0) / .42);background:#dbeafe9e}.trainer-match-scoreboard span{color:var(--muted);font-size:.72rem;font-weight:900}.trainer-match-scoreboard strong{color:var(--ink);font-size:1.35rem;font-weight:950}.trainer-eval-panel{border:1px solid var(--line-dark);background:#ffffff6b;border-radius:8px;grid-template-columns:.85fr minmax(0,1.6fr) 1fr;gap:10px;padding:12px;display:grid}.trainer-eval-panel div{align-content:start;gap:4px;min-width:0;display:grid}.trainer-eval-panel span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.trainer-eval-panel strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:950;overflow:hidden}.trainer-eval-panel p{color:var(--muted);grid-column:1/-1;font-size:.78rem;font-weight:800;line-height:1.35}.trainer-notice{border-top:1px solid var(--line-dark);align-self:end;padding-top:10px}@media (max-width:820px){.trainer-shell{padding:10px}.trainer-main{grid-template-columns:1fr}.trainer-list-panel{max-height:220px}.trainer-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-hero,.trainer-stats,.trainer-live-panel,.trainer-report-grid,.trainer-match-content,.trainer-eval-panel{grid-template-columns:1fr}.trainer-match-header{display:grid}.trainer-match-board{width:min(100%,220px)}.trainer-match-scoreboard{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-score{text-align:left}}.eyebrow,.panel-label{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.68rem;font-weight:800;line-height:1}.app-shell h1,.app-shell h2{letter-spacing:0}.app-shell h1{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.45rem,2.4vw,2.05rem);line-height:.95;overflow:hidden}.app-shell h2{font-size:1.3rem;line-height:1.12}.score-ribbon{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-width:0;display:grid}.score-chip{min-width:0;min-height:34px;color:rgb(var(--cell));border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:5px 8px;font-size:.74rem;font-weight:850;display:grid}.score-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score-chip strong{text-align:right;min-width:4ch}.score-chip[data-current=true]{box-shadow:0 0 0 2px rgb(var(--cell) / .23), 0 12px 34px rgb(var(--cell) / .18), inset 0 1px 0 #ffffffe6}.turn-area{align-items:center;gap:var(--layout-gap);justify-content:flex-end;min-width:0;display:flex}.turn-area .menu-button{padding:8px 14px}.game-menu-overlay{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle,#ffffff57,#0000 42%),#ebf1f847;place-items:center;animation:.18s ease-out both overlayIn;display:grid;position:absolute;inset:0}.game-menu-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(125%);backdrop-filter:blur(14px)saturate(125%);text-align:center;background:#f8fafcc7;border-radius:8px;gap:16px;width:min(340px,100dvw - 32px);padding:24px 20px;display:grid;box-shadow:0 16px 44px #1e293b21,inset 0 1px #ffffffc7}.game-menu-panel p{color:var(--ink);margin:0;font-size:1rem;font-weight:900}.game-menu-panel .game-menu-status{color:var(--muted);font-size:.78rem;font-weight:850;line-height:1.35}.game-menu-actions{gap:10px;display:grid}.menu-action-button{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:linear-gradient(145deg,#ffffffc2,#ffffff3d),#f8fafc94;border-radius:7px;padding:10px 14px;font-size:.8rem;font-weight:900;transition:border-color .12s,box-shadow .12s,opacity .12s;box-shadow:inset 0 1px #ffffffd6}.menu-action-primary{border-color:rgb(var(--p0) / .34);background:linear-gradient(145deg, #ffffff3d, transparent 52%), rgb(var(--p0) / .92);color:#fff}.menu-action-danger{color:var(--danger);border-color:#b91c1c38}.menu-action-button:hover,.menu-action-button:focus-visible{border-color:rgb(var(--p0) / .42);outline:none;box-shadow:0 0 0 3px #ffffffb8,inset 0 1px #ffffffe6}.menu-action-button:disabled{cursor:not-allowed;opacity:.48}.turn-pill{min-width:128px;color:var(--ink);text-align:center;white-space:nowrap;border-radius:999px;padding:9px 12px;font-size:.84rem;font-weight:850}.turn-pill[data-ended=true]{color:var(--danger)}.game-table{--table-gap:clamp(18px, 2.3dvh, 28px);grid-template-rows:minmax(0, 1fr) var(--human-h);gap:var(--table-gap);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.friend-shell{grid-template-rows:var(--header-h) minmax(0, 1fr)}.friend-shell[data-lobby=true] .game-table{filter:blur(3px)saturate(.95);opacity:.72;pointer-events:none}.debug-transform-key-panel{z-index:95;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));color:#f8fafc;white-space:pre-wrap;background:#0f172adb;border:1px solid #0f172a2e;border-radius:8px;max-block-size:min(56vh,100vh - 24px);max-inline-size:min(420px,100vw - 24px);margin:0;padding:10px 12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.68rem;line-height:1.38;position:absolute;overflow:auto;box-shadow:0 18px 48px #0f172a3d}.friend-lobby-backdrop{z-index:70;padding:max(18px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(4px)saturate(112%);backdrop-filter:blur(4px)saturate(112%);background:#eef3f824;place-items:center;display:grid;position:absolute;inset:0}.friend-lobby{place-items:center;min-width:0;min-height:0;padding:clamp(14px,2vw,24px);display:grid;overflow:hidden}.friend-lobby-panel{-webkit-backdrop-filter:blur(16px)saturate(125%);backdrop-filter:blur(16px)saturate(125%);background:linear-gradient(145deg,#ffffffd1,#ffffff47),#f8fafca8;border:1px solid #ffffffc2;border-radius:8px;gap:clamp(12px,1.6vw,18px);width:min(620px,100%);padding:clamp(18px,3vw,28px);display:grid;box-shadow:0 24px 70px #1e293b29,inset 0 1px #ffffffe6}.friend-lobby-panel h2,.friend-lobby-panel p{margin:0}.friend-lobby-panel h2{color:var(--ink);font-size:clamp(2rem,5vw,4rem);font-weight:950;line-height:.94}.friend-room-code{color:rgb(var(--p0));font-size:.9rem;font-weight:950}.friend-lobby-status,.friend-lobby-help,.friend-lobby-notice{color:var(--muted);font-size:.95rem;font-weight:850;line-height:1.35}.friend-lobby-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.friend-lobby-actions .menu-action-primary{grid-column:1/-1}.friend-lobby-actions .secondary-button{min-height:44px}.friend-layout{grid-template-columns:minmax(180px,250px) minmax(0,680px);justify-content:center;align-items:center;gap:clamp(14px,2vw,24px);min-width:0;min-height:0;display:grid;overflow:hidden}.friend-board{aspect-ratio:1;width:min(680px,70dvh,100dvw - 330px);min-width:0;min-height:0}.friend-board .board-panel{grid-area:auto;width:100%;height:100%}.friend-room-panel{-webkit-backdrop-filter:blur(14px)saturate(125%);backdrop-filter:blur(14px)saturate(125%);background:linear-gradient(145deg,#fffc,#ffffff3d),#f8fafc9e;border:1px solid #ffffffc2;border-radius:8px;gap:12px;min-width:0;padding:16px;display:grid;box-shadow:0 18px 48px #1e293b1f,inset 0 1px #ffffffe0}.friend-room-panel h2,.friend-room-panel p{margin:0}.friend-room-panel h2{font-size:1.25rem;line-height:1}.friend-room-panel p:not(.eyebrow){color:var(--muted);font-size:.85rem;font-weight:800;line-height:1.25}.friend-seat-list{gap:7px;display:grid}.friend-seat{color:var(--muted);background:#ffffff5c;border:1px solid #4755691f;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.82rem;font-weight:850;display:flex}.friend-seat[data-you=true]{border-color:rgb(var(--p0) / .24);background:rgb(var(--p0) / .09);color:rgb(var(--p0))}.game-table:after{z-index:3;right:calc(-1 * var(--page-pad));bottom:calc(var(--human-h) - var(--table-gap) * .5);left:calc(-1 * var(--page-pad));pointer-events:none;content:"";background:linear-gradient(#0000,#eef3f86b 44%,#eef3f82e 68%,#0000);height:clamp(30px,5dvh,54px);position:absolute}.arena-slot{place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:visible;container:arena/size}.arena-grid{--arena-gap:var(--layout-gap);--side-w:clamp(88px, 9cqi, 124px);--top-h:clamp(92px, 18cqb, 108px);--board-size:min(720px, calc(100cqi - var(--side-w) - var(--side-w) - var(--arena-gap) - var(--arena-gap)), calc(100cqb - var(--top-h) - var(--arena-gap)));grid-template-areas:".top.""left board right";grid-template-columns:var(--side-w) var(--board-size) var(--side-w);grid-template-rows:var(--top-h) var(--board-size);gap:var(--arena-gap);inline-size:calc(var(--side-w) + var(--arena-gap) + var(--board-size) + var(--arena-gap) + var(--side-w));block-size:calc(var(--top-h) + var(--arena-gap) + var(--board-size));display:grid}.board-panel{grid-area:board;min-width:0;min-height:0;padding:0;display:grid}.board-frame{aspect-ratio:1;background:#47556973;border:1px solid #ffffffb8;border-radius:14px;width:100%;height:100%;overflow:hidden;box-shadow:0 16px 40px #1e293b2e,inset 0 1px #ffffff8c}.board-grid{grid-template-rows:repeat(20,minmax(0,1fr));grid-template-columns:repeat(20,minmax(0,1fr));gap:1px;width:100%;height:100%;padding:6px;display:grid}.board-cell{touch-action:manipulation;background:#f4f7fb;border:0;border-radius:2px;min-width:0;min-height:0;padding:0;transition:transform .14s,box-shadow .14s,background .14s,filter .14s;position:relative;box-shadow:inset 0 0 0 1px #4755691c}.board-cell:disabled{cursor:default}.board-cell:hover,.board-cell:focus-visible{z-index:2;outline:none;box-shadow:inset 0 0 0 1px #47556921,0 0 0 2px #ffffffeb,0 8px 18px #19253733}.board-cell.owner-0{--cell:var(--p0)}.board-cell.owner-1{--cell:var(--p1)}.board-cell.owner-2{--cell:var(--p2)}.board-cell.owner-3{--cell:var(--p3)}.board-cell.owner-0,.board-cell.owner-1,.board-cell.owner-2,.board-cell.owner-3{background:linear-gradient(145deg, #ffffff47, transparent 48%), rgb(var(--cell) / .94);box-shadow:inset 0 0 0 1px #0f172a2e,inset 0 1px #ffffff52}.board-cell.preview-ok:not(.owner-0,.owner-1,.owner-2,.owner-3){background:linear-gradient(145deg, #ffffff52, transparent 52%), rgb(var(--cell) / .35);box-shadow:inset 0 0 0 2px rgb(var(--cell) / .72), 0 0 14px rgb(var(--cell) / .24)}.board-cell.preview-bad:not(.owner-0,.owner-1,.owner-2,.owner-3){background:linear-gradient(145deg,#ffffff52,#0000 52%),#ef444447;box-shadow:inset 0 0 0 2px #b91c1cad,0 0 14px #b91c1c2e}.board-cell.preview-bad.owner-0,.board-cell.preview-bad.owner-1,.board-cell.preview-bad.owner-2,.board-cell.preview-bad.owner-3{z-index:3;box-shadow:inset 0 0 0 3px #dc2626f5,inset 0 0 12px #dc262657,0 0 0 2px #ffffffdb,0 0 16px #b91c1c75}.board-cell.preview-bad.owner-0:after,.board-cell.preview-bad.owner-1:after,.board-cell.preview-bad.owner-2:after,.board-cell.preview-bad.owner-3:after{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 0 31%,#ffffffd1 31% 42%,#0000 42% 58%,#dc2626eb 58% 69%,#0000 69% 100%),#dc262633;border-radius:2px;position:absolute;inset:2px}.board-cell.cpu-preview{--cell:var(--p1);background:linear-gradient(145deg, #ffffff47, transparent 50%), rgb(var(--cell) / .58);box-shadow:inset 0 0 0 2px #ffffffb8, 0 0 18px rgb(var(--cell) / .38);animation:.36s ease-out both cpuAim}.board-cell.owner-preview-1{--cell:var(--p1)}.board-cell.owner-preview-2{--cell:var(--p2)}.board-cell.owner-preview-3{--cell:var(--p3)}.board-cell.recent-placement{animation:.22s cubic-bezier(.2,.9,.25,1.2) both placedPop}.corner-dot{opacity:.9;border-radius:50%;position:absolute;inset:30%;box-shadow:inset 0 1px #ffffffb8,0 2px 7px #131b2733}.corner-dot.player-0{background:rgb(var(--p0) / .82)}.corner-dot.player-1{background:rgb(var(--p1) / .82)}.corner-dot.player-2{background:rgb(var(--p2) / .82)}.corner-dot.player-3{background:rgb(var(--p3) / .82)}.player-tray{border-radius:8px;min-width:0;min-height:0;padding:7px;display:grid;overflow:hidden}.tray-top{grid-area:top;grid-template-rows:22px minmax(0,1fr)}.tray-left{grid-area:left;grid-template-rows:32px minmax(0,1fr)}.tray-right{grid-area:right;grid-template-rows:32px minmax(0,1fr)}.tray-bottom{background:linear-gradient(#ffffffd1,#f8fafc9e),#f8fafcad;border-color:#ffffffd1;grid-template-columns:minmax(220px,260px) minmax(0,1fr);place-self:end center;gap:8px;width:min(100% - clamp(18px,3vw,48px),1120px);margin-bottom:clamp(6px,1dvh,10px);box-shadow:0 -12px 32px #ffffff57,0 18px 48px #1e293b1f,inset 0 1px #ffffffe6}.player-tray[data-current=true]{box-shadow:0 0 0 2px rgb(var(--cell) / .24), 0 16px 44px rgb(var(--cell) / .22), inset 0 1px 0 #ffffffdb}.tray-bottom[data-current=true]{border-color:rgb(var(--cell) / .28);box-shadow:0 0 0 1px rgb(var(--cell) / .16), 0 -12px 32px #ffffff61, 0 18px 46px rgb(var(--cell) / .13), inset 0 1px 0 #ffffffeb}.player-tray[data-pass=true]{animation:.56s both trayPass}.tray-header{min-width:0;color:rgb(var(--cell));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;font-size:.74rem;font-weight:900;line-height:1;display:grid}.tray-header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tray-header strong{text-align:right;min-width:2ch}.cpu-compact-stats{appearance:none;color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:none}.piece-rack{gap:4px;min-width:0;min-height:0;display:grid}.tray-top .piece-rack,.tray-bottom .piece-rack{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(11,minmax(0,1fr))}.tray-left .piece-rack,.tray-right .piece-rack{grid-template-rows:repeat(7,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr))}.piece-token{aspect-ratio:1;place-items:center;min-width:0;min-height:0;padding:2px;display:grid;overflow:hidden;container-type:size}.tray-top .piece-token,.tray-left .piece-token,.tray-right .piece-token{box-shadow:none;background:0 0;border:0;border-radius:4px}.piece-choice{cursor:pointer;background:#ffffff2e;border:1px solid #0000;border-radius:7px}.piece-choice:hover,.piece-choice:focus-visible{background:#ffffff80;outline:none}.piece-choice[data-selected=true]{border-color:rgb(var(--cell));background:rgb(var(--cell) / .12);box-shadow:0 0 0 2px rgb(var(--cell) / .18), inset 0 0 0 1px #fff9}.piece-glyph{--glyph-cell:6px;justify-content:center;gap:1px;display:grid}@supports (width:1cqi){.piece-token .piece-glyph{--glyph-cell:min(17cqi, 17cqb, 8px)}}.selected-readout .piece-glyph{--glyph-cell:9px}.opponent-pieces-backdrop{z-index:120;padding:max(18px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px)saturate(112%);backdrop-filter:blur(12px)saturate(112%);background:radial-gradient(circle at 50% 46%,#ffffff57,#0000 34%),#eef3f847;place-items:center;animation:.18s ease-out both modalFadeIn;display:grid;position:fixed;inset:0}.opponent-pieces-panel{width:min(360px,100dvw - 24px);max-height:min(70dvh,100dvh - 36px);color:var(--ink);text-align:left;background:linear-gradient(145deg,#ffffffe0,#ffffff8f),#ffffffd6;border:1px solid #ffffffc2;border-radius:8px;gap:14px;padding:22px;display:grid;position:relative;overflow:auto;box-shadow:0 26px 72px #0f172a33,inset 0 1px #ffffffe6}.opponent-pieces-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.opponent-pieces-heading{gap:2px;min-width:0;display:grid}.opponent-pieces-title{color:rgb(var(--cell));text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.2rem;font-weight:950;line-height:1.1;overflow:hidden}.opponent-pieces-summary{color:var(--muted);margin:0;font-size:.78rem;font-weight:850;line-height:1}.opponent-pieces-close{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:1.6rem;font-weight:950;line-height:1}.opponent-pieces-close:hover,.opponent-pieces-close:focus-visible{background:#0f172a0f;outline:none}.opponent-pieces-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;display:grid}.opponent-pieces-grid .piece-glyph{--glyph-cell:14px}@supports (width:1cqi){.opponent-pieces-grid .piece-token .piece-glyph{--glyph-cell:min(18cqi, 18cqb, 14px)}}.opponent-pieces-empty{color:var(--muted);text-align:center;margin:0;padding:18px 0;font-weight:850}.piece-glyph .filled,.piece-glyph .empty{width:var(--glyph-cell);height:var(--glyph-cell);border-radius:2px}.piece-glyph .filled{background:rgb(var(--cell));border:1px solid #0f172a38;box-shadow:inset 0 1px #ffffff59,0 1px 2px #0f172a29}.piece-glyph .empty{visibility:hidden}.human-status{grid-template:"header preview"26px"notice preview"minmax(0,1fr)"tools tools"38px/minmax(0,1fr) 76px;gap:5px 8px;min-width:0;min-height:0;display:grid}.human-status .tray-header{grid-area:header}.notice-line{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;grid-area:notice;align-items:center;font-size:.8rem;font-weight:800;line-height:1.2;display:grid;overflow:hidden}.tool-strip{grid-area:tools;grid-template-columns:repeat(3,minmax(44px,1fr));gap:5px;min-width:0;display:grid}.secondary-button,.tool-button,.place-button,.pass-button{border:1px solid var(--line);min-width:0;min-height:0;color:var(--ink);cursor:pointer;background:linear-gradient(145deg,#ffffffbf,#ffffff3d),#ffffff75;border-radius:7px;font-size:.72rem;font-weight:900;box-shadow:inset 0 1px #ffffffc7}.tool-button{grid-template-columns:auto auto;place-content:center;align-items:center;gap:5px;display:inline-grid}.tool-button kbd{min-width:1.35em;color:rgb(var(--cell));background:#ffffffa8;border:1px solid #0f172a24;border-radius:4px;padding:1px 4px;font-family:inherit;font-size:.64rem;font-weight:950;line-height:1.2}.secondary-button:hover,.tool-button:hover,.place-button:hover,.pass-button:hover,.secondary-button:focus-visible,.tool-button:focus-visible,.place-button:focus-visible,.pass-button:focus-visible{border-color:rgb(var(--cell) / .5);box-shadow:inset 0 1px 0 #ffffffd1, 0 0 0 2px rgb(var(--cell) / .18);outline:none}.secondary-button:disabled,.tool-button:disabled,.place-button:disabled,.pass-button:disabled{cursor:not-allowed;opacity:.45}.place-button{color:#14532d;display:none}.pass-button{color:#9a5b00}.selected-readout{background:rgb(var(--cell) / .08);min-width:0;min-height:0;color:rgb(var(--cell));text-align:center;border-radius:8px;grid-area:preview;grid-template-rows:minmax(0,1fr) auto auto;align-content:center;place-items:center;gap:2px;font-size:.68rem;font-weight:850;line-height:1.05;display:grid;overflow:hidden}.selected-readout .piece-glyph{--glyph-cell:7px;place-content:center;align-items:center;block-size:44px;inline-size:44px}.selected-readout span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.pass-flash{z-index:20;background:linear-gradient(145deg, #ffffffd6, #fff3), rgb(var(--cell) / .26);width:158px;height:64px;box-shadow:inset 0 1px 0 #fffc, 0 22px 58px rgb(var(--cell) / .3);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);color:rgb(var(--cell));pointer-events:none;border:1px solid #ffffffc2;border-radius:8px;place-items:center;font-size:1.25rem;font-weight:950;animation:.78s forwards passBadge;display:grid;position:absolute;top:50%;left:50%}.result-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:30;background:radial-gradient(circle,#ffffff57,#0000 42%),#ebf1f847;place-items:center;animation:.18s ease-out both overlayIn;display:grid;position:absolute;inset:0}.result-panel{text-align:center;border-radius:8px;gap:14px;width:min(460px,100dvw - 32px);max-height:calc(100dvh - 24px);padding:20px;animation:.32s cubic-bezier(.2,.9,.25,1) both resultIn;display:grid;overflow:auto}.final-score-list{gap:7px;display:grid}.ad-slot-result{width:100%}.result-actions{grid-template-columns:1fr;gap:8px;display:grid}.kifu{text-align:left;gap:8px;display:grid}.kifu-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.kifu-actions{gap:6px;display:flex}.kifu-button{border:1px solid var(--line-dark);color:var(--ink);cursor:pointer;background:#ffffffb3;border-radius:6px;padding:4px 8px;font-size:.72rem;font-weight:800}.kifu-button:hover,.kifu-button:focus-visible{border-color:rgb(var(--p0) / .7);outline:none}.kifu-list{gap:2px;max-height:22dvh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.kifu-row{background:#fff6;border-radius:5px;grid-template-columns:2.5ch auto 1fr;align-items:center;gap:8px;padding:3px 6px;font-size:.8rem;display:grid}.kifu-no{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.kifu-name{align-items:center;gap:6px;font-weight:800;display:inline-flex}.kifu-name:before{content:"";background:rgb(var(--cell,var(--p0)) / .95);border-radius:2px;width:9px;height:9px}.kifu-move{color:var(--ink);font-variant-numeric:tabular-nums}.kifu-sgf{border:1px solid var(--line-dark);width:100%;height:11dvh;min-height:64px;color:var(--ink);resize:none;-webkit-user-select:text;user-select:text;background:#ffffffa6;border-radius:6px;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1.4}.result-actions .secondary-button{place-items:center;min-height:42px;padding:0 14px;font-size:.82rem;text-decoration:none;display:grid}.result-actions .result-primary{--cell:var(--p0);background:linear-gradient(150deg, rgb(var(--p0) / .95), rgb(var(--p0) / .74)), rgb(var(--p0) / .85);min-height:56px;box-shadow:inset 0 1px 0 #fff6, 0 12px 26px rgb(var(--p0) / .32);color:#fff;border-color:#fff9;border-radius:10px;font-size:1.05rem;font-weight:950}.result-actions .result-primary:hover,.result-actions .result-primary:focus-visible{box-shadow:inset 0 1px 0 #ffffff80, 0 0 0 2px rgb(var(--p0) / .28), 0 14px 30px rgb(var(--p0) / .4);border-color:#ffffffd9;outline:none}.final-score{color:rgb(var(--cell));background:#ffffff6b;border:1px solid #ffffff9e;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;font-weight:850;display:grid}.final-score[data-winner=true]{box-shadow:0 0 0 2px rgb(var(--cell) / .22), 0 12px 28px rgb(var(--cell) / .22), inset 0 1px 0 #ffffffd1;animation:1s ease-in-out infinite alternate winnerPulse}@keyframes placedPop{0%{filter:brightness(1.28);transform:scale(.72)}72%{transform:scale(1.08)}to{filter:brightness();transform:scale(1)}}@keyframes cpuAim{0%{opacity:.35;transform:scale(.86)}65%{opacity:1;transform:scale(1.04)}to{opacity:.92;transform:scale(1)}}@keyframes trayPass{0%,to{opacity:1;filter:saturate()}45%{opacity:.62;filter:saturate(.45)}}@keyframes passBadge{0%{opacity:0;transform:translate(-50%,-50%)scale(.78)}24%{opacity:1;transform:translate(-50%,-50%)scale(1.03)}72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.94)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes resultIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes titleMenuIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes winnerPulse{0%{filter:brightness()}to{filter:brightness(1.1)}}@container arena (max-width:700px){.arena-grid{--arena-gap:6px;--compact-h:38px;--board-size:min(100cqi, calc(100cqb - var(--compact-h) - var(--arena-gap)));grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"top left right""board board board";grid-template-rows:var(--compact-h) var(--board-size);inline-size:var(--board-size);block-size:calc(var(--compact-h) + var(--arena-gap) + var(--board-size))}.arena-grid .player-tray{grid-template:1fr/1fr;padding:4px 6px}.arena-grid .tray-header,.arena-grid .piece-rack{display:none}.arena-grid .cpu-compact-stats{min-width:0;color:rgb(var(--cell));text-align:center;align-content:center;font-size:.62rem;font-weight:850;line-height:1.05;display:grid}.arena-grid .cpu-compact-stats strong,.arena-grid .cpu-compact-stats span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.arena-grid .cpu-compact-stats:after{content:"···";letter-spacing:.12em;opacity:.7;margin-top:1px;font-size:.9em;line-height:.6}}@media (max-width:700px){:root{--header-h:40px;--human-h:178px;--page-pad:6px;--layout-gap:6px}.topbar{grid-template-columns:minmax(0,1fr) auto;padding:4px 6px}.brand-lockup{gap:0}.eyebrow,.score-ribbon{display:none}.app-shell h1{font-size:1.42rem}.turn-pill{min-width:0;padding:7px 9px;font-size:.7rem}.game-table{--table-gap:var(--layout-gap);gap:var(--layout-gap)}.game-table:after{display:none}.friend-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-content:center;gap:10px}.friend-board{justify-self:center;width:min(100%,58dvh)}.friend-room-panel{grid-template-columns:minmax(0,1fr) auto;justify-self:center;gap:8px 12px;width:min(100%,560px);padding:10px}.friend-room-panel .eyebrow,.friend-room-panel h2,.friend-room-panel p{grid-column:1}.friend-room-panel>.secondary-button{grid-area:1/2/span 3;align-self:center}.friend-seat-list{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.friend-seat{justify-items:center;padding:6px;display:grid}.tray-bottom{grid-template-rows:76px minmax(0,1fr);grid-template-columns:1fr;align-self:stretch;gap:5px;width:100%;min-height:0;margin-bottom:0;padding:5px}.human-status{grid-template:"header preview"18px"notice preview"18px"tools tools"32px/minmax(0,1fr) 68px;gap:4px 6px}.notice-line{font-size:.68rem}.tool-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.place-button{display:block}.secondary-button,.tool-button,.place-button,.pass-button{font-size:.66rem}.tool-button{grid-template-columns:1fr}.tool-button kbd{display:none}.selected-readout{font-size:.62rem}.selected-readout>span:not(.piece-glyph){display:none}.selected-readout .piece-glyph{--glyph-cell:7px}.tray-bottom .piece-rack{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(11,minmax(0,1fr));gap:3px;min-height:0}.tray-bottom .piece-glyph{--glyph-cell:5px}}@media (min-width:900px) and (pointer:fine){.app-shell[data-title-demo=true]>:not(.title-overlay){filter:blur(1.2px)saturate(.96)brightness(.98);opacity:1;transform:scale(1.008)}.app-shell[data-title-demo=true] .title-overlay{padding:max(46px, env(safe-area-inset-top)) max(36px, env(safe-area-inset-right)) max(34px, env(safe-area-inset-bottom)) max(46px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(1px)saturate(108%);backdrop-filter:blur(1px)saturate(108%);background:radial-gradient(circle at 22% 24%,#ffffff5c,#0000 28%),linear-gradient(90deg,#eef3f8c7 0%,#eef3f870 30%,#eef3f824 58%,#0000 100%);place-items:start}.app-shell[data-title-demo=true] .title-menu{text-align:left;justify-items:start;gap:12px;width:min(340px,31vw);margin-top:1dvh}.app-shell[data-title-demo=true] .title-kicker{color:#475569c7;font-size:.72rem;display:block}.app-shell[data-title-demo=true] .title-logo{font-size:clamp(3.4rem,5.6vw,6.4rem);line-height:.88}.app-shell[data-title-demo=true] .title-actions{gap:8px;width:min(286px,100%);margin-top:6px}.app-shell[data-title-demo=true] .title-summary{max-width:320px}.app-shell[data-title-demo=true] .title-guide-links{justify-content:flex-start;max-width:320px}.app-shell[data-title-demo=true] .title-button{text-align:left;min-height:46px;padding-inline:18px}}@media (max-width:420px){.turn-pill{text-overflow:ellipsis;max-width:118px;overflow:hidden}.selected-readout .piece-glyph{--glyph-cell:6px}.title-actions{grid-template-columns:1fr;width:min(260px,100%)}.title-button{min-height:48px}}@media (prefers-reduced-motion:reduce){.board-cell,.player-tray,.pass-flash,.result-overlay,.result-panel,.game-menu-overlay,.final-score,.title-overlay,.title-menu{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
