.chess-piece{display:block;width:90%;height:90%;margin:auto;filter:none;pointer-events:none}.board-frame{position:relative;padding:18px 0 0 18px;margin:20px 0}.board-frame .board{margin:0}.board-files{position:absolute;top:0;left:18px;right:0;display:grid;grid-template-columns:repeat(8,1fr);font-size:12px;text-align:center;color:var(--muted)}.board-ranks{position:absolute;left:0;top:18px;bottom:0;display:grid;grid-template-rows:repeat(8,1fr);align-items:center;font-size:12px;color:var(--muted)}.board .coordinate{display:none}.move-history ol{display:flex;gap:8px;flex-wrap:wrap;padding:0;list-style:none;max-height:180px;overflow:auto}.move-history li{padding:8px 12px;border-radius:10px;border:1px solid var(--line)}.move-history .move-side-0{background:#fff5df;color:#263345}.move-history .move-side-1{background:#263345;color:#fff5df}.move-history small{opacity:.7}.app #main .back{display:inline-flex;align-items:center;min-height:48px;padding:12px 20px;background:var(--blue);color:#fff;border-radius:14px;font-size:16px;font-weight:800;box-shadow:0 4px 12px #2495ee33;margin:8px 0 18px}.profile-tabs{display:flex;gap:6px;overflow-x:auto;margin:8px 0 20px;padding-bottom:8px}.profile-tabs button{white-space:nowrap;background:var(--soft);color:var(--ink);padding:12px}.profile-tabs [aria-selected=true]{background:var(--blue);color:white}.app [hidden]{display:none!important}.board-preview .board{max-width:320px}.board-preview .square{aspect-ratio:1}.board-preview[data-board=forest] .dark{background:#60856b}.board-preview[data-board=forest] .square:not(.dark){background:#e0ead9}.board-preview[data-board=midnight] .dark{background:#536584}.board-preview[data-board=midnight] .square:not(.dark){background:#c8d3e8}
.profile-tabs{scrollbar-width:none;padding:6px;background:var(--soft);border-radius:22px}.profile-tabs::-webkit-scrollbar{display:none}.profile-tabs button{border-radius:17px;min-height:46px;flex-shrink:0;transition:background .18s,transform .18s}.profile-tabs button:active{transform:scale(.96)}.game-rules{margin:16px 0;padding:14px 18px;border:1px solid var(--line);border-radius:18px}.game-rules summary{cursor:pointer;color:var(--blue);font-weight:700}.game-rules p{line-height:1.65}.invite-games{display:grid;gap:10px}.invite-games button{border-radius:18px;min-height:52px}.hero-copy{position:relative;z-index:1}.hero-art{pointer-events:none}.admin-panel input,.admin-panel select{margin:6px 0;max-width:100%;border-radius:12px}.room-actions button{min-height:44px;border-radius:14px}@media(max-width:600px){.hero-art{opacity:.16}.hero-copy{max-width:100%}}@media(prefers-reduced-motion:reduce){.profile-tabs button{transition:none}}

.wordle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-width:340px;margin:20px auto}.wordle-cell{aspect-ratio:1;display:grid;place-items:center;border:2px solid var(--line);border-radius:10px;font-size:24px;font-weight:800}.wordle-cell.correct{background:#267c52;color:white}.wordle-cell.present{background:#9a6b16;color:white}.wordle-cell.absent{background:#53616e;color:white}.leaderboard-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px}.leaderboard-row>div{min-width:0;overflow-wrap:anywhere}.room-actions{flex-wrap:wrap}dialog{max-width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 40px);overflow-y:auto;box-sizing:border-box}

.card-hand{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.playing-card{background:#fff;color:#182c40!important;border:1px solid #b8c5d0;border-radius:8px;min-height:52px;padding:5px;font-weight:800}.playing-card.red{color:#b32632!important}.playing-card:disabled{opacity:1}.solitaire-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.solitaire-columns .playing-card{display:block;width:100%;font-size:13px;margin-top:4px}.solitaire-columns .secondary{padding:5px;width:100%}

#live-invite{position:fixed;top:12px;left:12px;right:12px;z-index:1000;background:var(--surface,#fff);border:2px solid var(--blue);border-radius:18px;padding:14px;box-shadow:0 8px 30px #0003}#live-invite strong{display:block;margin-bottom:8px}.match-outcome{text-align:center;border:2px solid var(--blue)}.card-body>button{width:100%;margin-top:8px;min-height:44px}

.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:16px 0}.city-cell{padding:9px 4px;border:1px solid var(--line);border-radius:9px;font-size:12px;min-height:70px}.city-cell small{display:block}
