.solitaire-workspace{max-width:1040px}.solitaire-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.solitaire-actions .button{min-height:44px;padding:9px 17px}.solitaire-progress{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.85rem}#solitaire-count{color:var(--ink);font-weight:700}.solitaire-board{--card-gap:12px;--face-step:30px;--back-step:13px;-webkit-user-select:none;user-select:none;max-width:840px;margin:auto;container-type:inline-size}.solitaire-top,.solitaire-columns,.solitaire-labels{gap:var(--card-gap);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.solitaire-labels{color:var(--muted);margin-bottom:8px;font-size:.75rem}.solitaire-labels .waste-label{grid-column:2/4}.solitaire-labels .foundation-label{text-align:right;grid-column:4/8}.solitaire-top{align-items:start;margin-bottom:24px}.solitaire-stock,.solitaire-foundation{aspect-ratio:.7;position:relative}.solitaire-waste{grid-column:span 2;height:100%;position:relative}.solitaire-waste .playing-card{width:calc((100% - var(--card-gap)) / 2)}.solitaire-columns{min-height:340px}.solitaire-column{border-radius:7px;min-height:100%;position:relative}.playing-card,.card-slot{aspect-ratio:.7;color:#20283e;background:#fff;border:1px solid #adb7ca;border-radius:7px;width:100%;padding:0;display:block;position:absolute}.playing-card{text-align:left;touch-action:none;font-size:clamp(15px,2.1vw,23px);font-weight:750;line-height:1;box-shadow:0 2px 2px #20283e12}.playing-card.red-card{color:#b62b43}.card-corner{align-items:center;gap:4px;display:flex;position:absolute;top:7px;left:7px}.card-corner.bottom{inset:auto 7px 7px auto;transform:rotate(180deg)}.card-center{pointer-events:none;place-items:center;font-size:clamp(24px,4vw,48px);display:grid;position:absolute;inset:0}.solitaire-column .playing-card:not(:last-child) .card-center,.solitaire-column .playing-card:not(:last-child) .card-corner.bottom,.drag-ghost .playing-card:not(:last-child) .card-center,.drag-ghost .playing-card:not(:last-child) .card-corner.bottom{visibility:hidden}.card-back{background:repeating-linear-gradient(45deg,#3e50ba 0 5px,#4a5bc3 5px 6px);border:3px solid #fff;outline:1px solid #aab7d3}.card-back:after{content:"";border:1px solid #ffffff70;border-radius:3px;position:absolute;inset:7px}.card-slot{color:#526079;text-align:center;background:#f1f3f9;border:1px dashed #aab5c8;place-content:center;gap:5px;font-size:.75rem;display:grid}.card-slot .slot-mark{font-size:clamp(22px,4vw,36px);font-weight:500}.stock-count{color:#3049a8;background:#fff;border-radius:3px;width:max-content;margin:auto;padding:3px 7px;font-size:.75rem;font-weight:650;position:absolute;bottom:8px;left:0;right:0}.playing-card.is-selected{outline:3px solid var(--blue);outline-offset:-3px;background:#edf1ff}.solitaire-column.is-target,.solitaire-foundation.is-target{outline:2px dashed var(--blue);outline-offset:3px;background:var(--tint,#f0f3ff)}.solitaire-board .is-drop-target{outline:3px solid var(--success,#246742);outline-offset:3px;background:var(--success-bg,#e7f4eb)}.playing-card:focus-visible,.card-slot:focus-visible{outline:3px solid var(--blue);outline-offset:2px;z-index:60!important}.drag-ghost{z-index:1000;pointer-events:none;opacity:.94;aspect-ratio:.7;position:fixed;transform:rotate(2deg)}.drag-ghost .playing-card{box-shadow:0 8px 22px #20283e33}.drag-source{opacity:.3}.solitaire-win{border:1px solid var(--success-border,#cbdccf);background:var(--success-bg,#f1f8f2);text-align:center;border-radius:10px;margin-top:20px;padding:24px}.solitaire-win h2{font-size:1.5rem}.solitaire-win p{color:var(--muted);margin:10px 0 18px}.solitaire-workspace .game-status{margin:12px 0}@media (prefers-reduced-motion:no-preference){.solitaire-win{animation:.25s ease-out solitaire-arrive}@keyframes solitaire-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}@media (width<=760px){.solitaire-board{--card-gap:6px;--face-step:28px;--back-step:10px}.solitaire-workspace{padding:14px 10px}.solitaire-workspace .game-toolbar{gap:10px}.solitaire-progress{font-size:.75rem}.solitaire-labels{font-size:.7rem}.solitaire-columns{min-height:275px}.card-corner{gap:1px;top:5px;left:4px}.card-corner.bottom{bottom:5px;right:4px}.playing-card,.card-slot{border-radius:5px}.card-back{border-width:2px}.card-back:after{inset:4px}.stock-count{padding:2px 4px;bottom:5px}.solitaire-stage .game-paused{padding:12px}}@media (width<=450px){.solitaire-board{--card-gap:4px}.solitaire-workspace .game-time{margin-left:auto}.solitaire-workspace .game-difficulty{flex:0 auto}.solitaire-workspace .game-difficulty select{padding:8px}.solitaire-progress{width:100%;margin:0}.card-center{padding-top:7px;font-size:24px}.card-corner.bottom{display:none}.card-slot{font-size:.6rem}.card-slot .slot-mark{font-size:22px}}
