@charset "UTF-8";
/* 默认明亮模式不覆盖旧配色；黑暗使用 Windows 风格的深灰层级。 */
[hidden]{display:none!important}a{color:var(--green)}
.settings-page main{width:min(100%,620px)}.settings-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.settings-header h1{font-size:25px;margin:0}.settings-header a{white-space:nowrap;font-size:14px}.settings-card{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;margin-bottom:18px}.settings-card h2{font-size:19px;margin:0 0 18px}.settings-card p{font-size:14px;line-height:1.8;color:#65766c}.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.piece-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.piece-options button{height:64px;font-size:25px;padding:6px;display:grid;place-items:center}.piece-options button[data-piece=auto]{font-size:16px}button[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--green)}
.piece-emoji{display:inline-block;width:32px;height:36px;background:#f5f5f5 url('piece-emojis.png') var(--sprite-x) var(--sprite-y,-4.5px) / 301px 57px no-repeat;border-radius:6px;vertical-align:middle;flex-shrink:0}.game-cell.has-emoji{position:relative;overflow:hidden}.game-cell .piece-emoji{transform:scale(.8)}.game-board[data-size="4"] .game-cell .piece-emoji,.game-board[data-size="5"] .game-cell .piece-emoji{transform:scale(.65)}.board-seal .piece-emoji{transform:scale(1.65)}.piece-owner{position:absolute;right:2px;bottom:0;font-size:9px;line-height:1.1;font-weight:800}.piece-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px;margin:14px 0}.piece-legend .piece-emoji{transform:scale(.75);margin:-4px}.room-settings{font-size:14px;margin-left:auto;margin-right:15px}.game-cell.snap.has-preview::after{content:none!important}.game-cell.snap .piece-emoji{opacity:.45}.game-cell.snap .preview-mark{opacity:.35}.game-cell .preview-mark{pointer-events:none}
:root[data-theme=dark]{color-scheme:dark;background:#202020;color:#f2f2f2;--green:#9ed5bd;--line:#484848}
[data-theme=dark] .menu,[data-theme=dark] .card,[data-theme=dark] .settings-card,[data-theme=dark] .lesson{background:#2b2b2b;border-color:#484848;box-shadow:0 5px 18px #0002}
[data-theme=dark] button,[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] .lesson-nav a{background:#353535;border-color:#515151;color:#f1f1f1}
[data-theme=dark] button.primary,[data-theme=dark] .start-link{background:#295d4b;color:#fff;border-color:#487b65}
[data-theme=dark] .quiet{background:#292929;color:#d2d2d2}
[data-theme=dark] p,[data-theme=dark] label,[data-theme=dark] .small,[data-theme=dark] .footnote,[data-theme=dark] .lead,[data-theme=dark] .lesson p,[data-theme=dark] .move-list li,[data-theme=dark] figcaption{color:#c2c2c2}
[data-theme=dark] .lesson strong,[data-theme=dark] h2,[data-theme=dark] h3{color:#f2f2f2}
[data-theme=dark] .badge,[data-theme=dark] .player-state,[data-theme=dark] .board-readout,[data-theme=dark] .size-note,[data-theme=dark] .takeaway,[data-theme=dark] .success-strip{background:#323e36;color:#cee4d5;border-color:#526357}
[data-theme=dark] .board-option.selected,[data-theme=dark] .first-option.selected,[data-theme=dark] #readyButton.is-ready{background:#365c49;color:#fff;border-color:#95c6a8}
[data-theme=dark] .notice,[data-theme=dark] .countdown,[data-theme=dark] .takeaway.warm{background:#4b3d27;color:#ffe1a6}
[data-theme=dark] .game-board{background:#151515;border-color:#737e72}[data-theme=dark] .mini-board{background:#30372f}[data-theme=dark] .mini-grid{background:#697468}[data-theme=dark] .game-cell{background:#292d29;color:#b2e1c3}[data-theme=dark] .game-cell[data-owner=O]{color:#efba87}[data-theme=dark] .playable .game-cell{background:#354135}[data-theme=dark] .mini-board.playable{border-color:#acd49c}[data-theme=dark] .board-seal{background:#293b2bef;color:#b3e2bd}[data-theme=dark] .mini-board[data-owner=O] .board-seal{background:#453725ed;color:#efc390}[data-theme=dark] .game-cell.snap{background:#506747!important}[data-theme=dark] .game-cell.last-move{box-shadow:inset 0 0 0 2px #a4c78f}[data-theme=dark] .finished #gameTurn{color:#f1cf83}[data-theme=dark] figure img{filter:invert(.87) hue-rotate(160deg)}
@media(max-width:400px){.settings-card{padding:18px}.piece-options{grid-template-columns:repeat(3,1fr)}}
.game-cell > *{pointer-events:none}.game-cell.snap:not(.has-emoji){color:#6e8d75}.game-cell.snap.has-emoji .piece-emoji{pointer-events:none}
[data-theme=dark] .my-turn .playable .game-cell:enabled{background:#354135}[data-theme=dark] .my-turn .mini-board.playable{background:#3d503b;border-color:#acd49c}
.game-cell .piece-emoji{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.8)}.game-board[data-size="4"] .game-cell .piece-emoji,.game-board[data-size="5"] .game-cell .piece-emoji{transform:translate(-50%,-50%) scale(.65)}

/* 房间选子：被对方占用仍清晰可辨，灰色图案和右下角文字同时说明原因。 */
.room-piece-area{margin:22px 0;padding-top:18px;border-top:1px solid var(--line)}.room-piece-area h3{margin:0 0 8px}.room-piece-area .piece-options{grid-template-columns:repeat(auto-fit,minmax(85px,1fr));gap:10px}.room-piece-area .piece-options button{position:relative;min-height:76px;height:76px;padding:0}.piece-face{display:grid;place-items:center;pointer-events:none}.piece-tag{position:absolute;right:5px;bottom:4px;font-size:10px;line-height:1.2;white-space:nowrap;pointer-events:none}.piece-options button.taken{background:#e7e9e5;border-color:#cbd0c7;color:#777;cursor:not-allowed;box-shadow:none}.piece-options button.taken .piece-face{filter:grayscale(1);opacity:.42}.piece-options button.taken .piece-tag{color:#646d64}.piece-options button:disabled:not(.taken){cursor:default}.room-piece-area button[aria-pressed=true]{background:#e5efdf}.room-piece-area button[aria-pressed=true] .piece-tag{color:#245c4d}[data-theme=dark] .room-piece-area button[aria-pressed=true]{background:#365c49}[data-theme=dark] .room-piece-area button[aria-pressed=true] .piece-tag{color:#deeee1}[data-theme=dark] .piece-options button.taken{background:#303030;border-color:#484848;color:#999}[data-theme=dark] .piece-options button.taken .piece-tag{color:#b5b5b5}
.room-piece-area button.taken,.room-piece-area button[aria-pressed=true]:disabled{opacity:1}[data-theme=dark] .player-state>span,[data-theme=dark] .player-state small,[data-theme=dark] .ready-status{color:#cbd6ce}
