.solitaire-game{-webkit-touch-callout:none;user-select:none;width:100%;max-width:100%;overflow-x:auto}.game-controls{background:var(--retro-gray);border-bottom:2px solid var(--retro-dark-gray);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.controls-left{gap:8px;display:flex}.controls-right{gap:15px;display:flex}.stat-box{background:var(--retro-white);border:2px inset var(--retro-dark-gray);gap:5px;padding:4px 8px;font-family:VT323,monospace;font-size:1.1rem;display:flex}.stat-label{color:var(--retro-dark-gray)}.stat-value{color:var(--retro-black);font-weight:700}.solitaire-board{background:var(--retro-teal);touch-action:pan-y;flex-direction:column;gap:20px;min-height:500px;padding:15px;display:flex}.top-row{justify-content:space-between;gap:20px;display:flex}.stock-waste-area{gap:10px;display:flex}.stock-pile,.waste-pile{width:70px;height:100px;position:relative}.stock-pile{cursor:pointer}.stock-count{background:var(--retro-navy);color:var(--retro-white);border:2px outset var(--retro-gray);padding:2px 5px;font-family:VT323,monospace;font-size:.9rem;position:absolute;bottom:-5px;right:-5px}.stock-refresh{color:var(--retro-cyan);pointer-events:none;font-size:2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.foundation-area{gap:10px;display:flex}.foundation-pile{width:70px;height:100px}.tableau-area{justify-content:center;gap:10px;display:flex}.tableau-column{min-width:70px;min-height:150px}.solitaire-card{border:3px outset var(--retro-white);cursor:pointer;user-select:none;box-sizing:border-box;border-radius:4px;width:70px;height:100px;font-family:VT323,monospace;position:relative}.solitaire-card:active{border-style:inset}.solitaire-card.face-up{background:var(--retro-white)}.solitaire-card.face-down{background:var(--retro-gray);cursor:default}.card-back-pattern{background:repeating-linear-gradient(45deg, var(--retro-navy) 0px, var(--retro-navy) 2px, transparent 2px, transparent 6px), repeating-linear-gradient(-45deg, var(--retro-navy) 0px, var(--retro-navy) 2px, transparent 2px, transparent 6px);border:2px solid var(--retro-navy);position:absolute;inset:4px}.solitaire-card.selected{box-shadow:0 0 0 3px var(--retro-yellow)}.solitaire-card.red{color:#c00000}.solitaire-card.black{color:var(--retro-black)}.card-corner{flex-direction:column;align-items:center;font-size:1rem;line-height:1;display:flex;position:absolute}.card-corner.top-left{top:3px;left:4px}.card-corner.bottom-right{bottom:3px;right:4px;transform:rotate(180deg)}.card-rank{font-size:1.2rem;font-weight:700}.card-suit{font-size:1rem}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-suit-large{font-size:2rem}.card-placeholder{border:3px inset var(--retro-dark-gray);box-sizing:border-box;background:#0003;border-radius:4px;justify-content:center;align-items:center;width:70px;height:100px;display:flex}.card-placeholder.highlight{border-color:var(--retro-cyan);box-shadow:0 0 5px var(--retro-cyan)}.placeholder-suit{color:#ffffff4d;font-size:2rem}.card-stack{position:relative}.card-stack.highlight>.card-placeholder{border-color:var(--retro-cyan);box-shadow:0 0 5px var(--retro-cyan)}.win-overlay{z-index:1000;background:0 0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.win-dialog.window{width:300px;animation:.5s ease-out bounceIn}.win-content{text-align:center;background:var(--retro-gray);padding:20px}.win-celebration{margin-bottom:15px;font-size:4rem}.win-stats{margin-bottom:20px;font-family:VT323,monospace;font-size:1.3rem}.win-stats p{margin:5px 0}.play-again-btn{padding:10px 20px;font-size:1.2rem}@keyframes bounceIn{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media (width<=580px){.solitaire-game{container-type:inline-size}.solitaire-board{--card-width:calc((100cqw - 8px) / 7.857);--card-height:calc(var(--card-width) * 100 / 70);--gap:calc(4px + (100cqw - 320px) * 6 / 260);--font-rank:calc(var(--card-width) * .274);--font-suit:calc(var(--card-width) * .229);--font-suit-large:calc(var(--card-width) * .457);--border-width:calc(var(--card-width) * 3 / 70);--border-radius:calc(var(--card-width) * 4 / 70)}.solitaire-card,.card-placeholder{width:var(--card-width);height:var(--card-height);border-width:var(--border-width);border-radius:var(--border-radius)}.solitaire-card.selected{box-shadow:0 0 0 var(--border-width) var(--retro-yellow)}.card-rank{font-size:var(--font-rank)}.card-suit{font-size:var(--font-suit)}.card-suit-large{font-size:var(--font-suit-large)}.card-corner.top-left{top:2px;left:3px}.card-corner.bottom-right{bottom:2px;right:3px}.stock-pile,.waste-pile,.foundation-pile,.tableau-column{min-width:var(--card-width)}.stock-pile,.waste-pile,.foundation-pile{width:var(--card-width);height:var(--card-height)}.placeholder-suit{font-size:var(--font-suit-large)}.solitaire-board{gap:var(--gap);grid-template-columns:repeat(7, var(--card-width));grid-template-rows:auto auto;justify-content:center;align-items:start;min-height:auto;padding:6px 4px;display:grid}.game-controls{grid-column:1/-1}.top-row{grid-column:1/-1;display:contents}.stock-waste-area{grid-area:1/1/auto/3;grid-template-columns:repeat(2, var(--card-width));gap:var(--gap);display:grid}.foundation-area{grid-area:1/4/auto/8;grid-template-columns:repeat(4, var(--card-width));gap:var(--gap);justify-self:end;display:grid}.tableau-area{grid-area:2/1/auto/-1;grid-template-columns:repeat(7, var(--card-width));gap:var(--gap);justify-content:center;display:grid}.tableau-column{min-width:0;min-height:400px}.game-controls{padding:6px}.controls-left .retro-btn{padding:4px 8px;font-size:.9rem}.stat-box{padding:3px 6px;font-size:.9rem}.card-back-pattern{border-width:calc(var(--card-width) * 2 / 70);inset:2px}}.solitaire-card[draggable=true]{cursor:grab}.solitaire-card[draggable=true]:active{cursor:grabbing}.tableau-column.highlight,.foundation-pile.highlight{border-radius:var(--border-radius,4px);background:#00ffff1a}.win-animation-overlay{z-index:999;pointer-events:none;background:0 0;position:fixed;inset:0;overflow:hidden}.win-animation-canvas{pointer-events:none;position:absolute;top:0;left:0}.cascade-card{border:3px outset var(--retro-white);pointer-events:none;background:var(--retro-white);box-sizing:border-box;border-radius:4px;width:70px;height:100px;font-family:VT323,monospace;position:absolute}.cascade-card .card-corner{flex-direction:column;align-items:center;font-size:1rem;line-height:1;display:flex;position:absolute}.cascade-card .card-corner.top-left{top:3px;left:4px}.cascade-card .card-corner.bottom-right{bottom:3px;right:4px;transform:rotate(180deg)}.cascade-card .card-rank{font-size:1.2rem;font-weight:700}.cascade-card .card-suit{font-size:1rem}.cascade-card .card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cascade-card .card-suit-large{font-size:2rem}.cascade-card.red{color:#c00000}.cascade-card.black{color:var(--retro-black)}@media (width<=580px){.cascade-card{width:var(--card-width);height:var(--card-height);border-radius:var(--border-radius)}.cascade-card .card-rank{font-size:var(--font-rank)}.cascade-card .card-suit{font-size:var(--font-suit)}.cascade-card .card-suit-large{font-size:var(--font-suit-large)}.cascade-card .card-corner.top-left{top:2px;left:3px}.cascade-card .card-corner.bottom-right{bottom:2px;right:3px}}.flying-card{background:var(--retro-white)!important;width:70px!important;height:100px!important}@media (width<=580px){.flying-card{width:calc(min(580px,100vw)/7.857 - 1.0182px)!important;height:calc(min(580px,100vw)/5.4999 - 1.45457px)!important}.flying-card .card-rank{font-size:calc(min(580px,100vw)/28.6752 - .278987px)}.flying-card .card-suit{font-size:calc(min(580px,100vw)/34.31 - .233168px)}.flying-card .card-suit-large{font-size:calc(min(580px,100vw)/17.1926 - .465318px)}.flying-card .card-corner.top-left{top:2px;left:3px}.flying-card .card-corner.bottom-right{bottom:2px;right:3px}}.solitaire-card.touch-dragging{opacity:.4}.drag-preview{pointer-events:none;z-index:9999;touch-action:none;position:fixed}.drag-preview .solitaire-card{background:var(--retro-white);width:70px;height:100px;box-shadow:4px 4px 8px #0000004d}@media (width<=580px){.drag-preview .solitaire-card{width:calc(min(580px,100vw)/7.857 - 1.0182px);height:calc(min(580px,100vw)/5.4999 - 1.45457px)}.drag-preview .solitaire-card .card-rank{font-size:calc(min(580px,100vw)/28.6752 - .278987px)}.drag-preview .solitaire-card .card-suit{font-size:calc(min(580px,100vw)/34.31 - .233168px)}.drag-preview .solitaire-card .card-suit-large{font-size:calc(min(580px,100vw)/17.1926 - .465318px)}.drag-preview .solitaire-card .card-corner.top-left{top:2px;left:3px}.drag-preview .solitaire-card .card-corner.bottom-right{bottom:2px;right:3px}}.tableau-column.valid-drop-target,.foundation-pile.valid-drop-target{box-shadow:inset 0 0 0 3px var(--retro-cyan);border-radius:var(--border-radius,4px);background:#00ffff26}.card-stack.valid-drop-target>.card-placeholder{border-color:var(--retro-cyan);box-shadow:0 0 8px var(--retro-cyan)}.solvability-indicator{justify-content:center;align-items:center;gap:4px;min-width:80px;font-family:VT323,monospace;font-size:1.1rem;display:flex}.solvability-text{font-weight:700}.solvability-analyzing{background:var(--retro-white);color:var(--retro-dark-gray)}.solvability-analyzing .solvability-text{animation:1s infinite blink}.solvability-winnable{color:#006400;background:#c8ffc8}.solvability-stuck{color:#8b0000;background:#ffc8c8}.solvability-unknown{color:#8b8b00;background:#ffffc8}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.confirm-message{text-align:center;color:var(--retro-black);margin:10px 0 20px;font-family:VT323,monospace;font-size:1.2rem}.confirm-buttons{justify-content:center;gap:15px;display:flex}.confirm-buttons .retro-btn{min-width:80px}.toast{z-index:1000;box-shadow:2px 2px 0 var(--retro-black);border-radius:4px;padding:10px 20px;font-family:"Perfect DOS VGA 437",monospace;font-size:.9rem;animation:.2s ease-out toast-fade-in;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast-success{background:var(--retro-white);color:var(--retro-black);border:2px solid var(--retro-black)}.toast-error{color:var(--retro-white);border:2px solid var(--retro-black);background:#c00}@keyframes toast-fade-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes hint-pulse{0%,to{box-shadow:0 0 0 3px var(--hint-color)}50%{box-shadow:0 0 12px 5px var(--hint-color)}}.solitaire-card.hint-source{--hint-color:gold;z-index:10;animation:.8s ease-in-out infinite hint-pulse}.solitaire-card.hint-target{--hint-color:#0f0;z-index:10;animation:.8s ease-in-out infinite hint-pulse}.card-placeholder.hint-source{--hint-color:gold;animation:.8s ease-in-out infinite hint-pulse}.card-placeholder.hint-target{--hint-color:#0f0;animation:.8s ease-in-out infinite hint-pulse}.foundation-pile.hint-target{border-radius:var(--border-radius,4px);background:#00ff001a}.stock-pile.hint-source{--hint-color:gold;border-radius:var(--border-radius,4px);animation:.8s ease-in-out infinite hint-pulse}
