/* Declare author-controlled colors; do not use prefers-color-scheme to recolor guests. */
:root{color-scheme:only light}
.board,.card,.xiangqi-card-piece{color-scheme:only light;forced-color-adjust:none}
.board.ttt{color:#202020}
.gomoku .stone{box-sizing:border-box}
.gomoku .stone.black{background:radial-gradient(circle at 32% 26%,#454545,#161616 70%);border:1px solid #a99b82;box-shadow:0 1px 3px #0008,inset 0 0 0 1px #111}
.gomoku .stone.white{background:radial-gradient(circle at 32% 26%,#fff,#e7e7df 75%);border:1px solid #6e675b;box-shadow:0 1px 3px #0005}
:root[data-theme="dark"]{color-scheme:dark;color:#e5eee6;background:#121d1a;--ink:#e5eee6;--muted:#adc0b1;--green:#357c61;--paper:#121d1a;--line:#4c6658;--red:#ffb0a6}
:root[data-theme="dark"] body{color:#e5eee6;background:linear-gradient(#8dab9510 1px,transparent 1px),linear-gradient(90deg,#8dab9510 1px,transparent 1px),#121d1a;background-size:24px 24px}
:root[data-theme="dark"] body.in-lobby:not(.info-reading){background:#121d1a}
:root[data-theme="dark"] .panel{background:#1e2b26;border-color:#4c6658;box-shadow:3px 3px 0 #0b1611}
:root[data-theme="dark"] .eyebrow{color:#acd2b8}
:root[data-theme="dark"] .status,
:root[data-theme="dark"] .online-count,
:root[data-theme="dark"] #authToggle,
:root[data-theme="dark"] .account-menu summary,
:root[data-theme="dark"] .account-menu-popup{background:#24362d;color:#e5eee6;border-color:#4c6658;box-shadow:1px 2px 0 #0b1611}
:root[data-theme="dark"] body.in-lobby:not(.info-reading) :is(.status,.online-count){background:none;border:0;box-shadow:none;color:#b5c6b8}
:root[data-theme="dark"] .account-menu-popup button{background:#24362d;color:#e5eee6}
:root[data-theme="dark"] .account-menu-popup button:hover{background:#34513f}
:root[data-theme="dark"] .lobby-tabs,:root[data-theme="dark"] .invite-panel{border-color:#4c6658}
:root[data-theme="dark"] .lobby-tab{background:#26392f;border-color:#4c6658;color:#dce9df}
:root[data-theme="dark"] .lobby-tab.active{background:#357c61;border-color:#75b292;color:#fff;box-shadow:2px 2px 0 #0b1611}
:root[data-theme="dark"] .game-card{border-color:#4c6658;box-shadow:none}
:root[data-theme="dark"] .ttt-card{background:#23343e}
:root[data-theme="dark"] .gomoku-card,:root[data-theme="dark"] .xiangqi-card{background:#382f26;border-color:#806a4c}
:root[data-theme="dark"] .nback-card{background:#293b2f}
:root[data-theme="dark"] .game-card:hover:not(:disabled){border-color:#92b39f}
:root[data-theme="dark"] .game-card .icon{color:#c4d3aa}
:root[data-theme="dark"] :is(.section-note,.game-card small,.game-head p,.last-move-hint,.sound-control,.xiangqi-rules,#inviteMessage,.sub,.server-stat){color:#b5c6b8}
:root[data-theme="dark"] button.secondary{background:#293e32;color:#e5eee6;border-color:#64866f;box-shadow:2px 2px 0 #0b1611}
:root[data-theme="dark"] button.primary{background:#357c61;border:1px solid #82b89a;box-shadow:2px 2px 0 #0b1611;color:#fff}
:root[data-theme="dark"] :is(input:not([type="radio"]):not([type="checkbox"]),select,textarea){background:#16261e!important;color:#e5eee6!important;border-color:#64866f!important}
:root[data-theme="dark"] input::placeholder{color:#adc0b1}
:root[data-theme="dark"] :is(.ai-seat-select input,.ai-entries>div){border-color:#64866f}
:root[data-theme="dark"] :is(.game-dialog,#authDialog,#deleteDialog){background:#1e2b26;color:#e5eee6;border-color:#64866f;box-shadow:4px 4px 0 #08140b80}
:root[data-theme="dark"] :is(.opponent-badge,.badge){background:#293e32;color:#dce9df;border-color:#64866f}
:root[data-theme="dark"] .badge.active{background:#3b6249;color:#fff}
:root[data-theme="dark"] :is(.history-notice,.request-panel,.swap2-controls,.xiangqi-rules[open]){background:#293e32;border-color:#64866f;color:#e5eee6}
:root[data-theme="dark"] .history-notice p{color:#b5d1bd}
:root[data-theme="dark"] :is(.rule-link,.rules-dialog a){color:#a3dcba}
:root[data-theme="dark"] .turn-clock{color:#f4cf98}
:root[data-theme="dark"] :is(.urgent,#authError,#deleteError,.danger-text,#aiEntryError,.account-menu-popup .danger-text){color:#ffb4b9}
:root[data-theme="dark"] :is(button,summary,a,input):focus-visible{outline-color:#b2e7c4}
:root[data-theme="dark"] .spinner{border-color:#4c6658;border-top-color:#acd2b8}
:root[data-theme="dark"] .nback-frame{background:#121d1a}
/* N-back uses the same shell theme while keeping the playing cards' true colors. */
:root[data-theme="dark"] :is(.rule p,.tag,.note,.field small,.statline){color:#b5c6b8}
:root[data-theme="dark"] .stage{background:#102e27;border:1px solid #4c6658}
:root[data-theme="dark"] .pill{background:#3b6249;color:#e5eee6}
:root[data-theme="dark"] .pill.bad{background:#613b3c;color:#ffe0df}
:root[data-theme="dark"] .pill.neutral{background:#35483b;color:#e5eee6}
