:root{color-scheme:dark;--theme-color:#070b12;--bg:#070b12;--panel:#0b111a;--line:#243241;--ink:#e8f0f7;--muted:#748394;--cyan:#64e6e0;--orange:#ffb45c;--red:#ff6b7a;--card:#eef3f6;--card-ink:#171d23;--felt:#101a24;--back:#1e5360;--cw:clamp(43px,11.5vw,82px);--ch:calc(var(--cw)*1.38)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}body{display:flex;justify-content:center}.page{width:min(790px,100%);padding:22px 12px max(22px,env(safe-area-inset-bottom))}.topbar{height:44px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:12px}.topbar h1{font-size:22px;letter-spacing:.16em;margin:0}.topbar a,.topbar button{border:0;background:none;color:var(--muted);font:10px inherit;letter-spacing:.1em;text-decoration:none;padding:12px 0;cursor:pointer}.topbar button{text-align:right}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--panel);margin-bottom:10px}.stats div{text-align:center;padding:7px;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats span{display:block;color:var(--muted);font-size:7px;letter-spacing:.1em}.stats b{display:block;color:var(--cyan);font-size:11px;margin-top:3px}.game-shell{position:relative;min-height:570px;border:1px solid var(--line);background:var(--felt);padding:12px;box-shadow:0 15px 50px #0008;overflow:hidden}.top-row{display:grid;grid-template-columns:var(--cw) var(--cw) 1fr repeat(4,var(--cw));gap:8px;align-items:start}.slot{position:relative;width:var(--cw);height:var(--ch);border:1px dashed var(--line);border-radius:5px;background:transparent;color:var(--muted);font:22px inherit;padding:0;touch-action:manipulation}.stock.has-cards{border-style:solid;background:repeating-linear-gradient(135deg,var(--back) 0 5px,#173c46 5px 9px);cursor:pointer}.tableau{display:grid;grid-template-columns:repeat(7,var(--cw));gap:8px;margin-top:18px;align-items:start}.pile{position:relative;min-height:var(--ch);border-top:1px dashed var(--line);touch-action:manipulation}.card{position:absolute;left:0;width:var(--cw);height:var(--ch);border:1px solid #aab4ba;border-radius:5px;background:var(--card);color:var(--card-ink);padding:4px;box-shadow:0 2px 5px #0004;font:700 clamp(11px,2.2vw,15px) inherit;text-align:left;touch-action:manipulation;cursor:pointer}.card.red{color:#c93649}.card.back{background:repeating-linear-gradient(135deg,var(--back) 0 5px,#173c46 5px 9px);border-color:#3d7882;color:transparent}.card.selected{outline:3px solid var(--cyan);outline-offset:1px}.card .suit{display:block;font-size:1.2em;line-height:1}.slot .card{top:-1px!important;left:-1px}.foundation.filled{border-style:solid}.result-overlay{position:absolute;inset:0;background:#070b12e8;display:none;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}.result-overlay.show{display:flex}.result-overlay b{font-size:30px;letter-spacing:.16em}.result-overlay span{color:var(--muted);font-size:9px}.result-overlay button,.actions button{border:1px solid var(--line);background:var(--panel);color:var(--ink);min-height:44px;padding:10px 18px;font:700 10px inherit;letter-spacing:.08em;cursor:pointer}.result-overlay button{border:0;background:var(--cyan);color:#061113}.actions{display:flex;justify-content:center;gap:8px;margin-top:10px}.actions button:first-child{color:var(--cyan)}footer{border-top:1px solid var(--line);margin-top:18px;padding-top:12px;text-align:center;color:var(--muted);font-size:8px;letter-spacing:.05em}[data-theme="light"]{color-scheme:light;--theme-color:#faf8ef;--bg:#faf8ef;--panel:#f1eee7;--line:#d8d0c5;--ink:#3e3934;--muted:#8b8177;--cyan:#4f9294;--orange:#d57d43;--red:#c95f68;--card:#fff;--card-ink:#28231f;--felt:#e7e1d7;--back:#4f9294}[data-theme="light"] .game-shell{box-shadow:0 15px 45px #51483b18}[data-theme="light"] .result-overlay{background:#faf8efe8}@media(max-width:620px){:root{--cw:calc((100vw - 48px)/7)}.page{padding:9px 6px 16px}.topbar{height:40px;margin-inline:4px}.topbar h1{font-size:19px}.stats{margin:7px 4px}.game-shell{min-height:calc(100svh - 190px);padding:7px}.top-row,.tableau{gap:4px}.tableau{margin-top:12px}.card{padding:2px;border-radius:3px;box-shadow:none}.result-overlay b{font-size:25px}footer{margin:12px 4px 0}.actions{margin-top:8px}}@media(max-width:380px){.topbar h1{font-size:17px}.topbar a,.topbar button{font-size:9px}.game-shell{padding:5px}.top-row,.tableau{gap:3px}}
