@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800;900&family=Noto+Sans+TC:wght@400;600;700;900&display=swap";:root{--lh-ink-950:#050713;--lh-ink-900:#0a1021;--lh-ink-800:#162b42;--lh-ink-700:#1c3346;--lh-gold-100:#fff1b7;--lh-gold-300:#f7d58a;--lh-gold-500:#eecf8a;--lh-gold-600:#d9b568;--lh-gold-glow:#f7d58a8c;--lh-hairline-gold:#f7d58a66;--lh-teal-300:#93fff1;--lh-teal-500:#33d6bc;--lh-teal-600:#2bb39e;--lh-teal-glow:#33d6bc73;--lh-hairline-teal:#93fff152;--lh-azure-500:#5a80e9;--lh-ember-500:#f0524a;--lh-ember-glow:#f0524a80;--lh-moss-500:#6bd6a0;--lh-moss-glow:#6bd6a073;--lh-panel-bg:radial-gradient(ellipse at 50% -8%, var(--lh-ink-700) 0%, var(--lh-ink-900) 55%, var(--lh-ink-950) 100%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#e0e0e0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:none;-webkit-user-select:none;user-select:none;background:#0a0a14;width:100%;height:100%;font-family:Outfit,Noto Sans TC,system-ui,-apple-system,sans-serif;overflow:hidden}.lh-work-mode{filter:saturate(.28)brightness(.72)contrast(.95)}canvas{touch-action:none;display:block}*{-webkit-tap-highlight-color:transparent}.lh-frame{background-image:linear-gradient(var(--lh-hairline-gold), var(--lh-hairline-gold)), linear-gradient(var(--lh-hairline-gold), var(--lh-hairline-gold)), linear-gradient(var(--lh-hairline-gold), var(--lh-hairline-gold)), linear-gradient(var(--lh-hairline-gold), var(--lh-hairline-gold)), linear-gradient(var(--lh-hairline-gold), var(--lh-hairline-gold)), linear-gradient(var(--lh-hairline-gold), var(--lh-hairline-gold)), linear-gradient(var(--lh-hairline-gold), var(--lh-hairline-gold)), linear-gradient(var(--lh-hairline-gold), var(--lh-hairline-gold)), var(--lh-panel-bg);background-position:12px 12px,12px 12px,right 12px top 12px,right 12px top 12px,left 12px bottom 12px,left 12px bottom 12px,right 12px bottom 12px,right 12px bottom 12px,0 0;background-repeat:no-repeat;background-size:18px 1px,1px 18px,18px 1px,1px 18px,18px 1px,1px 18px,18px 1px,1px 18px,100% 100%;background-color:var(--lh-ink-950);border:1px solid var(--lh-hairline-gold);position:relative}.lh-btn{background:linear-gradient(180deg, #ffffff0f, transparent 40%), var(--lh-ink-800);border:1px solid var(--lh-hairline-gold);color:var(--lh-gold-100);text-shadow:0 1px 2px #0009;border-radius:10px;transition:box-shadow .2s,border-color .2s,transform .15s}.lh-btn:hover{border-color:var(--lh-gold-300);box-shadow:0 0 16px var(--lh-gold-glow);transform:translateY(-1px)}.lh-btn:active{transform:translateY(0)scale(.98)}.lh-btn.lh-btn-teal{border-color:var(--lh-hairline-teal);color:var(--lh-teal-300)}.lh-btn.lh-btn-teal:hover{border-color:var(--lh-teal-500);box-shadow:0 0 16px var(--lh-teal-glow)}.lh-btn.lh-btn-danger{color:#ffb4af;border-color:#f0524a66}.lh-btn.lh-btn-danger:hover{border-color:var(--lh-ember-500);box-shadow:0 0 16px var(--lh-ember-glow)}.lh-title{text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(180deg, var(--lh-gold-100) 0%, var(--lh-gold-300) 60%, var(--lh-teal-300) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 8px var(--lh-gold-glow));-webkit-background-clip:text;background-clip:text}.custom-loader-overlay{z-index:9999;color:#edf6ff;isolation:isolate;-webkit-user-select:none;user-select:none;touch-action:none;background:radial-gradient(at 50% 105%,#315957 0%,#162b42 40%,#0a1021 73%,#050713 100%);flex-direction:column;justify-content:center;align-items:center;padding:28px;font-family:Outfit,Noto Sans TC,sans-serif;transition:opacity .72s cubic-bezier(.4,0,.2,1),visibility .72s;display:flex;position:fixed;inset:0;overflow:hidden}.custom-loader-overlay:before{content:"";z-index:-1;pointer-events:none;border:1px solid #cbe8e521;position:absolute;inset:12px}.custom-loader-overlay:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#0000 35%,#01040c94 100%);position:absolute;inset:0}.custom-loader-overlay.fade-out{opacity:0;visibility:hidden;pointer-events:none}.loader-noise{z-index:-1;opacity:.16;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:absolute;inset:0}.loader-aurora{z-index:-1;filter:blur(38px);opacity:.2;pointer-events:none;border-radius:50%;width:62vmax;height:26vmax;animation:12s ease-in-out infinite alternate auroraDrift;position:absolute}.loader-aurora-left{background:#33d6bc;bottom:-10vmax;left:-18vmax;transform:rotate(-22deg)}.loader-aurora-right{background:#5a80e9;animation-delay:-5s;top:-14vmax;right:-18vmax}.loader-starfield{z-index:-1;opacity:.7;pointer-events:none;background-image:radial-gradient(circle at 15% 18%,#fff 0 1px,#0000 1.5px),radial-gradient(circle at 73% 14%,#c6edff 0 1px,#0000 1.5px),radial-gradient(circle at 83% 42%,#fff5c5 0 1px,#0000 1.5px),radial-gradient(circle at 30% 66%,#d8f5ec 0 1px,#0000 1.5px),radial-gradient(circle at 55% 23%,#fff 0 .7px,#0000 1.3px);background-size:230px 170px,310px 250px,190px 290px,280px 200px,170px 130px;animation:5s ease-in-out infinite alternate starsPulse;position:absolute;inset:0}.loader-magic-circle{aspect-ratio:1;pointer-events:none;border:1px solid #9bdfd82e;border-radius:50%;width:min(76vw,570px);animation:42s linear infinite spinRune;position:absolute;box-shadow:0 0 70px #3ad0ba14,inset 0 0 70px #ffc2690d}.loader-magic-circle:before,.loader-magic-circle:after{content:"";border-radius:inherit;border:1px dashed #ffd3845c;position:absolute;inset:8%}.loader-magic-circle:after{border-style:solid;border-color:#8ae1eb2e;animation:24s linear infinite reverse spinRune;inset:22%}.loader-magic-circle i{transform-origin:4px calc(min(76vw,570px)/2 + 4px);background:#0b1828;border:1px solid #f7d58a;width:8px;height:8px;margin-left:-4px;position:absolute;top:-4px;left:50%;box-shadow:0 0 13px #ffd57c}.loader-magic-circle i:nth-child(2){transform:rotate(90deg)}.loader-magic-circle i:nth-child(3){transform:rotate(180deg)}.loader-magic-circle i:nth-child(4){transform:rotate(270deg)}.loader-corner{pointer-events:none;border-color:#edcd8780;width:62px;height:62px;position:absolute}.loader-corner-tl{border-top:1px solid;border-left:1px solid;top:22px;left:22px}.loader-corner-tr{border-top:1px solid;border-right:1px solid;top:22px;right:22px}.loader-corner-bl{border-bottom:1px solid;border-left:1px solid;bottom:22px;left:22px}.loader-corner-br{border-bottom:1px solid;border-right:1px solid;bottom:22px;right:22px}.loader-branding{z-index:2;text-align:center;margin:-34px 0 39px;animation:.9s cubic-bezier(.16,1,.3,1) both riseIn;position:relative}.loader-kicker{color:#a8d9d1;letter-spacing:3px;justify-content:center;align-items:center;gap:9px;margin-bottom:19px;font-size:9px;font-weight:700;display:flex}.loader-kicker span{background:linear-gradient(90deg,#0000,#8ed7cb);width:30px;height:1px}.loader-kicker span:last-child{transform:scaleX(-1)}.loader-icon{background:linear-gradient(135deg,#36919d52,#0a172e80);border:1px solid #ffde97ad;place-items:center;width:70px;height:70px;margin:0 auto 14px;animation:3.8s ease-in-out infinite crestFloat;display:grid;transform:rotate(45deg);box-shadow:0 0 0 7px #86e0d80f,0 0 32px #58d0c34d,inset 0 0 18px #ffd8892b}.loader-crystal{clip-path:polygon(50% 0,100% 36%,76% 100%,25% 100%,0 36%);background:linear-gradient(125deg,#effffc 0 16%,#8ae4df 30%,#397fa2 68%,#f1c76f 100%);width:25px;height:39px;transform:rotate(-45deg);box-shadow:0 0 22px #93fff1}.loader-title{letter-spacing:.14em;text-indent:.14em;background:linear-gradient(#fffdf2 0%,#f8d78f 43%,#a3dcd2 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 18px #50c2be47);-webkit-background-clip:text;margin:0;font-size:clamp(2.7rem,7vw,4.7rem);font-weight:900;line-height:1}.loader-subtitle{color:#cfe4e7b3;letter-spacing:.19em;margin-top:13px;font-size:clamp(.62rem,1.7vw,.8rem);font-weight:600}.loader-progress-box{z-index:2;width:min(82vw,440px);animation:.9s cubic-bezier(.16,1,.3,1) .15s both riseIn;position:relative}.loader-progress-track{background:#050d1cb8;border:1px solid #eecf8a94;height:7px;padding:1px;overflow:hidden;box-shadow:0 0 0 4px #81e5db0d,inset 0 1px 4px #000c}.loader-progress-fill{background:linear-gradient(90deg,#4bc9c1 0%,#b7f1d8 35%,#f7c96b 78%,#fff1b7 100%);min-width:3px;height:100%;transition:width .25s cubic-bezier(.1,.8,.3,1);position:relative;box-shadow:0 0 14px #f4cd70e6}.loader-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffffd9,#0000);width:42%;animation:1.8s infinite shimmer;position:absolute;inset:0}.loader-status-info{color:#a4c4ca;letter-spacing:.05em;grid-template-columns:8px 1fr auto;align-items:center;column-gap:9px;margin-top:12px;font-size:.73rem;display:grid}.loader-status-dot{background:#8fe8d9;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite statusBlink;box-shadow:0 0 10px #81ead8}.loader-status-copy{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.loader-percentage{color:#f9d783;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800}.loader-percentage small{margin-left:1px;font-size:.64rem}.loader-tip-box{z-index:2;color:#b7cbd0;background:linear-gradient(90deg,#05101f91,#0000);border-left:1px solid #e9c678;width:min(82vw,440px);min-height:70px;margin-top:38px;padding:13px 18px 12px;animation:.9s cubic-bezier(.16,1,.3,1) .28s both riseIn;position:relative}.loader-tip-label{color:#f2d18a;letter-spacing:.18em;margin-bottom:5px;font-size:.65rem;font-weight:800;display:block}.loader-tip-box p{font-size:.78rem;line-height:1.6}.loader-footer{color:#adcfcf75;letter-spacing:.18em;gap:12px;font-size:9px;font-weight:700;display:flex;position:absolute;bottom:28px}@keyframes spinRune{to{transform:rotate(360deg)}}@keyframes crestFloat{50%{filter:brightness(1.16);transform:rotate(45deg)translate(-5px,-5px)}}@keyframes auroraDrift{to{opacity:.3;transform:translate(9vmax,-4vmax)rotate(15deg)}}@keyframes starsPulse{to{opacity:.4}}@keyframes shimmer{0%{transform:translate(-180%)}to{transform:translate(380%)}}@keyframes statusBlink{50%{opacity:.25;box-shadow:none}}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=560px){.custom-loader-overlay{padding:20px}.loader-branding{margin-top:-12px;margin-bottom:34px}.loader-magic-circle{width:88vw}.loader-kicker{letter-spacing:2px;font-size:8px}.loader-icon{width:58px;height:58px}.loader-footer{bottom:19px}.loader-corner{width:35px;height:35px}.loader-corner-tl,.loader-corner-bl{left:15px}.loader-corner-tr,.loader-corner-br{right:15px}.loader-corner-tl,.loader-corner-tr{top:15px}.loader-corner-bl,.loader-corner-br{bottom:15px}}@media (prefers-reduced-motion:reduce){.loader-magic-circle,.loader-aurora,.loader-starfield,.loader-icon,.loader-status-dot,.loader-progress-fill:after{animation:none}}.hud{z-index:100;pointer-events:none;align-items:center;gap:12px;padding:14px 16px;font-family:Noto Sans TC,Inter,system-ui,sans-serif;display:flex;position:fixed;top:0;left:0;right:0}.hud-item{color:#fff;pointer-events:auto;-webkit-backdrop-filter:blur(8px);background:#0a0f14d9;border:1px solid #94a3b833;border-radius:999px;align-items:center;gap:10px;padding:6px 18px 6px 6px;display:flex;box-shadow:0 8px 24px #00000080,inset 0 0 12px #ffffff0d,inset 0 1px #ffffff26}.hud-icon{box-sizing:border-box;object-fit:contain;background:var(--lh-ink-900);border:1px solid var(--lh-hairline-gold);width:32px;height:32px;box-shadow:0 0 10px var(--resource-glow,var(--lh-gold-glow)), inset 0 1px 2px #ffffff1f;border-radius:50%;flex-shrink:0;padding:6px}.hud-coins .hud-icon{--resource-glow:var(--lh-gold-glow)}.hud-coins,.hud-hp,.hud-backpack{position:relative}.hud-coins.is-gaining{animation:.42s cubic-bezier(.2,.9,.3,1) hudCoinGain}.hud-coins.is-gaining .hud-icon{animation:.42s cubic-bezier(.2,.9,.3,1) hudCoinSpin}.hud-gain-float{color:#ffe082;text-shadow:0 2px 6px #000000e6,0 0 9px #ffc107bf;white-space:nowrap;pointer-events:none;font-size:.82rem;font-weight:900;animation:.7s ease-out forwards hudGainFloat;position:absolute;top:100%;left:50%}.hud-hp.is-hit{animation:.42s ease-out hudHpHit}.hud-hp.is-low-health:not(.is-hit){animation:1.35s ease-in-out infinite hudLowHealth}.hud-backpack.is-full-feedback{border-color:#ff5252e6;animation:.56s cubic-bezier(.2,.9,.3,1) hudBackpackFull}.hud-hp .hud-icon{--resource-glow:var(--lh-ember-glow);border-color:#f0524a66}.hud-backpack .hud-icon{--resource-glow:var(--lh-teal-glow);border-color:var(--lh-hairline-teal)}.hud-level .hud-icon{--resource-glow:var(--lh-teal-glow);border-color:var(--lh-hairline-teal);color:#fff}.hud-value{font-variant-numeric:tabular-nums;letter-spacing:.5px;text-shadow:0 2px 4px #00000080;font-size:1.15rem;font-weight:800}.hud-capacity{color:#94a3b8;font-size:.85rem;font-weight:600}.hud-bar{background:#0f172acc;border:1px solid #ffffff1a;border-radius:3px;width:60px;height:6px;margin-left:4px;overflow:hidden;box-shadow:inset 0 1px 3px #00000080}.hud-bar-fill{border-radius:3px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1),background-color .3s;box-shadow:0 0 10px}@media (width<=768px){.hud{gap:6px;padding:8px 10px;right:56px}.hud-item{border-radius:999px;gap:6px;padding:4px 10px 4px 6px}.hud-icon{width:22px;height:22px;padding:4px}.hud-value{font-size:.85rem}.hud-capacity{font-size:.72rem}.hud-level,.hud-bar{display:none!important}}.hud-rune-btn{pointer-events:auto;min-height:42px;color:var(--lh-gold-100);cursor:pointer;background:#070c15eb;border:1px solid #f7d58a75;border-radius:5px;align-items:center;gap:8px;padding:5px 9px 5px 6px;font-family:inherit;transition:border-color .18s,background-color .18s,transform .18s;display:inline-flex;box-shadow:0 7px 18px #0000006b,inset 0 0 0 1px #ffffff09}.hud-rune-btn:hover{border-color:var(--lh-gold-300);background:#0c1520f5;transform:translateY(-1px)}.hud-rune-btn:active{transform:translateY(0)}.hud-rune-mark{border-right:1px solid #f7d58a3d;place-items:center;width:27px;height:27px;padding-right:7px;display:grid}.hud-rune-mark img{object-fit:contain;filter:sepia(.35)saturate(.85)brightness(1.12);width:19px;height:19px}.hud-rune-label{letter-spacing:.12em;font-size:.86rem;font-weight:700}.hud-rune-count{min-width:20px;color:var(--lh-teal-300);font-variant-numeric:tabular-nums;text-align:right;font-size:.78rem;font-weight:800}.defense-banner{color:#fff3d0;pointer-events:none;z-index:90;-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#1e1217f0,#0a121df0);border:1px solid #f8b856b8;border-radius:15px;width:min(430px,100vw - 32px);padding:11px 14px 12px;position:fixed;top:126px;left:50%;transform:translate(-50%);box-shadow:0 16px 42px #00000075,inset 0 1px #ffffff1a,0 0 26px #f891372e}.defense-banner.is-preparing{border-color:#8fe8d9bd;box-shadow:0 16px 42px #00000075,0 0 28px #4adebd2e}.defense-banner.is-victory{background:linear-gradient(135deg,#32280cf2,#0a1d19f2);border-color:#facc15cc}.defense-banner.is-failed{border-color:#f87171db}.defense-banner-topline,.defense-core-row{align-items:center;gap:10px;display:flex}.defense-banner-topline{justify-content:space-between}.defense-banner-title{letter-spacing:.08em;font-size:.92rem;font-weight:900}.defense-banner-time{color:#ffd48b;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.88rem}.defense-banner-hint{color:#e1eef2c7;margin:6px 0 0;font-size:.72rem;line-height:1.4}.defense-core-row{color:#e1eef2b8;margin-top:8px;font-size:.7rem}.defense-core-row>strong{color:#fff0c2;font-variant-numeric:tabular-nums;text-align:right;min-width:58px;font-size:.7rem}.defense-core-track{background:#0000006b;border:1px solid #ffffff29;border-radius:999px;flex:1;height:7px;overflow:hidden}.defense-core-track>span{border-radius:inherit;background:linear-gradient(90deg,#ef6c57,#f8ca63 48%,#79e0c8);height:100%;transition:width .18s ease-out;display:block;box-shadow:0 0 12px #f8ca636b}.defense-retry{color:#fee2e2;width:100%;font:inherit;cursor:pointer;pointer-events:auto;background:#7f1d1d9e;border:1px solid #f871718f;border-radius:9px;margin-top:9px;padding:7px 12px;font-size:.78rem;font-weight:900}.defeated-banner{color:#fff1bd;letter-spacing:.12em;background:#050a12e0;border:1px solid #f7d58aa6;padding:12px 22px;font-weight:800;animation:1.2s ease-in-out infinite defeatedPulse;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 32px #8fe8d933}@keyframes defeatedPulse{50%{opacity:.62;transform:translate(-50%,-50%)scale(.97)}}@keyframes hudCoinGain{35%{transform:translateY(-3px)scale(1.09);box-shadow:0 8px 30px #ffc1077a}}@keyframes hudCoinSpin{55%{filter:brightness(1.35);transform:rotateY(180deg)scale(1.2)}}@keyframes hudGainFloat{0%{opacity:0;transform:translate(-50%,3px)scale(.75)}25%{opacity:1}to{opacity:0;transform:translate(-50%,24px)scale(1)}}@keyframes hudHpHit{30%{filter:brightness(1.3);border-color:#ff5252f2;transform:translate(-3px)}60%{transform:translate(2px)}}@keyframes hudLowHealth{50%{border-color:#ff5252c7;box-shadow:0 8px 28px #ff174447,inset 0 0 16px #ff52521f}}@keyframes hudBackpackFull{25%{background:#481316f0;transform:scale(1.12)}55%{transform:scale(.97)}}.hud-shield{color:#fde68a;text-shadow:0 0 8px #fbbf24cc;margin-left:2px;font-size:.78rem}.flow-hud{color:#fff;pointer-events:none;filter:drop-shadow(0 5px 12px #00000080);width:min(300px,100vw - 32px);position:fixed;top:72px;left:50%;transform:translate(-50%)}.flow-hud-label{color:#e2e8f0;letter-spacing:.08em;justify-content:space-between;align-items:baseline;margin:0 4px 5px;font-size:.78rem;font-weight:800;display:flex}.flow-hud-label strong{color:#fde68a;font-variant-numeric:tabular-nums}.flow-hud-track{background:#0f172ad1;border:1px solid #ffffff59;border-radius:999px;height:9px;overflow:hidden;box-shadow:inset 0 2px 5px #0000008c}.flow-hud-fill{border-radius:inherit;background:linear-gradient(90deg,#38bdf8 0%,#a78bfa 55%,#fbbf24 100%);height:100%;transition:width .12s linear;box-shadow:0 0 14px #a78bfad9}.flow-combo{color:#fff7cc;text-align:left;text-shadow:0 2px 4px #000000d1;background:#080e18bd;border-left:2px solid #fde68ac2;border-right:2px solid #fde68ac2;grid-template-columns:auto auto;align-items:center;column-gap:7px;width:max-content;min-width:132px;margin:7px auto 0;padding:4px 9px 5px;animation:.19s cubic-bezier(.16,1,.3,1) flow-combo-pop;display:grid}.flow-combo-number{color:#fff0a3;text-align:right;font-variant-numeric:tabular-nums;min-width:2ch;font-size:1.42rem;font-weight:950;line-height:1}.flow-combo-copy{line-height:1.05;display:grid}.flow-combo-copy strong{letter-spacing:.08em;font-size:.8rem;font-weight:900}.flow-combo-copy small{color:#a7f3d0;letter-spacing:.04em;margin-top:2px;font-size:.62rem;font-weight:700}.flow-combo-timer{background:#ffffff1f;grid-column:1/-1;height:2px;margin-top:4px;overflow:hidden}.flow-combo-timer>span{transform-origin:0;background:#f8d987;width:100%;height:100%;transition:transform .11s linear;display:block}.flow-combo.is-rapid{border-color:#8fe8d9e6}.flow-combo.is-rapid .flow-combo-number{color:#b8fff2}.flow-combo.is-rapid .flow-combo-timer>span{background:#8fe8d9}.flow-combo.is-wide{border-color:#c4b5fdeb;min-width:158px}.flow-combo.is-wide .flow-combo-number{color:#ddd6fe}.flow-combo.is-wide .flow-combo-timer>span{background:#c4b5fd}.flow-hud.is-resonating .flow-hud-label,.flow-hud.is-resonating .flow-hud-label strong{color:#fff7b2}.flow-hud.is-resonating .flow-hud-track{border-color:#fde68a;box-shadow:0 0 20px #fbbf24cc,inset 0 0 8px #ffffff80}.flow-hud.is-resonating .flow-hud-fill{background:linear-gradient(90deg,#f59e0b,#fff7b2,#f59e0b) 0 0/200% 100%;animation:.65s linear infinite resonance-sweep}@keyframes flow-combo-pop{0%{opacity:.62;transform:translateY(3px)scale(1.14)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes resonance-sweep{to{background-position:-200% 0}}@media (width<=768px){.flow-hud{width:auto;max-width:240px;top:58px;left:171px;right:10px;transform:none}.flow-hud-label{font-size:.7rem}.flow-combo{min-width:118px;padding:3px 7px 4px}.flow-combo-number{font-size:1.2rem}.flow-combo-copy strong{font-size:.7rem}.flow-combo-copy small{font-size:.56rem}.defense-banner{width:calc(100vw - 24px);padding:9px 11px 10px;top:102px}.defense-banner-title{font-size:.8rem}.defense-banner-hint{font-size:.66rem}}@media (prefers-reduced-motion:reduce){.hud-coins.is-gaining,.hud-coins.is-gaining .hud-icon,.hud-gain-float,.hud-hp.is-hit,.hud-hp.is-low-health,.hud-backpack.is-full-feedback,.defeated-banner,.defense-core-track>span,.flow-combo,.flow-hud.is-resonating .flow-hud-fill{animation:none}}.hud-shards{cursor:pointer;font:inherit;color:inherit;border:none}.hud-shard-mark{color:#ffe3a8;text-shadow:0 0 10px #ffd27899;font-size:1.05rem}.hud-shards:hover .hud-shard-mark{text-shadow:0 0 16px #ffd278e6}.level-clear-overlay{z-index:900;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06100eb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.level-clear-modal{text-align:center;min-width:min(420px,88vw);max-width:92vw;padding:28px 32px}.level-clear-title{margin:0 0 20px;font-size:1.35rem}.level-clear-rewards{border-top:1px solid #ffe9b03d;border-bottom:1px solid #ffe9b03d;margin:0 0 18px;padding:16px 0;list-style:none}.level-clear-row{opacity:0;justify-content:space-between;gap:24px;padding:5px 0;transition:opacity .2s,transform .2s;display:flex;transform:translateY(6px)}.level-clear-row.is-revealed{opacity:1;transform:translateY(0)}.level-clear-label{opacity:.86}.level-clear-value{color:#ffe3a8;text-shadow:0 0 8px #ffd27880;font-weight:700}.level-clear-total{justify-content:center;align-items:baseline;gap:12px;margin-bottom:22px;font-size:1.05rem;display:flex}.level-clear-total strong{color:#ffe3a8;text-shadow:0 0 14px #ffd2788c;font-size:1.9rem}.level-clear-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.level-clear-actions .lh-btn{padding:8px 12px}.level-clear-hint{opacity:.6;margin:16px 0 0;font-size:.82rem}@media (width<=520px){.level-clear-modal{padding:22px 18px}.level-clear-actions{flex-direction:column}}.meta-overlay{z-index:1050;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06100ebf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.meta-modal{width:min(520px,92vw);max-height:88vh;padding:26px 28px;overflow-y:auto}.meta-title{text-align:center;margin:0 0 10px}.meta-desc{opacity:.72;text-align:center;margin:0 0 16px;font-size:.85rem;line-height:1.6}.meta-balance{text-align:center;margin-bottom:18px;font-size:.95rem}.meta-balance strong{color:#ffe3a8;text-shadow:0 0 12px #ffd27880;font-size:1.4rem}.meta-list{margin:0 0 20px;padding:0;list-style:none}.meta-row{border-top:1px solid #ffe9b029;align-items:center;gap:12px;padding:12px 0;display:flex}.meta-row.is-maxed{opacity:.55}.meta-icon{flex-shrink:0;font-size:1.5rem}.meta-info{flex:1;min-width:0}.meta-name{align-items:baseline;gap:8px;font-weight:700;display:flex}.meta-level{opacity:.62;font-size:.78rem;font-weight:400}.meta-effect{opacity:.7;margin-top:2px;font-size:.8rem}.meta-buy{flex-shrink:0;min-width:82px}.meta-buy:disabled{opacity:.4;cursor:not-allowed}.meta-close{margin:0 auto;display:block}@media (width<=520px){.meta-modal{padding:20px 16px}.meta-effect{font-size:.74rem}}.joystick-base{border:1px solid var(--lh-hairline-teal);z-index:150;opacity:0;touch-action:none;pointer-events:none;background:#0a102159;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;transition:opacity .2s;display:flex;position:fixed;top:-100px;left:-100px}.joystick-knob{background:radial-gradient(circle, var(--lh-gold-100), var(--lh-gold-500));border:1px solid var(--lh-hairline-gold);border-radius:50%;width:40px;height:40px;transition:transform 50ms ease-out}.dash-button{right:max(22px, env(safe-area-inset-right));bottom:max(26px, env(safe-area-inset-bottom));z-index:151;width:70px;height:70px;color:var(--lh-teal-300);font:inherit;touch-action:manipulation;background:radial-gradient(circle at 38% 30%,#2f5971f5,#07101feb 72%);border:1px solid #93fff194;border-radius:50%;place-content:center;gap:1px;display:grid;position:fixed;box-shadow:0 7px 20px #0000006b,inset 0 0 0 5px #93fff10e}.dash-button span{font-size:1.45rem;line-height:1}.dash-button small{color:#e4fffb;letter-spacing:.12em;font-size:.68rem;font-weight:800}.dash-button:active{transform:scale(.9)}@media (hover:hover) and (pointer:fine){.joystick-base,.dash-button{display:none}}@media (prefers-reduced-motion:reduce){.joystick-base,.joystick-knob{transition:none}}.obj-completion-overlay{z-index:140;pointer-events:none;background:radial-gradient(circle,#ffdf8033,#0000 31%),radial-gradient(circle at 50% 52%,#162f3a4d,#0000 62%);place-items:center;animation:2.8s ease-in-out both completionOverlayLifecycle;display:grid;position:fixed;inset:0;overflow:hidden}.obj-completion-rays{aspect-ratio:1;opacity:.34;background:repeating-conic-gradient(#ffe597b8 0deg 2deg,#0000 2deg 13deg);border-radius:50%;width:min(78vw,780px);animation:9s linear infinite completionRays,.7s ease-out both completionRaysIn;position:absolute;-webkit-mask-image:radial-gradient(circle,#0000 0 16%,#000 31%,#0000 69%);mask-image:radial-gradient(circle,#0000 0 16%,#000 31%,#0000 69%)}.obj-completion-banner{width:min(560px,100vw - 40px);min-height:262px;color:var(--lh-gold-100);text-align:center;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;padding:34px 36px 30px;animation:.72s cubic-bezier(.16,.9,.25,1.18) both completionBannerIn;display:flex;box-shadow:0 24px 80px #00000094,0 0 58px #f7d58a57,inset 0 1px #ffffff1f}.obj-completion-kicker{color:var(--lh-teal-300);letter-spacing:.32em;margin-bottom:12px;font:700 11px/1 Outfit,sans-serif}.obj-completion-emblem{background:radial-gradient(circle,#ffe1843d,#0c1c2bd6 72%);border:1px solid #ffe699b8;border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:10px;animation:.76s cubic-bezier(.15,.85,.25,1.25) .16s both completionEmblemPop;display:grid;box-shadow:0 0 28px #ffd54f75}.obj-completion-emblem img{object-fit:contain;filter:brightness(1.18)drop-shadow(0 0 7px #ffe696d1);width:34px;height:34px}.obj-completion-banner strong{letter-spacing:.14em;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 13px #f7d58a6b);background:linear-gradient(#fff8d9,#f7d58a 58%,#b48b42);-webkit-background-clip:text;background-clip:text;font-size:clamp(34px,5vw,54px);line-height:1.05}.obj-completion-level{color:#eefdf9d6;letter-spacing:.12em;margin-top:12px;font-size:14px;font-weight:700}.obj-completion-next{width:min(360px,100%);color:var(--lh-teal-300);letter-spacing:.06em;border-top:1px solid #93fff138;margin-top:16px;padding-top:13px;font-size:13px;font-weight:700;animation:1.2s ease-in-out .9s infinite completionNextPulse}.obj-completion-sparkles{width:min(640px,92vw);height:360px;position:absolute}.obj-completion-sparkles i{--spark-x:0px;--spark-y:0px;width:7px;height:7px;transform:translate(var(--spark-x), var(--spark-y)) rotate(45deg);background:#fff3b0;border-radius:1px;animation:1.15s ease-out both completionSpark;position:absolute;top:50%;left:50%;box-shadow:0 0 12px #ffd86a}.obj-completion-sparkles i:first-child{--spark-x:-265px;--spark-y:-112px;animation-delay:80ms}.obj-completion-sparkles i:nth-child(2){--spark-x:-185px;--spark-y:-158px;animation-delay:.21s}.obj-completion-sparkles i:nth-child(3){--spark-x:-292px;--spark-y:66px;animation-delay:.33s}.obj-completion-sparkles i:nth-child(4){--spark-x:-156px;--spark-y:144px;animation-delay:.15s}.obj-completion-sparkles i:nth-child(5){--spark-x:-58px;--spark-y:-176px;animation-delay:.39s}.obj-completion-sparkles i:nth-child(6){--spark-x:252px;--spark-y:-126px;animation-delay:.12s}.obj-completion-sparkles i:nth-child(7){--spark-x:176px;--spark-y:-164px;animation-delay:.28s}.obj-completion-sparkles i:nth-child(8){--spark-x:286px;--spark-y:76px;animation-delay:.41s}.obj-completion-sparkles i:nth-child(9){--spark-x:162px;--spark-y:148px;animation-delay:.23s}.obj-completion-sparkles i:nth-child(10){--spark-x:64px;--spark-y:-174px;animation-delay:.47s}@keyframes completionOverlayLifecycle{0%{opacity:0;visibility:visible}14%,77%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes completionBannerIn{0%{opacity:0;filter:blur(8px);transform:scale(.68)translateY(26px)}58%{opacity:1;filter:blur();transform:scale(1.035)translateY(-3px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes completionEmblemPop{0%{opacity:0;transform:rotate(-35deg)scale(.2)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes completionRays{to{transform:rotate(360deg)}}@keyframes completionRaysIn{0%{opacity:0;scale:.42}}@keyframes completionNextPulse{0%,to{opacity:.72;filter:drop-shadow(0 0 #0000)}50%{opacity:1;filter:drop-shadow(0 0 8px #93fff18c)}}@keyframes completionSpark{0%{opacity:0;transform:translate(0)rotate(45deg)scale(.2)}35%{opacity:1}to{opacity:0;transform:translate(var(--spark-x), var(--spark-y)) rotate(225deg) scale(1.35)}}.obj-container{z-index:100;pointer-events:none;flex-direction:row;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:20px;left:16px}.obj-panel{background:var(--lh-panel-bg);border:1px solid var(--lh-hairline-gold);color:#e8f5e9;pointer-events:auto;border-radius:14px;width:230px;padding:12px 14px;font-family:Noto Sans TC,Inter,system-ui,sans-serif;transition:all .3s cubic-bezier(.25,.8,.25,1);animation:.4s cubic-bezier(.34,1.36,.64,1) both objPanelIn;overflow:hidden;box-shadow:0 8px 28px #00000073,inset 0 1px #ffffff12}@keyframes objPanelIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.obj-panel-header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:0;align-items:center;gap:7px;width:100%;padding:0;font-family:inherit;font-weight:700;display:flex}.obj-panel-level-badge{color:var(--lh-teal-300);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;font-size:10px}.obj-panel-title{color:var(--lh-gold-300);white-space:nowrap;text-overflow:ellipsis;flex-grow:1;font-size:12px;overflow:hidden}.obj-panel-toggle-arrow{color:var(--lh-hairline-teal);-webkit-user-select:none;user-select:none;padding:2px;font-size:9px;transition:transform .25s}.obj-panel-body{opacity:1;max-height:440px;margin-top:10px;transition:max-height .35s cubic-bezier(.25,.8,.25,1),opacity .25s,margin-top .35s;overflow:hidden}.obj-panel.collapsed{border-radius:9px;padding:8px 12px}.obj-panel.collapsed .obj-panel-body{opacity:0!important;max-height:0!important;margin-top:0!important}.obj-panel.collapsed .obj-panel-toggle-arrow{transform:rotate(90deg)}.obj-stage-steps{align-items:stretch;gap:4px;margin-bottom:9px;display:flex}.obj-stage-step{border:1px solid var(--lh-hairline-teal);background:#0a161e6b;border-radius:6px;flex:none;align-items:center;gap:5px;min-width:0;padding:4px 6px;transition:border-color .25s,background .25s,opacity .25s;display:flex}.obj-stage-step-dot{width:15px;height:15px;color:var(--lh-ink-900);background:var(--lh-hairline-teal);border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:700;display:grid}.obj-stage-step-name{color:#e8f5e99e;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.2;overflow:hidden}.obj-stage-step:not(.active) .obj-stage-step-name{display:none}.obj-stage-step.active{border-color:var(--lh-gold-300);background:#ffd86a1f;flex:auto}.obj-stage-step.active .obj-stage-step-dot{background:var(--lh-gold-300);box-shadow:0 0 8px var(--lh-gold-glow)}.obj-stage-step.active .obj-stage-step-name{color:var(--lh-gold-100)}.obj-stage-step.done .obj-stage-step-dot{background:var(--lh-moss-500)}.obj-stage-step.locked{opacity:.5}.obj-panel-objective{color:var(--lh-gold-100);align-items:center;gap:6px;margin:0 0 9px;font-size:12px;line-height:1.45;display:flex}.obj-stage-badge{letter-spacing:.04em;color:var(--lh-teal-300);border:1px solid var(--lh-hairline-teal);background:#0a161e80;border-radius:4px;flex:none;padding:2px 6px;font-size:9px}.obj-panel-next-gate{letter-spacing:.03em;color:var(--lh-teal-300);opacity:.85;align-items:center;gap:6px;margin:8px 0 0;font-size:10px;display:flex}.obj-progress-list{flex-direction:column;gap:7px;display:flex}.obj-progress-item{flex-direction:column;gap:3px;display:flex}.obj-progress-row{justify-content:space-between;align-items:center;display:flex}.obj-progress-label{color:var(--lh-teal-300);font-size:10px}.obj-progress-nums{font-variant-numeric:tabular-nums;color:var(--lh-gold-300);font-size:10px;font-weight:700}.obj-progress-nums.done{color:var(--lh-moss-500)}.obj-progress-bar-track{background:#ffffff1a;border-radius:3px;height:5px;overflow:hidden}.obj-progress-bar-fill{background:linear-gradient(180deg, var(--lh-teal-500), var(--lh-gold-500));border-radius:3px;height:100%;transition:width .35s}.obj-progress-bar-fill.done{background:linear-gradient(180deg, var(--lh-moss-500), var(--lh-gold-300));box-shadow:0 0 6px var(--lh-moss-glow)}.obj-panel-complete{background:var(--lh-ink-900);border:1px solid var(--lh-hairline-gold);box-shadow:0 0 12px var(--lh-gold-glow);border-radius:9px;align-items:center;gap:7px;padding:8px 10px;animation:1.8s ease-in-out infinite completePulse;display:flex}.obj-panel.is-celebrating{animation:1.05s cubic-bezier(.2,.8,.3,1) objectiveCelebrate}.obj-panel.is-celebrating .obj-panel-complete-icon{animation:.72s cubic-bezier(.18,.9,.3,1) objectiveCheckPop}@keyframes objectiveCelebrate{0%{transform:scale(.96)}24%{filter:brightness(1.3);border-color:#ffe694f2;transform:translateY(-5px)scale(1.06)}55%{transform:translateY(0)scale(.99)}to{filter:none;transform:scale(1)}}@keyframes objectiveCheckPop{30%{filter:drop-shadow(0 0 8px #ffd54fe6);transform:rotate(-12deg)scale(1.55)}70%{transform:rotate(5deg)scale(.92)}}@keyframes completePulse{0%,to{box-shadow:0 0 10px var(--lh-gold-glow)}50%{box-shadow:0 0 20px #f7d58abf}}.obj-panel-complete-icon{flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.obj-panel-complete-icon img{object-fit:contain;width:100%;height:100%}.obj-panel-complete-text{color:var(--lh-gold-300);white-space:pre-line;font-size:11px;font-weight:700;line-height:1.35}.obj-hint-bubble{background:var(--lh-panel-bg);border:1px solid var(--lh-hairline-gold);color:#fff9c4;width:220px;box-shadow:0 6px 20px #0006, 0 0 14px var(--lh-gold-glow);pointer-events:auto;border-radius:12px;padding:10px 12px;font-family:Noto Sans TC,Inter,system-ui,sans-serif;font-size:11px;line-height:1.5;animation:.4s ease-out both hintIn}.obj-hint-bubble.fading{animation:.6s ease-out forwards hintOut}@keyframes hintIn{0%{opacity:0;transform:translate(-10px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes hintOut{to{opacity:0;transform:translate(-8px)scale(.96)}}.obj-hint-header{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.obj-hint-label{color:#ffd54f;letter-spacing:.5px;text-transform:uppercase;font-size:10px;font-weight:700}.obj-hint-close{color:#ffd54f80;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1;transition:color .15s}.obj-hint-close:hover{color:#ffd54f}.obj-hint-text{margin:0}@media (width<=768px){.obj-completion-banner{border-radius:18px;width:min(420px,100vw - 28px);min-height:226px;padding:28px 22px 24px}.obj-completion-banner strong{font-size:clamp(30px,10vw,42px)}.obj-completion-level{font-size:12px}.obj-completion-next{font-size:11px}.obj-container{flex-direction:column;align-items:flex-start;gap:6px;top:58px;bottom:auto;left:8px}.obj-panel{border-radius:10px;width:155px;padding:8px 10px;box-shadow:0 4px 12px #00000059}.obj-panel.collapsed{border-radius:8px;padding:6px 10px}.obj-panel-title{font-size:11px}.obj-panel-objective{margin-bottom:7px;font-size:10px}.obj-progress-bar-track{height:4px}.obj-panel-complete{padding:6px 8px}.obj-panel-complete-text{font-size:10px}.obj-hint-bubble{border-radius:10px;width:155px;padding:8px 10px;font-size:10px;box-shadow:0 4px 12px #00000059}}@media (prefers-reduced-motion:reduce){.obj-completion-overlay{animation:2.8s linear both completionOverlayReducedLifecycle}.obj-completion-rays,.obj-completion-banner,.obj-completion-emblem,.obj-completion-next,.obj-completion-sparkles i,.obj-panel.is-celebrating,.obj-panel.is-celebrating .obj-panel-complete-icon{animation:none}}@keyframes completionOverlayReducedLifecycle{0%,82%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}.damage-popup{pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;will-change:transform, opacity;text-shadow:0 2px 4px #000c;font-family:Outfit,sans-serif,system-ui;font-size:1.4rem;font-weight:900;animation:.9s cubic-bezier(.18,.89,.32,1.28) forwards floatUpFade}.damage-popup.popup-damage{color:var(--lh-ember-500);text-shadow:0 0 8px var(--lh-ember-glow), 0 2px 4px #000000e6}.damage-popup.popup-critical{color:#ffa502;letter-spacing:.035em;-webkit-text-stroke:1px #5222007a;text-shadow:0 0 12px #ffa502e6,0 2px 4px #000000e6;font-size:1.8rem;animation-name:criticalFloat;animation-duration:1s}.damage-popup.popup-gather{color:var(--lh-moss-500);text-shadow:0 0 8px var(--lh-moss-glow), 0 2px 4px #000000e6}.damage-popup.popup-heal{color:#70a1ff;text-shadow:0 0 8px #70a1ffcc,0 2px 4px #000000e6}@keyframes floatUpFade{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:1;transform:translateY(-15px)scale(1.2)}70%{opacity:1;transform:translateY(-35px)scale(1)}to{opacity:0;transform:translateY(-50px)scale(.8)}}@keyframes criticalFloat{0%{opacity:0;transform:translateY(4px)scale(.35)rotate(-4deg)}18%{opacity:1;transform:translateY(-13px)scale(1.32)rotate(2deg)}48%{opacity:1;transform:translateY(-28px)scale(1)rotate(0)}to{opacity:0;transform:translateY(-62px)scale(.82)}}@media (prefers-reduced-motion:reduce){.damage-popup,.damage-popup.popup-critical{opacity:1;animation:none}}.turret-build-panel{color:#cbd5e1;text-align:center;white-space:nowrap;pointer-events:auto;background:#0f172ae0;border:1.5px solid #60a5fa;border-radius:12px;padding:8px 12px;font-size:.8rem;box-shadow:0 4px 15px #00000080}.turret-build-panel button{color:#fff;font:inherit;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:0;border-radius:6px;margin-top:6px;padding:5px 10px;font-weight:800}.turret-build-panel button:disabled{cursor:not-allowed;background:#475569}.settings-trigger{cursor:pointer;-webkit-backdrop-filter:blur(8px);z-index:100;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:absolute;top:20px;right:20px}.settings-trigger:hover{transform:scale(1.1)rotate(90deg)}.settings-trigger:active{transform:scale(.95)rotate(45deg)}.settings-trigger-icon{width:22px;height:22px}.settings-overlay{-webkit-backdrop-filter:blur(6px);z-index:999;box-sizing:border-box;background:#0c1410a6;justify-content:center;align-items:center;width:100vw;height:100vh;padding:16px;animation:.25s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.settings-modal{color:#e8f5e9;width:90%;max-width:520px;max-height:90vh;box-shadow:0 10px 30px #00000080, 0 0 20px var(--lh-gold-glow);box-sizing:border-box;border-radius:16px;flex-direction:column;padding:24px;font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:.3s cubic-bezier(.34,1.56,.64,1) scaleUp;display:flex;position:relative}.settings-body{flex:auto;min-height:0;margin-right:-4px;padding-right:4px;overflow-y:auto}.settings-body::-webkit-scrollbar{width:6px}.settings-body::-webkit-scrollbar-track{background:#ffffff08;border-radius:3px}.settings-body::-webkit-scrollbar-thumb{background:var(--lh-hairline-teal);border-radius:3px}.settings-body::-webkit-scrollbar-thumb:hover{background:var(--lh-teal-500)}.settings-close{z-index:2;color:#a5ffd699;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:color .2s;display:flex;position:absolute;top:16px;right:16px}.settings-close:hover{color:#fff;background:#ffffff14}.settings-close-icon{width:16px;height:16px}.settings-title{align-items:center;gap:8px;margin:0 0 8px;font-size:22px;display:flex}.settings-title-icon{width:20px;height:20px}.settings-desc{color:var(--lh-teal-300);margin-bottom:20px;font-size:13px;line-height:1.5}.settings-section-title{color:#fff;border-left:3px solid var(--lh-teal-500);margin:0 0 12px;padding-left:8px;font-size:15px;font-weight:600}.level-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;max-height:280px;margin-bottom:24px;padding-right:6px;display:grid;overflow-y:auto}.level-grid::-webkit-scrollbar{width:6px}.level-grid::-webkit-scrollbar-track{background:#ffffff08;border-radius:3px}.level-grid::-webkit-scrollbar-thumb{background:var(--lh-hairline-teal);border-radius:3px}.level-grid::-webkit-scrollbar-thumb:hover{background:var(--lh-teal-500)}.level-btn{border:1px solid var(--lh-hairline-teal);cursor:pointer;text-align:left;color:#e8f5e9;background:#ffffff0a;border-radius:8px;flex-direction:column;gap:4px;padding:10px;transition:all .2s;display:flex}.level-btn:hover{border-color:var(--lh-teal-500);background:#33d6bc1a;transform:translateY(-2px);box-shadow:0 4px 10px #0003}.level-btn:active{transform:translateY(0)}.level-btn.is-active{border-color:var(--lh-gold-300);box-shadow:0 0 10px var(--lh-gold-glow);background:#f7d58a24}.level-btn.is-active .level-btn-num{color:#fff;font-weight:700}.level-btn.is-active .level-btn-title{color:var(--lh-gold-300)}.level-btn-num{color:#93fff18c;text-transform:uppercase;font-size:11px}.level-btn-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.settings-actions{border-top:1px solid var(--lh-hairline-teal);gap:12px;padding-top:16px;display:flex}.btn-danger{cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:14px;font-weight:600;display:flex}.btn-icon{width:14px;height:14px}.btn-secondary{cursor:pointer;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.settings-trigger{width:36px;height:36px;font-size:18px;top:8px;right:10px;box-shadow:0 2px 8px #0000004d}.settings-modal{width:95%;padding:18px}.settings-title{font-size:18px}.level-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;max-height:220px}.level-btn{padding:8px}.level-btn-title{font-size:11px}}@media (height<=600px){.settings-overlay{padding:8px}.settings-modal{max-height:96vh;padding:14px 18px}.settings-title{margin-bottom:4px;font-size:17px}.settings-desc{margin-bottom:10px;font-size:12px}.settings-section-title{margin-bottom:6px}.settings-volume{margin-bottom:8px}.volume-row{padding:3px 0}.level-grid{max-height:140px;margin-bottom:12px}.settings-actions{padding-top:10px}.btn-danger,.btn-secondary{padding:8px 12px}}.settings-volume{margin-bottom:18px}.settings-music-credit{color:#e8f5e99e;margin:-8px 0 18px;font-size:12px;line-height:1.5}.settings-music-credit a{color:var(--lh-teal-300);text-decoration:none}.settings-music-credit a:hover{color:#fff;text-decoration:underline}.volume-row{align-items:center;gap:12px;padding:6px 0;font-size:.9rem;display:flex}.volume-row>span:first-child{flex-shrink:0;width:3em}.volume-row input[type=range]{accent-color:#ffe3a8;flex:1}.settings-toggle-row>span:first-child{flex:1;width:auto}.settings-toggle-row input[type=checkbox]{accent-color:#ffe3a8;flex-shrink:0;width:18px;height:18px}.volume-value{text-align:right;opacity:.7;font-variant-numeric:tabular-nums;width:2.4em}
