.solitaire{max-width:1100px}.sol-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.sol-controls button,.sol-controls select{padding:10px;border:1px solid #b6c5bc;border-radius:7px;background:#fffdf6;color:#203e32;font:inherit}.sol-controls label{display:flex;gap:8px;align-items:center}#moves{margin-left:auto;font-size:14px}#message{min-height:44px;line-height:1.5}#sol-board{--step:clamp(23px,3vw,34px);--height:clamp(74px,15vw,152px);background:#24604d;border:7px solid #173f34;border-radius:14px;padding:18px;color:#fff}#top-row,#columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(4px,1vw,12px)}#columns{margin-top:24px;align-items:start;min-height:350px}.pile{position:relative;min-width:0;height:calc(var(--height) + var(--count,0)*var(--step))}.playing-card,.stock,.empty{width:100%;height:var(--height);border-radius:7px;border:1px solid #d3c9b7;font:bold clamp(15px,3vw,27px)/1.1 Arial,sans-serif;box-sizing:border-box}.playing-card{position:absolute;top:calc(var(--position,0)*var(--step));left:0;background:#fffdf5;box-shadow:0 2px 3px #0004;display:flex;align-items:flex-start;justify-content:flex-start;padding:7px 5px;touch-action:none;cursor:grab;color:#20262b}.playing-card.red{color:#b5223e}.playing-card.facedown,.stock.full{background:repeating-linear-gradient(45deg,#253d68 0 5px,#304c7c 5px 7px);color:#e8debd;border:3px solid #fcf5de}.playing-card.facedown{opacity:1;justify-content:center}.empty,.stock{background:#1d503f;color:#b8d4c7;border:2px dashed #74a58b}.empty{position:absolute;left:0;top:0}.chosen{outline:3px solid #ffdb71;z-index:2}.available{outline:3px solid #b8e77b;border-radius:8px}.drag-card{position:fixed;width:86px;height:120px;transform:translate(-50%,-15%);z-index:10000;pointer-events:none}.solitaire .rules{max-width:800px}.solitaire .rules p{line-height:1.65}@media(max-width:500px){#sol-board{padding:7px;border-width:4px}.playing-card{padding:5px 2px;font-size:15px;border-radius:4px}#columns{min-height:330px;margin-top:16px}.sol-controls{gap:8px;font-size:14px}.sol-controls label{width:100%}#moves{margin-left:0}.solitaire .game-title{flex-wrap:wrap}}

.playing-card:not(.facedown):after{content:attr(data-suit);position:absolute;inset:35% 0 0;display:grid;place-items:center;font-size:clamp(25px,5vw,52px);pointer-events:none}
