.game-window .window-content{padding:0;background:var(--game-surface)}
.game-window[data-win=MINESWEEPER]{width:min(390px,96vw)}
.game-window[data-win=SOLITAIRE]{width:min(740px,96vw)}
.game-app{font-family:'Courier New',monospace;color:var(--editor-ink);font-size:12px}
.game-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:7px;border-bottom:1px solid var(--game-shadow)}
.retro-control{font:inherit;color:var(--editor-ink);background:var(--game-surface);border:2px solid;border-color:var(--game-highlight) var(--game-shadow) var(--game-shadow) var(--game-highlight);padding:5px 8px;cursor:pointer;min-height:30px}
.retro-control:active,.retro-control[aria-pressed=true]{border-color:var(--game-shadow) var(--game-highlight) var(--game-highlight) var(--game-shadow);background:var(--editor-surface)}
.retro-control:focus-visible,.mine-cell:focus-visible,.playing-card:focus-visible{outline:2px solid var(--game-selection);outline-offset:2px}
.retro-control:disabled{opacity:.5;cursor:default}
.game-toolbar select{max-width:130px}
.mine-wrap{padding:12px}.mine-dashboard{display:flex;align-items:center;justify-content:space-between;padding:9px;border:3px inset var(--game-highlight);margin-bottom:12px}
.game-counter{background:var(--game-counter-bg);color:var(--game-counter-ink);font:bold 28px monospace;padding:3px 5px;min-width:64px;text-align:center}
.mine-face{font-size:24px;padding:2px 8px;min-height:38px}
.mine-board{display:grid;grid-template-columns:repeat(var(--mine-cols),1fr);border:3px inset var(--game-highlight);width:100%;aspect-ratio:1}
.mine-cell{aspect-ratio:1;min-width:0;padding:0;font:bold 18px monospace;border:3px solid;border-color:var(--game-highlight) var(--game-shadow) var(--game-shadow) var(--game-highlight);background:var(--game-surface);color:var(--editor-ink);cursor:pointer;touch-action:manipulation}
.mine-cell.open{border:1px solid var(--game-shadow)}.mine-cell.exploded{background:var(--game-counter-ink)}
.game-status{padding:8px;min-height:32px;border-top:1px solid var(--game-shadow);font-size:11px;color:var(--editor-ink)}
.solitaire-field{background:var(--game-table);padding:14px 10px;min-height:380px;--card-height:100px;--card-step:24px}
.sol-top,.sol-tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.sol-top{margin-bottom:22px}.sol-pile{position:relative;min-height:var(--card-height);border:1px dashed var(--editor-ink);border-radius:4px}
.sol-pile.spacer{border:none}.sol-tableau .sol-pile{height:calc(var(--card-height) + var(--pile-steps)*var(--card-step));background:none}
.playing-card{position:absolute;top:calc(var(--card-index,0)*var(--card-step));left:0;width:100%;height:var(--card-height);border:1px solid var(--game-edge);border-radius:4px;background:var(--game-card);color:var(--game-black-suit);padding:4px;font:bold 16px Georgia,serif;cursor:pointer;text-align:left;touch-action:manipulation;overflow:hidden;box-shadow:1px 1px 0 var(--game-shadow)}
.playing-card.red{color:var(--editor-ink)}.playing-card.selected{outline:3px solid var(--game-selection);outline-offset:-3px;background:var(--editor-surface)}
.playing-card .card-corner{position:relative;z-index:1;font-size:15px;pointer-events:none}.playing-card .card-bottom{position:absolute;bottom:3px;right:4px;transform:rotate(180deg);pointer-events:none}
.card-pips{position:absolute;inset:23px 13px;display:grid;grid-template-columns:repeat(2,1fr);align-content:space-around;justify-items:center;font-size:17px;line-height:1;pointer-events:none}
.pips-1,.pips-2,.pips-3{grid-template-columns:1fr}.pips-1{font-size:32px}.card-pips span:nth-child(n+6){transform:rotate(180deg)}
.card-court{position:absolute;inset:22px 14px;display:grid;place-content:center;text-align:center;border:1px solid currentColor;font-size:26px;pointer-events:none}.card-court small{font-size:20px}
.sol-pile.hint-target{outline:2px dashed var(--game-selection);outline-offset:2px}.waste-fan{z-index:2}.playing-card.fanned-card{left:calc(var(--fan-index)*12px)}
.playing-card.card-back{padding:2px;background:var(--game-card)}.card-back img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated;pointer-events:none}
.empty-pile{width:100%;height:var(--card-height);border:none;background:none;color:var(--editor-ink);font-size:26px;cursor:pointer}.sol-message{margin-left:auto;font-size:11px}
@media(max-width:600px){.solitaire-field{--card-height:72px;--card-step:22px;padding:12px 5px;min-height:350px}.sol-top,.sol-tableau{gap:4px}.playing-card{font-size:12px;padding:2px}.playing-card .card-corner{font-size:12px}.playing-card .card-center{font-size:23px}.playing-card .card-bottom{font-size:11px}.game-toolbar{gap:4px}.retro-control{padding:5px 6px;font-size:11px}.sol-message{width:100%;margin:0}.sol-top{margin-bottom:18px}}
@media(max-width:600px){.card-pips{inset:19px 5px;font-size:11px}.pips-1{font-size:23px}.card-court{inset:20px 6px;font-size:18px}.card-court small{font-size:13px}.playing-card.fanned-card{left:calc(var(--fan-index)*7px)}}
.playing-card .card-corner{display:block;line-height:1;text-align:center;width:1.1em;font-size:15px}.playing-card .card-bottom{line-height:1;text-align:center;width:1.1em;font-size:13px}.playing-card .card-center{position:absolute;left:0;right:0;top:50%;transform:translateY(-35%);text-align:center;font-size:34px;line-height:1;pointer-events:none}
@media(max-width:600px){.playing-card .card-corner{font-size:11px}.playing-card .card-bottom{font-size:9px}.playing-card .card-center{font-size:22px}}
