/* Shared identity and palette come only from style.css / appearance.css. */
.solitaire-page .ws-shell{max-width:790px;margin:auto}
.solitaire-page .play-band{padding:18px 0 26px}
.solitaire-page .heading-row{margin-bottom:14px}
.solitaire-page .game{min-height:0;padding:18px}
.solitaire-page #board-title{font-size:22px;margin:0 0 5px}
.solitaire-page #progress{font:14px/1.5 var(--font-mono);margin:0 0 12px}
.ws-slots{display:flex;gap:8px;margin-bottom:12px}
.solitaire-page .ws-slot{flex:1;min-width:0;min-height:72px;font-size:16px;padding:6px;border:2px dashed var(--border);overflow-wrap:anywhere}
.ws-stock-row{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.solitaire-page #stock{min-width:100px;min-height:60px;padding:8px;font-size:16px}
.ws-waste{width:130px;min-height:60px;display:flex;align-items:center;font-size:14px}
.ws-waste .ws-card{width:100%}
.ws-columns{display:grid;grid-template-columns:repeat(var(--columns,3),minmax(0,1fr));gap:10px;align-items:start;min-height:150px}
.ws-column{min-width:0;padding-bottom:10px}
.ws-column-label{font-size:14px;margin:0 0 6px}
.ws-back{height:8px;margin-top:2px;border:1px solid var(--border);background:var(--primary);border-radius:var(--radius) var(--radius) 0 0;opacity:.8}
.solitaire-page .ws-card{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:48px;width:100%;padding:5px 3px;margin-top:3px;font-size:16px;font-weight:600;line-height:1.15;white-space:normal;overflow-wrap:anywhere;border:1px solid var(--border);box-shadow:0 2px 0 var(--border);user-select:none}
.solitaire-page .ws-card.ws-category{border:2px solid var(--primary);background:var(--surface)}
.ws-card-kind{display:block;font-size:12px;font-weight:400;margin-bottom:3px;line-height:1}
.solitaire-page .ws-card[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:1px;box-shadow:0 3px 0 var(--accent)}
.solitaire-page .ws-empty{width:100%;padding:8px 2px;min-height:66px;border-style:dashed;font-size:14px}
.solitaire-page #feedback{min-height:48px;margin:10px 0;line-height:1.5}
.solitaire-page .game-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.solitaire-page .game-actions button{flex:1;padding:9px 10px;min-width:70px}
.solitaire-page #ws-completed{font-size:14px;margin:8px 0}
.solitaire-page #result,.solitaire-page #loss,.solitaire-page #replace-check{border:1px solid var(--border);padding:12px;margin:12px 0;background:var(--surface)}
.solitaire-page h3{margin:0 0 6px}
.solitaire-page details{margin-top:12px}
.solitaire-page summary{min-height:44px;cursor:pointer;display:list-item;align-content:center;font-size:16px}
.solitaire-page select{width:100%;max-width:100%;min-height:44px;font:16px var(--font-sans);padding:6px;background:var(--background);color:var(--primary);border:1px solid var(--border);border-radius:var(--radius)}
.solitaire-page .ws-copy{max-width:65ch;font-size:18px;line-height:1.7}
.solitaire-page .ws-copy h2{margin-top:28px}
.solitaire-page #storage-status{font-size:14px;margin-bottom:0}
@media(max-width:500px){
 .solitaire-page .play-band>.wrap{padding:0 10px}
 .solitaire-page .game{padding:10px}
 .solitaire-page h1{font-size:28px}
 .solitaire-page .heading-row{display:block}
 .ws-columns{gap:5px}
 .ws-slots{gap:5px}
 .solitaire-page .ws-slot{font-size:14px;min-height:68px}
 .ws-column-label{font-size:12px}
 .solitaire-page .ws-card{font-size:16px;min-height:48px}
 .ws-card-kind{font-size:12px}
 .solitaire-page #feedback{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.solitaire-page *{scroll-behavior:auto!important}}
