/* Solitaire cards remain vector-free native text/CSS; no image downloads. */
.sol-game{max-width:850px;width:100%}.sol-toolbar{display:flex;align-items:center;gap:28px;margin-bottom:12px}.sol-toolbar span{display:block;font-size:12px;color:#536551}.sol-toolbar strong{font-size:24px}.sol-toolbar button{margin-left:auto}.sol-toolbar button,.sol-controls button{min-height:44px;padding:9px 16px;border:1px solid #a2b39c;border-radius:8px;background:#f6f7ef;color:#294534;font:inherit;cursor:pointer}.sol-toolbar button:disabled,.sol-controls button:disabled{opacity:.45;cursor:default}
.sol-board{--sol-gap:12px;--sol-card-height:calc((min(850px,100vw - 56px) - 32px - 6 * var(--sol-gap))/7 * 1.43);--sol-hidden-step:10px;--sol-step:24px;padding:16px;background:#285542;border:1px solid #214a38;border-radius:14px;color:#e6eddf;box-sizing:border-box;container-type:inline-size;user-select:none}.sol-top-row,.sol-tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--sol-gap)}.sol-top-row{margin-bottom:20px}.sol-tableau{min-height:0}.sol-pile,.sol-column{position:relative;min-width:0}.sol-pile,.sol-stock{aspect-ratio: .7}.sol-stock-wrap,.sol-waste-wrap{position:relative;min-width:0;text-align:center}.sol-stock-wrap>span,.sol-waste-wrap>span{display:block;font-size:11px;white-space:nowrap;margin-top:5px}.sol-card,.sol-empty,.sol-stock{box-sizing:border-box;display:block;width:100%;aspect-ratio:.7;border:1px solid #b8c2af;border-radius:6px;background:#fffdf5;color:#182b22;padding:0;position:relative;box-shadow:0 1px 2px #00180f66;cursor:pointer;font-family:Georgia,'Times New Roman',serif;font-weight:700;touch-action:none}.sol-card{position:absolute;inset:0 0 auto}.sol-column .sol-card{top:0}.sol-red{color:#b42336}.sol-corner{position:absolute;top:5%;left:7%;font-size:clamp(16px,2vw,24px);line-height:1.05;white-space:nowrap}.sol-pip{position:absolute;left:0;right:0;top:34%;text-align:center;font-size:clamp(24px,4vw,52px);line-height:1}.sol-back{background:repeating-linear-gradient(45deg,#47765b 0 4px,#38674d 4px 8px);border:2px solid #cad9ba;box-shadow:inset 0 0 0 3px #366047,0 1px 2px #00180f66}.sol-back:disabled{opacity:1;cursor:default}.sol-empty{background:#173e2b66;border:1px dashed #c5d6ae77;box-shadow:none;color:#c8d8b1;font-size:clamp(18px,3vw,32px)}.sol-empty.sol-red{color:#f0bec2}.sol-column-empty{height:auto}.sol-card.sol-selected{outline:3px solid #f0c35c;outline-offset:-2px;background:#fff4cb}.sol-valid-target,.sol-hint{outline:3px solid #f0c35c!important;outline-offset:2px;border-radius:6px}.sol-card:focus-visible,.sol-empty:focus-visible,.sol-stock:focus-visible,.sol-controls button:focus-visible,.sol-toolbar button:focus-visible{outline:3px solid #f0c35c;outline-offset:1px}.sol-controls{display:flex;gap:8px;margin-top:12px}.sol-controls button{flex:1}.sol-ghost{position:fixed;z-index:100;pointer-events:none;max-height:90vh;overflow:clip;width:120px;height:90vh}.sol-ghost .sol-card{pointer-events:none}.sol-win-sparks{font-size:32px;color:#b78726;animation:sol-spark 700ms ease-in-out 4 alternate}.sol-win #solWinNew{background:#315d45;color:white}
@media(max-width:600px){.sol-board{--sol-gap:4px;--sol-card-height:calc((100vw - 28px - 12px - 24px)/7 * 1.43);padding:6px;border-radius:9px}.sol-corner{top:4px;left:2px;font-size:clamp(13px,3.8vw,20px);letter-spacing:-.8px}.sol-pip{font-size:clamp(22px,5.7vw,32px);top:40%}.sol-card,.sol-empty,.sol-stock{border-radius:4px}.sol-back{box-shadow:inset 0 0 0 1px #366047}.sol-stock-wrap>span,.sol-waste-wrap>span{font-size:9px;margin-top:4px}.sol-toolbar{gap:18px}.sol-toolbar strong{font-size:20px}.sol-controls button{padding-inline:8px;font-size:13px}.sol-top-row{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.sol-win-sparks{animation:none}}

/* Solitaire: controls stay within reach above the card table. */
#solPage .sol-toolbar{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:16px;align-items:center}
#solPage .sol-toolbar>.sol-controls{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;margin:0 0 0 12px;min-width:0}
#solPage .sol-toolbar button{margin:0;font-size:14px;white-space:nowrap}
#solPage .sol-controls button{min-width:0;padding-inline:10px}
@media(max-width:650px){
 #solPage .sol-toolbar{grid-template-columns:auto minmax(0,1fr) auto;gap:10px 18px}
 #solPage .sol-toolbar>.sol-controls{grid-row:2;grid-column:1/-1;margin:0}
 #solPage #solNew{grid-row:1;grid-column:3}
 #solPage .sol-toolbar button{font-size:13px}}
