@charset "UTF-8";.win-cascade[data-v-978ee2d9]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:98;overflow:hidden}.cascade-card[data-v-978ee2d9]{position:absolute;top:-60px;left:var(--start-x);width:40px;height:56px;background:linear-gradient(160deg,#fff,#f8f6f0);border-radius:4px;border:1px solid rgba(0,0,0,.15);box-shadow:0 2px 8px #0000004d;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:.65rem;font-weight:700;animation:cascade-fall-978ee2d9 3s cubic-bezier(.25,.46,.45,.94) var(--delay, 0ms) both}@keyframes cascade-fall-978ee2d9{0%{transform:translate(0) translateY(0) rotate(0);opacity:1}50%{opacity:1}to{transform:translate(calc(var(--end-x) - var(--start-x))) translateY(110vh) rotate(360deg);opacity:0}}.new-best-badge[data-v-5969d9e6]{display:inline-block;background:linear-gradient(135deg,#ffd7004d,#ffd70026);border:1px solid var(--gold);color:var(--gold);padding:4px 16px;border-radius:20px;font-size:.85rem;font-weight:700;letter-spacing:1px;margin-bottom:12px;animation:best-pulse-5969d9e6 1.5s ease-in-out infinite}@keyframes best-pulse-5969d9e6{0%,to{box-shadow:0 0 6px #ffd7004d}50%{box-shadow:0 0 16px #ffd700b3}}.mobile-menu-overlay[data-v-18386eba]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;justify-content:center}.mobile-menu[data-v-18386eba]{background:linear-gradient(135deg,#1a6b3c,#145530);border:1px solid rgba(255,255,255,.2);border-bottom:none;border-radius:16px 16px 0 0;width:100%;max-width:480px;padding:16px;animation:slide-up-18386eba .2s ease-out}@keyframes slide-up-18386eba{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-menu-header[data-v-18386eba]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mobile-menu-title[data-v-18386eba]{font-size:1rem;font-weight:700;color:var(--gold)}.mobile-menu-close[data-v-18386eba]{padding:4px 10px;min-height:36px;min-width:36px}.mobile-menu-items[data-v-18386eba]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-menu-item[data-v-18386eba]{min-height:48px;justify-content:center;font-size:.9rem}.tutorial-overlay[data-v-7f56bd94]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:150;padding:16px;animation:fade-in .3s ease}.tutorial-panel[data-v-7f56bd94]{background:linear-gradient(135deg,#1a6b3c,#145530);border:2px solid var(--gold);border-radius:16px;padding:32px;max-width:480px;width:100%;box-shadow:0 0 60px #0009}.tutorial-title[data-v-7f56bd94]{font-size:1.6rem;color:var(--gold);text-align:center;margin-bottom:24px;letter-spacing:1px}.tutorial-zones[data-v-7f56bd94]{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.tutorial-zone[data-v-7f56bd94]{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#ffffff0f;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.zone-icon[data-v-7f56bd94]{font-size:1.4rem;flex-shrink:0}.zone-text[data-v-7f56bd94]{font-size:.9rem;line-height:1.5;opacity:.9}.tutorial-dismiss[data-v-7f56bd94]{width:100%;justify-content:center;font-size:1rem;padding:12px;min-height:48px}.help-overlay[data-v-aa3547d2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:180;display:flex;justify-content:flex-end;animation:fade-in .2s ease}.help-panel[data-v-aa3547d2]{background:linear-gradient(180deg,#1a6b3c,#145530);border-left:2px solid rgba(255,255,255,.2);width:360px;max-width:100%;height:100%;overflow-y:auto;padding:24px;animation:slide-in-right-aa3547d2 .25s ease-out}@keyframes slide-in-right-aa3547d2{0%{transform:translate(100%)}to{transform:translate(0)}}.help-header[data-v-aa3547d2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.help-header h2[data-v-aa3547d2]{font-size:1.4rem;color:var(--gold)}.help-close[data-v-aa3547d2]{min-height:44px;min-width:44px;justify-content:center}.help-content[data-v-aa3547d2]{display:flex;flex-direction:column;gap:24px}.help-section h3[data-v-aa3547d2]{font-size:1rem;color:var(--gold);margin-bottom:10px;border-bottom:1px solid rgba(255,215,0,.3);padding-bottom:6px}.help-section ul[data-v-aa3547d2]{list-style:disc;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:.9rem;line-height:1.5;opacity:.9}kbd[data-v-aa3547d2]{background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:1px 6px;font-family:monospace;font-size:.8rem}.toast-notification[data-v-30137b2c]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#000000d9;color:var(--white);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:10px 20px;font-size:.9rem;z-index:300;pointer-events:none;white-space:nowrap;box-shadow:0 4px 16px #0006}.toast-enter-active[data-v-30137b2c],.toast-leave-active[data-v-30137b2c]{transition:opacity .2s ease,transform .2s ease}.toast-enter-from[data-v-30137b2c],.toast-leave-to[data-v-30137b2c]{opacity:0;transform:translate(-50%) translateY(8px)}.game-over-bar[data-v-23123a59]{position:fixed;top:0;left:0;right:0;background:#b41e1ee6;border-bottom:2px solid rgba(255,100,100,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 16px;z-index:100;flex-wrap:wrap}.game-over-text[data-v-23123a59]{font-size:1rem;font-weight:700;color:#fff}.game-over-actions[data-v-23123a59]{display:flex;gap:8px}.game-over-enter-active[data-v-23123a59],.game-over-leave-active[data-v-23123a59]{transition:transform .25s ease,opacity .25s ease}.game-over-enter-from[data-v-23123a59],.game-over-leave-to[data-v-23123a59]{transform:translateY(-100%);opacity:0}.settings-overlay[data-v-2de903a9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:180;display:flex;align-items:center;justify-content:center;padding:16px;animation:fade-in .2s ease}.settings-panel[data-v-2de903a9]{background:linear-gradient(135deg,#1a6b3c,#145530);border:2px solid rgba(255,255,255,.2);border-radius:16px;width:360px;max-width:100%;padding:24px;box-shadow:0 8px 40px #00000080}.settings-header[data-v-2de903a9]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.settings-header h2[data-v-2de903a9]{font-size:1.3rem;color:var(--gold)}.settings-close[data-v-2de903a9]{min-height:44px;min-width:44px;justify-content:center}.settings-body[data-v-2de903a9]{display:flex;flex-direction:column;gap:20px}.setting-row[data-v-2de903a9]{display:flex;align-items:center;justify-content:space-between;gap:12px}.setting-label[data-v-2de903a9]{font-size:.95rem;opacity:.9}.toggle-btn[data-v-2de903a9]{min-width:64px;min-height:36px;border-radius:20px;border:2px solid rgba(255,255,255,.3);background:#0000004d;color:#ffffff80;font-size:.75rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}.toggle-btn.active[data-v-2de903a9]{background:#ffd70033;border-color:var(--gold);color:var(--gold)}.speed-buttons[data-v-2de903a9]{display:flex;gap:4px}.speed-btn[data-v-2de903a9]{padding:6px 12px;min-height:36px;border-radius:6px;border:2px solid rgba(255,255,255,.3);background:#0000004d;color:#fff9;font-size:.75rem;cursor:pointer;font-family:inherit;transition:all .15s}.speed-btn.active[data-v-2de903a9]{background:#ffd70033;border-color:var(--gold);color:var(--gold)}.cookie-consent[data-v-4d0695a9]{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;padding:.75rem 1.25rem;background:#14141ef7;border-top:1px solid rgba(255,215,0,.25);font-family:inherit}.cookie-consent__text[data-v-4d0695a9]{flex:1;min-width:200px;font-size:.8rem;color:#fafafad9;line-height:1.4}.cookie-consent__actions[data-v-4d0695a9]{display:flex;gap:.5rem;flex-shrink:0}.cookie-consent__btn[data-v-4d0695a9]{padding:.35rem .9rem;border-radius:4px;border:1px solid transparent;font-size:.8rem;font-family:inherit;cursor:pointer;transition:opacity .15s}.cookie-consent__btn[data-v-4d0695a9]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.cookie-consent__btn[data-v-4d0695a9]:hover{opacity:.85}.cookie-consent__btn--accept[data-v-4d0695a9]{background:var(--gold);color:#111}.cookie-consent__btn--decline[data-v-4d0695a9]{background:transparent;color:#fafafab3;border-color:#fafafa4d}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--card-width: clamp(48px, 9vw, 85px);--card-height: calc(var(--card-width) * 1.4);--card-radius: 8px;--card-overlap: calc(var(--card-height) * .35);--card-aspect-ratio: 5 / 7;--green-felt: #1a6b3c;--green-felt-dark: #145530;--gold: #FFD700;--red: #cc0000;--black: #111111;--white: #fafafa;--shadow: 0 2px 8px rgba(0, 0, 0, .4);--shadow-hover: 0 4px 16px rgba(0, 0, 0, .5);--red-card: #c0392b;--black-card: #1a1a2e;--card-bg-start: #ffffff;--card-bg-end: #f8f6f0;--anim-duration-fast: .1s;--anim-duration-normal: .2s;--anim-duration-slow: .35s;--anim-duration-card-move: .2s;--anim-duration-shake: .3s;--anim-duration-pulse: .2s;--anim-easing-card: cubic-bezier(.25, .46, .45, .94)}html,body{height:100%;background:var(--green-felt);background-image:radial-gradient(ellipse at 20% 30%,rgba(255,255,255,.015) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(0,0,0,.03) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.01) 0%,transparent 70%);font-family:Georgia,serif;color:var(--white);overflow-x:hidden}#app{min-height:100vh;display:flex;flex-direction:column}button{cursor:pointer;font-family:inherit}@media(max-width:600px){:root{--card-radius: 5px;--card-overlap: max(22px, calc(var(--card-height) * .4))}}@media(min-width:601px)and (max-width:900px){:root{--card-radius: 6px}}@media(prefers-reduced-motion:reduce){:root{--anim-duration-fast: 0ms;--anim-duration-normal: 0ms;--anim-duration-slow: 0ms;--anim-duration-card-move: 0ms;--anim-duration-shake: 0ms;--anim-duration-pulse: 0ms}}.card{width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);background:linear-gradient(160deg,var(--card-bg-start) 0%,var(--card-bg-end) 100%);border:1px solid rgba(0,0,0,.15);box-shadow:var(--shadow),inset 0 0 0 1px #fffc,inset 0 1px #ffffffe6;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover),inset 0 0 0 1px #fffc,inset 0 1px #ffffffe6}.card.selected{box-shadow:0 0 0 3px var(--gold),0 0 12px #ffd70080,var(--shadow-hover);transform:translateY(-6px)}.card.hinted{animation:hint-pulse 1s ease-in-out infinite}.card.dragging{opacity:.5;cursor:grabbing}.card.red-card{color:var(--red-card)}.card.black-card{color:var(--black-card)}.card.face-king{border-left:3px solid #d4a017}.card.face-queen{border-left:3px solid #a8a8a8}.card.face-jack{border-left:3px solid #cd7f32}.card.shake{animation:card-shake .3s ease-in-out}.card-face{width:100%;height:100%;border-radius:var(--card-radius);padding:4px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.card-corner{display:flex;flex-direction:column;align-items:center;line-height:1}.card-corner .rank{font-size:max(10px,var(--card-width) * .2);font-weight:700}.card-corner .suit-symbol{font-size:max(8px,var(--card-width) * .16)}.card-corner-bottom{transform:rotate(180deg);align-self:flex-end}.card-center-suit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:calc(var(--card-width) * .35);opacity:.25;pointer-events:none}.card-back{width:100%;height:100%;border-radius:var(--card-radius);background:linear-gradient(135deg,#1a3a6b 25%,#2a5aab,#1a3a6b 75%);border:3px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}.card-back:after{content:"🂠";font-size:calc(var(--card-width) * .5);opacity:.4}@keyframes hint-pulse{0%,to{box-shadow:0 0 0 3px #ffd70066,var(--shadow)}50%{box-shadow:0 0 0 5px #ffd700e6,var(--shadow-hover)}}@keyframes card-shake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}}.game-board{display:flex;flex-direction:column;align-items:center;padding:12px 8px 24px;gap:10px;min-height:100vh;position:relative}.game-board:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.25) 100%);pointer-events:none;z-index:0}.game-board>*{position:relative;z-index:1}.game-title{display:flex;align-items:baseline;gap:12px;width:100%;max-width:800px}.game-title h1{font-size:1.8rem;color:var(--gold);text-shadow:0 2px 8px rgba(0,0,0,.5);letter-spacing:2px;font-variant:small-caps}.game-title .game-id{font-size:.8rem;opacity:.6;font-style:italic;cursor:pointer;transition:opacity .15s,text-decoration .15s}.game-title .game-id:hover{opacity:.9;text-decoration:underline}.game-title .game-id.game-id-copied{opacity:1;color:var(--gold);font-style:normal}.board-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:800px;gap:8px;flex-wrap:wrap}.header-right{display:flex;align-items:center;gap:16px}.top-row{display:flex;gap:8px;width:100%;max-width:800px;justify-content:space-between;align-items:flex-start}.freecells-group,.foundations-group{display:flex;gap:6px}.tableau-row{display:flex;gap:6px;width:100%;max-width:800px;justify-content:center;align-items:flex-start;padding-bottom:24px}.pile-slot{width:var(--card-width);min-height:var(--card-height);border-radius:var(--card-radius);border:2px dashed rgba(255,255,255,.3);position:relative;transition:border-color .15s,background .15s}.pile-slot.valid-drop-target{border-color:var(--gold);background:#ffd7001a;box-shadow:0 0 12px #ffd70066}.pile-slot.hint-target{border-color:#0f8;background:#00ff881a;animation:hint-target-pulse 1s ease-in-out infinite}.tableau-pile{width:var(--card-width);min-height:var(--card-height);position:relative;border-radius:var(--card-radius);border:2px solid transparent;transition:border-color .15s,background .15s}.tableau-pile.valid-drop-target{border-color:var(--gold);background:#ffd7001a;box-shadow:0 0 12px #ffd70066}.tableau-pile.hint-target{border-color:#0f8;background:#00ff881a;animation:hint-target-pulse 1s ease-in-out infinite}.tableau-cards{position:absolute;top:0;left:0;width:var(--card-width);pointer-events:none}.tableau-card-wrapper{position:absolute;width:var(--card-width);pointer-events:auto}.empty-pile-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;opacity:.3;pointer-events:none}.empty-freecell{font-size:.55rem;font-weight:700;letter-spacing:.05em;opacity:.2}.foundation-badge{position:absolute;bottom:3px;right:4px;font-size:.6rem;font-weight:700;color:var(--white);opacity:.7;pointer-events:none;z-index:10;line-height:1}.foundation-badge.foundation-complete{color:var(--gold);opacity:1;text-shadow:0 0 6px rgba(255,215,0,.6)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes foundation-burst-ring{0%{box-shadow:0 0 #ffd700b3;opacity:1}to{box-shadow:0 0 0 28px #ffd70000;opacity:0}}.pile-slot.foundation-landing:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);animation:foundation-burst-ring .4s ease-out forwards;pointer-events:none;z-index:20}@keyframes hint-target-pulse{0%,to{box-shadow:0 0 8px #00ff884d}50%{box-shadow:0 0 16px #00ff88b3}}@media(max-width:600px){.game-board{padding:8px 4px 16px;gap:6px}.game-board:before{display:none}.game-title{display:none}.top-row,.freecells-group,.foundations-group,.tableau-row{gap:3px}.board-header{gap:4px}}@media(min-width:601px)and (max-width:900px){.top-row,.tableau-row{gap:4px}}.card-enter-active{animation:card-appear .2s ease-out}@keyframes card-appear{0%{opacity:0;transform:scale(.8) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.win-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;animation:fade-in .5s ease}.win-modal{background:linear-gradient(135deg,#1a6b3c,#145530);border:3px solid var(--gold);border-radius:16px;padding:40px;text-align:center;max-width:400px;width:90%;box-shadow:0 0 60px #ffd70066;animation:win-pop .5s cubic-bezier(.175,.885,.32,1.275)}.win-title{font-size:2.5rem;color:var(--gold);margin-bottom:16px;text-shadow:0 0 20px rgba(255,215,0,.6)}.win-stats{display:flex;justify-content:space-around;margin:24px 0;gap:16px}.win-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.win-stat .stat-value{font-size:1.8rem;font-weight:700;color:var(--gold)}.win-stat .stat-label{font-size:.8rem;opacity:.8;text-transform:uppercase;letter-spacing:1px}.win-buttons{display:flex;gap:12px;justify-content:center;margin-top:24px}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:99;overflow:hidden}.confetti-piece{position:absolute;top:-20px;animation:confetti-fall linear forwards}.confetti-piece:nth-child(1){left:5%;animation-duration:3s;animation-delay:0s;background:#ff6b6b;width:8px;height:8px;--drift: 20px;border-radius:2px}.confetti-piece:nth-child(2){left:12%;animation-duration:4s;animation-delay:.2s;background:#ffd93d;width:10px;height:10px;--drift: -30px;border-radius:2px}.confetti-piece:nth-child(3){left:20%;animation-duration:2.5s;animation-delay:.5s;background:#6bcb77;width:6px;height:6px;--drift: 15px;border-radius:50%}.confetti-piece:nth-child(4){left:28%;animation-duration:3.5s;animation-delay:.1s;background:#4d96ff;width:12px;height:12px;--drift: -20px;border-radius:2px}.confetti-piece:nth-child(5){left:35%;animation-duration:4.5s;animation-delay:.8s;background:#ff922b;width:9px;height:9px;--drift: 35px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.confetti-piece:nth-child(6){left:42%;animation-duration:3s;animation-delay:.3s;background:#cc5de8;width:7px;height:7px;--drift: -15px;border-radius:50%}.confetti-piece:nth-child(7){left:50%;animation-duration:2.8s;animation-delay:1s;background:#f06595;width:11px;height:11px;--drift: 25px;border-radius:2px}.confetti-piece:nth-child(8){left:58%;animation-duration:4s;animation-delay:.6s;background:#74c0fc;width:8px;height:8px;--drift: -35px;border-radius:2px}.confetti-piece:nth-child(9){left:65%;animation-duration:3.2s;animation-delay:.4s;background:#ff6b6b;width:10px;height:10px;--drift: 10px;border-radius:50%}.confetti-piece:nth-child(10){left:72%;animation-duration:3.8s;animation-delay:.9s;background:#ffd93d;width:6px;height:6px;--drift: -25px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.confetti-piece:nth-child(11){left:80%;animation-duration:2.6s;animation-delay:.7s;background:#6bcb77;width:12px;height:12px;--drift: 30px;border-radius:2px}.confetti-piece:nth-child(12){left:88%;animation-duration:4.2s;animation-delay:.2s;background:#4d96ff;width:9px;height:9px;--drift: -10px;border-radius:50%}.confetti-piece:nth-child(13){left:95%;animation-duration:3.4s;animation-delay:1.1s;background:#ff922b;width:7px;height:7px;--drift: 20px;border-radius:2px}.confetti-piece:nth-child(14){left:8%;animation-duration:3.6s;animation-delay:.5s;background:#cc5de8;width:11px;height:11px;--drift: -30px;border-radius:2px}.confetti-piece:nth-child(15){left:18%;animation-duration:2.9s;animation-delay:.3s;background:#f06595;width:8px;height:8px;--drift: 15px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.confetti-piece:nth-child(16){left:30%;animation-duration:4.1s;animation-delay:.8s;background:#74c0fc;width:10px;height:10px;--drift: -20px;border-radius:2px}.confetti-piece:nth-child(17){left:45%;animation-duration:3.3s;animation-delay:.1s;background:#ff6b6b;width:6px;height:6px;--drift: 35px;border-radius:2px}.confetti-piece:nth-child(18){left:55%;animation-duration:3.7s;animation-delay:.6s;background:#ffd93d;width:12px;height:12px;--drift: -15px;border-radius:50%}.confetti-piece:nth-child(19){left:68%;animation-duration:2.7s;animation-delay:1.2s;background:#6bcb77;width:9px;height:9px;--drift: 25px;border-radius:2px}.confetti-piece:nth-child(20){left:78%;animation-duration:4.3s;animation-delay:.4s;background:#4d96ff;width:7px;height:7px;--drift: -35px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.confetti-piece:nth-child(21){left:3%;animation-duration:3.1s;animation-delay:.9s;background:#ff922b;width:11px;height:11px;--drift: 10px;border-radius:50%}.confetti-piece:nth-child(22){left:15%;animation-duration:3.9s;animation-delay:.7s;background:#cc5de8;width:8px;height:8px;--drift: -25px;border-radius:2px}.confetti-piece:nth-child(23){left:25%;animation-duration:2.4s;animation-delay:.2s;background:#f06595;width:10px;height:10px;--drift: 30px;border-radius:2px}.confetti-piece:nth-child(24){left:38%;animation-duration:4.4s;animation-delay:1s;background:#74c0fc;width:6px;height:6px;--drift: -10px;border-radius:50%}.confetti-piece:nth-child(25){left:48%;animation-duration:3s;animation-delay:.5s;background:#ff6b6b;width:12px;height:12px;--drift: 20px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.confetti-piece:nth-child(26){left:60%;animation-duration:3.5s;animation-delay:.3s;background:#ffd93d;width:9px;height:9px;--drift: -30px;border-radius:2px}.confetti-piece:nth-child(27){left:70%;animation-duration:2.8s;animation-delay:.8s;background:#6bcb77;width:7px;height:7px;--drift: 15px;border-radius:50%}.confetti-piece:nth-child(28){left:82%;animation-duration:4s;animation-delay:.1s;background:#4d96ff;width:11px;height:11px;--drift: -20px;border-radius:2px}.confetti-piece:nth-child(29){left:92%;animation-duration:3.2s;animation-delay:.6s;background:#ff922b;width:8px;height:8px;--drift: 35px;border-radius:2px}.confetti-piece:nth-child(30){left:50%;animation-duration:3.6s;animation-delay:1.3s;background:#cc5de8;width:10px;height:10px;--drift: -15px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.confetti-piece:nth-child(31){left:7%;animation-duration:2.5s;animation-delay:0s;background:#f06595;width:8px;height:8px;--drift: 25px;border-radius:2px}.confetti-piece:nth-child(32){left:22%;animation-duration:4.2s;animation-delay:.4s;background:#74c0fc;width:10px;height:10px;--drift: -35px;border-radius:2px}.confetti-piece:nth-child(33){left:33%;animation-duration:3.4s;animation-delay:.7s;background:#ff6b6b;width:6px;height:6px;--drift: 10px;border-radius:50%}.confetti-piece:nth-child(34){left:44%;animation-duration:2.9s;animation-delay:1.1s;background:#ffd93d;width:12px;height:12px;--drift: -25px;border-radius:2px}.confetti-piece:nth-child(35){left:53%;animation-duration:4.1s;animation-delay:.2s;background:#6bcb77;width:9px;height:9px;--drift: 30px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.confetti-piece:nth-child(36){left:63%;animation-duration:3.3s;animation-delay:.6s;background:#4d96ff;width:7px;height:7px;--drift: -10px;border-radius:50%}.confetti-piece:nth-child(37){left:74%;animation-duration:3.7s;animation-delay:.9s;background:#ff922b;width:11px;height:11px;--drift: 20px;border-radius:2px}.confetti-piece:nth-child(38){left:85%;animation-duration:2.7s;animation-delay:.3s;background:#cc5de8;width:8px;height:8px;--drift: -30px;border-radius:2px}.confetti-piece:nth-child(39){left:96%;animation-duration:4.3s;animation-delay:1.2s;background:#f06595;width:10px;height:10px;--drift: 15px;border-radius:50%}.confetti-piece:nth-child(40){left:2%;animation-duration:3.1s;animation-delay:.5s;background:#74c0fc;width:6px;height:6px;--drift: -20px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.confetti-piece:nth-child(41){left:16%;animation-duration:3.9s;animation-delay:.8s;background:#ff6b6b;width:12px;height:12px;--drift: 35px;border-radius:2px}.confetti-piece:nth-child(42){left:27%;animation-duration:2.4s;animation-delay:.1s;background:#ffd93d;width:9px;height:9px;--drift: -15px;border-radius:50%}.confetti-piece:nth-child(43){left:41%;animation-duration:4.4s;animation-delay:.7s;background:#6bcb77;width:7px;height:7px;--drift: 25px;border-radius:2px}.confetti-piece:nth-child(44){left:52%;animation-duration:3s;animation-delay:1s;background:#4d96ff;width:11px;height:11px;--drift: -35px;border-radius:2px}.confetti-piece:nth-child(45){left:66%;animation-duration:3.5s;animation-delay:.4s;background:#ff922b;width:8px;height:8px;--drift: 10px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.confetti-piece:nth-child(46){left:77%;animation-duration:2.8s;animation-delay:.2s;background:#cc5de8;width:10px;height:10px;--drift: -25px;border-radius:2px}.confetti-piece:nth-child(47){left:89%;animation-duration:4s;animation-delay:.9s;background:#f06595;width:6px;height:6px;--drift: 30px;border-radius:2px}.confetti-piece:nth-child(48){left:4%;animation-duration:3.2s;animation-delay:.6s;background:#74c0fc;width:12px;height:12px;--drift: -10px;border-radius:50%}.confetti-piece:nth-child(49){left:40%;animation-duration:3.6s;animation-delay:1.3s;background:#ff6b6b;width:9px;height:9px;--drift: 20px;border-radius:2px}.confetti-piece:nth-child(50){left:57%;animation-duration:2.5s;animation-delay:.3s;background:#ffd93d;width:7px;height:7px;--drift: -30px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}@keyframes confetti-fall{0%{transform:translate(0) translateY(0) rotate(0) rotateY(0);opacity:1}50%{transform:translate(calc(var(--drift, 0px) * .5)) translateY(55vh) rotate(360deg) rotateY(180deg);opacity:1}to{transform:translate(var(--drift, 0px)) translateY(110vh) rotate(720deg) rotateY(360deg);opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes win-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{padding:8px 14px;min-height:36px;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#0000004d;color:#fff;font-size:.85rem;transition:all .15s;display:flex;align-items:center;gap:6px}.btn:hover:not(:disabled){background:#ffffff26;border-color:#fff9;transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.btn:active:not(:disabled){background:#0006;transform:translateY(1px);box-shadow:inset 0 1px 3px #0006}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.btn-primary{background:#ffd70033;border-color:var(--gold);color:var(--gold)}.btn.btn-primary:hover:not(:disabled){background:#ffd70059;box-shadow:0 2px 8px #ffd70033}.btn.btn-primary:active:not(:disabled){background:#ffd70026}.btn .shortcut{font-size:.7rem;opacity:.6;background:#ffffff1a;padding:1px 4px;border-radius:3px}.scoreboard{display:flex;gap:16px;align-items:center;font-size:.9rem}.scoreboard .score-item{display:flex;flex-direction:column;align-items:center;gap:2px}.scoreboard .score-item .score-value{font-size:1.2rem;font-weight:700;color:var(--gold);transition:transform .2s ease,color .2s ease}.scoreboard .score-item .score-primary{font-size:1.4rem;font-weight:700}.scoreboard .score-item .score-moves{font-size:1.1rem;font-weight:500}.scoreboard .score-item .score-best{font-size:.9rem;font-weight:400}.scoreboard .score-item .score-label{font-size:.7rem;opacity:.7;text-transform:uppercase;letter-spacing:.5px}.scoreboard .score-item-muted .score-value{opacity:.6}@keyframes score-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.pulse-gold{animation:score-pulse .3s ease-in-out;color:var(--gold)!important}.pulse-white{animation:score-pulse .3s ease-in-out;color:var(--white)!important}@keyframes foundation-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.foundation-landing{animation:foundation-pulse var(--anim-duration-pulse) ease-in-out}.timer{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:50px;text-align:center;transition:color .5s ease}.timer.timer-gold{color:var(--gold)}.timer.timer-white{color:var(--white)}.timer.timer-amber{color:#f39c12}@media(prefers-reduced-motion:reduce){.card-enter-active{animation:none}.confetti-piece{animation:none;opacity:0}.win-overlay,.win-modal,.pulse-gold,.pulse-white,.foundation-landing{animation:none}}.mobile-only{display:none}.desktop-only{display:flex}@media(max-width:600px){.mobile-only{display:flex}.desktop-only{display:none}.controls{gap:4px}.btn{padding:6px 10px;font-size:.75rem;min-height:44px;min-width:44px}.btn .shortcut{display:none}.scoreboard{gap:10px}.scoreboard .score-item .score-value{font-size:1rem}.win-modal{padding:24px 16px}.win-title{font-size:1.8rem}}
