.card{width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);border:1px solid var(--card-border);background:var(--card-bg);position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 2px 4px #0003;transition:transform .1s ease;overflow:hidden;isolation:isolate;touch-action:none}.card:hover{transform:translateY(-2px)}.card.dragging{cursor:grabbing;box-shadow:0 8px 16px #0000004d}.card.drop-target{box-shadow:0 0 0 3px var(--highlight-color),0 2px 4px #0003}.card.invalid-target{box-shadow:0 0 0 3px #f4433699,0 2px 4px #0003}.card-back{background:var(--card-back-image-url) center center / cover no-repeat;cursor:pointer}:root.css-only-theme .card-back{background:#1e4d8c}.card-back-pattern{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:var(--card-radius)}:root.css-only-theme .card-back-pattern{top:4px;left:4px;right:4px;bottom:4px;border:2px solid #f4e4bc;border-radius:calc(var(--card-radius) - 2px);background:repeating-linear-gradient(45deg,transparent,transparent 6px,rgba(244,228,188,.3) 6px,rgba(244,228,188,.3) 7px),repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(244,228,188,.3) 6px,rgba(244,228,188,.3) 7px),#1e4d8c}.card-front:before{content:"";position:absolute;top:var(--card-pattern-inset);left:var(--card-pattern-inset);right:var(--card-pattern-inset);bottom:var(--card-pattern-inset);background:var(--card-face-image-url) center center / cover no-repeat;border-radius:clamp(2px,calc(var(--card-width) * .03),4px);z-index:0}:root.css-only-theme .card-front:before{display:none}.card-front .card-corner,.card-front .card-center{z-index:1}.card-front.red{color:#d32f2f}.card-front.black{color:#212121}.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;font-weight:700}.card-corner .rank{font-size:var(--card-rank-size);line-height:1}.card-corner .suit{font-size:var(--card-suit-size);line-height:1}.card-corner.top-left{top:var(--card-corner-offset);left:var(--card-corner-offset)}.card-corner.bottom-right{bottom:var(--card-corner-offset);right:var(--card-corner-offset);transform:rotate(180deg)}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--card-center-size);-webkit-text-stroke:3px white;paint-order:stroke fill}:root.css-only-theme .card-center{-webkit-text-stroke:none;paint-order:normal}.pile{width:var(--card-width);min-height:var(--card-height);position:relative}.empty-pile{width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);border:2px dashed var(--pile-border);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:38px;cursor:pointer}.stock .empty-pile,.stock.empty-pile{cursor:pointer}.reset-icon{font-size:50px;color:var(--text-secondary)}.suit-placeholder{font-size:44px;opacity:.3}.king-placeholder{font-size:38px;font-weight:700}.pile.foundation.highlight{background:var(--highlight-color);border-radius:var(--card-radius)}.empty-pile.highlight{background:var(--highlight-color)}.pile.foundation.invalid{background:#f4433633;border-radius:var(--card-radius)}.empty-pile.invalid{background:#f4433633}.tableau{min-height:650px}.stacked-card{position:absolute;left:0}.foundation .suit-placeholder{color:var(--text-secondary)}.pass-counter{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.pass-counter-overlay{bottom:-24px}.stock.empty-pile{position:relative}.stock.empty-pile.disabled{cursor:not-allowed;opacity:.6}.reset-icon.disabled{color:var(--text-secondary);opacity:.5}.board{padding:clamp(8px,2vw,20px);max-width:1200px;margin:0 auto;flex:1}.top-row,.tableau-row{display:flex;gap:var(--card-gap)}.top-row{margin-bottom:30px}.empty-slot{width:var(--card-width);height:var(--card-height)}.animated-score{display:inline-block;transition:color .5s ease-out}.animated-score.animating{animation:scorePulse .6s ease-out;color:gold;text-shadow:0 0 15px rgba(255,215,0,.6)}@keyframes scorePulse{0%{transform:scale(1)}25%{transform:scale(1.35)}50%{transform:scale(1.25)}to{transform:scale(1)}}.confirm-dialog{border:none;border-radius:12px;padding:0;background:var(--dialog-bg, #1e1e1e);color:var(--text-primary);box-shadow:0 8px 32px #0006;max-width:400px;width:calc(100% - 32px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.confirm-dialog::backdrop{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=light] .confirm-dialog{--dialog-bg: white;box-shadow:0 8px 32px #0003}.confirm-dialog-content{padding:24px}.confirm-dialog-title{margin:0 0 12px;font-size:20px;font-weight:600}.confirm-dialog-message{margin:0 0 24px;font-size:14px;color:var(--text-secondary);line-height:1.5}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog .btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.confirm-dialog .btn-secondary{background:var(--btn-secondary-bg, rgba(255, 255, 255, .1));border:1px solid var(--btn-secondary-border, rgba(255, 255, 255, .2));color:var(--text-primary)}.confirm-dialog .btn-secondary:hover{background:var(--btn-secondary-hover, rgba(255, 255, 255, .15))}.confirm-dialog .btn-primary{background:#4caf50;border:none;color:#fff}.confirm-dialog .btn-primary:hover{background:#43a047}[data-theme=light] .confirm-dialog .btn-secondary{--btn-secondary-bg: rgba(0, 0, 0, .05);--btn-secondary-border: rgba(0, 0, 0, .15);--btn-secondary-hover: rgba(0, 0, 0, .1)}.new-game-dialog{border:none;border-radius:12px;padding:0;background:var(--dialog-bg, #1e1e1e);color:var(--text-primary);box-shadow:0 8px 32px #0006;max-width:400px;width:calc(100% - 32px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.new-game-dialog::backdrop{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=light] .new-game-dialog{--dialog-bg: white;box-shadow:0 8px 32px #0003}.new-game-dialog-content{padding:24px}.new-game-dialog-title{margin:0 0 4px;font-size:20px;font-weight:600}.new-game-dialog-subtitle{margin:0 0 20px;font-size:14px;color:var(--text-secondary)}.difficulty-options{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.difficulty-option{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;border:2px solid var(--difficulty-border, rgba(255, 255, 255, .1));background:var(--difficulty-bg, rgba(255, 255, 255, .05));cursor:pointer;transition:all .15s ease}.difficulty-option:hover{border-color:var(--difficulty-hover-border, rgba(255, 255, 255, .2));background:var(--difficulty-hover-bg, rgba(255, 255, 255, .08))}.difficulty-option.selected{border-color:#4caf50;background:var(--difficulty-selected-bg, rgba(76, 175, 80, .15))}.difficulty-option input[type=radio]{display:none}.difficulty-content{display:flex;flex-direction:column;gap:2px}.difficulty-label{font-size:16px;font-weight:500}.difficulty-description{font-size:13px;color:var(--text-secondary)}[data-theme=light] .difficulty-option{--difficulty-border: rgba(0, 0, 0, .1);--difficulty-bg: rgba(0, 0, 0, .02);--difficulty-hover-border: rgba(0, 0, 0, .2);--difficulty-hover-bg: rgba(0, 0, 0, .05);--difficulty-selected-bg: rgba(76, 175, 80, .1)}.new-game-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.new-game-dialog .btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.new-game-dialog .btn-secondary{background:var(--btn-secondary-bg, rgba(255, 255, 255, .1));border:1px solid var(--btn-secondary-border, rgba(255, 255, 255, .2));color:var(--text-primary)}.new-game-dialog .btn-secondary:hover{background:var(--btn-secondary-hover, rgba(255, 255, 255, .15))}.new-game-dialog .btn-primary{background:#4caf50;border:none;color:#fff}.new-game-dialog .btn-primary:hover{background:#43a047}[data-theme=light] .new-game-dialog .btn-secondary{--btn-secondary-bg: rgba(0, 0, 0, .05);--btn-secondary-border: rgba(0, 0, 0, .15);--btn-secondary-hover: rgba(0, 0, 0, .1)}.win-dialog{border:none;border-radius:16px;padding:0;background:radial-gradient(ellipse at 50% 30%,rgba(30,80,50,.8) 0%,transparent 60%),linear-gradient(180deg,#1a5c35,#0d3d20 30%,#0a2e1a 70%,#0d3d20);color:#fff;box-shadow:0 0 0 2px #b8860b,0 0 20px #ffd70026,0 20px 60px #0009;max-width:420px;width:calc(100% - 32px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;overflow:visible}.win-dialog::backdrop{background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.win-dialog-content{position:relative;z-index:10;padding:28px 24px;background:inherit;border-radius:16px}.win-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.win-sparkle{position:absolute;width:4px;height:4px;background:gold;border-radius:50%;box-shadow:0 0 6px 2px #ffd700cc;animation:glitter 2s ease-in-out infinite}.win-sparkle:nth-child(1){top:8%;left:12%;animation-delay:0s}.win-sparkle:nth-child(2){top:15%;left:88%;animation-delay:.2s}.win-sparkle:nth-child(3){top:65%;left:8%;animation-delay:.4s}.win-sparkle:nth-child(4){top:78%;left:92%;animation-delay:.6s}.win-sparkle:nth-child(5){top:35%;left:5%;animation-delay:.8s}.win-sparkle:nth-child(6){top:25%;left:95%;animation-delay:1s}.win-sparkle:nth-child(7){top:88%;left:18%;animation-delay:1.2s}.win-sparkle:nth-child(8){top:12%;left:75%;animation-delay:1.4s}@keyframes glitter{0%,to{opacity:.2;transform:scale(.5)}50%{opacity:1;transform:scale(1.5)}}.win-particle{position:absolute;width:3px;height:3px;background:linear-gradient(135deg,gold,#fff);border-radius:50%;animation:floatUp 5s ease-in-out infinite}.win-particle:nth-child(9){bottom:0;left:15%;animation-delay:0s}.win-particle:nth-child(10){bottom:0;left:35%;animation-delay:.8s}.win-particle:nth-child(11){bottom:0;left:55%;animation-delay:1.6s}.win-particle:nth-child(12){bottom:0;left:75%;animation-delay:2.4s}.win-particle:nth-child(13){bottom:0;left:25%;animation-delay:3.2s}.win-particle:nth-child(14){bottom:0;left:85%;animation-delay:4s}@keyframes floatUp{0%{opacity:0;transform:translateY(0) scale(1)}15%{opacity:1}85%{opacity:.8}to{opacity:0;transform:translateY(-350px) scale(.3)}}.win-star{position:absolute;font-size:14px;color:gold;animation:starPulse 2s ease-in-out infinite;text-shadow:0 0 8px rgba(255,215,0,1)}.win-star:nth-child(15){top:20%;left:6%;animation-delay:0s}.win-star:nth-child(16){top:30%;left:94%;animation-delay:.5s}.win-star:nth-child(17){top:75%;left:4%;animation-delay:1s}.win-star:nth-child(18){top:60%;left:96%;animation-delay:1.5s}@keyframes starPulse{0%,to{opacity:.4;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.win-dialog-header{text-align:center;margin-bottom:20px;padding-top:50px}.win-trophy{font-size:120px;position:absolute;top:-100px;left:50%;transform:translate(-50%);animation:trophyBounce .8s ease-out;filter:drop-shadow(0 4px 16px rgba(255,215,0,.6));z-index:10}@keyframes trophyBounce{0%{transform:translate(-50%) scale(0) rotate(-20deg);opacity:0}50%{transform:translate(-50%) scale(1.2) rotate(10deg)}70%{transform:translate(-50%) scale(.9) rotate(-5deg)}to{transform:translate(-50%) scale(1) rotate(0);opacity:1}}.win-dialog-title{margin:0;font-size:28px;font-weight:800;text-transform:uppercase;letter-spacing:2px;background:linear-gradient(180deg,#fff,gold,#b8860b,gold,#fff,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));animation:titleShine 2s ease-in-out infinite}@keyframes titleShine{0%,to{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)) brightness(1)}50%{filter:drop-shadow(0 2px 8px rgba(255,215,0,.5)) brightness(1.1)}}.win-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 -44px 20px;padding:16px 54px;background:linear-gradient(180deg,#1a5c35,#0d3d20 20%,#0d3d20 80%,#1a5c35);border-top:3px solid #ffd700;border-bottom:3px solid #ffd700;box-shadow:inset 0 3px 6px #0006,inset 0 -3px 6px #0006,0 4px 12px #00000080;position:relative;z-index:2}.win-stats:before,.win-stats:after{content:"";position:absolute;width:20px;height:100%;top:0}.win-stats:before{left:0;background:linear-gradient(90deg,rgba(0,0,0,.3) 0%,transparent 100%)}.win-stats:after{right:0;background:linear-gradient(-90deg,rgba(0,0,0,.3) 0%,transparent 100%)}.win-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.win-stat-value{font-size:24px;font-weight:700;color:gold;text-shadow:0 0 10px rgba(255,215,0,.6),0 2px 4px rgba(0,0,0,.5)}.win-stat-label{font-size:10px;color:#fffc;text-transform:uppercase;letter-spacing:1px;margin-top:4px}.win-efficiency{text-align:center;margin-bottom:20px;padding:12px;background:#00281480;border-radius:8px;border:1px solid rgba(255,215,0,.15)}.win-efficiency-stars{font-size:32px;color:gold;letter-spacing:6px;margin-bottom:4px;text-shadow:0 0 15px rgba(255,215,0,.8);animation:starsGlow 1.5s ease-in-out infinite}@keyframes starsGlow{0%,to{text-shadow:0 0 10px rgba(255,215,0,.6)}50%{text-shadow:0 0 20px rgba(255,215,0,1),0 0 30px rgba(255,215,0,.5)}}.win-efficiency-label{font-size:13px;color:#ffffffe6;font-weight:500}.win-fun-fact{display:flex;align-items:flex-start;gap:10px;padding:14px;background:#00281466;border-radius:8px;margin-bottom:24px;border:1px solid rgba(255,215,0,.1)}.win-fun-fact-icon{font-size:18px;flex-shrink:0}.win-fun-fact-text{font-size:13px;line-height:1.5;color:#ffffffd9}.win-dialog-actions{display:flex;gap:12px;justify-content:center}.win-dialog .btn{padding:14px 32px;border-radius:8px;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease}.win-dialog .btn-secondary{background:linear-gradient(180deg,#1a5c35,#0d3d20);border:2px solid #b8860b;color:gold;box-shadow:0 4px 8px #0006}.win-dialog .btn-secondary:hover{background:linear-gradient(180deg,#237a45,#1a5c35);border-color:gold;transform:translateY(-2px);box-shadow:0 6px 16px #00000080,0 0 12px #ffd7004d}.win-dialog .btn-primary{background:linear-gradient(180deg,gold,#b8860b,#8b6914);border:2px solid #ffd700;color:#0a2e1a;box-shadow:0 4px 8px #0006,inset 0 1px #ffffff4d}.win-dialog .btn-primary:hover{background:linear-gradient(180deg,#ffe44d,gold,#b8860b);transform:translateY(-2px);box-shadow:0 6px 16px #00000080,0 0 20px #ffd70080,inset 0 1px #fff6}.win-share-btn{min-width:100px}@media (max-width: 480px){.win-dialog{max-width:calc(100% - 24px)}.win-dialog-content{padding:20px 16px}.win-trophy{font-size:100px;top:-80px}.win-dialog-header{padding-top:40px}.win-dialog-title{font-size:22px;letter-spacing:1px}.win-stats{grid-template-columns:repeat(2,1fr);gap:10px;margin:0 -36px 20px;padding:14px 46px}.win-stat-value{font-size:20px}.win-efficiency-stars{font-size:26px}.win-dialog-actions{flex-direction:column}.win-dialog .btn{width:100%}}.win-confetti-container{position:absolute;top:50%;left:50%;width:100vw;height:100vh;transform:translate(-50%,-50%);overflow:hidden;pointer-events:none;z-index:-1}.win-confetti{position:absolute;top:-30px;width:10px;height:10px;opacity:0;animation:confettiFall 5s ease-in forwards infinite}.win-confetti-1{background:gold;border-radius:50%;width:8px;height:8px;animation-duration:4.5s}.win-confetti-2{background:#ffec8b;width:14px;height:7px;border-radius:2px;animation-duration:5.5s}.win-confetti-3{background:#2e8b57;width:6px;height:14px;border-radius:2px;animation-duration:4s}.win-confetti-4{background:#b8860b;border-radius:50%;width:12px;height:12px;animation-duration:6s}.win-confetti-5{background:#98fb98;width:10px;height:10px;animation-duration:4.2s}.win-confetti-6{background:gold;width:16px;height:6px;border-radius:2px;animation-duration:5s}.win-confetti:nth-child(3n){transform:scale(1.5)}.win-confetti:nth-child(5n){transform:scale(.7)}.win-confetti:nth-child(7n){transform:scale(1.3)}@keyframes confettiFall{0%{top:-5%;opacity:1;transform:translate(0) rotate(0) rotateY(0)}25%{transform:translate(30px) rotate(90deg) rotateY(45deg)}50%{transform:translate(-20px) rotate(180deg) rotateY(90deg)}75%{transform:translate(40px) rotate(270deg) rotateY(135deg);opacity:1}95%{opacity:.9}to{top:98%;opacity:0;transform:translate(10px) rotate(360deg) rotateY(180deg)}}.win-confetti-ground{position:absolute;bottom:5px;width:10px;height:10px;opacity:0;animation:groundConfettiFadeIn .8s ease-out forwards}@keyframes groundConfettiFadeIn{0%{opacity:0;transform:scale(.5)}to{opacity:.95;transform:scale(1)}}.controls{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:var(--controls-bg);border-bottom:1px solid var(--controls-border)}.controls-left{display:flex;align-items:center;gap:15px}.header-brand{display:flex;align-items:center;gap:10px}.header-logo{height:50px;width:auto}.header-title{font-size:28px;font-weight:700;color:var(--text-primary);text-shadow:0 2px 4px rgba(0,0,0,.2);margin:0}.controls-center{flex:1;text-align:center}.controls-right{display:flex;gap:20px}.btn{padding:12px 24px;border:none;border-radius:6px;font-size:18px;font-weight:500;cursor:pointer;transition:background .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover:not(:disabled){background:#43a047}.btn-secondary{background:#607d8b;color:#fff}.btn-secondary:hover:not(:disabled){background:#546e7a}.stat{display:flex;flex-direction:column;align-items:center}.stat-label{font-size:14px;color:var(--text-secondary);text-transform:uppercase}.stat-value{font-size:24px;font-weight:700;color:var(--text-primary)}.error-message{color:#ff5252;font-size:14px;animation:fadeIn .2s ease}.win-message{color:gold;font-size:32px;font-weight:700;text-shadow:0 0 10px rgba(255,215,0,.5);animation:pulse 1s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width: 770px){.header-title{font-size:20px}.btn{font-size:14px;padding:8px 16px}.stat-label{font-size:12px}.stat-value{font-size:18px}.controls{padding:10px 12px}.controls-left{gap:10px;flex-shrink:0}.controls-right{gap:12px;flex-shrink:1;min-width:0;overflow:hidden}.header-logo{height:36px}}@media (max-width: 480px){.header-title{font-size:16px}.btn{font-size:12px;padding:6px 12px}.controls-left{gap:6px}.controls-right{gap:8px}.controls-right .stat:last-child{display:none}.stat-label{font-size:10px}.stat-value{font-size:14px}.header-logo{height:28px}}.points-popup-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.points-popup{position:absolute;font-size:28px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.6),0 0 15px rgba(255,215,0,.4);pointer-events:none;animation:pointsFloat 1s ease-out forwards;transform-origin:center center}.points-popup.positive{color:gold}.points-popup.negative{color:#ff6b6b}@keyframes pointsFloat{0%{opacity:1;transform:scale(0) translateY(0) rotate(-20deg)}15%{opacity:1;transform:scale(1.3) translateY(-10px) rotate(15deg)}30%{opacity:1;transform:scale(1) translateY(-25px) rotate(-10deg)}50%{opacity:1;transform:scale(1) translateY(-40px) rotate(8deg)}70%{opacity:.8;transform:scale(1) translateY(-55px) rotate(-5deg)}to{opacity:0;transform:scale(1) translateY(-80px) rotate(0)}}.flying-card-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999;overflow:hidden}.flying-card-wrapper{position:absolute;animation:cardFlyComplete .45s cubic-bezier(.25,.1,.25,1) forwards;transform-origin:center center}.flying-card{width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);border:1px solid #333;background:#fff;position:relative;box-shadow:0 2px 4px #0003}.flying-card.red{color:#d32f2f}.flying-card.black{color:#212121}.flying-card .card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;font-weight:700}.flying-card .card-corner .rank{font-size:var(--card-rank-size);line-height:1}.flying-card .card-corner .suit{font-size:var(--card-suit-size);line-height:1}.flying-card .card-corner.top-left{top:var(--card-corner-offset);left:var(--card-corner-offset)}.flying-card .card-corner.bottom-right{bottom:var(--card-corner-offset);right:var(--card-corner-offset);transform:rotate(180deg)}.flying-card .card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--card-center-size)}@keyframes cardFlyComplete{0%{transform:translate(0) scale(1) rotate(0);box-shadow:0 2px 4px #0003}15%{transform:translateY(-12px) scale(1.12) rotate(-2deg);box-shadow:0 10px 25px #ffd70099}30%{transform:translateY(-20px) scale(1.15) rotate(-3deg);box-shadow:0 12px 30px #ffd700cc}38%{transform:translateY(-18px) scale(1.1) rotate(-1deg);box-shadow:0 10px 25px #ffd70080}55%{transform:translate(calc(var(--fly-x) * .5),calc(var(--fly-y) * .5 - 5px)) scale(1.02) rotate(1deg);box-shadow:0 6px 15px #0000004d}80%{transform:translate(calc(var(--fly-x) * .92),calc(var(--fly-y) * .92)) scale(1) rotate(0);box-shadow:0 3px 8px #0003}92%{transform:translate(calc(var(--fly-x) * 1.02),calc(var(--fly-y) * 1.02)) scale(.98) rotate(0);box-shadow:0 2px 6px #0003}to{transform:translate(var(--fly-x),var(--fly-y)) scale(1) rotate(0);box-shadow:0 2px 4px #0003}}.theme-toggle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;border:none;background:var(--toggle-bg, rgba(255, 255, 255, .15));color:var(--toggle-color, white);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;transition:all .2s ease;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.theme-toggle:hover{background:var(--toggle-bg-hover, rgba(255, 255, 255, .25));transform:scale(1.1)}.theme-toggle:active{transform:scale(.95)}.theme-icon{width:24px;height:24px}[data-theme=light] .theme-toggle{--toggle-bg: rgba(0, 0, 0, .1);--toggle-bg-hover: rgba(0, 0, 0, .2);--toggle-color: #333}.card-theme-selector{position:fixed;bottom:80px;right:20px;z-index:1000}.card-theme-toggle{width:50px;height:50px;border-radius:50%;border:none;background:var(--toggle-bg, rgba(255, 255, 255, .15));color:var(--toggle-color, white);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card-theme-toggle:hover{background:var(--toggle-bg-hover, rgba(255, 255, 255, .25));transform:scale(1.1)}.card-theme-toggle:active{transform:scale(.95)}.card-theme-icon{width:24px;height:24px}[data-theme=light] .card-theme-toggle{--toggle-bg: rgba(0, 0, 0, .1);--toggle-bg-hover: rgba(0, 0, 0, .2);--toggle-color: #333}.card-theme-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.card-theme-menu{position:absolute;bottom:60px;right:0;width:280px;background:var(--menu-bg, rgba(30, 30, 30, .95));border-radius:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden;z-index:1001}[data-theme=light] .card-theme-menu{--menu-bg: rgba(255, 255, 255, .95);box-shadow:0 8px 32px #0003}.card-theme-menu-header{padding:12px 16px;font-weight:600;font-size:14px;color:var(--text-secondary, rgba(255, 255, 255, .7));border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}[data-theme=light] .card-theme-menu-header{--text-secondary: rgba(0, 0, 0, .6);--border-color: rgba(0, 0, 0, .1)}.card-theme-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:transparent;color:var(--text-primary, white);cursor:pointer;text-align:left;transition:background .15s ease}[data-theme=light] .card-theme-option{--text-primary: #333}.card-theme-option:hover,.card-theme-option.focused{background:var(--option-hover, rgba(255, 255, 255, .1))}[data-theme=light] .card-theme-option:hover,[data-theme=light] .card-theme-option.focused{--option-hover: rgba(0, 0, 0, .05)}.card-theme-option.focused{outline:2px solid var(--highlight-color, #4caf50);outline-offset:-2px}.card-theme-option.active{background:var(--option-active, rgba(76, 175, 80, .2))}.card-theme-preview{width:40px;height:56px;border-radius:4px;overflow:hidden;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.card-theme-preview-img{width:100%;height:100%;object-fit:cover}.card-theme-preview-css{width:100%;height:100%;position:relative}.classic-preview{background:#1e4d8c}.classic-preview-pattern{position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid #f4e4bc;border-radius:2px;background:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(244,228,188,.3) 3px,rgba(244,228,188,.3) 4px),repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(244,228,188,.3) 3px,rgba(244,228,188,.3) 4px),#1e4d8c}.card-theme-info{flex:1;min-width:0}.card-theme-name{font-weight:500;font-size:14px;margin-bottom:2px}.card-theme-description{font-size:12px;color:var(--text-secondary, rgba(255, 255, 255, .6));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=light] .card-theme-description{--text-secondary: rgba(0, 0, 0, .5)}.card-theme-check{width:20px;height:20px;color:#4caf50;flex-shrink:0}@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.help-toggle{position:fixed;bottom:140px;right:20px;width:50px;height:50px;border-radius:50%;border:none;background:var(--toggle-bg, rgba(255, 255, 255, .15));color:var(--toggle-color, white);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;transition:all .2s ease;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.help-toggle:hover{background:var(--toggle-bg-hover, rgba(255, 255, 255, .25));transform:scale(1.1)}.help-toggle:active{transform:scale(.95)}.help-icon{width:24px;height:24px}[data-theme=light] .help-toggle{--toggle-bg: rgba(0, 0, 0, .1);--toggle-bg-hover: rgba(0, 0, 0, .2);--toggle-color: #333}.help-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:2000;cursor:pointer}.help-section{position:fixed;background:#00000059;border:none;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;animation:sectionFadeIn .4s ease-out forwards}@keyframes sectionFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.help-section:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:10px;background:conic-gradient(from var(--angle, 0deg),#fff9c4,#ffee58,#fdd835,#f9a825,#ff8f00,#f9a825,#fdd835,#ffee58,#fff9c4);animation:rotate 2s linear infinite;z-index:-1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;padding:2px}@keyframes rotate{to{--angle: 360deg}}.help-banner{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);padding:12px 0;background:linear-gradient(to right,transparent 0%,rgba(30,30,30,.9) 15%,rgba(30,30,30,.9) 85%,transparent 100%);display:flex;flex-direction:column;align-items:center;justify-content:center}.help-label{color:#fff;font-size:clamp(12px,2vw,18px);font-weight:700;text-align:center;margin-bottom:4px;text-shadow:0 1px 3px rgba(0,0,0,.8)}.help-description{color:#fffffff2;font-size:clamp(9px,1.5vw,12px);text-align:center;padding:0 6px;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.8)}.help-dismiss{position:fixed;bottom:90px;left:50%;transform:translate(-50%);color:#fff;font-size:14px;background:#000000b3;padding:8px 16px;border-radius:20px;pointer-events:none}.button-arrows-svg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2001;overflow:visible}.hand-drawn-arrow-path,.hand-drawn-arrow-head{fill:none;stroke:#fdd835;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.button-arrow-group{animation:arrowFadeIn .4s ease-out forwards}@keyframes arrowFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.arrow-label-container{overflow:visible}.button-annotation{background:#000000d9;border:2px solid #fdd835;border-radius:6px;padding:6px 10px;text-align:right;pointer-events:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.button-annotation-label{color:#fdd835;font-size:13px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.8)}.button-annotation-hotkey{color:#fdd835;font-size:12px;font-weight:600;font-family:monospace}@media (max-width: 768px){.help-toggle{bottom:110px;right:15px;width:44px;height:44px}.help-icon{width:20px;height:20px}.button-arrows-svg{display:none}}.seo-content{max-width:800px;margin:0 auto;padding:2rem 1.5rem 3rem}.scroll-indicator{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 0;color:var(--text-secondary);font-size:.9rem;opacity:.8;transition:opacity .2s ease}.scroll-indicator:hover{opacity:1}.scroll-arrow{width:24px;height:24px;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.content-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--controls-border)}.content-section:last-of-type{border-bottom:none}.content-section h2{color:var(--text-primary);font-size:1.75rem;font-weight:600;margin-bottom:1.5rem;line-height:1.3}.content-section h3{color:var(--text-primary);font-size:1.15rem;font-weight:600;margin-top:1.5rem;margin-bottom:.75rem;line-height:1.4}.content-section p{color:var(--text-secondary);font-size:1rem;line-height:1.7;margin-bottom:1rem}.content-section ul{color:var(--text-secondary);font-size:1rem;line-height:1.7;margin-left:1.5rem;margin-bottom:1rem}.content-section li{margin-bottom:.75rem}.content-section li strong{color:var(--text-primary)}.faq-section .faq-item{margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--controls-bg);border-radius:8px;border:1px solid var(--controls-border)}.faq-section .faq-item h3{margin-top:0;margin-bottom:.5rem;font-size:1.1rem}.faq-section .faq-item p{margin-bottom:0;font-size:.95rem}.related-section .related-links ul{list-style:none;margin-left:0;padding:0}.related-section .related-links li{margin-bottom:.5rem}.related-section a,.content-section a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;transition:opacity .2s ease}.related-section a:hover,.content-section a:hover{opacity:.8}.seo-footer{text-align:center;padding:2rem 0;color:var(--text-secondary);font-size:.875rem}.seo-footer p{margin-bottom:.75rem}.footer-links{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--text-primary);text-decoration:underline}.footer-links .separator{color:var(--controls-border)}@media (max-width: 600px){.seo-content{padding:1.5rem 1rem 2rem}.content-section h2{font-size:1.5rem}.content-section h3{font-size:1.05rem}.content-section p,.content-section ul{font-size:.95rem}.faq-section .faq-item{padding:.875rem 1rem}}.cookie-consent{position:fixed;bottom:0;left:0;right:0;z-index:1000;padding:1rem;background:var(--controls-bg, #0f211a);border-top:1px solid var(--controls-border, #264d38);box-shadow:0 -4px 20px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent-content{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.cookie-consent-content p{margin:0;color:var(--text-secondary, #8fa88f);font-size:.9rem;line-height:1.5}.cookie-consent-content a{color:var(--text-primary, #e8efe8);text-decoration:underline;text-underline-offset:2px;margin-left:.25rem}.cookie-consent-content a:hover{opacity:.8}.cookie-consent-button{flex-shrink:0;padding:.5rem 1.25rem;background:var(--btn-primary-bg, #2d5a3d);color:var(--text-primary, #e8efe8);border:1px solid var(--btn-primary-border, #3d7a4d);border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.cookie-consent-button:hover{background:var(--btn-primary-hover, #3d7a4d);border-color:var(--btn-primary-hover, #4d8a5d)}@media (max-width: 600px){.cookie-consent{padding:.875rem}.cookie-consent-content{flex-direction:column;text-align:center;gap:1rem}.cookie-consent-content p{font-size:.85rem}.cookie-consent-button{width:100%;padding:.625rem 1rem}}.privacy-page{min-height:100vh;background-color:#0a1810;background-image:radial-gradient(ellipse at 50% 0%,rgba(78,186,111,.03) 0%,transparent 50%),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-blend-mode:normal,overlay;background-size:100% 100%,150px 150px;background-attachment:fixed;color:#e8efe8;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.privacy-header{background:#0f211a;padding:1.25rem 2rem;border-bottom:1px solid #264d38;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:center;position:relative}.back-link{position:absolute;left:2rem;display:inline-flex;align-items:center;gap:.5rem;color:#4eba6f;text-decoration:none;font-size:.9rem;transition:color .15s ease-in-out}.back-link:hover{color:#6fd88f}.back-link svg{width:20px;height:20px}.privacy-header h1{margin:0;font-size:1.5rem;font-weight:600;color:#e8efe8}.privacy-content{max-width:800px;margin:0 auto;padding:2rem}.last-updated{color:#8fa88f;font-size:.9rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #264d38}.privacy-content section{margin-bottom:2.5rem}.privacy-content h2{color:#4eba6f;font-size:1.4rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #4eba6f}.privacy-content h3{color:#e8efe8;font-size:1.1rem;margin:1.5rem 0 .75rem}.privacy-content p{margin-bottom:1rem;color:#c8d8c8}.privacy-content ul{margin:.5rem 0 1rem 1.5rem;padding:0}.privacy-content li{margin-bottom:.5rem;color:#c8d8c8}.privacy-content a{color:#4eba6f;text-decoration:none;transition:color .15s ease-in-out}.privacy-content a:hover{color:#6fd88f;text-decoration:underline}.privacy-content strong{color:#e8efe8}.privacy-footer{background:#0f211a;padding:2rem;text-align:center;border-top:1px solid #264d38;margin-top:3rem}.privacy-footer p{margin:0 0 1rem;color:#8fa88f;font-size:.9rem}.privacy-footer a{color:#4eba6f;text-decoration:none;font-weight:500}.privacy-footer a:hover{color:#6fd88f}@media (max-width: 768px){.privacy-header{padding:1rem;flex-direction:column;gap:.5rem}.back-link{position:static}.privacy-header h1{font-size:1.3rem}.privacy-content{padding:1.5rem 1rem}.privacy-content h2{font-size:1.2rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--card-width: clamp(46px, calc((100vw - 52px) / 7.5), 144px);--card-height: calc(var(--card-width) * 1.4);--card-gap: clamp(4px, 1vw, 10px);--card-radius: clamp(4px, calc(var(--card-width) * .07), 12px);--card-rank-size: calc(var(--card-width) * .15);--card-suit-size: calc(var(--card-width) * .14);--card-center-size: calc(var(--card-width) * .35);--card-corner-offset: calc(var(--card-width) * .055);--card-pattern-inset: calc(var(--card-width) * .215)}:root,[data-theme=dark]{--bg-gradient-start: #1e5631;--bg-gradient-end: #0a3d1e;--text-primary: white;--text-secondary: rgba(255, 255, 255, .6);--controls-bg: rgba(0, 0, 0, .3);--controls-border: rgba(255, 255, 255, .1);--card-bg: white;--card-border: #333;--pile-bg: rgba(0, 0, 0, .15);--pile-border: rgba(255, 255, 255, .2);--highlight-color: rgba(76, 175, 80, .6)}[data-theme=light]{--bg-gradient-start: #e8f5e9;--bg-gradient-end: #c8e6c9;--text-primary: #1b5e20;--text-secondary: rgba(27, 94, 32, .7);--controls-bg: rgba(255, 255, 255, .8);--controls-border: rgba(0, 0, 0, .1);--card-bg: white;--card-border: #aaa;--pile-bg: rgba(0, 0, 0, .08);--pile-border: rgba(0, 0, 0, .2);--highlight-color: rgba(76, 175, 80, .4)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);min-height:100vh}.app{min-height:100vh}.game-viewport{min-height:100vh;display:flex;flex-direction:column}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-primary);font-size:24px}
