.admin-shell{--admin-space-1:4px;--admin-space-2:8px;--admin-space-3:12px;--admin-space-4:16px;--admin-space-5:24px;--admin-space-6:32px;--admin-space-7:48px;--admin-space-8:64px;--admin-radius-sm:4px;--admin-radius-md:8px;--admin-radius-pill:999px;--admin-type-xs:11px;--admin-type-sm:13px;--admin-type-body:15px;--admin-type-subtitle:20px;--admin-type-title:clamp(34px, 5vw, 56px);--admin-page-width:1240px;--admin-control-height:44px;--admin-color-bg:var(--paper);--admin-color-bg-deep:var(--paper-deep);--admin-color-surface:color-mix(in srgb, var(--paper) 82%, var(--surface));--admin-color-surface-strong:color-mix(in srgb, var(--paper) 60%, var(--surface));--admin-color-border:var(--line);--admin-color-ink:var(--ink);--admin-color-muted:var(--ink-soft);--admin-color-accent:var(--jade);--admin-color-accent-light:var(--jade-light);--admin-color-danger:var(--danger);--admin-color-warning:var(--gold);--admin-color-red:var(--red);--admin-color-inverse:var(--paper);--admin-color-focus:var(--gold);--admin-shadow-panel:var(--shadow);--admin-transition:.16s ease-out;min-width:320px;min-height:100vh;color:var(--admin-color-ink);background:linear-gradient(90deg, color-mix(in srgb, var(--admin-color-accent) 5%, transparent), transparent 28%), var(--admin-color-bg);flex-direction:column;display:flex}.admin-shell *,.admin-shell :before,.admin-shell :after{box-sizing:border-box}.admin-shell button,.admin-shell input,.admin-shell select,.admin-shell textarea{font:inherit}.admin-shell button:focus-visible,.admin-shell a:focus-visible,.admin-shell input:focus-visible,.admin-shell select:focus-visible,.admin-shell textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--admin-color-focus) 82%, transparent);outline-offset:3px}.admin-header,.admin-nav,.admin-main,.admin-footer{width:min(var(--admin-page-width), calc(100% - var(--admin-space-8)));margin-inline:auto}.admin-header{justify-content:space-between;align-items:center;gap:var(--admin-space-5);border-bottom:1px solid var(--admin-color-border);min-height:88px;display:flex}.admin-brand{align-items:center;gap:var(--admin-space-3);color:var(--admin-color-ink);text-decoration:none;display:inline-flex}.admin-brand__seal{width:var(--admin-control-height);height:var(--admin-control-height);border:1px solid var(--admin-color-accent);border-radius:var(--admin-radius-sm);background:var(--admin-color-accent);color:var(--admin-color-inverse);font:700 24px/1 var(--serif);box-shadow:inset 0 0 0 3px var(--admin-color-bg);flex:none;place-items:center;display:grid}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font:700 var(--admin-type-subtitle)/1.1 var(--serif);letter-spacing:.12em}.admin-brand small{margin-top:var(--admin-space-1);color:var(--admin-color-muted);font-size:var(--admin-type-xs);letter-spacing:.18em}.admin-header__session{align-items:center;gap:var(--admin-space-4);display:flex}.admin-header__session>span{padding-right:var(--admin-space-4);border-right:1px solid var(--admin-color-border);text-align:right}.admin-header__session small,.admin-header__session strong{display:block}.admin-header__session small{margin-bottom:var(--admin-space-1);color:var(--admin-color-muted);font-size:var(--admin-type-xs)}.admin-header__session strong{font-size:var(--admin-type-sm)}.admin-header__logout{justify-items:end;gap:var(--admin-space-1);display:grid}.admin-header__logout small{color:var(--admin-color-danger);font-size:var(--admin-type-xs)}.admin-nav{align-items:stretch;gap:var(--admin-space-6);border-bottom:1px solid var(--admin-color-border);min-height:52px;display:flex}.admin-nav__link{min-height:52px;color:var(--admin-color-muted);font-size:var(--admin-type-sm);white-space:nowrap;align-items:center;font-weight:800;text-decoration:none;display:inline-flex;position:relative}.admin-nav__link:after{content:"";background:0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.admin-nav__link:hover,.admin-nav__link--active{color:var(--admin-color-accent)}.admin-nav__link--active:after{background:var(--admin-color-accent)}.admin-main{flex:1}.admin-footer{margin-top:var(--admin-space-8);padding-block:var(--admin-space-5) var(--admin-space-6);border-top:1px solid var(--admin-color-border);color:var(--admin-color-muted);font-size:var(--admin-type-xs);text-align:center;line-height:1.7}.admin-button{min-height:var(--admin-control-height);padding:var(--admin-space-3) var(--admin-space-4);justify-content:center;align-items:center;gap:var(--admin-space-2);border-radius:var(--admin-radius-sm);font-size:var(--admin-type-sm);transition:background-color var(--admin-transition), border-color var(--admin-transition), color var(--admin-transition), transform var(--admin-transition);border:1px solid #0000;font-weight:800;text-decoration:none;display:inline-flex}.admin-button:not(:disabled):hover{transform:translateY(-1px)}.admin-button--primary{background:var(--admin-color-accent);color:var(--admin-color-inverse)}.admin-button--primary:not(:disabled):hover{background:var(--admin-color-accent-light)}.admin-button--quiet{border-color:color-mix(in srgb, var(--admin-color-accent) 28%, transparent);color:var(--admin-color-accent);background:0 0}.admin-button--quiet:not(:disabled):hover{background:color-mix(in srgb, var(--admin-color-accent) 7%, transparent)}.admin-button--danger{background:var(--admin-color-danger);color:var(--admin-color-inverse)}.admin-button--danger:not(:disabled):hover{background:color-mix(in srgb, var(--admin-color-danger) 84%, var(--admin-color-ink))}.admin-button--wide{width:100%}.admin-button:disabled{cursor:not-allowed;opacity:.58}.admin-field{gap:var(--admin-space-2);color:var(--admin-color-muted);font-size:var(--admin-type-xs);letter-spacing:.04em;font-weight:800;display:grid}.admin-field input,.admin-field select,.admin-field textarea{width:100%;min-height:var(--admin-control-height);padding:var(--admin-space-3);border:1px solid var(--admin-color-border);border-radius:var(--admin-radius-sm);background:var(--admin-color-surface-strong);color:var(--admin-color-ink);font-size:var(--admin-type-body);letter-spacing:normal;transition:border-color var(--admin-transition), background-color var(--admin-transition);font-weight:500}.admin-field textarea{resize:vertical;min-height:120px;line-height:1.6}.admin-field input:hover,.admin-field select:hover,.admin-field textarea:hover,.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--admin-color-accent);background:var(--admin-color-surface)}.admin-kicker{margin:0 0 var(--admin-space-2);color:var(--admin-color-red);font-size:var(--admin-type-xs);letter-spacing:.2em;font-weight:900}.admin-notice{padding:var(--admin-space-3) var(--admin-space-4);border:1px solid var(--admin-color-border);border-radius:var(--admin-radius-sm);font-size:var(--admin-type-sm);line-height:1.6}.admin-notice--warning{border-color:color-mix(in srgb, var(--admin-color-warning) 52%, transparent);background:color-mix(in srgb, var(--admin-color-warning) 10%, transparent);color:color-mix(in srgb, var(--admin-color-warning) 64%, var(--admin-color-ink))}.admin-notice--danger{border-color:color-mix(in srgb, var(--admin-color-danger) 38%, transparent);background:color-mix(in srgb, var(--admin-color-danger) 7%, transparent);color:var(--admin-color-danger)}.admin-notice p:last-child{margin-bottom:0}.admin-shell--login{background:linear-gradient(110deg, var(--admin-color-accent) 0 36%, color-mix(in srgb, var(--admin-color-accent) 94%, var(--admin-color-ink)) 36% 38%, var(--admin-color-bg) 38%)}.admin-shell--login .admin-header{border-bottom-color:color-mix(in srgb, var(--admin-color-bg) 22%, transparent)}.admin-shell--login .admin-brand,.admin-shell--login .admin-brand small{color:var(--admin-color-inverse)}.admin-shell--login .admin-brand__seal{border-color:var(--admin-color-bg)}.admin-shell--login .admin-footer{border-top-color:color-mix(in srgb, var(--admin-color-border) 58%, transparent)}.admin-login{min-height:calc(100vh - 260px);padding-block:var(--admin-space-8);align-items:center;gap:clamp(var(--admin-space-7), 9vw, 132px);grid-template-columns:minmax(0,.9fr) minmax(360px,.62fr);display:grid}.admin-login__intro{color:var(--admin-color-inverse)}.admin-login__intro .admin-kicker{color:color-mix(in srgb, var(--admin-color-inverse) 75%, var(--admin-color-warning))}.admin-login__intro h1{margin-bottom:var(--admin-space-5);font:700 var(--admin-type-title)/1 var(--serif);letter-spacing:.04em}.admin-login__intro>p:last-child{max-width:480px;color:color-mix(in srgb, var(--admin-color-inverse) 78%, transparent);font-size:var(--admin-type-body);margin-bottom:0;line-height:1.9}.admin-login__form{padding:var(--admin-space-6);gap:var(--admin-space-5);border:1px solid var(--admin-color-border);background:var(--admin-color-surface);box-shadow:var(--admin-shadow-panel);display:grid}.admin-login__security{margin:calc(var(--admin-space-2) * -1) 0 0;color:var(--admin-color-muted);font-size:var(--admin-type-xs);text-align:center;line-height:1.6}.admin-page{padding-top:var(--admin-space-8)}.admin-page-header{margin-bottom:var(--admin-space-6);justify-content:space-between;align-items:flex-end;gap:var(--admin-space-6);display:flex}.admin-page-header h1{margin-bottom:var(--admin-space-3);font:700 var(--admin-type-title)/1.05 var(--serif);letter-spacing:.025em}.admin-page-header>div>p:last-child{max-width:720px;color:var(--admin-color-muted);font-size:var(--admin-type-body);margin-bottom:0;line-height:1.75}.admin-observed{min-width:220px;padding-left:var(--admin-space-5);border-left:3px solid var(--admin-color-accent)}.admin-observed small,.admin-observed strong,.admin-observed span{display:block}.admin-observed small,.admin-observed span{color:var(--admin-color-muted);font-size:var(--admin-type-xs)}.admin-observed strong{margin-block:var(--admin-space-1);font-size:var(--admin-type-sm)}.admin-toolbar{margin-bottom:var(--admin-space-5);padding:var(--admin-space-4);align-items:end;gap:var(--admin-space-4);border-block:1px solid var(--admin-color-border);background:color-mix(in srgb, var(--admin-color-bg-deep) 50%, transparent);grid-template-columns:minmax(0,1fr) minmax(160px,220px);display:grid}.admin-search{align-items:end;gap:var(--admin-space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.admin-table-panel{border:1px solid var(--admin-color-border);background:var(--admin-color-surface);box-shadow:0 12px 32px color-mix(in srgb, var(--admin-color-ink) 8%, transparent)}.admin-table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--admin-type-sm)}.admin-table th,.admin-table td{padding:var(--admin-space-4);border-bottom:1px solid var(--admin-color-border);text-align:left;vertical-align:middle}.admin-table th{background:color-mix(in srgb, var(--admin-color-bg-deep) 58%, transparent);color:var(--admin-color-muted);font-size:var(--admin-type-xs);letter-spacing:.06em;white-space:nowrap}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:color-mix(in srgb, var(--admin-color-accent) 4%, transparent)}.admin-table td>strong,.admin-table td>code,.admin-table td>small{display:block}.admin-table td>code{max-width:210px;margin-top:var(--admin-space-1);color:var(--admin-color-muted);font-size:var(--admin-type-xs);text-overflow:ellipsis;overflow:hidden}.admin-table td>small{margin-top:var(--admin-space-1);color:var(--admin-color-muted)}.admin-rating{color:var(--admin-color-accent);font:700 var(--admin-type-subtitle)/1 var(--serif)}.admin-status{min-height:26px;padding:var(--admin-space-1) var(--admin-space-2);align-items:center;gap:var(--admin-space-2);border-radius:var(--admin-radius-pill);font-size:var(--admin-type-xs);white-space:nowrap;border:1px solid;font-weight:800;display:inline-flex}.admin-status:before{border-radius:var(--admin-radius-pill);content:"";background:currentColor;width:7px;height:7px}.admin-status--online{color:var(--admin-color-accent-light)}.admin-status--offline{color:var(--admin-color-muted)}.admin-status--banned{color:var(--admin-color-danger)}.admin-row-link{min-height:var(--admin-control-height);color:var(--admin-color-accent);text-underline-offset:var(--admin-space-1);white-space:nowrap;align-items:center;font-weight:800;text-decoration-color:#0000;display:inline-flex}.admin-row-link:hover{text-decoration-color:currentColor}.admin-empty{min-height:320px;padding:var(--admin-space-7);border:1px dashed var(--admin-color-border);background:color-mix(in srgb, var(--admin-color-surface) 65%, transparent);text-align:center;place-content:center;justify-items:center;display:grid}.admin-empty>span{width:52px;height:52px;margin-bottom:var(--admin-space-4);border:1px solid var(--admin-color-accent);color:var(--admin-color-accent);font:700 24px/1 var(--serif);place-items:center;display:grid}.admin-empty h2,.admin-empty h3{margin-bottom:var(--admin-space-2);font:700 var(--admin-type-subtitle)/1.3 var(--serif)}.admin-empty p{margin-bottom:var(--admin-space-5);color:var(--admin-color-muted)}.admin-pagination{margin-top:var(--admin-space-5);justify-content:flex-end;align-items:center;gap:var(--admin-space-4);display:flex}.admin-pagination span{color:var(--admin-color-muted);font-size:var(--admin-type-sm)}.admin-breadcrumbs{margin-bottom:var(--admin-space-6);align-items:center;gap:var(--admin-space-2);color:var(--admin-color-muted);font-size:var(--admin-type-sm);display:flex}.admin-breadcrumbs a{color:var(--admin-color-accent);text-underline-offset:var(--admin-space-1);font-weight:800}.admin-user-heading>div>code,.admin-replay-header>code{color:var(--admin-color-muted);font-size:var(--admin-type-sm);overflow-wrap:anywhere}.admin-user-heading__status{justify-items:end;gap:var(--admin-space-2);display:grid}.admin-user-heading__status small{color:var(--admin-color-muted);font-size:var(--admin-type-xs)}.admin-summary-grid{margin-bottom:var(--admin-space-5);border-block:1px solid var(--admin-color-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.admin-summary{min-height:148px;padding:var(--admin-space-5);border-right:1px solid var(--admin-color-border);flex-direction:column;justify-content:center;display:flex}.admin-summary:last-child{border-right:0}.admin-summary--rating{background:var(--admin-color-accent);color:var(--admin-color-inverse)}.admin-summary small{margin-bottom:var(--admin-space-3);color:var(--admin-color-muted);font-size:var(--admin-type-xs);font-weight:800}.admin-summary--rating small,.admin-summary--rating span{color:color-mix(in srgb, var(--admin-color-inverse) 72%, transparent)}.admin-summary strong{margin-bottom:var(--admin-space-2);font:700 40px/1 var(--serif)}.admin-summary span{color:var(--admin-color-muted);font-size:var(--admin-type-xs)}.admin-detail-columns{gap:var(--admin-space-5);grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);display:grid}.admin-panel,.admin-history{padding:var(--admin-space-5);border:1px solid var(--admin-color-border);background:var(--admin-color-surface)}.admin-section-heading{margin-bottom:var(--admin-space-5);justify-content:space-between;align-items:flex-start;gap:var(--admin-space-4);display:flex}.admin-section-heading h2{font:700 26px/1.2 var(--serif);margin:0}.admin-section-heading>span{color:var(--admin-color-muted);font-size:var(--admin-type-xs)}.admin-definition-list{gap:var(--admin-space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.admin-definition-list>div{min-width:0;padding-bottom:var(--admin-space-3);border-bottom:1px solid var(--admin-color-border)}.admin-definition-list__wide{grid-column:1/-1}.admin-definition-list dt{margin-bottom:var(--admin-space-1);color:var(--admin-color-muted);font-size:var(--admin-type-xs);font-weight:800}.admin-definition-list dd{font-size:var(--admin-type-sm);overflow-wrap:anywhere;margin:0;line-height:1.6}.admin-rating-list{gap:var(--admin-space-3);display:grid}.admin-rating-list article{padding:var(--admin-space-4);border-left:3px solid var(--admin-color-border);background:color-mix(in srgb, var(--admin-color-bg-deep) 42%, transparent)}.admin-rating-list article[data-primary=true]{border-left-color:var(--admin-color-accent)}.admin-rating-list article>div{justify-content:space-between;align-items:center;gap:var(--admin-space-3);display:flex}.admin-rating-list strong{color:var(--admin-color-accent);font:700 28px/1 var(--serif)}.admin-rating-list article>div span{padding:var(--admin-space-1) var(--admin-space-2);border-radius:var(--admin-radius-pill);background:var(--admin-color-accent);color:var(--admin-color-inverse);font-size:var(--admin-type-xs);font-weight:800}.admin-rating-list p{margin:var(--admin-space-2) 0;font-size:var(--admin-type-sm);font-weight:800}.admin-rating-list small,.admin-compact-empty{color:var(--admin-color-muted);font-size:var(--admin-type-xs);line-height:1.6}.admin-compact-empty{padding:var(--admin-space-5);border:1px dashed var(--admin-color-border)}.admin-history{margin-top:var(--admin-space-5)}.admin-history-list{border-top:1px solid var(--admin-color-border)}.admin-history-row{padding-block:var(--admin-space-4);align-items:center;gap:var(--admin-space-4);border-bottom:1px solid var(--admin-color-border);grid-template-columns:72px minmax(170px,.72fr) minmax(340px,1.55fr) auto;display:grid}.admin-history-row__result{justify-items:start;gap:var(--admin-space-1);display:grid}.admin-history-row__result strong{font:700 26px/1 var(--serif)}.admin-history-row__result strong[data-outcome=win]{color:var(--admin-color-red)}.admin-history-row__result strong[data-outcome=loss]{color:var(--admin-color-muted)}.admin-history-row__result strong[data-outcome=draw]{color:var(--admin-color-warning)}.admin-history-row__result span{color:var(--admin-color-muted);font-size:var(--admin-type-xs)}.admin-history-row__players{gap:var(--admin-space-2);display:grid}.admin-history-row__players p{align-items:center;gap:var(--admin-space-2);font-size:var(--admin-type-sm);margin:0;display:flex}.admin-history-row__players span{color:var(--admin-color-muted);font-size:var(--admin-type-xs)}.admin-shell .historical-ai-badge{border-radius:var(--admin-radius-pill);background:color-mix(in srgb, var(--admin-color-accent) 12%, transparent);color:var(--admin-color-accent);white-space:nowrap;margin-left:0;padding:2px 5px;font-size:9px;font-weight:800}.admin-history-row dl{gap:var(--admin-space-2) var(--admin-space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.admin-history-row dl div{min-width:0}.admin-history-row dt,.admin-history-row dd{font-size:var(--admin-type-xs);line-height:1.6;display:inline}.admin-history-row dt{margin-right:var(--admin-space-2);color:var(--admin-color-muted)}.admin-history-row dd{overflow-wrap:anywhere;margin:0}.admin-empty--compact{min-height:200px}.admin-empty--compact p{margin-bottom:0}.admin-inline-state{min-height:160px;color:var(--admin-color-muted);font-size:var(--admin-type-sm);place-items:center;display:grid}.admin-history__more{margin:var(--admin-space-5) auto 0;display:flex}.admin-character-count{margin:calc(var(--admin-space-1) * -1) 0 var(--admin-space-3);color:var(--admin-color-muted);font-size:var(--admin-type-xs);text-align:right}.admin-privacy-warning{padding:var(--admin-space-3);border-left:3px solid var(--admin-color-warning);background:color-mix(in srgb, var(--admin-color-warning) 9%, transparent);color:color-mix(in srgb, var(--admin-color-warning) 62%, var(--admin-color-ink));font-size:var(--admin-type-sm);line-height:1.65}.admin-dialog-backdrop{z-index:100;padding:var(--admin-space-5);background:color-mix(in srgb, var(--admin-color-ink) 62%, transparent);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.admin-dialog{width:min(560px,100%);padding:var(--admin-space-6);border:1px solid var(--admin-color-border);background:var(--admin-color-bg);box-shadow:var(--admin-shadow-panel)}.admin-dialog h2{margin-bottom:var(--admin-space-3);font:700 30px/1.2 var(--serif)}.admin-dialog p{color:var(--admin-color-muted);line-height:1.7}.admin-dialog__identity code{margin-top:var(--admin-space-1);color:var(--admin-color-ink);overflow-wrap:anywhere;display:block}.admin-dialog__actions{margin-top:var(--admin-space-5);justify-content:flex-end;gap:var(--admin-space-3);display:flex}.admin-replay-header{align-items:flex-start}.admin-replay-meta{margin-bottom:var(--admin-space-5);padding:var(--admin-space-4) var(--admin-space-5);align-items:center;gap:var(--admin-space-4);border-block:1px solid var(--admin-color-border);background:var(--admin-color-surface);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto auto;display:grid}.admin-replay-meta>div{align-items:center;gap:var(--admin-space-3);display:flex}.admin-replay-meta>div:nth-of-type(2){justify-content:flex-end}.admin-replay-meta em{color:var(--admin-color-muted);font:700 var(--admin-type-subtitle)/1 var(--serif)}.admin-replay-meta em[data-outcome=win]{color:var(--admin-color-red)}.admin-replay-meta p{color:var(--admin-color-muted);font-size:var(--admin-type-xs);white-space:nowrap;margin:0}.admin-side-token{border-radius:var(--admin-radius-pill);width:36px;height:36px;font:700 18px/1 var(--serif);border:2px solid;flex:none;place-items:center;display:inline-grid}.admin-side-token--red{color:var(--admin-color-red)}.admin-side-token--black{color:var(--admin-color-ink)}.admin-replay-page{column-gap:var(--admin-space-3);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.admin-replay-page>.admin-breadcrumbs,.admin-replay-page>.admin-replay-header,.admin-replay-page>.admin-replay-meta,.admin-replay-page>.admin-replay-layout{grid-column:1/-1}.admin-replay-modes{width:fit-content;margin:0 0 var(--admin-space-5);border:1px solid var(--admin-color-border);border-radius:var(--admin-radius-sm);background:var(--admin-color-surface);grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:end;display:grid;overflow:hidden}.admin-replay-orientation{grid-column:3;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-replay-modes button{min-height:var(--admin-control-height);padding-inline:var(--admin-space-4);border:0;border-right:1px solid var(--admin-color-border);color:var(--admin-color-ink);font-size:var(--admin-type-sm);white-space:nowrap;transition:background var(--admin-transition), color var(--admin-transition);background:0 0;font-weight:800}.admin-replay-modes button:last-child{border-right:0}.admin-replay-modes button:not([aria-pressed=true]):hover{background:color-mix(in srgb, var(--admin-color-accent) 7%, transparent)}.admin-replay-modes button[aria-pressed=true]{background:var(--admin-color-accent);color:var(--admin-color-inverse)}.admin-replay-layout{grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.admin-replay-board{min-width:0}.admin-replay-visibility-legend{margin:var(--admin-space-3) 0 0;padding:var(--admin-space-3) var(--admin-space-4);justify-content:flex-start;gap:var(--admin-space-2) var(--admin-space-4);border-block:1px solid var(--admin-color-border);background:var(--admin-color-surface);color:var(--admin-color-muted);font-size:var(--admin-type-xs)}.admin-replay-buttons{margin-top:var(--admin-space-3);border:1px solid var(--admin-color-border);border-radius:var(--admin-radius-sm);background:var(--admin-color-surface);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;display:grid;overflow:hidden}.admin-replay-buttons button{min-width:var(--admin-control-height);min-height:var(--admin-control-height);padding-inline:var(--admin-space-4);color:var(--admin-color-accent);font-size:var(--admin-type-sm);white-space:nowrap;transition:background var(--admin-transition);background:0 0;border:0;font-weight:800}.admin-replay-buttons button:not(:disabled):hover{background:color-mix(in srgb, var(--admin-color-accent) 7%, transparent)}.admin-replay-buttons .replay-step-controls__count{min-height:var(--admin-control-height);padding-inline:var(--admin-space-4);border-inline:1px solid var(--admin-color-border);color:var(--admin-color-ink);font-size:var(--admin-type-sm);font-variant-numeric:tabular-nums;white-space:nowrap;place-items:center;font-weight:800;display:grid}.admin-shell .center-state{min-height:60vh}.admin-shell .error-panel{margin-block:var(--admin-space-8)}@media (width>=901px){.admin-shell--replay .admin-header{min-height:56px}.admin-shell--replay .admin-brand__seal{width:34px;height:34px;font-size:18px}.admin-shell--replay .admin-brand small,.admin-shell--replay .admin-header__session small{display:none}.admin-shell--replay .admin-nav,.admin-shell--replay .admin-nav__link{min-height:38px}.admin-shell--replay .admin-footer{display:none}.admin-replay-page{padding-top:var(--admin-space-3);column-gap:var(--admin-space-2)}.admin-replay-page>.admin-breadcrumbs{margin-bottom:var(--admin-space-2)}.admin-replay-header{margin-bottom:var(--admin-space-2);align-items:center}.admin-replay-header .admin-kicker,.admin-replay-header>div>p:last-child{display:none}.admin-replay-header h1{margin:0;font-size:30px}.admin-replay-page>.admin-replay-meta{margin-bottom:var(--admin-space-2);padding:6px var(--admin-space-3);gap:var(--admin-space-2);grid-area:3/1}.admin-replay-meta em{font-size:16px}.admin-replay-meta .admin-side-token{width:30px;height:30px;font-size:15px}.admin-replay-modes{margin-bottom:var(--admin-space-2);grid-area:3/2}.admin-replay-orientation{grid-column:3}.admin-replay-modes button{min-height:36px;padding-inline:var(--admin-space-3)}.admin-replay-layout{grid-row:4}.admin-replay-board{justify-content:center;align-items:start;gap:var(--admin-space-4);grid-template-columns:minmax(0,min(760px,100dvh - 278px)) minmax(220px,280px);display:grid}.admin-replay-board>.game-board{width:100%;max-width:100%}.admin-replay-tools{gap:var(--admin-space-3);min-width:0;display:grid}.admin-replay-visibility-legend{padding:var(--admin-space-3);gap:var(--admin-space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.admin-replay-buttons{margin-top:0}}@media (width<=900px){.admin-shell--login{background:linear-gradient(180deg, var(--admin-color-accent) 0 42%, var(--admin-color-bg) 42%)}.admin-login{align-content:start;gap:var(--admin-space-7);grid-template-columns:1fr}.admin-login__intro>p:last-child{max-width:680px}.admin-detail-columns{grid-template-columns:1fr}.admin-history-row{grid-template-columns:64px minmax(150px,.7fr) minmax(280px,1fr)}.admin-history-row .admin-row-link{grid-column:2/-1;justify-self:end}}@media (width<=700px){.admin-header,.admin-nav,.admin-main,.admin-footer{width:min(var(--admin-page-width), calc(100% - var(--admin-space-6)))}.admin-header{min-height:76px}.admin-header__session>span{display:none}.admin-nav{gap:var(--admin-space-5);overflow-x:auto}.admin-page,.admin-login{padding-top:var(--admin-space-7)}.admin-page-header{flex-direction:column;align-items:flex-start}.admin-observed{min-width:0}.admin-toolbar,.admin-search{grid-template-columns:1fr}.admin-search .admin-button{width:100%}.admin-table-scroll{overflow:visible}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{width:100%;display:block}.admin-table thead{display:none}.admin-table tbody{padding:var(--admin-space-3)}.admin-table tr{margin-bottom:var(--admin-space-3);padding:var(--admin-space-3);border:1px solid var(--admin-color-border);background:var(--admin-color-surface-strong)}.admin-table tbody tr:last-child{margin-bottom:0}.admin-table td,.admin-table tbody tr:last-child td{min-height:var(--admin-control-height);padding:var(--admin-space-2) 0;align-items:center;gap:var(--admin-space-3);border-bottom:1px solid var(--admin-color-border);text-align:right;grid-template-columns:minmax(92px,.34fr) minmax(0,1fr);display:grid}.admin-table td:before{color:var(--admin-color-muted);content:attr(data-label);font-size:var(--admin-type-xs);text-align:left;font-weight:800}.admin-table td:last-child{border-bottom:0}.admin-table td>strong,.admin-table td>code,.admin-table td>small,.admin-table td>span,.admin-table td>a{grid-column:2;justify-self:end}.admin-table td>code{max-width:100%}.admin-pagination{justify-content:space-between}.admin-summary-grid{grid-template-columns:1fr}.admin-summary{border-right:0;border-bottom:1px solid var(--admin-color-border);min-height:124px}.admin-summary:last-child{border-bottom:0}.admin-definition-list{grid-template-columns:1fr}.admin-definition-list__wide{grid-column:auto}.admin-history-row{grid-template-columns:52px minmax(0,1fr);align-items:start}.admin-history-row dl,.admin-history-row .admin-row-link{grid-column:1/-1}.admin-history-row .admin-row-link{justify-self:start}.admin-replay-meta{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.admin-replay-meta>p{white-space:normal;grid-column:1/-1}.admin-replay-page{grid-template-columns:minmax(0,1fr)}.admin-replay-modes,.admin-replay-orientation{grid-column:1;justify-self:stretch;width:100%}.admin-replay-modes:not(.admin-replay-orientation){margin-bottom:var(--admin-space-2)}.admin-replay-modes button,.admin-replay-buttons button,.admin-replay-buttons .replay-step-controls__count{padding-inline:var(--admin-space-2)}.admin-replay-visibility-legend{justify-content:center}}@media (width<=460px){.admin-header,.admin-nav,.admin-main,.admin-footer{width:min(var(--admin-page-width), calc(100% - var(--admin-space-5)))}.admin-brand strong{font-size:var(--admin-type-body)}.admin-brand small{font-size:9px}.admin-header .admin-button{padding-inline:var(--admin-space-3)}.admin-login__form,.admin-panel,.admin-history,.admin-dialog{padding:var(--admin-space-4)}.admin-section-heading{flex-direction:column;align-items:stretch}.admin-section-heading .admin-button{width:100%}.admin-pagination{grid-template-columns:1fr 1fr;display:grid}.admin-pagination span{text-align:center;grid-area:1/1/auto/-1}.admin-dialog-backdrop{padding:var(--admin-space-3)}.admin-dialog__actions{grid-template-columns:1fr 1fr;display:grid}.admin-replay-meta{padding-inline:var(--admin-space-3);gap:var(--admin-space-2)}.admin-replay-meta>div{flex-direction:column;align-items:flex-start}.admin-replay-meta>div:nth-of-type(2){align-items:flex-end}.admin-replay-modes button{font-size:var(--admin-type-xs)}}@media (prefers-reduced-motion:reduce){.admin-shell *,.admin-shell :before,.admin-shell :after{scroll-behavior:auto;transition-duration:.01ms}}:root{--ink:#17201d;--ink-soft:#56635e;--paper:#f5f0e4;--paper-deep:#e8dfcd;--surface:#fffdf7e6;--line:#d7cbb7;--jade:#174b3d;--jade-light:#246b56;--red:#a7332c;--gold:#c08a35;--danger:#9f2f2a;--shadow:0 22px 55px #2027221f;--sans:Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--serif:"Noto Serif SC", "Songti SC", SimSun, serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:radial-gradient(circle at 8% 0,#c08a351f,#0000 31rem),linear-gradient(135deg,#f8f4eb 0%,#eee7d8 100%);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled),a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #c08a35cc}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit}h1,h2,p{margin-top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{border-bottom:1px solid #174b3d2e;justify-content:space-between;align-items:center;width:min(1180px,100% - 40px);min-height:82px;margin:0 auto;display:flex}.brand{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand__mark{border:1px solid var(--jade);background:var(--jade);color:#f7e7bd;width:46px;height:46px;font:700 25px/1 var(--serif);box-shadow:inset 0 0 0 3px #f7e7bd, inset 0 0 0 5px var(--jade);border-radius:50% 50% 46% 54%;place-items:center;display:grid}.brand strong,.brand small{display:block}.brand strong{font:700 21px/1.1 var(--serif);letter-spacing:.14em}.brand small{color:var(--ink-soft);letter-spacing:.25em;margin-top:4px;font-size:9px}.header-rule{color:var(--ink-soft);font:600 11px/1 var(--sans);letter-spacing:.08em;align-items:center;gap:8px;display:flex}.header-actions,.audio-settings,.audio-settings label{align-items:center;display:flex}.header-actions{gap:18px}.header-link,.audio-settings button{color:var(--ink-soft);font:700 12px/1 var(--sans);text-decoration:none}.header-link.active{color:var(--red)}.audio-settings{gap:8px}.audio-settings button{border:1px solid var(--line);background:#fffdf7b8;padding:7px 10px}.audio-settings label{color:var(--ink-soft);gap:6px;font-size:10px}.audio-settings input{width:72px;accent-color:var(--red)}.status-dot{background:#45946b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #45946b24}.app-main{flex:1;width:min(1180px,100% - 40px);margin:0 auto}.app-main--centered{place-items:center;display:grid}.button{background:var(--jade);color:#fffdf6;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 20px;font-weight:700;text-decoration:none;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex}.button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 24px #174b3d2e}.button--accent{background:var(--red)}.button--accent:not(:disabled):hover{background:#8f2924}.button--secondary{color:var(--jade);background:0 0;border-color:#174b3d57}.button--secondary:not(:disabled):hover{background:#174b3d0f}.button--danger,.button--danger-quiet{color:var(--danger);border-color:#9f2f2a66}.button--danger{background:var(--danger);color:#fff}.button--danger-quiet{background:#9f2f2a0d}.button--wide{width:100%}.button--compact{min-width:78px;padding-inline:15px}.text-link,.text-danger{min-height:44px;color:var(--jade);text-underline-offset:4px;background:0 0;border:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.text-danger{width:100%;color:var(--danger);text-decoration:underline}.page-kicker,.entry-card__kicker{color:var(--red);letter-spacing:.18em;margin-bottom:10px;font-size:11px;font-weight:800}.inline-error,.notice-banner{color:#7e2824;background:#9f2f2a12;border:1px solid #9f2f2a40;border-radius:6px;padding:12px 16px;font-size:14px}.center-state{min-height:55vh;color:var(--ink-soft);place-content:center;justify-items:center;display:grid}.spinner{border:3px solid #174b3d29;border-top-color:var(--jade);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}.error-panel{border:1px solid var(--line);background:var(--surface);width:min(620px,100%);min-height:280px;box-shadow:var(--shadow);align-items:flex-start;gap:22px;margin:72px auto;padding:44px;display:flex}.error-panel__glyph{background:var(--red);color:#fff;width:52px;height:52px;font:700 28px/1 var(--serif);border-radius:50%;flex:none;place-items:center;display:grid}.error-panel h1{font:700 28px/1.25 var(--serif);margin-bottom:10px}.error-panel p{color:var(--ink-soft);line-height:1.7}.error-panel .button{margin-top:20px}.home-page{padding-top:clamp(54px,8vw,104px)}.home-hero{text-align:center;max-width:790px;margin:0 auto clamp(32px,4vw,48px)}.home-hero__eyebrow{color:var(--red);font:700 13px/1 var(--serif);letter-spacing:.3em;margin-bottom:22px}.home-hero h1{font:700 clamp(48px, 8vw, 88px)/.98 var(--serif);letter-spacing:.04em;margin-bottom:0}.home-hero h1 span{color:var(--jade);margin-top:10px;display:block}.entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.entry-card{border:1px solid var(--line);background:#fffdf7c7;flex-direction:column;min-height:430px;padding:clamp(30px,4vw,48px);display:flex;position:relative;overflow:hidden;box-shadow:0 16px 44px #34312714}.entry-card--primary{background:radial-gradient(circle at 90% 10%, #d5b56f2e, transparent 17rem), var(--jade);color:#f8f1df;border-color:#174b3d}.entry-card__number{color:#174b3d1f;font:700 82px/1 var(--serif);position:absolute;top:22px;right:26px}.entry-card--primary .entry-card__number{color:#ffffff14}.entry-card h2{font:700 35px/1.2 var(--serif);letter-spacing:.06em;margin-bottom:14px}.entry-card>p:not(.entry-card__kicker){max-width:430px;color:var(--ink-soft);margin-bottom:auto;line-height:1.75}.entry-card--primary>p:not(.entry-card__kicker),.entry-card--primary small{color:#f8f1dfb8}.entry-card .button--wide{margin-top:28px}.entry-card--primary .button--accent{color:#21352e;background:#e8c276}.entry-card>small{text-align:center;margin-top:13px}.ai-game-form{gap:12px;margin-top:24px;display:grid}.ai-game-form__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ai-game-form label{min-width:0;color:var(--ink-soft);gap:7px;font-size:12px;font-weight:700;display:grid}.ai-game-form select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fffdf7;padding:11px 10px}.ai-game-form .button--wide{margin-top:10px}.room-time-control{color:var(--ink-soft);gap:8px;margin-top:24px;font-size:12px;font-weight:700;display:grid}.room-time-control+.room-time-control{margin-top:12px}.room-time-control select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffdf7;padding:11px 12px}.divider{color:var(--ink-soft);align-items:center;gap:12px;margin:18px 0 12px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.room-code-form label{margin-bottom:8px;font-size:12px;font-weight:700;display:block}.room-code-form>div{gap:8px;display:flex}.room-code-form input{border:1px solid var(--line);min-width:0;min-height:46px;color:var(--ink);letter-spacing:.12em;text-transform:uppercase;background:#fffdf8;border-radius:5px;flex:1;padding:10px 14px;font-weight:800}.home-page>.inline-error{text-align:center;margin-top:18px}.match-page{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);align-items:center;gap:clamp(40px,8vw,100px);min-height:680px;padding:80px 0;display:grid}.match-orbit{text-align:center}.match-orbit h1{font:700 clamp(34px, 5vw, 56px)/1.2 var(--serif);margin-bottom:14px}.match-subtitle{max-width:600px;color:var(--ink-soft);margin:0 auto;line-height:1.75}.radar{aspect-ratio:1;background:radial-gradient(circle,#174b3d29,#174b3d06 58%,#0000 59%);border:1px solid #174b3d3d;border-radius:50%;place-items:center;width:min(330px,70vw);margin:0 auto 40px;display:grid;position:relative;overflow:hidden}.radar:before,.radar:after{content:"";background:#174b3d24;position:absolute}.radar:before{width:1px;height:100%}.radar:after{width:100%;height:1px}.radar__ring{border:1px solid #174b3d2e;border-radius:50%;position:absolute}.radar__ring--one{inset:18%}.radar__ring--two{inset:36%}.radar__sweep{background:conic-gradient(from 0deg, transparent 0 315deg, #4a8b6e7a 350deg, transparent 360deg);opacity:0;border-radius:50%;position:absolute;inset:0}.radar--active .radar__sweep{opacity:1;animation:3.2s linear infinite radar}.radar__piece{z-index:2;aspect-ratio:1;border:4px double var(--red);width:72px;color:var(--red);font:700 36px/1 var(--serif);background:#efd99e;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 8px 30px #17201d38}.match-timer{font:700 clamp(35px, 5vw, 52px)/1 var(--sans);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:10px;margin:26px 0 16px;display:flex}.match-timer span{border:1px solid var(--line);background:#fffdf79e;min-width:78px;padding:11px}.match-timer i{color:var(--red);font-style:normal}.connection-pill{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;display:inline-flex}.connection-pill>span,.game-connection>span{background:#6a7671;border-radius:50%;width:8px;height:8px}.connection-pill[data-state=connected]>span,.game-connection[data-state=connected]>span{background:#3d9668;box-shadow:0 0 0 4px #3d966821}.connection-pill[data-state=reconnecting]>span,.game-connection[data-state=reconnecting]>span{background:var(--gold)}.match-detail-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);padding:32px}.match-detail-card dl{margin:0 0 24px}.match-detail-card dl div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:51px;padding:12px 0;display:flex}.match-detail-card dt{color:var(--ink-soft);font-size:13px}.match-detail-card dd{color:var(--ink);text-align:right;margin:0;font-weight:700}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.match-detail-card .text-link{width:100%;margin-top:8px}.room-page{max-width:880px;margin:0 auto;padding:clamp(55px,8vw,92px) 0}.room-heading{text-align:center;margin-bottom:34px}.room-heading h1{font:700 clamp(38px, 6vw, 56px)/1.2 var(--serif);margin-bottom:12px}.room-heading>p:last-child{color:var(--ink-soft)}.room-code-card{border:1px solid var(--line);background:var(--jade);color:#fff;justify-content:center;align-items:center;gap:24px;padding:26px 34px;display:flex}.room-code-card>span{color:#ffffffad;font-size:12px;font-weight:700}.room-code-card strong{color:#f1d797;font:700 clamp(28px, 5vw, 44px)/1 var(--sans);letter-spacing:.18em}.copy-button{color:#fff;background:0 0;border:1px solid #ffffff61;border-radius:4px;min-height:44px;padding:8px 14px;font-weight:700}.player-slots{grid-template-columns:repeat(2,1fr);gap:22px;margin:22px 0;display:grid}.player-slot{background:#fffdf76b;border:1px dashed #b9ad98;align-items:center;gap:18px;min-height:150px;padding:24px;display:flex}.player-slot--occupied{background:var(--surface);border-style:solid}.player-slot__piece,.side-token{border:3px double var(--jade);width:56px;height:56px;color:var(--jade);font:700 28px/1 var(--serif);background:#efdbab;border-radius:50%;flex:none;place-items:center;display:grid}.player-slot p{margin-bottom:5px;font-weight:800}.player-slot span:not(.player-slot__piece){color:var(--ink-soft);font-size:12px}.ready-state{color:var(--ink-soft);white-space:nowrap;margin-left:auto;font-size:12px}.ready-state--yes{color:#2f855d}.room-actions{text-align:center;max-width:430px;margin:34px auto 0}.room-actions>p{color:var(--ink-soft);margin:12px 0 2px;font-size:12px;line-height:1.6}.game-page,.replay-page{padding:34px 0 10px}.game-header,.replay-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.game-header h1,.replay-header h1{font:700 clamp(30px, 4vw, 43px)/1.2 var(--serif);margin-bottom:0}.ai-opponent-badge{border:1px solid color-mix(in srgb, var(--jade) 38%, var(--line));background:color-mix(in srgb, var(--jade) 7%, var(--surface));color:var(--jade);white-space:nowrap;border-radius:99px;align-items:center;gap:7px;padding:6px 9px;line-height:1;display:inline-flex}.ai-opponent-badge>span:first-child{background:var(--jade);color:var(--paper);letter-spacing:.08em;border-radius:4px;padding:3px 5px;font-size:9px;font-weight:900}.ai-opponent-badge strong{font-size:12px}.ai-opponent-badge small{color:var(--ink-soft);font-size:10px}.ai-thinking{color:var(--jade);letter-spacing:.06em;margin:-10px 0 16px;font-size:12px;font-weight:800}.ai-thinking:after{content:"…";width:1.5em;animation:1.8s ease-in-out infinite ai-thinking-pulse;display:inline-block}@keyframes ai-thinking-pulse{50%{opacity:.35}}.game-connection{text-align:right;align-items:center;gap:11px;display:flex}.game-connection strong,.game-connection small{display:block}.game-connection strong{font-size:12px}.game-connection small{color:var(--ink-soft);margin-top:3px;font-size:10px}.notice-banner{color:#70501e;background:#c08a3517;border-color:#c08a354d;margin-bottom:16px}.notice-banner--error{color:#7e2824;background:#9f2f2a12;border-color:#9f2f2a40}.game-layout,.replay-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.board-column{min-width:0}.game-board{aspect-ratio:1;touch-action:manipulation;border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:0 24px 60px #23231b38}@media (width<=780px) and (orientation:portrait){.game-board{aspect-ratio:5/6}.board-horizontal-scale{transform:scaleX(1.2)}}.game-board--locked{cursor:wait}.game-board__svg{width:100%;height:100%;display:block}.board-frame{fill:#263e35;stroke:#11231d;stroke-width:2px}.board-lines{fill:none;stroke:#604c2b;stroke-width:1.7px;stroke-linecap:square}.river-label text{fill:#72562d;font:700 24px var(--serif);letter-spacing:.3em}.fog-layer{opacity:.9}.board-piece__body{fill:#f3dfaa;stroke-width:3px}.board-piece__inner{fill:#0000;stroke-width:1.2px}.board-piece--red .board-piece__body,.board-piece--red .board-piece__inner{stroke:#a52d28}.board-piece--black .board-piece__body,.board-piece--black .board-piece__inner{stroke:#163d32}.board-piece text{font:700 24px var(--serif)}.board-piece--red text{fill:#a52d28}.board-piece--black text{fill:#163d32}.board-selection{fill:#fff5bc33;stroke:#fff3a9;stroke-width:4px;stroke-dasharray:7 4}.candidate-dot{fill:#f04b38;stroke:#fff0bd;stroke-width:3px}.candidate-capture{fill:none;stroke:#f04b38;stroke-width:5px;stroke-dasharray:8 5}.game-board__targets{pointer-events:none;position:absolute;inset:0}.board-hit-target{pointer-events:auto;background:0 0;border:0;border-radius:50%;width:max(44px,9.4%);min-width:44px;height:max(44px,9.4%);min-height:44px;padding:0;position:absolute;transform:translate(-50%,-50%)}.board-hit-target:focus-visible{outline-offset:-4px;background:#fff3a92e;outline:4px solid #fff3a9}.board-hit-target[data-candidate=true]:focus-visible{outline-color:#f04b38}.board-legend{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:20px;padding:16px 8px 0;font-size:11px;display:flex}.board-legend span{align-items:center;gap:7px;display:inline-flex}.legend-swatch{border-radius:3px;width:14px;height:14px;display:inline-block}.legend-swatch--fog{background:#1b2926}.legend-swatch--visible{background:#e2c98e;border:1px solid #9e8554}.legend-swatch--move{background:#f04b38;border-radius:50%}.game-sidebar,.replay-controls{gap:14px;display:grid}.turn-card,.clock-card,.action-card,.capture-card,.result-card,.fog-note,.replay-controls{border:1px solid var(--line);background:var(--surface);box-shadow:0 12px 34px #34312712}.turn-card{align-items:center;gap:14px;padding:20px;display:flex}.side-token{width:50px;height:50px;font-size:24px}.side-token--red{border-color:var(--red);color:var(--red);border-radius:50%}.side-token--black{border-color:var(--jade);color:var(--jade);border-radius:25% 25% 45% 45%}.turn-card small,.clock-row small{color:var(--ink-soft);font-size:10px;display:block}.turn-card strong{font:700 20px/1.2 var(--serif)}.turn-badge{color:var(--ink-soft);background:#ece7dc;border-radius:99px;margin-left:auto;padding:6px 8px;font-size:10px;font-weight:700}.turn-badge--mine{color:var(--red);background:#a7332c1a}.clock-card{overflow:hidden}.clock-row{opacity:.62;align-items:center;gap:14px;padding:15px 20px;display:flex}.clock-row+.clock-row{border-top:1px solid var(--line)}.clock-row--active{opacity:1;background:#c08a3514}.clock-row strong{font-variant-numeric:tabular-nums;font-size:22px}.clock-row--low{color:var(--red);background:#a7332c1f}.clock-turn{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;display:block}.clock-row em{color:var(--red);margin-top:2px;font-size:10px;font-style:normal;font-weight:700;display:block}.action-card,.capture-card,.result-card,.fog-note{padding:20px}.action-card h2,.capture-card h2{font:700 17px/1.2 var(--serif);margin-bottom:16px}.action-card>.button+.text-danger{margin-top:8px}.draw-offer{background:#c08a3517;padding:14px}.draw-offer p,.confirm-action p,.muted-copy{color:var(--ink-soft);margin:7px 0 12px;font-size:12px;line-height:1.6}.draw-offer>div,.confirm-action>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.confirm-action{background:#9f2f2a0d;border:1px solid #9f2f2a33;padding:14px}.capture-card>div{border-top:1px solid var(--line);grid-template-columns:55px 1fr;padding:9px 0;display:grid}.capture-card span{color:var(--ink-soft);font-size:11px}.capture-card p{font:700 18px/1 var(--serif);letter-spacing:.15em;margin:0}.result-card{text-align:center}.result-card h2{color:var(--red);font:700 28px/1.2 var(--serif);margin-bottom:8px}.result-card>p:not(.page-kicker){color:var(--ink-soft);margin-bottom:18px}.fog-note{border-left:4px solid var(--jade);box-shadow:none;background:#174b3d0e}.fog-note strong{font:700 14px/1 var(--serif)}.fog-note p{color:var(--ink-soft);margin:8px 0 0;font-size:11px;line-height:1.6}.replay-header>div>p:last-child{color:var(--ink-soft);margin:8px 0 0;font-size:13px}.replay-controls{padding:24px}.replay-counter{justify-content:space-between;align-items:flex-end;display:flex}.replay-counter small{color:var(--ink-soft)}.replay-counter strong{font-variant-numeric:tabular-nums;font-size:31px}.replay-counter strong span{color:var(--ink-soft);font-size:15px}.replay-move{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:14px;min-height:88px;padding:14px 0;display:flex}.replay-move p,.replay-move small{color:var(--ink-soft);margin:4px 0 0;font-size:11px}.replay-controls input[type=range]{width:100%;min-height:44px;accent-color:var(--red)}.replay-buttons{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.replay-buttons button{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--jade);background:#fffdf8;border-radius:4px;font-size:25px}.replay-result{border-top:1px solid var(--line);justify-content:space-between;padding-top:16px;display:flex}.replay-result span{color:var(--ink-soft);font-size:12px}.replay-result strong{color:var(--red);font-family:var(--serif)}.history-page{padding:50px 0 20px}.history-header{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px;display:flex}.history-header h1{font:700 clamp(34px, 5vw, 52px)/1.15 var(--serif);margin:0}.history-header>div:first-child>p:last-child{color:var(--ink-soft);margin:10px 0 0}.history-filters{gap:10px;display:flex}.history-filters label{color:var(--ink-soft);gap:5px;font-size:10px;font-weight:700;display:grid}.history-filters select{border:1px solid var(--line);min-width:130px;color:var(--ink);background:#fffdf8;padding:9px 10px}.history-list{gap:12px;display:grid}.history-row{border:1px solid var(--line);background:var(--surface);color:inherit;grid-template-columns:minmax(290px,1.2fr) minmax(360px,1fr) auto;align-items:center;gap:22px;padding:18px 20px;text-decoration:none;display:grid;box-shadow:0 8px 24px #3431270d}.history-row:hover,.history-row:focus-visible{border-color:#a7332c80;transform:translateY(-1px)}.history-players{gap:8px;display:grid}.history-players>div{grid-template-columns:34px 1fr auto;align-items:center;gap:10px;display:grid}.history-players .side-token{width:34px;height:34px;font-size:15px}.history-players p{margin:0}.history-players p small{color:var(--jade);background:#174b3d1a;border-radius:99px;margin-left:8px;padding:2px 5px;font-size:9px}.historical-ai-badge{background:color-mix(in srgb, var(--jade) 10%, transparent);color:var(--jade);white-space:nowrap;border-radius:99px;margin-left:7px;padding:2px 5px;font-size:9px;font-style:normal;font-weight:800;display:inline-block}.history-players em,.replay-meta em{min-width:28px;color:var(--ink-soft);text-align:center;border-radius:3px;padding:4px;font-style:normal;font-weight:800}.history-players em[data-outcome=win],.replay-meta em[data-outcome=win]{color:var(--red);background:#a7332c1c}.history-players em[data-outcome=loss],.replay-meta em[data-outcome=loss]{background:#34312714}.history-players em[data-outcome=draw],.replay-meta em[data-outcome=draw]{color:#8b621e;background:#c08a351f}.history-row dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;display:grid}.history-row dl div{min-width:0}.history-row dt{color:var(--ink-soft);font-size:9px}.history-row dd{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:12px;overflow:hidden}.history-row__action{color:var(--red);white-space:nowrap;font-weight:800}.history-load-more{margin:24px auto 0;display:block}.empty-history{border:1px dashed var(--line);text-align:center;padding:70px 24px}.empty-history p{color:var(--ink-soft);margin:10px 0 22px}.replay-meta{border:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:12px 18px;display:flex}.replay-meta>div{align-items:center;gap:9px;display:flex}.replay-meta>p{color:var(--ink-soft);margin-left:auto}.replay-mode-switch{border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;display:grid}.replay-mode-switch button{min-height:44px;color:var(--ink-soft);background:#fffdf8b8;border:0;font-weight:800}.replay-mode-switch button+button{border-left:1px solid var(--line)}.replay-mode-switch button[aria-pressed=true]{background:var(--jade);color:#f8f1df}.replay-clock{color:var(--ink-soft);font-variant-numeric:tabular-nums;justify-content:space-between;font-weight:700;display:flex}.share-panel,.share-notice{border:1px solid var(--line);background:var(--surface);margin-top:22px;padding:22px}.share-panel{grid-template-columns:1fr auto;align-items:center;gap:14px 20px;display:grid}.share-panel h2{font:700 20px/1.2 var(--serif)}.share-panel p{color:var(--ink-soft);margin:6px 0 0}.share-link{grid-column:1/-1;gap:8px;display:flex}.share-link input{border:1px solid var(--line);flex:1;min-width:0;padding:10px}.share-panel>.text-danger,.share-panel>.inline-error{grid-column:1/-1;justify-self:start}.share-notice{border-left:4px solid var(--gold);color:var(--ink-soft)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes radar{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=960px){.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-card--primary{grid-column:1/-1}.game-layout,.replay-layout{grid-template-columns:minmax(0,1fr) 300px}.game-sidebar,.replay-controls{gap:10px}.turn-card,.action-card,.capture-card,.result-card,.fog-note,.replay-controls{padding:16px}}@media (width<=780px){.site-header,.app-main{width:min(100% - 28px,680px)}.audio-settings label,.header-rule{display:none}.entry-grid,.match-page,.game-layout,.replay-layout{grid-template-columns:1fr}.entry-card{min-height:390px}.entry-card--primary{grid-column:auto}.match-page{gap:40px;padding:55px 0}.match-detail-card{width:min(100%,520px);margin:0 auto}.game-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.turn-card,.clock-card,.result-card{grid-column:1/-1}.replay-controls{width:100%}.history-header{flex-direction:column;align-items:stretch}.history-filters{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.history-filters select{width:100%;min-width:0}.history-row{grid-template-columns:repeat(2,minmax(0,1fr))}.history-row__action{grid-column:1/-1;justify-self:end}}@media (width<=560px){.site-header{min-height:70px}.brand__mark{width:42px;height:42px;font-size:22px}.brand strong{font-size:18px}.home-page{padding-top:46px}.home-hero h1{font-size:clamp(45px,15vw,66px)}.home-hero>p{font-size:15px}.entry-card{min-height:380px;padding:28px 24px}.entry-card__number{font-size:64px}.entry-card h2{font-size:30px}.game-header .ai-opponent-badge{align-self:flex-start}.room-code-form>div{flex-direction:column}.room-code-card{flex-wrap:wrap;gap:13px;padding:22px 15px}.room-code-card strong{text-align:center;width:100%}.player-slots,.game-sidebar{grid-template-columns:1fr}.turn-card,.clock-card,.result-card{grid-column:auto}.player-slot{min-height:126px;padding:18px}.game-page,.replay-page{padding-top:24px}.game-header,.replay-header{flex-direction:column;align-items:flex-start}.game-connection{text-align:left;justify-content:flex-start;align-self:stretch}.replay-header .button{width:100%}.board-legend{gap:10px}.error-panel{flex-direction:column;margin:45px auto;padding:28px 22px}.history-page{padding-top:24px}.history-filters,.history-row{grid-template-columns:minmax(0,1fr)}.history-row{gap:16px;padding:16px}.history-players p,.history-players strong{overflow-wrap:anywhere;min-width:0}.history-row__action{grid-column:auto;justify-self:start}}@media (width<=360px){.ai-game-form__row{grid-template-columns:1fr}}:root{--phase4-board-column:51rem;--phase4-turn-duration:1.6s;--phase4-overlay-surface:color-mix(in srgb, var(--jade) 90%, var(--ink));--phase4-overlay-veil:color-mix(in srgb, var(--ink) 32%, transparent)}.game-page{padding-top:20px}.game-header--compact{align-items:center;margin-bottom:12px}.game-header--compact h1{font-size:clamp(28px,3.5vw,38px)}.game-board-stage{isolation:isolate;position:relative}.game-board--my-turn{animation:game-board-turn-shadow var(--phase4-turn-duration) ease-in-out infinite}.game-board--my-turn:after{z-index:2;border:3px solid var(--jade-light);border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 32%, transparent);pointer-events:none;content:"";animation:game-board-turn-border var(--phase4-turn-duration) ease-in-out infinite;position:absolute;inset:0}.game-negotiation-overlay{z-index:3;pointer-events:none;border-radius:18px;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.game-negotiation-overlay__backdrop{background:var(--phase4-overlay-veil);pointer-events:none;position:absolute;inset:0}.game-negotiation-overlay__card{border:1px solid color-mix(in srgb, var(--gold) 72%, var(--paper));background:var(--phase4-overlay-surface);width:min(82%,32rem);max-height:calc(100% - 32px);color:var(--paper);box-shadow:0 24px 64px color-mix(in srgb, var(--ink) 58%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--paper) 12%, transparent);overflow-wrap:anywhere;pointer-events:auto;border-radius:8px;padding:24px;position:relative;overflow:auto}.takeback-request-panel,.draw-negotiation-panel{text-align:left}.takeback-request-panel__title,.draw-negotiation-panel__title{color:var(--paper);font:700 clamp(22px, 4vw, 30px)/1.2 var(--serif);margin:0}.takeback-request-panel__message,.draw-negotiation-panel__message{color:color-mix(in srgb, var(--paper) 82%, var(--gold));margin:12px 0 0;font-size:14px;line-height:1.65}.takeback-request-panel__actions,.draw-negotiation-panel__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px;display:grid}.takeback-request-panel__accept,.takeback-request-panel__reject,.draw-negotiation-panel__accept,.draw-negotiation-panel__reject{width:100%;min-width:0}.takeback-request-panel__accept,.draw-negotiation-panel__accept{box-shadow:0 8px 20px color-mix(in srgb, var(--red) 32%, transparent)}.takeback-request-panel__reject,.draw-negotiation-panel__reject{border-color:color-mix(in srgb, var(--paper) 58%, transparent);background:color-mix(in srgb, var(--paper) 94%, transparent)}.takeback-request-panel__error,.draw-negotiation-panel__error{border-color:color-mix(in srgb, var(--paper) 36%, transparent);background:color-mix(in srgb, var(--red) 42%, transparent);color:var(--paper);margin:16px 0 0}.player-clock-bar{--clock-side:var(--jade);border:1px solid var(--line);border-inline-start:4px solid var(--clock-side);background:var(--surface);min-height:64px;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink);border-radius:8px;grid-template-columns:auto minmax(112px,1fr) auto auto auto;align-items:center;gap:16px;padding:8px 16px 8px 12px;display:grid;overflow:hidden}.player-clock-bar--opponent{margin-bottom:8px}.player-clock-bar--self{margin-top:8px}.player-clock-bar--red{--clock-side:var(--red)}.player-clock-bar--black{--clock-side:var(--jade)}.player-clock-bar--active{border-color:color-mix(in srgb, var(--gold) 58%, var(--line));background:color-mix(in srgb, var(--gold) 9%, var(--surface));box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 10%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--gold) 24%, transparent)}.player-clock-bar--low{border-color:color-mix(in srgb, var(--danger) 58%, var(--line));background:color-mix(in srgb, var(--danger) 11%, var(--surface));color:var(--danger)}.player-clock-bar__token{width:42px;height:42px;font-size:20px}.player-clock-bar__identity{min-width:0}.player-clock-bar__identity strong,.player-clock-bar__identity span,.player-clock-bar__total small,.player-clock-bar__turn small{display:block}.player-clock-bar__identity strong{font:700 16px/1.2 var(--serif)}.player-clock-bar__identity span,.player-clock-bar__total small,.player-clock-bar__turn small{color:var(--ink-soft);margin-top:2px;font-size:10px}.player-clock-bar__total,.player-clock-bar__turn{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.player-clock-bar__total strong{font-size:24px;line-height:1;display:block}.player-clock-bar__turn span{margin-top:2px;font-size:15px;font-weight:800;display:block}.player-clock-bar__warning{background:var(--danger);color:var(--paper);white-space:nowrap;border-radius:99px;padding:4px 8px;font-size:10px;font-style:normal;font-weight:800}.turn-card--board{border:1px solid var(--line);background:var(--surface);min-height:64px;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:8px;margin-bottom:8px;padding:8px 16px}.game-negotiation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0 0 12px;display:grid}.game-negotiation-actions__draw,.game-negotiation-actions__takeback{width:100%;min-width:0;padding-inline:10px}.game-negotiation-actions>:only-child{grid-column:1/-1}.omniscient-visibility-layer{opacity:1;pointer-events:none}.omniscient-visibility-layer rect{shape-rendering:geometricprecision}.legend-swatch--red-visible{border:1px solid color-mix(in srgb, var(--red) 72%, var(--line));background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--red) 48%, transparent) 0 3px, color-mix(in srgb, var(--red) 18%, transparent) 3px 6px), var(--paper-deep)}.legend-swatch--black-visible{border:1px solid color-mix(in srgb, var(--ink) 72%, var(--line));background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--ink) 68%, transparent) 0 3px, color-mix(in srgb, var(--ink) 24%, transparent) 3px 6px), var(--paper-deep)}.legend-swatch--neither-visible{border:1px solid color-mix(in srgb, var(--ink) 64%, var(--red));background:repeating-linear-gradient(45deg, transparent 0 4px, color-mix(in srgb, var(--ink) 72%, transparent) 4px 6px), repeating-linear-gradient(-45deg, color-mix(in srgb, var(--red) 44%, transparent) 0 4px, transparent 4px 8px), var(--paper-deep)}.replay-page .replay-mode-switch,.replay-layout{width:min(100%, var(--phase4-board-column));margin-inline:auto}.replay-mode-switch{margin-bottom:12px}.replay-mode-switch:before{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper-deep) 52%, transparent);color:var(--ink-soft);letter-spacing:.12em;content:"信息视野";grid-column:1/-1;padding:8px 12px;font-size:10px;font-weight:800}.replay-orientation-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-orientation-switch:before{content:"棋盘朝向"}.replay-layout{display:block}.replay-page .board-column{flex-direction:column;min-width:0;display:flex}.replay-visibility-legend{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);order:2;margin-top:0;padding:12px 8px 0}.replay-step-controls{border:1px solid var(--line);background:var(--surface);min-height:60px;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:8px;order:1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:8px;padding:8px;display:grid}.replay-step-controls.replay-buttons{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}.replay-step-controls button,.replay-step-controls.replay-buttons button{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:44px;color:var(--jade);border-radius:4px;padding:8px 12px;font-size:14px;font-weight:800;transition:background .16s,border-color .16s,color .16s}.replay-step-controls button:not(:disabled):hover{border-color:var(--jade-light);background:color-mix(in srgb, var(--jade) 7%, var(--surface))}.replay-step-controls button:disabled{background:color-mix(in srgb, var(--paper-deep) 42%, transparent);color:var(--ink-soft)}.replay-step-controls__count{min-width:68px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;font-size:16px;font-weight:800}@keyframes game-board-turn-shadow{0%,to{box-shadow:0 24px 60px color-mix(in srgb, var(--ink) 22%, transparent), 0 0 0 2px color-mix(in srgb, var(--jade-light) 62%, transparent), 0 0 18px color-mix(in srgb, var(--jade-light) 28%, transparent)}50%{box-shadow:0 24px 60px color-mix(in srgb, var(--ink) 22%, transparent), 0 0 0 3px color-mix(in srgb, var(--gold) 88%, var(--jade-light)), 0 0 28px color-mix(in srgb, var(--gold) 48%, transparent)}}@keyframes game-board-turn-border{0%,to{border-color:var(--jade-light);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--jade-light) 32%, transparent)}50%{border-color:color-mix(in srgb, var(--gold) 84%, var(--jade-light));box-shadow:inset 0 0 14px color-mix(in srgb, var(--gold) 32%, transparent)}}@media (width<=560px){.game-page{padding-top:12px}.game-header--compact{margin-bottom:8px}.game-header--compact h1{font-size:28px}.player-clock-bar{border-radius:6px;grid-template-rows:1fr 1fr;grid-template-columns:32px minmax(0,1fr) auto minmax(40px,auto);gap:0 8px;min-height:56px;padding:4px 8px}.player-clock-bar--opponent{margin-bottom:8px}.player-clock-bar--self{margin-top:8px}.player-clock-bar__token{grid-row:1/3;width:32px;height:32px;font-size:16px}.player-clock-bar__identity,.player-clock-bar__total{grid-row:1/3}.player-clock-bar__identity strong{font-size:14px}.player-clock-bar__identity span,.player-clock-bar__total small,.player-clock-bar__turn small{font-size:9px}.player-clock-bar__total strong{font-size:21px}.player-clock-bar__turn{grid-area:1/4;align-self:end}.player-clock-bar__turn small,.player-clock-bar__turn span{margin:0;font-size:10px;display:inline}.player-clock-bar__turn small{margin-right:4px}.player-clock-bar__warning{color:var(--danger);text-align:right;background:0 0;grid-area:2/4;align-self:start;padding:0;font-size:9px}.turn-card--board{min-height:56px;margin-bottom:8px;padding:4px 12px}.turn-card--board .side-token{width:36px;height:36px;font-size:17px}.game-negotiation-overlay__card{max-height:calc(100% - 24px);padding:16px}.takeback-request-panel__title,.draw-negotiation-panel__title{font-size:22px}.takeback-request-panel__message,.draw-negotiation-panel__message{margin-top:8px;font-size:12px;line-height:1.5}.takeback-request-panel__actions,.draw-negotiation-panel__actions{margin-top:12px}.takeback-request-panel__actions .button,.draw-negotiation-panel__actions .button{min-height:44px;padding-inline:8px}.game-negotiation-actions{margin-top:12px}.replay-step-controls{min-height:56px}.replay-step-controls__count{min-width:52px;font-size:14px}}@media (width<=560px) and (orientation:portrait){.game-page{padding-top:8px}.game-layout{gap:16px}}@media (prefers-reduced-motion:reduce){.ai-thinking:after{animation:none}.game-board--my-turn{box-shadow:0 24px 60px color-mix(in srgb, var(--ink) 22%, transparent), 0 0 0 3px color-mix(in srgb, var(--gold) 82%, var(--jade-light)), 0 0 20px color-mix(in srgb, var(--gold) 34%, transparent);animation:none!important}.game-board--my-turn:after{border-color:color-mix(in srgb, var(--gold) 82%, var(--jade-light));box-shadow:inset 0 0 12px color-mix(in srgb, var(--gold) 26%, transparent);animation:none!important}}
