:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.card{width:var(--card-width, 100px);height:var(--card-height, 140px);cursor:grab;-webkit-user-select:none;user-select:none;position:relative;border-radius:calc(var(--card-width, 100px) * .08);box-shadow:0 2px 4px #0003;transition:all .5s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:rgba(74,144,226,.3);touch-action:manipulation}.card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.card:active{transform:translateY(0);box-shadow:0 1px 2px #0003}@media(max-width:768px){.card:hover{transform:none;box-shadow:0 2px 4px #0003}.card:active{transform:scale(.98)}.card.selected{outline-width:2px;outline-offset:1px}}@media(max-width:480px){.card.selected{outline-width:2px;outline-offset:1px;transform:translateY(-2px);box-shadow:0 4px 8px #4a90e266}}.card img{width:100%;height:100%;border-radius:calc(var(--card-width, 100px) * .06);display:block;pointer-events:none}.card.dragging{opacity:.5;cursor:grabbing}.card.selected{outline:3px solid #4a90e2;outline-offset:2px;transform:translateY(-4px);box-shadow:0 6px 12px #4a90e266}.card.moving{animation:cardMove .3s ease-out}@keyframes cardMove{0%{transform:scale(1.05);box-shadow:0 8px 16px #4a90e280}to{transform:scale(1);box-shadow:0 2px 4px #0003}}.card-placeholder{width:var(--card-width, 100px);height:var(--card-height, 140px);border:none;border-radius:calc(var(--card-width, 100px) * .08);background-color:#ffffff1a;display:flex;align-items:center;justify-content:center;color:#888;font-size:calc(var(--card-width, 100px) * .14)}.card-placeholder.drop-target{border-color:#4a90e2;background-color:#4a90e233}.victory-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .5s ease-out;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.victory-content{position:relative;text-align:center;pointer-events:none}.victory-title{font-size:80px;font-weight:700;color:gold;text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.6),0 0 60px rgba(255,215,0,.4),2px 2px 4px rgba(0,0,0,.5);margin-bottom:20px;animation:titleAppear 1s ease-out,bringToFront 6.25s step-end forwards;position:relative;z-index:1}@keyframes bringToFront{0%,99.9%{z-index:1}to{z-index:10}}@keyframes titleAppear{0%{transform:scale(.5) translateY(-50px);opacity:0}60%{transform:scale(1.1) translateY(0)}to{transform:scale(1) translateY(0);opacity:1}}.victory-subtitle{font-size:32px;color:#fff;margin-bottom:40px;animation:subtitleAppear 1s ease-out .3s backwards}@keyframes subtitleAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.victory-hint{position:absolute;top:200px;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:18px;animation:hintPulse 2s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.5}50%{opacity:1}}.particles{position:fixed;top:50%;left:50%;width:0;height:0;pointer-events:none}.particle{position:absolute;font-size:52px;font-weight:700;animation:fireworkBurst 2.5s ease-out 2.5 forwards;opacity:0;filter:drop-shadow(0 0 8px currentColor)}.particle.suit-red{color:#ff1744}.particle.suit-black{color:#333}@keyframes fireworkBurst{0%{transform:translate(-50%,-50%) scale(.3) rotate(0);opacity:0}10%{opacity:1}20%{transform:translate(calc(var(--dx) * .5px),calc(var(--dy) * .5px)) scale(1) rotate(calc(var(--rotation) * .3));opacity:1}50%{transform:translate(calc(var(--dx) * 1px),calc(var(--dy) * 1px)) scale(1.2) rotate(calc(var(--rotation) * .7));opacity:1}to{transform:translate(calc(var(--dx) * 1.5px),calc(var(--dy) * 1.5px)) scale(.5) rotate(var(--rotation));opacity:0}}@media(max-width:768px){.victory-title{font-size:48px}.victory-subtitle{font-size:20px;margin-bottom:30px}.victory-hint{top:140px;font-size:14px}.particle{font-size:36px}}@media(max-width:480px){.victory-title{font-size:36px;text-shadow:0 0 15px rgba(255,215,0,.8),0 0 30px rgba(255,215,0,.6),0 0 45px rgba(255,215,0,.4),2px 2px 3px rgba(0,0,0,.5)}.victory-subtitle{font-size:16px;margin-bottom:20px}.victory-hint{top:100px;font-size:12px}.particle{font-size:28px}}.game-board{min-height:100vh;background:linear-gradient(135deg,#1e5631,#2d7a4a);padding:var(--board-padding, 20px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--card-width: 100px;--card-height: 140px;--card-gap: 10px;--board-padding: 20px;--max-game-width: 65%}.game-header{max-width:var(--max-game-width, 80%);margin:0 auto 30px;display:flex;justify-content:space-between;align-items:center;background:#ffffff1a;padding:15px 25px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:20px}.game-header h1{color:#fff;margin:0;font-size:32px;font-weight:600}.game-stats{color:#fff;font-size:16px;font-weight:500}.game-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:8px;background:#ffffff1a;padding:6px 12px;border-radius:6px}.control-group>label:first-child{color:#fff;font-weight:500;font-size:14px;margin-right:4px}.toggle-switch{display:flex;align-items:center;gap:8px}.toggle-switch span{color:#ffffff80;font-size:14px;font-weight:500;transition:color .2s}.toggle-switch span.active{color:#fff}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff4d;transition:.3s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider{background-color:#4a90e2}input:checked+.slider:before{transform:translate(20px)}.slider:hover{background-color:#fff6}input:checked+.slider:hover{background-color:#357abd}.game-controls button{padding:8px 16px;background:#4a90e2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.game-controls button:hover:not(:disabled){background:#357abd}.game-controls button:disabled{background:#6b6b6b;cursor:not-allowed;opacity:.5}.game-area{width:100%;max-width:var(--max-game-width, 80%);margin:0 auto}.top-area{display:grid;grid-template-columns:repeat(7,var(--card-width, 100px));grid-template-rows:auto auto;gap:var(--card-gap, 10px);margin-bottom:calc(var(--card-gap, 10px) * 4);width:100%;align-items:start}.top-area.two-deck{grid-template-columns:repeat(9,var(--card-width, 100px))}.stock-waste{grid-column:1 / 3;grid-row:1;display:flex;gap:var(--card-gap, 10px)}.foundations{grid-column:4 / 8;grid-row:1 / 3;display:contents}.foundations.two-deck{grid-column:6 / 10}.foundation:nth-child(1){grid-column:4;grid-row:1}.foundation:nth-child(2){grid-column:5;grid-row:1}.foundation:nth-child(3){grid-column:6;grid-row:1}.foundation:nth-child(4){grid-column:7;grid-row:1}.foundations.two-deck .foundation:nth-child(1){grid-column:6;grid-row:1}.foundations.two-deck .foundation:nth-child(2){grid-column:7;grid-row:1}.foundations.two-deck .foundation:nth-child(3){grid-column:8;grid-row:1}.foundations.two-deck .foundation:nth-child(4){grid-column:9;grid-row:1}.foundations.two-deck .foundation:nth-child(5){grid-column:6;grid-row:2;margin-top:calc(var(--card-height, 140px) * -.75)}.foundations.two-deck .foundation:nth-child(6){grid-column:7;grid-row:2;margin-top:calc(var(--card-height, 140px) * -.75)}.foundations.two-deck .foundation:nth-child(7){grid-column:8;grid-row:2;margin-top:calc(var(--card-height, 140px) * -.75)}.foundations.two-deck .foundation:nth-child(8){grid-column:9;grid-row:2;margin-top:calc(var(--card-height, 140px) * -.75)}.cell{cursor:pointer}.stock{position:relative}.empty-stock{font-size:calc(var(--card-width, 100px) * .48);color:#888;display:flex;align-items:center;justify-content:center}.foundation{position:relative}.tableau{display:grid;grid-template-columns:repeat(7,var(--card-width, 100px));gap:var(--card-gap, 10px);width:100%}.tableau.two-deck{grid-template-columns:repeat(9,var(--card-width, 100px))}.tableau-column{min-height:calc(var(--card-height, 140px) * 3.5)}.column-drop-zone{min-height:calc(var(--card-height, 140px) * 3.5);border-radius:calc(var(--card-width, 100px) * .06);transition:background-color .2s;display:flex;flex-direction:column;align-items:center}.column-drop-zone:hover{background-color:#ffffff0d}.game-footer{max-width:var(--max-game-width, 80%);margin:40px auto 0;padding:20px;text-align:center}.game-footer p{color:#ffffffb3;font-size:14px;margin:0}.game-footer a{color:#ffffffe6;text-decoration:none;transition:color .2s}.game-footer a:hover{color:#fff;text-decoration:underline}@media(max-width:768px){.game-board{--board-padding: 8px;--card-gap: 5px;padding:var(--board-padding);--max-game-width: 100%;overflow-x:hidden}.game-header{flex-direction:column;gap:10px;padding:12px 15px;margin-bottom:15px;max-width:100%}.game-area{max-width:100%;overflow-x:hidden}.game-header h1{font-size:24px}.game-stats{font-size:14px}.game-controls{flex-wrap:wrap;justify-content:center;gap:10px}.control-group{padding:5px 10px;font-size:13px}.game-controls button{padding:6px 12px;font-size:13px}.top-area{margin-bottom:calc(var(--card-gap) * 3)}.tableau-column,.column-drop-zone{min-height:calc(var(--card-height) * 2.5)}.game-footer{margin-top:20px;padding:15px;max-width:100%}.game-footer p{font-size:12px}}@media(max-width:480px){.game-board{--board-padding: 5px;--card-gap: 3px}.game-header{padding:10px;margin-bottom:10px;gap:8px}.game-header h1{font-size:20px}.game-stats{font-size:12px}.control-group{padding:4px 8px;font-size:11px}.control-group>label:first-child{font-size:11px}.toggle-switch span{font-size:11px}.switch{width:38px;height:20px}.slider:before{height:14px;width:14px;left:3px;bottom:3px}input:checked+.slider:before{transform:translate(18px)}.game-controls button{padding:5px 10px;font-size:11px}.top-area{margin-bottom:calc(var(--card-gap) * 2)}.tableau-column,.column-drop-zone{min-height:calc(var(--card-height) * 2)}.empty-stock{font-size:calc(var(--card-width) * .4)}.card-placeholder{font-size:calc(var(--card-width) * .12)}.game-footer{margin-top:15px;padding:10px}.game-footer p{font-size:10px}}@media(max-width:768px){.top-area:not(.two-deck),.tableau:not(.two-deck){--card-width: calc((100vw - 2 * var(--board-padding) - 6 * var(--card-gap)) / 7);--card-height: calc(var(--card-width) * 1.4)}.top-area.two-deck,.tableau.two-deck{--card-width: calc((100vw - 2 * var(--board-padding) - 8 * var(--card-gap)) / 9);--card-height: calc(var(--card-width) * 1.4)}}@media(max-width:480px){.top-area:not(.two-deck),.tableau:not(.two-deck){--card-width: calc((100vw - 2 * var(--board-padding) - 6 * var(--card-gap)) / 7);--card-height: calc(var(--card-width) * 1.4)}.top-area.two-deck,.tableau.two-deck{--card-width: calc((100vw - 2 * var(--board-padding) - 8 * var(--card-gap)) / 9);--card-height: calc(var(--card-width) * 1.4)}}@media(max-width:896px)and (orientation:landscape){.game-board{--board-padding: 5px;--card-gap: 4px}.game-header{flex-direction:row;flex-wrap:wrap;padding:8px 12px;margin-bottom:10px;max-width:100%}.game-area{max-width:100%}.game-header h1{font-size:18px}.game-stats{font-size:12px}.tableau-column,.column-drop-zone{min-height:calc(var(--card-height) * 2)}.game-footer{max-width:100%}.top-area:not(.two-deck),.tableau:not(.two-deck){--card-width: calc((100vw - 2 * var(--board-padding) - 6 * var(--card-gap)) / 7);--card-height: calc(var(--card-width) * 1.4)}.top-area.two-deck,.tableau.two-deck{--card-width: calc((100vw - 2 * var(--board-padding) - 8 * var(--card-gap)) / 9);--card-height: calc(var(--card-width) * 1.4)}}*{margin:0;padding:0;box-sizing:border-box}#root{width:100%;min-height:100vh}
