.solitaire-body{background:#eaf7f2}.solitaire-wrap{max-width:1100px;margin:auto;padding:28px 22px 48px}.solitaire-heading{display:flex;align-items:center;gap:16px;margin-bottom:22px}.solitaire-heading h1{font-size:clamp(32px,5vw,50px);margin:0}.solitaire-heading p{margin:3px 0}.friend-portrait{border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 20px #173c4120}.solitaire-toolbar,.board-tools,.assist-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.suit-picker{font-weight:800;display:flex;align-items:center;gap:8px}.suit-picker select{border:1px solid #91b9ad;border-radius:12px;font:inherit;background:#fff;padding:10px;min-height:44px;max-width:100%}.game-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.game-stats>div{padding:14px;border:1px solid #bddacd;border-radius:14px;background:#ffffffb5;min-width:0}.game-stats span{display:block;font-size:12px;color:#44635b}.game-stats strong{display:block;font-size:20px;margin-top:3px;overflow-wrap:anywhere}.board-tools{justify-content:space-between}.stock-button{display:flex;align-items:center;gap:12px;min-height:58px;border:2px solid #276957;background:#2c7561;color:white;padding:8px 15px;border-radius:12px;cursor:pointer}.stock-button span{font-size:32px}.stock-button b{font-size:14px}.stock-button:disabled{background:#ccd9d3;color:#53645e;border-color:#bdcac4;cursor:default}.completed-runs{display:flex;gap:6px}.run-slot{display:grid;place-items:center;width:32px;height:44px;border:1px dashed #608978;border-radius:7px;color:#4b7765}.run-slot.done{background:#fff;border:1px solid #94b6a5;font-weight:800;color:#185f48}.game-message{min-height:3em;margin:12px 0;color:#214b40;font-size:14px;line-height:1.5}.tableau{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:16px;background:#d1e9df;border:1px solid #a4c6b6;border-radius:20px;min-height:400px;align-items:start;--step:30px;--card-height:108px}.column{position:relative;height:var(--column-height);min-height:var(--card-height);border:2px dashed #8ab6a1;border-radius:12px;padding:0;isolation:isolate}.column::before{content:attr(data-label);position:absolute;inset:12px 0 auto;text-align:center;color:#426757;font:600 12px system-ui}.column:has(.playing-card)::before{display:none}.playing-card{position:absolute;left:-2px;right:-2px;top:calc(var(--position)*var(--step));height:var(--card-height);border-radius:10px;border:1px solid #789e8d;background:#fffef8;box-shadow:0 3px 5px #173c4120;padding:8px;text-align:left;font:800 19px/1 system-ui;color:#253f42;cursor:pointer;display:flex;align-items:flex-start;gap:3px;touch-action:manipulation}.playing-card .card-suit{font-size:19px}.playing-card.red{color:#ab314c}.playing-card .card-center{position:absolute;inset:40% 0 0;text-align:center;font-size:38px;pointer-events:none}.playing-card .card-corner{position:absolute;bottom:9px;right:8px;font-size:13px;transform:rotate(180deg);pointer-events:none}.playing-card.covered{background:repeating-linear-gradient(45deg,#317c66 0 7px,#398a72 7px 14px);border:2px solid #fffdf7;cursor:default;box-shadow:0 0 0 1px #749d8a}.playing-card.selected{background:#fff4be;border:3px solid #a46b18;padding:6px}.column.hint-target{border:3px solid #a46b18;box-shadow:0 0 0 3px #ffebad}.column-target{position:absolute;inset:0;border:0;border-radius:10px;background:transparent;cursor:pointer;z-index:0;min-height:44px}.column-target:focus-visible{outline:3px solid #904cbc;outline-offset:3px}.playing-card{z-index:calc(var(--position) + 1)}.win-panel{background:#fff9d6;border:2px solid #d5b454;padding:24px;border-radius:20px;text-align:center;margin-top:24px}.win-panel h2{font-size:32px;margin:0}.win-panel .pill{margin:5px}.save-note{font-size:13px;color:#496257;margin:15px 0 28px}.dialog-content{max-width:540px;padding:20px}.dialog-content h2{margin-top:0;font-size:28px}.dialog-content li,.dialog-content p{line-height:1.65}.button-row{display:flex;flex-wrap:wrap;gap:10px}.compact{margin:24px 0}.compact h2{font-size:24px}
@media(max-width:640px){.solitaire-wrap{padding:20px 10px 36px}.solitaire-heading{gap:10px}.friend-portrait{width:56px;height:56px}.solitaire-toolbar{gap:7px}.solitaire-toolbar .pill{font-size:12px;padding:9px 10px}.suit-picker{font-size:13px}.suit-picker select{font-size:12px;padding:8px}.game-stats{gap:6px}.game-stats>div{padding:10px 7px}.game-stats strong{font-size:17px}.game-stats span{font-size:11px}.tableau{gap:5px;padding:9px 5px;--step:29px;--card-height:76px;border-radius:12px;min-height:350px}.column{border-radius:7px}.playing-card{border-radius:7px;font-size:13px;padding:5px 2px;gap:1px}.playing-card .card-suit{font-size:13px}.playing-card .card-center{font-size:24px;inset:40% 0 0}.playing-card .card-corner{font-size:10px;bottom:6px;right:4px}.playing-card.selected{padding:3px 0}.completed-runs{gap:4px}.run-slot{width:24px;height:34px}.stock-button{min-height:48px;padding:6px 9px;gap:7px}.stock-button span{font-size:25px}.stock-button b{font-size:12px}.assist-buttons{gap:6px}.assist-buttons .pill{padding:8px 11px;font-size:13px}.board-tools{gap:10px}.game-message{font-size:13px}.column::before{font-size:10px}.dialog-content{padding:14px}dialog{max-width:calc(100% - 24px);padding:8px}}
