:root,html[data-theme=dark]{--bg:#0f2433;--text:#eef6fb;--muted:#b0c3cf;--accent:#6f5cff}html[data-theme=light]{--bg:#f8f9fa;--text:#3d4a57;--muted:#7a8a98;--accent:#6f5cff}*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.container{max-width:900px;margin:0 auto;padding:0 28px}@media(min-width:1100px){.container{max-width:1000px}}html{--font-weight: 400;--font-width: 100%}@supports (animation-timeline: view()){.reveal{animation:revealScroll linear;animation-timeline:view();animation-range:entry 0% cover 30%}@keyframes revealScroll{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}}::view-transition-old(root){animation:fadeOut .3s ease-out}::view-transition-new(root){animation:fadeIn .3s ease-in}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}button{position:relative;overflow:hidden}button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff26;transform:translate(-50%,-50%);pointer-events:none}button:active:before{animation:ripple .6s ease-out}@keyframes ripple{0%{width:0;height:0;opacity:1}to{width:300px;height:300px;opacity:0}}.keyboard-hints-widget{position:fixed;top:24px;right:24px;width:280px;z-index:9999;background:linear-gradient(135deg,#0f283cf2,#0b2a3df2);border:1px solid rgba(124,92,255,.2);border-radius:14px;padding:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 40px #0006,0 0 30px #7c5cff1a;opacity:0;transform:translate(320px);pointer-events:none;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.keyboard-hints-widget.visible{opacity:1;transform:translate(0);pointer-events:all}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(124,92,255,.15)}.widget-header h3{margin:0;color:var(--text);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.widget-close{background:transparent;border:none;font-size:18px;color:var(--muted);cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.widget-close:hover{background:#7c5cff26;color:var(--text);transform:rotate(90deg)}.widget-body{max-height:400px;overflow-y:auto}.widget-body .shortcut-group{margin:0}.widget-body .shortcut-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px}.widget-body kbd{background:#7c5cff33;border:1px solid rgba(124,92,255,.4);border-radius:4px;padding:4px 8px;font-family:Courier New,monospace;font-weight:600;color:var(--accent);font-size:10px;white-space:nowrap;flex-shrink:0}.widget-body span{color:var(--muted);font-size:11px}.widget-body::-webkit-scrollbar{width:4px}.widget-body::-webkit-scrollbar-track{background:transparent}.widget-body::-webkit-scrollbar-thumb{background:#7c5cff4d;border-radius:2px}.widget-body::-webkit-scrollbar-thumb:hover{background:#7c5cff80}@media(max-width:480px){.keyboard-hints-widget{top:16px;right:16px;width:250px;padding:12px}.widget-header h3{font-size:12px}.widget-body .shortcut-item{font-size:11px}}@keyframes underlineGrow{0%{width:0}to{width:100%}}@keyframes letterSlideIn{0%{opacity:0;transform:translateY(20px) rotateX(90deg);filter:drop-shadow(0 0 0 rgba(124,92,255,0))}to{opacity:1;transform:translateY(0) rotateX(0);filter:drop-shadow(0 0 8px rgba(124,92,255,.3))}}@keyframes highlightPulse{0%{box-shadow:0 0 20px #7c5cff26,inset 0 0 15px #7c5cff0a,0 8px 24px #0000001a}50%{box-shadow:0 0 60px #7c5cff4d,inset 0 0 50px #7c5cff1f,0 8px 24px #0000001a}}@keyframes pulseSelected{0%{transform:scale(.95)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes wiggle{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(-1deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-3px) rotate(1deg)}}@keyframes slideInUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:80px 0;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative}.section:nth-child(2n){background:#ffffff05}.section.highlighted{background:#ffffff14;box-shadow:0 0 50px #7c5cff40,inset 0 0 40px #7c5cff14,0 8px 24px #0000001a;animation:highlightPulse .6s cubic-bezier(.34,1.56,.64,1)}.toast{position:fixed;bottom:24px;right:24px;background:linear-gradient(135deg,var(--accent),#5eead4);color:#071025;padding:12px 20px;border-radius:10px;font-weight:600;font-size:14px;z-index:1000;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 12px 28px #7c5cff33}.name-prompt{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(120px);z-index:9998;opacity:0;pointer-events:none;transition:all .5s cubic-bezier(.34,1.56,.64,1)}.name-prompt.visible{transform:translate(-50%) translateY(0);opacity:1;pointer-events:all}.name-prompt-inner{background:linear-gradient(135deg,#0f283cf5,#0b2a3df5);border:1px solid rgba(255,215,0,.2);border-radius:16px;padding:20px 24px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 16px 48px #0006,0 0 40px #ffd7000f;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:340px}.name-prompt-emoji{font-size:28px;animation:promptBounce 1s ease infinite}@keyframes promptBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.name-prompt-text{color:var(--text);font-size:14px;font-weight:600;text-align:center;line-height:1.4}.name-prompt-input-wrap{display:flex;gap:8px;width:100%}.name-prompt-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,215,0,.2);border-radius:10px;padding:10px 14px;color:var(--text);font-size:14px;font-weight:500;outline:none;transition:border-color .2s ease}.name-prompt-input:focus{border-color:#ffd70080}.name-prompt-input::placeholder{color:var(--muted);opacity:.6}.name-prompt-submit{background:linear-gradient(135deg,gold,#ffab00);border:none;border-radius:10px;padding:10px 16px;font-size:16px;font-weight:700;color:#0f2433;cursor:pointer;transition:all .2s ease}.name-prompt-submit:hover{transform:scale(1.08);box-shadow:0 4px 16px #ffd7004d}.name-prompt-dismiss{background:transparent;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:4px 8px;transition:color .2s ease}.name-prompt-dismiss:hover{color:var(--text)}.name-prompt-error{color:#ff6b6b;font-size:12px;font-weight:600;min-height:16px;text-align:center}.name-prompt-input--error{border-color:#ff505099!important}.leaderboard-panel{position:fixed;top:24px;right:24px;width:320px;z-index:9999;background:linear-gradient(135deg,#0f283cf5,#0b2a3df5);border:1px solid rgba(255,215,0,.15);border-radius:16px;padding:0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 16px 48px #00000080,0 0 40px #ffd7000d;opacity:0;transform:translate(360px);pointer-events:none;transition:all .35s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.leaderboard-panel.visible{opacity:1;transform:translate(0);pointer-events:all}.lb-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,215,0,.1);background:#ffd70008}.lb-header h3{margin:0;font-size:15px;font-weight:700;color:var(--text);letter-spacing:.3px}.lb-header-actions{display:flex;gap:4px}.lb-close{background:transparent;border:none;font-size:16px;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center}.lb-close:hover{background:#7c5cff26;color:var(--text);transform:rotate(90deg)}.lb-body{padding:8px 12px;max-height:400px;overflow-y:auto}.lb-body::-webkit-scrollbar{width:4px}.lb-body::-webkit-scrollbar-track{background:transparent}.lb-body::-webkit-scrollbar-thumb{background:#ffd70033;border-radius:2px}.lb-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;transition:all .2s ease;border:1px solid transparent}.lb-row:hover{background:#ffd7000a;border-color:#ffd70014}.lb-row.lb-you{background:#7c5cff0f;border-color:#7c5cff26}.lb-medal{font-size:18px;width:28px;text-align:center;flex-shrink:0}.lb-rank{display:inline-block;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:#ffffff0f;color:var(--muted);font-size:11px;font-weight:700}.lb-name{flex:1;color:var(--text);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{color:gold;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}.lb-empty{padding:24px 12px;text-align:center;color:var(--muted);font-size:13px;line-height:1.5}.lb-footer{padding:12px 20px;border-top:1px solid rgba(255,215,0,.1);font-size:12px;color:var(--muted);text-align:center}.lb-footer strong{color:var(--accent)}@media(max-width:480px){.leaderboard-panel{top:16px;right:16px;width:280px}.name-prompt-inner{max-width:calc(100vw - 48px)}}.upgrade-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .35s ease}.upgrade-overlay.visible{opacity:1;pointer-events:all}.upgrade-overlay.closing{opacity:0;pointer-events:none}.upgrade-content{text-align:center;max-width:720px;padding:32px 24px}.upgrade-title{margin:0 0 6px;font-size:clamp(22px,3vw,32px);font-weight:700;color:gold;letter-spacing:-.02em;text-shadow:0 0 24px rgba(255,215,0,.25)}.upgrade-subtitle{margin:0 0 28px;font-size:14px;color:var(--muted)}.upgrade-cards{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.upgrade-card{flex:1 1 180px;max-width:210px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 18px;border-radius:16px;border:1px solid rgba(124,92,255,.2);background:linear-gradient(160deg,#0f283cf2,#0b2a3df2);cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);opacity:0;transform:translateY(20px);animation:upgradeCardIn .45s cubic-bezier(.34,1.56,.64,1) var(--card-delay, 0s) forwards}.upgrade-card:hover{border-color:#ffd70073;background:linear-gradient(160deg,#193750fa,#12374efa);transform:translateY(-6px) scale(1.04);box-shadow:0 14px 36px #ffd7001f,0 0 40px #7c5cff1a}.upgrade-card:active{transform:scale(.97)}.upgrade-icon{font-size:32px}.upgrade-name{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em}.upgrade-desc{font-size:12px;line-height:1.5;color:var(--muted)}.upgrade-category{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--accent);padding:3px 10px;border-radius:8px;border:1px solid rgba(124,92,255,.2);background:#7c5cff0f}@keyframes upgradeCardIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.upgrade-cards{flex-direction:column;align-items:center}.upgrade-card{max-width:260px}}.focus-toggle{position:fixed;bottom:24px;left:24px;z-index:50;width:44px;height:44px;border-radius:50%;border:1px solid rgba(124,92,255,.2);background:#0f283cd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;box-shadow:0 4px 16px #0000004d;padding:0}.focus-toggle:hover{transform:scale(1.12);border-color:#7c5cff66;box-shadow:0 6px 24px #7c5cff33}.focus-toggle:active{transform:scale(.95)}@media(max-width:480px){.focus-toggle{bottom:16px;left:16px;width:38px;height:38px;font-size:16px}}.upgrade-card.rarity-common{border-color:#4ade804d}.upgrade-card.rarity-uncommon{border-color:#60a5fa4d}.upgrade-card.rarity-rare{border-color:#c084fc66}.upgrade-card.rarity-ultra-rare{border-color:#fbbf2480;box-shadow:0 0 20px #fbbf2426,inset 0 0 20px #fbbf240d}.upgrade-card.rarity-common:hover{border-color:#4ade8099}.upgrade-card.rarity-uncommon:hover{border-color:#60a5fa99}.upgrade-card.rarity-rare:hover{border-color:#c084fcb3}.upgrade-card.rarity-ultra-rare:hover{border-color:#fbbf24cc;box-shadow:0 0 36px #fbbf2440,0 14px 36px #fbbf241f}.upgrade-rarity-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;padding:2px 8px;border-radius:6px;border:1px solid;background:#0000004d}.upgrade-inventory{position:fixed;top:80px;left:16px;z-index:60;width:230px;border-radius:14px;border:1px solid rgba(124,92,255,.15);background:#0a1e32eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 32px #0006;transition:all .35s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.upgrade-inventory.collapsed{width:auto}.upgrade-inventory.collapsed .inventory-list{max-height:0;opacity:0;padding:0}.upgrade-inventory.collapsed .inventory-label{display:none}.inventory-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;color:var(--text);cursor:pointer;font-size:14px;font-weight:600;position:relative;transition:background .2s ease}.inventory-toggle:hover{background:#7c5cff14}.inventory-icon{font-size:18px}.inventory-badge{position:absolute;top:4px;right:8px;min-width:18px;height:18px;border-radius:9px;background:#7c5cff;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.inventory-list{max-height:320px;overflow-y:auto;padding:0 8px 10px;opacity:1;transition:max-height .35s ease,opacity .25s ease,padding .25s ease}.inventory-empty{padding:12px 8px;text-align:center;font-size:12px;color:var(--muted)}.inventory-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;border-left:3px solid var(--rarity-color, #7c5cff);margin-bottom:4px;background:#ffffff05;transition:background .2s ease}.inventory-item:hover{background:#ffffff0d}.inventory-item.maxed{border-left-style:double}.item-icon{font-size:14px;flex-shrink:0}.item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.item-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-rarity{font-size:9px;text-transform:uppercase;letter-spacing:.6px;font-weight:600}.item-stacks{font-size:10px;font-weight:700;color:var(--muted);padding:2px 6px;border-radius:6px;background:#ffffff0d;white-space:nowrap;flex-shrink:0}.inventory-item.maxed .item-stacks{color:#fbbf24;background:#fbbf241a}.milestone-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:55;display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;border:1px solid rgba(124,92,255,.15);background:#0a1e32e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000059;transition:box-shadow .4s ease,border-color .4s ease}.milestone-bar.near-complete{border-color:#fbbf2466;box-shadow:0 0 20px #fbbf2426,0 4px 20px #00000059}.milestone-bar.bar-flash{animation:barPulse .4s ease}.milestone-icon{font-size:14px}.milestone-track{width:120px;height:6px;border-radius:3px;background:#ffffff14;overflow:hidden;position:relative}.milestone-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#7c5cff,#c084fc);transition:width .5s cubic-bezier(.34,1.56,.64,1);position:relative}.milestone-fill:after{content:"";position:absolute;right:0;top:-1px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 6px #7c5cff99;opacity:.8}.milestone-label{font-size:11px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.milestone-bar.near-complete .milestone-fill{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.milestone-bar.near-complete .milestone-fill:after{background:#fbbf24;box-shadow:0 0 8px #fbbf24b3}@keyframes barPulse{0%{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.04)}to{transform:translate(-50%) scale(1)}}@media(max-width:480px){.upgrade-inventory{top:70px;left:8px;width:200px}.upgrade-inventory.collapsed{width:auto}.milestone-bar{bottom:16px;padding:5px 10px}.milestone-track{width:90px}}.entropy-bar{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:55;display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;border:1px solid rgba(239,68,68,.15);background:#0a0f19e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000059;transition:box-shadow .4s ease,border-color .4s ease}.entropy-bar.entropy-danger{border-color:#ef444480;box-shadow:0 0 24px #ef444433,0 4px 20px #00000059;animation:entropyPulse .8s ease infinite}.entropy-bar.entropy-frozen{border-color:#60a5fa80;box-shadow:0 0 20px #60a5fa33}.entropy-icon{font-size:14px}.entropy-track{width:160px;height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}.entropy-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#f59e0b,#ef4444);transition:width .15s linear}.entropy-bar.entropy-frozen .entropy-fill{background:linear-gradient(90deg,#60a5fa,#3b82f6)}.entropy-label{font-size:11px;font-weight:700;color:#ef4444;font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.entropy-bar.entropy-frozen .entropy-label{color:#60a5fa}@keyframes entropyPulse{0%,to{box-shadow:0 0 24px #ef444433,0 4px 20px #00000059}50%{box-shadow:0 0 36px #ef444459,0 4px 20px #00000059}}.combo-tracker{position:fixed;top:110px;right:24px;z-index:55;display:none}.combo-tracker.combo-active{display:flex}.combo-ring{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(#7c5cff99 calc(var(--combo-progress, 0) * 360deg),#ffffff0f 0deg);transition:background .15s linear;position:relative}.combo-ring:before{content:"";position:absolute;inset:4px;border-radius:50%;background:#0a0f19eb}.combo-label{position:relative;font-size:18px;font-weight:800;color:#c084fc;font-variant-numeric:tabular-nums;text-shadow:0 0 12px rgba(192,132,252,.4)}.combo-tracker.combo-hot .combo-label{color:#fbbf24;text-shadow:0 0 16px rgba(251,191,36,.5);animation:comboGlow .5s ease infinite}.combo-tracker.combo-hot .combo-ring{background:conic-gradient(#fbbf24b3 calc(var(--combo-progress, 0) * 360deg),#ffffff0f 0deg)}@keyframes comboGlow{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.run-summary-overlay{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;background:#000000d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .4s ease}.run-summary-overlay.visible{opacity:1;pointer-events:all}.run-summary-content{text-align:center;max-width:380px;padding:40px 32px;border-radius:20px;border:1px solid rgba(239,68,68,.2);background:linear-gradient(160deg,#0f1423fa,#140c1efa);box-shadow:0 20px 60px #00000080}.run-summary-title{margin:0 0 4px;font-size:28px;font-weight:800;color:#ef4444;text-shadow:0 0 30px rgba(239,68,68,.3)}.run-summary-subtitle{margin:0 0 24px;font-size:13px;color:var(--muted)}.run-stats{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.run-stat-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:#ffffff08}.run-stat-icon{font-size:18px;flex-shrink:0}.run-stat-label{flex:1;text-align:left;font-size:13px;color:var(--muted)}.run-stat-value{font-size:16px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.run-restart{padding:12px 32px;border-radius:12px;border:1px solid rgba(124,92,255,.3);background:linear-gradient(135deg,#7c5cff26,#7c5cff0d);color:var(--text);font-size:15px;font-weight:700;cursor:pointer;transition:all .25s ease}.run-restart:hover{border-color:#7c5cff99;background:linear-gradient(135deg,#7c5cff40,#7c5cff1a);transform:translateY(-2px);box-shadow:0 8px 24px #7c5cff33}.run-restart:active{transform:scale(.97)}@media(max-width:480px){.entropy-bar{top:50px;padding:5px 10px}.entropy-track{width:110px}.combo-tracker{top:90px;right:12px}.combo-ring{width:48px;height:48px}.combo-label{font-size:14px}.run-summary-content{padding:28px 20px;max-width:calc(100vw - 48px)}}
