.game-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(80px,1fr));gap:18px 12px;padding:20px}
.game-folder-grid a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#171717;text-decoration:none;text-align:center;font-size:14px;min-height:92px;padding:8px}
.game-folder-grid a:hover,.game-folder-grid a:focus-visible{background:#deded5;outline:1px dotted #171717;outline-offset:-2px}.game-folder-grid .pixel-icon{width:40px;height:40px}
.classic-toolbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:var(--surface);padding:8px;border-bottom:1px solid #888}.classic-toolbar>span{margin-left:auto;font-size:12px;color:#333}.classic-toolbar .retro-button{min-height:32px;padding:6px 12px}
.classic-status{font-size:14px;line-height:1.5;margin:12px 0;text-align:center}.classic-hint{font-size:12px;line-height:1.5;padding:10px 12px;color:#444}.asset-credit{display:inline-block;margin:0 12px 12px;font-size:12px}
.classic-game-window .window-body{background:var(--surface)}.classic-game-window .game-panel{padding-top:0}
/* Minesweeper */
.mines-app{padding:8px;background:#c0c0c0;min-height:100%}.mines-app .classic-toolbar{padding:3px 0 10px;background:transparent}.mines-dashboard{display:flex;justify-content:space-between;align-items:center;box-shadow:var(--sink);padding:10px;margin:10px 0}
.digital-counter{font:bold 29px/1 'Courier New',monospace;letter-spacing:1px;background:#090909;color:#f2211d;border:2px solid;border-color:#777 #eee #eee #777;padding:3px 4px;font-variant-numeric:tabular-nums}
.mines-face{font-size:30px;color:#292a00;background:#c0c0c0;min-width:41px;height:41px;padding:0;line-height:1;text-shadow:1px 1px #ffdf00}
.mines-board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));box-shadow:var(--sink);padding:3px;width:min(100%,342px);margin:auto;background:#777;gap:1px}
.mine-cell{aspect-ratio:1;border:0;background:#c0c0c0;box-shadow:var(--raise);padding:0;min-width:0;font:bold 22px/1 Tahoma,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation;color:#111}
.mine-cell.is-revealed{box-shadow:none;background:#c0c0c0}.mine-cell.exploded{background:#ff2929}.mine-cell.wrong-flag{background:#e5a5a5}.mine-cell[data-count="1"].is-revealed{color:#0000dc}.mine-cell[data-count="2"].is-revealed{color:#007a00}.mine-cell[data-count="3"].is-revealed{color:#ec0000}.mine-cell[data-count="4"].is-revealed{color:#000075}.mine-cell[data-count="5"].is-revealed{color:#7a0000}.mine-cell[data-count="6"].is-revealed{color:#007575}.mine-cell.exploded{color:#000!important}.mine-cell:focus-visible{outline-offset:-3px}
#mines-flag[aria-pressed=true]{background:#ddd;box-shadow:var(--sink);font-weight:bold}
/* Klondike */
.solitaire-app{background:var(--paper);min-height:100%;--card-gap:10px;--card-step:25px;--card-height:clamp(66px,17cqw,151px)}
.solitaire-felt{background:#087634;background:radial-gradient(ellipse at 50% 0,#148a43,#006829);padding:16px 14px;min-height:390px;color:white}
.sol-top,.sol-tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--card-gap)}.sol-top{margin-bottom:24px}.sol-tableau{min-height:200px;align-items:start}
.card-pile,.card-slot{min-width:0;width:100%;position:relative;aspect-ratio:169.075/244.640}.card-slot{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #c5e5ce80;border-radius:4px;color:#ffffff70;padding:0;font-size:clamp(20px,4cqw,32px);text-align:center}
.playing-card-art{display:block;width:100%;height:auto;aspect-ratio:169.075/244.640;pointer-events:none;fill:#174aa8}.sol-card{display:block;width:100%;aspect-ratio:169.075/244.640;background:#fafaf1;border:0;padding:0;border-radius:4px;overflow:hidden;box-shadow:1px 2px 1px #00321480;position:relative;touch-action:manipulation}
.sol-card:disabled{cursor:default}.sol-card:focus-visible,.card-slot:focus-visible{outline:3px solid #f6e64c;outline-offset:1px;z-index:30}
.sol-card.selected-card{outline:3px solid #ffed4a;outline-offset:1px;filter:brightness(1.05)}.sol-card.selected-card::after{content:'';position:absolute;inset:0;background:#ffe62c22;pointer-events:none}
.tableau-column{position:relative;min-width:0;height:calc(var(--card-height) + var(--stack-height,0)*var(--card-step));min-height:var(--card-height)}
.tableau-column>.sol-card{position:absolute;left:0;top:calc(var(--card-offset,0)*var(--card-step))}.stock-slot{background:#ffffff0a}.stock-slot .playing-card-art{border-radius:4px;background:#f7f7ed}.empty-slot{cursor:default}
.sol-status{font-size:13px;line-height:1.5;margin:18px 0 0;min-height:39px}.sol-footer{display:flex;justify-content:space-between;gap:12px;padding:7px 12px;background:var(--surface);font-size:12px;border-top:1px solid #999}
/* Chess */
.chess-app{padding:10px;background:var(--paper);min-height:100%}.chess-app .classic-toolbar{margin:-10px -10px 10px}.chess-players{display:flex;justify-content:space-between;background:#111;color:#efefdb;font-size:14px;padding:8px 10px;max-width:540px;margin:auto}
.chess-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:min(100%,540px);margin:auto;border:3px solid #353c2a;box-shadow:var(--sink)}
.chess-square{aspect-ratio:1;display:grid;place-items:center;position:relative;min-width:0;border:0;padding:3px;touch-action:manipulation;user-select:none;-webkit-user-select:none}.chess-square.light-square{background:#cecb75}.chess-square.dark-square{background:#7ca169}.chess-square:disabled{cursor:default;color:inherit}.chess-square img{width:86%;height:86%;pointer-events:none;object-fit:contain;z-index:1}
.chess-square small{position:absolute;font:10px/1 Tahoma,Arial,sans-serif;color:#243423;z-index:2}.rank-label{top:3px;left:3px}.file-label{bottom:2px;right:3px}.chess-square.selected-square{background:#f4df4b}.chess-square.last-move:not(.selected-square){box-shadow:inset 0 0 0 3px #eadb4399}.chess-square.legal-square::after{content:'';position:absolute;width:20%;height:20%;border-radius:50%;background:#203a2466;z-index:2;pointer-events:none}.chess-square.check-square{background:#d36851}.chess-square:focus-visible{outline:3px solid #fff;outline-offset:-4px;z-index:3}
.chess-history{max-height:57px;overflow:auto;font:13px/1.6 'Courier New',monospace;background:#deded5;padding:8px;min-height:30px}.chess-promotion{border:2px solid #000080;padding:10px;background:#fffbd0;margin-top:10px;font-size:14px}.chess-promotion>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
@container(max-width:480px){.solitaire-app{--card-gap:4px;--card-step:22px;--card-height:clamp(54px,18cqw,104px)}.solitaire-felt{padding:12px 7px;min-height:330px}.sol-top{margin-bottom:18px}.sol-tableau{min-height:205px}.sol-card,.card-slot{border-radius:2px}.sol-status{font-size:12px}.chess-app{padding:6px}.chess-app .classic-toolbar{margin:-6px -6px 8px}.chess-players{font-size:12px;padding:7px}.chess-square{padding:1px}.chess-square small{font-size:9px}.chess-square img{width:90%;height:90%}.mine-cell{font-size:19px}.mines-app{padding:7px}.game-folder-grid{gap:10px 5px;padding:14px}.game-folder-grid a{font-size:13px}}

.mine-cell.is-mine{color:#000!important}

.mobile-card-label{display:none}
@container(max-width:480px){.mobile-card-label{display:block;position:absolute;top:1px;left:1px;padding:0 2px;background:#fff;color:#111;font:bold 13px/18px Arial,sans-serif;border-radius:1px;pointer-events:none}.sol-card[data-suit=H] .mobile-card-label,.sol-card[data-suit=D] .mobile-card-label{color:#b01812}}
