:root{--bg: #f0f2f5;--surface: #ffffff;--text: #1a1a2e;--text-muted: #6b7280;--accent: #e94560;--accent-hover: #c81e45;--grid-cell: #e8eaed;--grid-border: #d1d5db;--overlay-bg: rgba(0, 0, 0, .5);--card-shadow: rgba(0, 0, 0, .15);--theme-grid-bg: #f0f2f5;--theme-cell: #e8eaed;--theme-cell-border: #d1d5db;--theme-accent: #e94560;--theme-surface: #ffffff;--theme-text: #1a1a2e;--theme-text-muted: #6b7280;--theme-bg: #f0f2f5;font-family:system-ui,-apple-system,sans-serif;color:var(--text);background-color:var(--bg);line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg: #1a1a2e;--surface: #16213e;--text: #e2e8f0;--text-muted: #94a3b8;--accent: #ff6b81;--accent-hover: #ff4757;--grid-cell: #2a2a4a;--grid-border: #3a3a5c;--overlay-bg: rgba(0, 0, 0, .7);--card-shadow: rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100dvh;overscroll-behavior:none;overscroll-behavior-y:none;overflow-x:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);transition:background-color .3s ease,color .3s ease}body{display:flex;justify-content:center;align-items:flex-start;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#app{width:100%;max-width:480px;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:1rem 16px}.game-elements{user-select:none;-webkit-user-select:none}.zone-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}.zone-fade-enter-active,.zone-fade-leave-active{transition:opacity 5s ease}.zone-fade-enter-from,.zone-fade-leave-to{opacity:0}.zone-dawn{--zone-grid-bg: var(--grid-cell);--zone-cell-border: var(--grid-border);--zone-block-glow: none;--zone-text-color: var(--text)}.zone-bg-dawn{background:linear-gradient(135deg,#ffecd2,#fcb69f,#ffeaa7)}:root[data-theme=dark] .zone-bg-dawn{background:linear-gradient(135deg,#2d1b14,#3d2017,#2d2514)}.zone-day{--zone-grid-bg: var(--grid-cell);--zone-cell-border: var(--grid-border);--zone-block-glow: none;--zone-text-color: var(--text)}.zone-bg-day{background:linear-gradient(180deg,#e0f7fa,#fffde7,#f1f8e9)}:root[data-theme=dark] .zone-bg-day{background:linear-gradient(180deg,#1a2a2e,#1e1e14,#1a2214)}.zone-golden-hour{--zone-grid-bg: rgba(255, 193, 7, .08);--zone-cell-border: rgba(255, 152, 0, .25);--zone-block-glow: 0 0 8px rgba(255, 193, 7, .4);--zone-text-color: var(--text)}.zone-bg-golden-hour{background:radial-gradient(ellipse at 50% 40%,#ffb347,#ff8c42,#e8751a 80%,#d35400);opacity:.35}:root[data-theme=dark] .zone-bg-golden-hour{background:radial-gradient(ellipse at 50% 40%,#3d2800,#2d1a00,#1a1000 80%,#0d0800);opacity:1}.zone-twilight{--zone-grid-bg: rgba(88, 28, 135, .1);--zone-cell-border: rgba(139, 92, 246, .3);--zone-block-glow: 0 0 10px rgba(139, 92, 246, .4);--zone-text-color: #e2e8f0}.zone-bg-twilight{background:linear-gradient(180deg,#1e1b4b,#312e81,#581c87 60%,#1e1b4b)}.zone-bg-twilight:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(1px 1px at 20% 15%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 60% 25%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 80% 10%,rgba(255,255,255,.4),transparent),radial-gradient(1.5px 1.5px at 40% 55%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 10% 70%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 90% 80%,rgba(255,255,255,.4),transparent),radial-gradient(1.5px 1.5px at 55% 90%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 30% 40%,rgba(255,255,255,.3),transparent)}:root[data-theme=dark] .zone-bg-twilight{background:linear-gradient(180deg,#0f0a2e,#1a1450,#2d1060 60%,#0f0a2e)}.zone-night{--zone-grid-bg: rgba(15, 23, 42, .6);--zone-cell-border: rgba(100, 120, 255, .25);--zone-block-glow: 0 0 12px rgba(100, 200, 255, .5);--zone-text-color: #e2e8f0}.zone-bg-night{background:#0a0e1a}.zone-bg-night:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(1px 1px at 10% 10%,#fff,transparent),radial-gradient(1.5px 1.5px at 25% 35%,#e0e7ff,transparent),radial-gradient(1px 1px at 45% 15%,#fff,transparent),radial-gradient(2px 2px at 60% 60%,#c7d2fe,transparent),radial-gradient(1px 1px at 75% 25%,#fff,transparent),radial-gradient(1.5px 1.5px at 85% 75%,#e0e7ff,transparent),radial-gradient(1px 1px at 15% 80%,#fff,transparent),radial-gradient(1px 1px at 50% 45%,#c7d2fe,transparent),radial-gradient(2px 2px at 35% 70%,#fff,transparent),radial-gradient(1px 1px at 70% 90%,#e0e7ff,transparent),radial-gradient(1.5px 1.5px at 92% 40%,#fff,transparent),radial-gradient(1px 1px at 5% 50%,#c7d2fe,transparent);animation:night-twinkle 4s ease-in-out infinite alternate}@keyframes night-twinkle{0%{opacity:.7}to{opacity:1}}.zone-aurora{--zone-grid-bg: rgba(0, 200, 150, .08);--zone-cell-border: rgba(0, 255, 128, .2);--zone-block-glow: 0 0 14px rgba(0, 255, 128, .5);--zone-text-color: #e2e8f0}.zone-bg-aurora{background:linear-gradient(180deg,#0a0e2a,#0d1b2a)}.zone-bg-aurora:before{content:"";position:absolute;top:0;left:-50%;width:200%;height:100%;background:linear-gradient(120deg,transparent 20%,rgba(0,255,128,.12) 30%,rgba(100,200,255,.1) 40%,rgba(200,100,255,.08) 50%,rgba(0,200,200,.1) 60%,transparent 70%);animation:aurora-shift 8s ease-in-out infinite alternate}.zone-bg-aurora:after{content:"";position:absolute;top:10%;left:-30%;width:160%;height:60%;background:linear-gradient(100deg,transparent 25%,rgba(0,200,128,.15) 35%,rgba(100,255,200,.1) 45%,rgba(150,100,255,.12) 55%,transparent 65%);animation:aurora-shift 12s ease-in-out infinite alternate-reverse;filter:blur(30px)}@keyframes aurora-shift{0%{transform:translate(-10%)}to{transform:translate(10%)}}.zone-cosmos{--zone-grid-bg: rgba(20, 10, 40, .5);--zone-cell-border: rgba(200, 180, 255, .25);--zone-block-glow: 0 0 16px rgba(200, 150, 255, .6);--zone-text-color: #e8e0ff}.zone-bg-cosmos{background:#05050f}.zone-bg-cosmos:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 30% 20%,rgba(100,50,200,.2) 0%,transparent 50%),radial-gradient(ellipse at 70% 60%,rgba(200,50,150,.15) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(50,100,200,.15) 0%,transparent 40%);animation:cosmos-nebula 15s ease-in-out infinite alternate}.zone-bg-cosmos:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(1px 1px at 12% 8%,#fff,transparent),radial-gradient(1.5px 1.5px at 28% 42%,#e0d0ff,transparent),radial-gradient(1px 1px at 48% 12%,#fff,transparent),radial-gradient(2px 2px at 65% 55%,#d0e0ff,transparent),radial-gradient(1px 1px at 78% 22%,#fff,transparent),radial-gradient(1.5px 1.5px at 88% 72%,#ffe0f0,transparent),radial-gradient(1px 1px at 18% 78%,#fff,transparent),radial-gradient(1px 1px at 52% 42%,#e0d0ff,transparent),radial-gradient(2px 2px at 38% 68%,#fff,transparent),radial-gradient(1px 1px at 72% 88%,#d0e0ff,transparent),radial-gradient(1.5px 1.5px at 95% 38%,#fff,transparent),radial-gradient(1px 1px at 8% 48%,#ffe0f0,transparent)}@keyframes cosmos-nebula{0%{transform:scale(1) rotate(0);opacity:.8}50%{opacity:1}to{transform:scale(1.05) rotate(2deg);opacity:.8}}.zone-golden-hour .grid-cell:not(.occupied){background-color:var(--zone-grid-bg, var(--grid-cell));border-color:var(--zone-cell-border, var(--grid-border))}.zone-twilight .grid-cell:not(.occupied),.zone-night .grid-cell:not(.occupied),.zone-aurora .grid-cell:not(.occupied),.zone-cosmos .grid-cell:not(.occupied){background-color:var(--zone-grid-bg, var(--grid-cell));border-color:var(--zone-cell-border, var(--grid-border))}.zone-night .grid-cell.occupied,.zone-golden-hour .grid-cell.occupied,.zone-twilight .grid-cell.occupied,.zone-aurora .grid-cell.occupied{box-shadow:var(--zone-block-glow, none),inset 0 -2px #00000026!important}.zone-cosmos .grid-cell.occupied{box-shadow:var(--zone-block-glow, none),inset 0 -2px #00000026!important;border:1px solid rgba(200,180,255,.4)}.zone-announcement{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(1.5rem,6vw,2.5rem);font-weight:800;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.5),0 0 40px rgba(255,255,255,.3);pointer-events:none;z-index:60;animation:zone-announce 3s ease-out forwards;white-space:nowrap;letter-spacing:1px}@keyframes zone-announce{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}30%{transform:translate(-50%,-50%) scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) translateY(-20px) scale(.95)}}.zone-indicator{display:flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;color:var(--text-muted);padding:.2rem .6rem;border-radius:12px;background:var(--surface);box-shadow:0 1px 3px var(--card-shadow);transition:opacity .5s ease,background-color .3s ease;white-space:nowrap}.zone-indicator-enter{animation:zone-indicator-in .5s ease-out}@keyframes zone-indicator-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.zone-twilight .game-title,.zone-night .game-title,.zone-aurora .game-title,.zone-cosmos .game-title{color:var(--zone-text-color, var(--accent))}.zone-twilight .score-label,.zone-night .score-label,.zone-aurora .score-label,.zone-cosmos .score-label{color:#e2e8f099}.zone-twilight .score-value.best,.zone-night .score-value.best,.zone-aurora .score-value.best,.zone-cosmos .score-value.best{color:#e2e8f080}.zone-twilight .score-block,.zone-night .score-block,.zone-aurora .score-block,.zone-cosmos .score-block{background:#1e1e3ccc;box-shadow:0 1px 3px #0000004d}.zone-twilight .zone-indicator,.zone-night .zone-indicator,.zone-aurora .zone-indicator,.zone-cosmos .zone-indicator{background:#1e1e3ccc;color:#e2e8f0b3}.zone-twilight .stats-btn,.zone-night .stats-btn,.zone-aurora .stats-btn,.zone-cosmos .stats-btn{background:#1e1e3ccc}.grid-wrapper[data-v-d5358551]{width:100%;max-width:400px;padding:0}.grid[data-v-d5358551]{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:100%}.grid-cell[data-v-d5358551]{aspect-ratio:1;background-color:var(--grid-cell);border:1px solid var(--grid-border);border-radius:4px;transition:background-color .1s ease,box-shadow .15s ease,border-color .3s ease;will-change:transform,opacity;min-width:0;min-height:0}.grid-cell.occupied[data-v-d5358551]{border-color:transparent}.grid-cell.preview-valid[data-v-d5358551]{background-color:#22c55e66;border-color:#22c55e99;box-shadow:0 0 8px #22c55e80}.grid-cell.preview-invalid[data-v-d5358551]{background-color:#ef444466;border-color:#ef444499}.grid-cell.near-miss[data-v-d5358551]{border-color:#e9456059;box-shadow:inset 0 0 0 1px #e945601a}.grid-cell.clearing[data-v-d5358551]{animation:cell-clear-d5358551 .35s ease-out forwards}.grid-cell.invalid-flash[data-v-d5358551]{animation:cell-invalid-flash-d5358551 .2s ease-out}@keyframes cell-invalid-flash-d5358551{0%{background-color:#ef444499!important}to{background-color:var(--grid-cell)}}.grid-cell.just-placed[data-v-d5358551]{animation:cell-pop-in-d5358551 .25s cubic-bezier(.34,1.56,.64,1) both}@keyframes cell-pop-in-d5358551{0%{transform:scale(0);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes cell-clear-d5358551{0%{transform:scale(1);opacity:1}20%{background-color:var(--surface)!important;transform:scale(1.15);opacity:1}to{transform:scale(.8);opacity:0}}.grid.undo-flash[data-v-d5358551]{animation:undo-grid-flash-d5358551 .35s ease-out}@keyframes undo-grid-flash-d5358551{0%{opacity:.4}50%{opacity:1}to{opacity:1}}.tray[data-v-c61338c6]{display:flex;justify-content:center;align-items:center;gap:clamp(.5rem,3vw,1.5rem);width:100%;max-width:400px;padding:.75rem 0}.tray-piece[data-v-c61338c6]{display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:8px;background-color:var(--surface);transition:opacity .25s ease,transform .25s ease,background-color .3s ease;cursor:pointer;touch-action:none;will-change:transform,opacity;min-height:44px;min-width:44px}.tray-piece.placed[data-v-c61338c6]{opacity:0;pointer-events:none}.tray-piece.dragging[data-v-c61338c6]{opacity:.3}.tray-piece.selected[data-v-c61338c6]{box-shadow:0 0 0 2px var(--accent),0 0 8px #e9456080}.piece-grid[data-v-c61338c6]{display:grid;gap:2px}.piece-cell[data-v-c61338c6]{width:clamp(16px,5vw,20px);height:clamp(16px,5vw,20px);border-radius:3px}.tray-piece.invalid-shake[data-v-c61338c6]{animation:piece-shake-c61338c6 .3s ease}.tray-piece.tray-enter[data-v-c61338c6]{animation:tray-slide-up-c61338c6 .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes tray-slide-up-c61338c6{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes piece-shake-c61338c6{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.drag-grid[data-v-6a6f41ba]{display:grid;gap:2px;width:100%;height:100%}.drag-cell[data-v-6a6f41ba]{border-radius:4px}.score-header[data-v-120940ec]{display:flex;gap:clamp(.5rem,2vw,1rem);justify-content:center;align-items:center;width:100%;max-width:400px;position:relative;flex-wrap:wrap}.zone-indicator[data-v-120940ec]{width:100%;text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);transition:color .3s ease}.zone-indicator-enter[data-v-120940ec]{animation:zone-pop-120940ec .5s cubic-bezier(.34,1.56,.64,1)}@keyframes zone-pop-120940ec{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.score-block[data-v-120940ec]{display:flex;flex-direction:column;align-items:center;min-width:80px;padding:.4rem 1rem;background:var(--surface);border-radius:8px;box-shadow:0 1px 3px var(--card-shadow);transition:background-color .3s ease,box-shadow .3s ease;flex:1}.score-label[data-v-120940ec]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.score-value[data-v-120940ec]{font-size:clamp(1.1rem,4vw,1.4rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;will-change:transform}.score-value.current[data-v-120940ec]{color:var(--accent)}.score-value.best[data-v-120940ec]{color:var(--text-muted)}.streak-indicator[data-v-120940ec]{font-size:1.1rem;font-weight:800;color:var(--accent);padding:.3rem .6rem;border-radius:6px;transition:opacity .3s ease,box-shadow .3s ease;min-width:48px;text-align:center}.streak-indicator.dimmed[data-v-120940ec]{opacity:.25}.streak-indicator.active[data-v-120940ec]{opacity:1;animation:streak-pulse-120940ec 1s ease-in-out infinite;box-shadow:0 0 8px #e9456066}.score-value.score-bounce[data-v-120940ec]{animation:score-pulse-120940ec .3s cubic-bezier(.34,1.56,.64,1)}@keyframes score-pulse-120940ec{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes streak-pulse-120940ec{0%,to{box-shadow:0 0 8px #e9456066}50%{box-shadow:0 0 16px #e94560b3}}.undo-btn[data-v-120940ec]{position:absolute;right:-3rem;display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:none;border-radius:50%;background:var(--surface);box-shadow:0 1px 4px #0000001f;font-size:1.2rem;color:var(--accent);cursor:pointer;transition:transform .15s ease,opacity .2s ease;animation:undo-fade-in-120940ec .25s ease}.undo-btn[data-v-120940ec]:hover{transform:scale(1.1)}.undo-btn[data-v-120940ec]:active{transform:scale(.95)}@keyframes undo-fade-in-120940ec{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.play-streak-btn[data-v-120940ec]{display:flex;align-items:center;gap:.25rem;padding:.3rem .6rem;background:var(--surface);border:none;border-radius:8px;box-shadow:0 1px 3px #00000014;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .15s ease;min-height:36px}.play-streak-btn[data-v-120940ec]:hover{box-shadow:0 2px 6px #0000001f}.play-streak-btn[data-v-120940ec]:active{transform:scale(.96)}.play-streak-icon[data-v-120940ec]{font-size:1rem;line-height:1}.play-streak-text[data-v-120940ec]{font-size:.7rem;font-weight:700;color:var(--text-muted);white-space:nowrap}.play-streak-btn.active .play-streak-text[data-v-120940ec]{color:var(--accent)}.stats-btn[data-v-120940ec]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--surface);border:none;border-radius:8px;box-shadow:0 1px 3px #00000014;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.stats-btn[data-v-120940ec]:hover{background:#f3f4f6;box-shadow:0 2px 6px #0000001f}.stats-icon[data-v-120940ec]{font-size:1.1rem;line-height:1}.overlay[data-v-f75c26de]{position:fixed;inset:0;background:var(--overlay-bg);z-index:10;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:1rem}.card[data-v-f75c26de]{background:var(--surface);padding:1.5rem;border-radius:16px;box-shadow:0 8px 32px var(--card-shadow);text-align:center;width:100%;max-width:320px;opacity:0;transform:scale(.85);transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1)}.card.visible[data-v-f75c26de]{opacity:1;transform:scale(1)}.title[data-v-f75c26de]{font-size:1.5rem;font-weight:800;color:var(--text);margin-bottom:.5rem}.daily-sub[data-v-f75c26de]{font-size:.85rem;color:var(--text-muted);margin-bottom:.8rem}.tier-display[data-v-f75c26de]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.tier-emoji[data-v-f75c26de]{font-size:2rem}.tier-label[data-v-f75c26de]{font-size:1rem;font-weight:700;color:var(--text)}.scores[data-v-f75c26de]{margin-bottom:1rem}.score-row[data-v-f75c26de]{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0}.score-row .label[data-v-f75c26de]{font-size:.9rem;color:var(--text-muted)}.score-row .value[data-v-f75c26de]{font-size:1.1rem;font-weight:700}.score-row .value.accent[data-v-f75c26de]{color:var(--accent)}.score-row .value.muted[data-v-f75c26de]{color:var(--text-muted)}.share-btn[data-v-f75c26de]{width:100%;padding:.65rem 1.5rem;font-size:1rem;font-weight:700;color:var(--accent);background:transparent;border:2px solid var(--accent);border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease;margin-bottom:.5rem}.share-btn[data-v-f75c26de]:hover{background:var(--accent);color:#fff}.back-to-free[data-v-f75c26de]{width:100%;margin-top:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:color .15s ease}.back-to-free[data-v-f75c26de]:hover{color:var(--text)}.final-score[data-v-f75c26de]{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.score-value[data-v-f75c26de]{font-size:2.2rem;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.1}.score-label[data-v-f75c26de]{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.stars-section[data-v-f75c26de]{margin-bottom:1rem;animation:section-fade-f75c26de .3s ease both}.stars-row[data-v-f75c26de]{display:flex;justify-content:center;gap:.3rem;position:relative}.star[data-v-f75c26de]{font-size:2rem;color:var(--text-muted);opacity:.3;transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1),color .3s ease;transform:scale(.8)}.star.filled[data-v-f75c26de]{color:gold;opacity:1;transform:scale(1);animation:star-pop-f75c26de .4s cubic-bezier(.34,1.56,.64,1) both;filter:drop-shadow(0 0 4px rgba(255,215,0,.5))}.star.golden[data-v-f75c26de]{animation:star-pop-f75c26de .4s cubic-bezier(.34,1.56,.64,1) both,golden-glow-f75c26de 1s ease-in-out .4s infinite alternate}.star.crown-star[data-v-f75c26de]{animation:crown-reform-f75c26de .6s cubic-bezier(.34,1.56,.64,1) both}.star-icon[data-v-f75c26de]{display:block}.burst-particles[data-v-f75c26de]{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none}.burst-particle[data-v-f75c26de]{position:absolute;width:var(--size);height:var(--size);border-radius:50%;background:var(--color);animation:burst-f75c26de .7s ease-out both}@keyframes burst-f75c26de{0%{transform:translate(-50%,-50%) rotate(0);opacity:1}to{transform:translate(calc(cos(var(--angle)) * var(--dist) - 50%),calc(sin(var(--angle)) * var(--dist) - 50%));opacity:0}}.new-best-banner[data-v-f75c26de]{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.5rem;animation:best-reveal-f75c26de .5s cubic-bezier(.34,1.56,.64,1) both}.crown-icon[data-v-f75c26de]{font-size:1.5rem;animation:crown-bounce-f75c26de .8s ease-in-out infinite alternate}.new-best-text[data-v-f75c26de]{font-size:1.1rem;font-weight:800;background:linear-gradient(135deg,gold,#ff8c42,gold);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer-f75c26de 2s linear infinite}.highlights-section[data-v-f75c26de]{margin-bottom:1rem;display:flex;flex-direction:column;gap:.35rem}.highlight[data-v-f75c26de]{font-size:.85rem;font-weight:600;color:var(--text);padding:.35rem .75rem;background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:8px;animation:highlight-slide-f75c26de .3s ease both}.progress-section[data-v-f75c26de]{margin-bottom:1.2rem;animation:section-fade-f75c26de .3s ease both}.rank-info[data-v-f75c26de]{display:flex;justify-content:space-between;margin-bottom:.3rem}.current-rank[data-v-f75c26de]{font-size:.8rem;font-weight:700;color:var(--accent)}.next-rank[data-v-f75c26de]{font-size:.8rem;font-weight:600;color:var(--text-muted)}.next-rank.maxed[data-v-f75c26de]{color:gold}.progress-bar[data-v-f75c26de]{height:8px;background:color-mix(in srgb,var(--text-muted) 20%,transparent);border-radius:4px;overflow:hidden;margin-bottom:.4rem}.progress-fill[data-v-f75c26de]{height:100%;background:linear-gradient(90deg,var(--accent),#ffd700);border-radius:4px;transition:width .8s cubic-bezier(.22,1,.36,1)}.progress-label[data-v-f75c26de]{font-size:.75rem;color:var(--text-muted)}.progress-label strong[data-v-f75c26de]{color:var(--text)}.total-score-label[data-v-f75c26de]{font-size:.7rem;color:var(--text-muted);margin-top:.2rem;opacity:.7}.play-again[data-v-f75c26de]{width:100%;padding:.75rem 1.5rem;font-size:1.1rem;font-weight:700;color:#fff;background:var(--accent);border:none;border-radius:10px;cursor:pointer;transition:background .15s ease,transform .1s ease;animation:section-fade-f75c26de .3s ease both}.play-again[data-v-f75c26de]:hover{background:var(--accent-hover)}.play-again[data-v-f75c26de]:active{transform:scale(.97)}@keyframes star-pop-f75c26de{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}@keyframes golden-glow-f75c26de{0%{filter:drop-shadow(0 0 4px rgba(255,215,0,.5))}to{filter:drop-shadow(0 0 12px rgba(255,215,0,.8)) drop-shadow(0 0 20px rgba(255,215,0,.3))}}@keyframes crown-reform-f75c26de{0%{transform:scale(1) translateY(0)}40%{transform:scale(.6) translateY(-8px)}to{transform:scale(1.1) translateY(-2px)}}@keyframes best-reveal-f75c26de{0%{opacity:0;transform:scale(.5) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes crown-bounce-f75c26de{0%{transform:translateY(0) rotate(-5deg)}to{transform:translateY(-3px) rotate(5deg)}}@keyframes shimmer-f75c26de{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes section-fade-f75c26de{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes highlight-slide-f75c26de{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.overlay-enter-active[data-v-f75c26de]{transition:opacity .4s ease}.overlay-enter-from[data-v-f75c26de]{opacity:0}.tutorial-overlay[data-v-764363e4]{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:200}.tutorial-card[data-v-764363e4]{background:var(--surface);border-radius:16px;padding:2rem 1.5rem;max-width:320px;width:90%;text-align:center;box-shadow:0 8px 32px var(--card-shadow);transition:background-color .3s ease}.tutorial-step[data-v-764363e4]{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem;font-weight:600}.tutorial-text[data-v-764363e4]{font-size:1.15rem;font-weight:600;color:var(--text);line-height:1.5;margin-bottom:1.5rem;min-height:3.5em}.tutorial-actions[data-v-764363e4]{display:flex;justify-content:space-between;gap:1rem}.tutorial-skip[data-v-764363e4]{background:none;border:none;color:var(--text-muted);font-size:.95rem;cursor:pointer;padding:.5rem 1rem}.tutorial-next[data-v-764363e4]{background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;padding:.5rem 1.5rem;cursor:pointer}.tutorial-next[data-v-764363e4]:active{opacity:.8}.tutorial-fade-enter-active[data-v-764363e4],.tutorial-fade-leave-active[data-v-764363e4]{transition:opacity .3s ease}.tutorial-fade-enter-from[data-v-764363e4],.tutorial-fade-leave-to[data-v-764363e4]{opacity:0}.theme-toggle[data-v-b623f1e7]{background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-muted);opacity:.6;transition:opacity .2s ease,color .3s ease}.theme-toggle[data-v-b623f1e7]:hover{opacity:1}.icon[data-v-b623f1e7]{width:20px;height:20px;display:block}.overlay[data-v-422b2f8b]{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.card[data-v-422b2f8b]{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 8px 32px #00000026;width:100%;max-width:360px;max-height:90vh;overflow-y:auto}.header[data-v-422b2f8b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}.title[data-v-422b2f8b]{font-size:1.5rem;font-weight:800;color:var(--text)}.close-btn[data-v-422b2f8b]{background:none;border:none;font-size:1.6rem;color:#6b7280;cursor:pointer;padding:0 .2rem;line-height:1;transition:color .15s ease}.close-btn[data-v-422b2f8b]:hover{color:var(--text)}.stats-grid[data-v-422b2f8b]{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.stat-card[data-v-422b2f8b]{display:flex;flex-direction:column;align-items:center;padding:.7rem .5rem;background:var(--bg);border-radius:8px;text-align:center}.stat-value[data-v-422b2f8b]{font-size:1.3rem;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.3}.stat-label[data-v-422b2f8b]{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;margin-top:.15rem}.badge[data-v-422b2f8b]{display:inline-block;font-size:.55rem;font-weight:700;color:#fff;background:var(--accent);padding:.1rem .35rem;border-radius:4px;vertical-align:middle;margin-left:.2rem;animation:pulse-text-422b2f8b .6s ease-in-out infinite alternate}@keyframes pulse-text-422b2f8b{0%{opacity:.7}to{opacity:1}}.reset-section[data-v-422b2f8b]{margin-top:1.2rem;text-align:center}.reset-btn[data-v-422b2f8b]{padding:.5rem 1.2rem;font-size:.85rem;font-weight:600;color:#6b7280;background:none;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:all .15s ease}.reset-btn[data-v-422b2f8b]:hover{color:var(--accent);border-color:var(--accent)}.reset-btn.confirm[data-v-422b2f8b]{color:#fff;background:var(--accent);border-color:var(--accent)}.reset-btn.confirm[data-v-422b2f8b]:hover{background:#c81e45}.confirm-text[data-v-422b2f8b]{font-size:.85rem;color:#6b7280;margin-bottom:.6rem}.confirm-btns[data-v-422b2f8b]{display:flex;gap:.5rem;justify-content:center}.cancel-btn[data-v-422b2f8b]{padding:.5rem 1.2rem;font-size:.85rem;font-weight:600;color:#6b7280;background:none;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:all .15s ease}.cancel-btn[data-v-422b2f8b]:hover{color:var(--text);border-color:#9ca3af}.overlay-enter-active[data-v-422b2f8b]{transition:opacity .3s ease}.overlay-enter-from[data-v-422b2f8b]{opacity:0}.overlay-leave-active[data-v-422b2f8b]{transition:opacity .2s ease}.overlay-leave-to[data-v-422b2f8b]{opacity:0}.milestone-container[data-v-7e5ce7c7]{position:fixed;top:10%;left:50%;transform:translate(-50%);z-index:60;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.5rem}.milestone[data-v-7e5ce7c7]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.2rem;border-radius:24px;font-weight:800;font-size:1.2rem;white-space:nowrap;animation:milestone-enter-7e5ce7c7 .35s cubic-bezier(.34,1.56,.64,1) both;transition:opacity .3s ease,transform .3s ease}.milestone.leaving[data-v-7e5ce7c7]{opacity:0;transform:translateY(-20px) scale(.9)}.milestone-emoji[data-v-7e5ce7c7]{font-size:1.4rem}.milestone-sparkle[data-v-7e5ce7c7]{background:#fffffff2;color:#6b7280;box-shadow:0 2px 12px #0000001a,0 0 20px #ffd70033}.milestone-fire[data-v-7e5ce7c7]{background:linear-gradient(135deg,#ff6b35,#e94560);color:#fff;box-shadow:0 2px 16px #e9456066}.milestone-gold[data-v-7e5ce7c7]{background:linear-gradient(135deg,gold,#fa0);color:#4a2800;box-shadow:0 2px 20px #ffd70080;animation:milestone-enter-7e5ce7c7 .35s cubic-bezier(.34,1.56,.64,1) both,gold-flash-7e5ce7c7 .6s ease-in-out .3s}.milestone-fireworks[data-v-7e5ce7c7]{background:linear-gradient(135deg,#a855f7,#6366f1);color:#fff;box-shadow:0 2px 24px #a855f780}.milestone-aurora[data-v-7e5ce7c7]{background:linear-gradient(135deg,#22c55e,#3b82f6,#a855f7);color:#fff;box-shadow:0 2px 24px #3b82f666}.milestone-crystal[data-v-7e5ce7c7]{background:linear-gradient(135deg,#e0f2fe,#c4b5fd,#fecdd3);color:#4338ca;box-shadow:0 2px 28px #c4b5fd99,0 0 40px #ffd70026}:root[data-theme=dark] .milestone-sparkle[data-v-7e5ce7c7]{background:#1e1e3cf2;color:#e2e8f0;box-shadow:0 2px 12px #0000004d,0 0 20px #ffd7004d}@keyframes milestone-enter-7e5ce7c7{0%{opacity:0;transform:translateY(20px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gold-flash-7e5ce7c7{0%,to{box-shadow:0 2px 20px #ffd70080}50%{box-shadow:0 2px 40px #ffd700cc,0 0 60px #ffd70066}}.daily-btn[data-v-4f6716e1]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface);border:2px solid var(--accent);border-radius:10px;cursor:pointer;transition:background .15s ease,transform .15s ease;touch-action:manipulation}.daily-btn[data-v-4f6716e1]:hover{background:var(--accent)}.daily-btn:hover .daily-label[data-v-4f6716e1],.daily-btn:hover .daily-date[data-v-4f6716e1]{color:#fff}.daily-btn[data-v-4f6716e1]:active{transform:scale(.97)}.daily-label[data-v-4f6716e1]{font-size:.9rem;font-weight:700;color:var(--accent);transition:color .15s ease}.daily-date[data-v-4f6716e1]{font-size:.8rem;font-weight:600;color:var(--text-muted);transition:color .15s ease}.daily-check[data-v-4f6716e1]{font-size:.85rem;font-weight:700;color:var(--accent)}.calendar[data-v-b787623c]{width:100%;max-width:260px;padding:.75rem;background:var(--surface);border-radius:10px;box-shadow:0 1px 4px var(--card-shadow)}.calendar-title[data-v-b787623c]{text-align:center;font-size:.8rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.calendar-grid[data-v-b787623c]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.day-label[data-v-b787623c]{font-size:.6rem;font-weight:600;color:var(--text-muted);padding:2px 0}.day-cell[data-v-b787623c]{position:relative;font-size:.7rem;color:var(--text-muted);padding:3px 0;line-height:1.4;border-radius:4px}.day-cell.blank[data-v-b787623c]{visibility:hidden}.day-cell.today[data-v-b787623c]{font-weight:700;color:var(--accent)}.day-cell.completed[data-v-b787623c]{font-weight:600;color:var(--text)}.dot[data-v-b787623c]{display:block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin:1px auto 0}.streak-overlay[data-v-a929ee0f]{position:fixed;inset:0;background:var(--overlay-bg);z-index:100;display:flex;align-items:center;justify-content:center}.streak-card[data-v-a929ee0f]{background:var(--surface);padding:1.5rem;border-radius:16px;box-shadow:0 8px 32px var(--card-shadow);text-align:center;min-width:260px;max-width:320px;position:relative}.close-btn[data-v-a929ee0f]{position:absolute;top:.5rem;right:.75rem;background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;line-height:1}.streak-hero[data-v-a929ee0f]{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:1.25rem}.streak-big-icon[data-v-a929ee0f]{font-size:3rem;line-height:1;animation:streak-icon-bob-a929ee0f 2s ease-in-out infinite}.streak-days[data-v-a929ee0f]{font-size:2.5rem;font-weight:800;color:var(--accent);line-height:1}.streak-days-label[data-v-a929ee0f]{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600}.streak-stats[data-v-a929ee0f]{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.stat-row[data-v-a929ee0f]{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:var(--bg);border-radius:8px}.stat-label[data-v-a929ee0f]{font-size:.8rem;color:var(--text-muted)}.stat-value[data-v-a929ee0f]{font-size:.9rem;font-weight:700;color:var(--text)}.freeze-dot[data-v-a929ee0f]{font-size:.9rem;opacity:.25;transition:opacity .2s}.freeze-dot.active[data-v-a929ee0f]{opacity:1}.streak-hint[data-v-a929ee0f]{font-size:.75rem;color:var(--text-muted);line-height:1.4}@keyframes streak-icon-bob-a929ee0f{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.streak-popup-enter-active[data-v-a929ee0f]{transition:opacity .25s ease}.streak-popup-enter-from[data-v-a929ee0f]{opacity:0}.streak-popup-leave-active[data-v-a929ee0f]{transition:opacity .2s ease}.streak-popup-leave-to[data-v-a929ee0f]{opacity:0}.streak-popup-enter-active .streak-card[data-v-a929ee0f]{animation:card-pop-a929ee0f .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes card-pop-a929ee0f{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.weekly-panel[data-v-19023476]{width:100%;max-width:400px;background:var(--surface);border-radius:10px;box-shadow:0 1px 3px var(--card-shadow);overflow:hidden;transition:background-color .3s ease}.weekly-header[data-v-19023476]{width:100%;display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;background:none;border:none;cursor:pointer;color:var(--text);font-size:.85rem;font-weight:700}.weekly-title[data-v-19023476]{flex:1;text-align:left}.weekly-count[data-v-19023476]{font-size:.75rem;color:var(--text-muted);font-weight:600}.weekly-arrow[data-v-19023476]{font-size:.7rem;color:var(--text-muted);transition:transform .2s ease}.weekly-arrow.collapsed[data-v-19023476]{transform:rotate(-90deg)}.weekly-body[data-v-19023476]{padding:0 .8rem .6rem;display:flex;flex-direction:column;gap:.5rem}.goal-row[data-v-19023476]{display:flex;align-items:center;gap:.5rem;transition:opacity .2s}.goal-info[data-v-19023476]{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0}.check-mark[data-v-19023476]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#6bc77a;color:#fff;font-size:.65rem;font-weight:700;flex-shrink:0}.check-empty[data-v-19023476]{display:inline-block;width:18px;height:18px;border-radius:50%;border:2px solid var(--grid-border);flex-shrink:0}.goal-text[data-v-19023476]{font-size:.75rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-text.done[data-v-19023476]{color:var(--text-muted);text-decoration:line-through}.goal-bar-wrap[data-v-19023476]{width:60px;height:6px;background:var(--grid-cell);border-radius:3px;overflow:hidden;flex-shrink:0}.goal-bar[data-v-19023476]{height:100%;border-radius:3px;transition:width .4s ease}.goal-progress[data-v-19023476]{font-size:.65rem;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:32px;text-align:right;flex-shrink:0}.goal-row.just-completed .check-mark[data-v-19023476]{animation:check-pop-19023476 .4s cubic-bezier(.34,1.56,.64,1)}@keyframes check-pop-19023476{0%{transform:scale(0)}60%{transform:scale(1.4)}to{transform:scale(1)}}.weekly-celebration[data-v-19023476]{text-align:center;font-size:.85rem;font-weight:700;color:var(--accent);padding:.3rem 0;animation:celebration-glow-19023476 1s ease-in-out}@keyframes celebration-glow-19023476{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.weekly-almost[data-v-19023476]{text-align:center;font-size:.8rem;font-weight:600;color:var(--text-muted);padding:.2rem 0}.resets-label[data-v-19023476]{font-size:.65rem;color:var(--text-muted);text-align:center;opacity:.7}.panel-slide-enter-active[data-v-19023476]{transition:max-height .25s ease,opacity .2s ease;max-height:300px;overflow:hidden}.panel-slide-enter-from[data-v-19023476]{max-height:0;opacity:0}.panel-slide-leave-active[data-v-19023476]{transition:max-height .2s ease,opacity .15s ease;overflow:hidden}.panel-slide-leave-to[data-v-19023476]{max-height:0;opacity:0}.rank-display[data-v-790faa33]{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:400px}.rank-info[data-v-790faa33]{display:flex;align-items:center;gap:6px}.rank-badge[data-v-790faa33]{display:flex;align-items:center;gap:4px;font-weight:800;font-size:.85rem}.rank-badge.unranked[data-v-790faa33]{color:var(--text-muted)}.rank-icon[data-v-790faa33]{font-size:1rem}.rank-name[data-v-790faa33]{letter-spacing:.5px;text-transform:uppercase;font-size:.75rem}.rank-progress-row[data-v-790faa33]{display:flex;align-items:center;gap:8px;width:100%;max-width:280px}.progress-bar-track[data-v-790faa33]{flex:1;height:6px;background:var(--grid-cell);border-radius:3px;overflow:hidden}.progress-bar-fill[data-v-790faa33]{height:100%;border-radius:3px;transition:width .5s ease}.progress-label[data-v-790faa33]{font-size:.6rem;font-weight:600;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.rankup-overlay[data-v-df80c02a]{position:fixed;inset:0;background:#000000d9;z-index:200;display:flex;align-items:center;justify-content:center;cursor:pointer}.rankup-content[data-v-df80c02a]{text-align:center;animation:rankup-zoom-df80c02a .6s cubic-bezier(.34,1.56,.64,1) both}.rankup-subtitle[data-v-df80c02a]{font-size:1rem;font-weight:700;color:gold;letter-spacing:4px;text-transform:uppercase;margin-bottom:1rem;animation:rankup-glow-df80c02a 1.5s ease-in-out infinite alternate}.rankup-icon[data-v-df80c02a]{font-size:4rem;margin-bottom:.5rem;animation:rankup-bounce-df80c02a 1s ease-in-out infinite alternate}.rankup-title[data-v-df80c02a]{font-size:clamp(2rem,10vw,3.5rem);font-weight:900;letter-spacing:2px;text-shadow:0 0 20px currentColor,0 0 40px currentColor}.rankup-letter[data-v-df80c02a]{display:inline-block;opacity:0;transform:translateY(20px) scale(.5);transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.rankup-letter.visible[data-v-df80c02a]{opacity:1;transform:translateY(0) scale(1)}.rankup-hint[data-v-df80c02a]{margin-top:2rem;font-size:.8rem;color:#fff6;animation:rankup-fade-df80c02a 2s ease-in-out infinite alternate}@keyframes rankup-zoom-df80c02a{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rankup-glow-df80c02a{0%{text-shadow:0 0 10px rgba(255,215,0,.5)}to{text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.3)}}@keyframes rankup-bounce-df80c02a{0%{transform:scale(1)}to{transform:scale(1.1)}}@keyframes rankup-fade-df80c02a{0%{opacity:.3}to{opacity:.6}}.rankup-enter-active[data-v-df80c02a]{transition:opacity .4s ease}.rankup-enter-from[data-v-df80c02a]{opacity:0}.rankup-leave-active[data-v-df80c02a]{transition:opacity .3s ease}.rankup-leave-to[data-v-df80c02a]{opacity:0}.overlay[data-v-4c7064b8]{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.panel[data-v-4c7064b8]{background:var(--surface);padding:1.5rem;border-radius:12px;box-shadow:0 8px 32px var(--card-shadow);width:100%;max-width:380px;max-height:85vh;overflow-y:auto}.panel-header[data-v-4c7064b8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-title[data-v-4c7064b8]{font-size:1.5rem;font-weight:800;color:var(--text)}.close-btn[data-v-4c7064b8]{background:none;border:none;font-size:1.6rem;color:var(--text-muted);cursor:pointer;padding:0 .2rem;line-height:1}.close-btn[data-v-4c7064b8]:hover{color:var(--text)}.section[data-v-4c7064b8]{margin-bottom:1.2rem}.section-title[data-v-4c7064b8]{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.6rem}.rank-card[data-v-4c7064b8]{display:flex;align-items:center;gap:8px;padding:.6rem 1rem;background:var(--bg);border-radius:8px;border-left:3px solid}.rank-icon-lg[data-v-4c7064b8]{font-size:1.5rem}.rank-name-lg[data-v-4c7064b8]{font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:1px}.theme-grid[data-v-4c7064b8]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.theme-swatch[data-v-4c7064b8]{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;padding:6px;border-radius:8px;border:2px solid transparent;transition:border-color .2s ease,opacity .2s ease}.theme-swatch.active[data-v-4c7064b8]{border-color:var(--accent)}.theme-swatch.locked[data-v-4c7064b8]{opacity:.6;cursor:default}.swatch-preview[data-v-4c7064b8]{width:100%;aspect-ratio:1;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden}.swatch-cells[data-v-4c7064b8]{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:6px;width:100%;height:100%}.swatch-cell[data-v-4c7064b8]{border-radius:2px;width:100%;height:100%}.lock-icon[data-v-4c7064b8]{font-size:1.2rem}.swatch-name[data-v-4c7064b8]{font-size:.65rem;font-weight:600;color:var(--text);text-align:center}.unlock-hint[data-v-4c7064b8]{font-size:.55rem;color:var(--text-muted);text-align:center;line-height:1.2}.style-grid[data-v-4c7064b8]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.style-card[data-v-4c7064b8]{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;padding:6px;border-radius:8px;border:2px solid transparent;transition:border-color .2s ease,opacity .2s ease}.style-card.active[data-v-4c7064b8]{border-color:var(--accent)}.style-card.locked[data-v-4c7064b8]{opacity:.6;cursor:default}.style-preview[data-v-4c7064b8]{width:36px;height:36px;display:flex;align-items:center;justify-content:center}.style-block[data-v-4c7064b8]{width:28px;height:28px}.style-name[data-v-4c7064b8]{font-size:.6rem;font-weight:600;color:var(--text);text-align:center}.overlay-enter-active[data-v-4c7064b8]{transition:opacity .3s ease}.overlay-enter-from[data-v-4c7064b8]{opacity:0}.overlay-leave-active[data-v-4c7064b8]{transition:opacity .2s ease}.overlay-leave-to[data-v-4c7064b8]{opacity:0}.overlay[data-v-4c9060cf]{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.gallery[data-v-4c9060cf]{background:var(--surface);padding:1.5rem;border-radius:12px;box-shadow:0 8px 32px var(--card-shadow);width:100%;max-width:380px;max-height:85vh;overflow-y:auto}.gallery-header[data-v-4c9060cf]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.gallery-title[data-v-4c9060cf]{font-size:1.5rem;font-weight:800;color:var(--text)}.close-btn[data-v-4c9060cf]{background:none;border:none;font-size:1.6rem;color:var(--text-muted);cursor:pointer;padding:0 .2rem;line-height:1}.close-btn[data-v-4c9060cf]:hover{color:var(--text)}.badge-list[data-v-4c9060cf]{display:flex;flex-direction:column;gap:8px}.badge-card[data-v-4c9060cf]{padding:.7rem;background:var(--bg);border-radius:8px;border-left:3px solid #555}.badge-top[data-v-4c9060cf]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.badge-icon[data-v-4c9060cf]{font-size:1.4rem}.badge-info[data-v-4c9060cf]{display:flex;flex-direction:column}.badge-name[data-v-4c9060cf]{font-size:.85rem;font-weight:700;color:var(--text);line-height:1.2}.badge-tier[data-v-4c9060cf]{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-desc[data-v-4c9060cf]{font-size:.65rem;color:var(--text-muted);margin-bottom:6px}.badge-progress-row[data-v-4c9060cf]{display:flex;align-items:center;gap:6px}.badge-progress-track[data-v-4c9060cf]{flex:1;height:4px;background:var(--grid-cell);border-radius:2px;overflow:hidden}.badge-progress-fill[data-v-4c9060cf]{height:100%;border-radius:2px;transition:width .4s ease}.badge-progress-text[data-v-4c9060cf]{font-size:.55rem;font-weight:600;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.badge-complete[data-v-4c9060cf]{font-size:.7rem;font-weight:700;color:gold}.overlay-enter-active[data-v-4c9060cf]{transition:opacity .3s ease}.overlay-enter-from[data-v-4c9060cf]{opacity:0}.overlay-leave-active[data-v-4c9060cf]{transition:opacity .2s ease}.overlay-leave-to[data-v-4c9060cf]{opacity:0}.achievement-toast[data-v-c059045e]{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:300;display:flex;align-items:center;gap:8px;padding:.6rem 1rem;background:var(--surface);border-radius:10px;border:2px solid;box-shadow:0 4px 16px var(--card-shadow);cursor:pointer;max-width:320px}.toast-icon[data-v-c059045e]{font-size:1.3rem}.toast-content[data-v-c059045e]{display:flex;flex-direction:column}.toast-title[data-v-c059045e]{font-size:.8rem;font-weight:700;color:var(--text);line-height:1.2}.toast-tier[data-v-c059045e]{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.toast-label[data-v-c059045e]{font-size:.55rem;font-weight:800;color:var(--accent);letter-spacing:1px;margin-left:auto}.toast-enter-active[data-v-c059045e]{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.toast-enter-from[data-v-c059045e]{opacity:0;transform:translate(-50%) translateY(-20px) scale(.9)}.toast-leave-active[data-v-c059045e]{transition:all .3s ease}.toast-leave-to[data-v-c059045e]{opacity:0;transform:translate(-50%) translateY(-10px)}.game-container[data-v-269e960a]{width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(.75rem,3vw,1.5rem);padding-top:clamp(.5rem,2vw,2rem);position:relative}.game-title[data-v-269e960a]{font-size:clamp(1.5rem,6vw,2rem);font-weight:800;color:var(--accent);letter-spacing:-.5px}.game-title.daily[data-v-269e960a]{font-size:clamp(1rem,4vw,1.4rem)}.daily-header[data-v-269e960a]{display:flex;align-items:center;gap:.5rem}.back-btn[data-v-269e960a]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:50%;background:var(--surface);box-shadow:0 1px 4px var(--card-shadow);font-size:1.1rem;color:var(--text-muted);cursor:pointer;transition:background .15s ease;touch-action:manipulation}.back-btn[data-v-269e960a]:hover{color:var(--accent)}.top-buttons[data-v-269e960a]{position:absolute;top:0;right:0;display:flex;gap:4px;align-items:center;z-index:5}.icon-btn[data-v-269e960a]{background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-muted);opacity:.6;transition:opacity .2s ease,color .3s ease}.icon-btn[data-v-269e960a]:hover{opacity:1}.btn-icon[data-v-269e960a]{width:20px;height:20px;display:block}.combo-popup[data-v-269e960a]{position:absolute;font-size:1.5rem;font-weight:800;color:var(--accent);text-shadow:0 1px 4px rgba(233,69,96,.3),0 0 8px rgba(233,69,96,.15);pointer-events:none;z-index:50;animation:combo-rise-269e960a .8s ease-out forwards;white-space:nowrap}.install-btn[data-v-269e960a]{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));right:16px;padding:.6rem 1.2rem;min-height:44px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;box-shadow:0 2px 8px #e9456066;z-index:100;touch-action:manipulation}.welcome-back-toast[data-v-269e960a],.milestone-toast[data-v-269e960a]{position:fixed;top:calc(16px + env(safe-area-inset-top));left:50%;transform:translate(-50%);padding:.6rem 1.2rem;background:var(--surface);color:var(--text);border-radius:10px;box-shadow:0 4px 16px var(--card-shadow);font-size:.9rem;font-weight:700;z-index:200;cursor:pointer;white-space:nowrap;animation:toast-in-269e960a .4s cubic-bezier(.34,1.56,.64,1)}.milestone-toast[data-v-269e960a]{display:flex;align-items:center;gap:.4rem}.milestone-emoji[data-v-269e960a]{font-size:1.3rem;animation:emoji-bounce-269e960a .6s ease-in-out}.zone-announcement[data-v-269e960a]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;font-weight:800;color:var(--accent);text-shadow:0 2px 8px rgba(0,0,0,.3);z-index:300;pointer-events:none;animation:zone-announce-269e960a 2s ease-out forwards;white-space:nowrap}@keyframes zone-announce-269e960a{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}60%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1) translateY(-20px)}}@keyframes toast-in-269e960a{0%{opacity:0;transform:translate(-50%) translateY(-20px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes emoji-bounce-269e960a{0%,to{transform:scale(1)}40%{transform:scale(1.4)}60%{transform:scale(.9)}80%{transform:scale(1.1)}}@keyframes combo-rise-269e960a{0%{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1)}50%{transform:translate(-50%,-50%) translateY(-20px) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) translateY(-60px) scale(1)}}
