*{box-sizing:border-box}body{color:#e8e6f0;background:#12141c;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif}button{font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#3a3f52;border-radius:4px}::-webkit-scrollbar-track{background:0 0}.creature{display:block;overflow:visible}.creature-body{transform-origin:50px 82px}@keyframes ca-aura-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.ca-aura{animation:3.2s ease-in-out infinite ca-aura-pulse}.creature-boss .ca-aura{animation-duration:1.9s}@keyframes ca-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035,.975)}}.ca-breathe{animation:2.6s ease-in-out infinite ca-breathe}@keyframes ca-squash{0%,to{transform:scale(1)translateY(0)}35%{transform:scale(1.09,.88)translateY(4px)}70%{transform:scale(.95,1.07)translateY(-3px)}}.ca-squash{animation:2.1s ease-in-out infinite ca-squash}@keyframes ca-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(1.2deg)}}.ca-float{animation:3.4s ease-in-out infinite ca-float}@keyframes ca-sway-slow{0%,to{transform:rotate(-7deg)}50%{transform:rotate(9deg)}}.ca-sway-slow{animation:2.9s ease-in-out infinite ca-sway-slow}@keyframes ca-sway-fast{0%,to{transform:rotate(-11deg)translateY(0)}50%{transform:rotate(10deg)translateY(2px)}}.ca-sway-fast{animation:1.7s ease-in-out infinite ca-sway-fast}@keyframes ca-tentacle{0%,to{transform:rotate(-9deg)scaleY(1)}50%{transform:rotate(11deg)scaleY(1.12)}}.ca-tentacle{animation:2.3s ease-in-out infinite ca-tentacle}@keyframes ca-step{0%,to{transform:rotate(-6deg)}50%{transform:rotate(7deg)}}@keyframes ca-step-alt{0%,to{transform:rotate(7deg)}50%{transform:rotate(-6deg)}}.ca-step{animation:1.5s ease-in-out infinite ca-step}.ca-step-alt{animation:1.5s ease-in-out infinite ca-step-alt}@keyframes ca-arm-l{0%,to{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}@keyframes ca-arm-r{0%,to{transform:rotate(4deg)}50%{transform:rotate(-5deg)}}.ca-arm-l{animation:2.8s ease-in-out infinite ca-arm-l}.ca-arm-r{animation:2.8s ease-in-out infinite ca-arm-r}@keyframes ca-wing-l{0%,to{transform:rotate(-16deg)scaleY(.9)}50%{transform:rotate(14deg)scaleY(1.12)}}@keyframes ca-wing-r{0%,to{transform:rotate(16deg)scaleY(.9)}50%{transform:rotate(-14deg)scaleY(1.12)}}.ca-wing-l{animation:1.25s ease-in-out infinite ca-wing-l}.ca-wing-r{animation:1.25s ease-in-out infinite ca-wing-r}@keyframes ca-jaw{0%,82%,to{transform:rotate(0)}90%{transform:rotate(11deg)}}.ca-jaw{animation:3.6s ease-in-out infinite ca-jaw}@keyframes ca-head-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(-1.5deg)}}.ca-head{animation:2.6s ease-in-out infinite ca-head-bob}@keyframes ca-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.12)}}.ca-blink{animation:4.4s ease-in-out infinite ca-blink}@keyframes ca-pulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.16)}}.ca-pulse{animation:1.8s ease-in-out infinite ca-pulse}@keyframes ca-glow-eye{0%,to{opacity:.7;filter:drop-shadow(0 0 1px var(--creature-glow))}50%{opacity:1;filter:drop-shadow(0 0 4px var(--creature-glow))}}.ca-glow-eye{animation:2.2s ease-in-out infinite ca-glow-eye}@keyframes ca-drip{0%,60%{opacity:.8;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.4)}}.ca-drip{animation:2.6s ease-in infinite ca-drip}@keyframes ca-crown-shine{0%,to{filter:drop-shadow(0 0 2px #ffd76a);transform:translateY(0)scale(1)}50%{filter:drop-shadow(0 0 7px #ffd76a);transform:translateY(-2px)scale(1.06)}}.ca-crown{animation:2.4s ease-in-out infinite ca-crown-shine}@keyframes ca-state-attack{0%{transform:translate(0)scale(1)}25%{transform:translate(6%)scale(1.06,.95)}55%{transform:translate(-14%)scale(.97,1.03)}to{transform:translate(0)scale(1)}}.creature-attack .creature-body{animation:.42s cubic-bezier(.3,1.4,.5,1) ca-state-attack}@keyframes ca-state-hurt{0%{filter:brightness();transform:translate(0)rotate(0)}20%{filter:brightness(2.6)saturate(.3);transform:translate(7%)rotate(4deg)}45%{filter:brightness(1.5);transform:translate(-4%)rotate(-2deg)}to{filter:brightness();transform:translate(0)rotate(0)}}.creature-hurt .creature-body{animation:.3s ease-out ca-state-hurt}@keyframes ca-state-dead{0%{opacity:1;transform:scale(1)rotate(0)translateY(0)}30%{opacity:1;filter:brightness(2.4);transform:scale(1.12)rotate(-3deg)translateY(-4px)}to{opacity:0;filter:brightness(.4);transform:scale(.4)rotate(18deg)translateY(26px)}}.creature-dead .creature-body{animation:.5s ease-in forwards ca-state-dead}.creature-dead .ca-aura{opacity:0;animation:none}@keyframes ca-spawn{0%{opacity:0;filter:brightness(3);transform:scale(.5)translateY(-18px)}60%{opacity:1;transform:scale(1.08)translateY(2px)}to{opacity:1;filter:brightness();transform:scale(1)translateY(0)}}.creature-spawn .creature-body{animation:.45s cubic-bezier(.2,1.3,.4,1) ca-spawn}.juice-off .creature *,.juice-off .creature{animation:none!important}@media (prefers-reduced-motion:reduce){.creature *,.creature{animation:none!important}}@keyframes ca-hem{0%,to{transform:scaleX(1)skew(0)}33%{transform:scaleX(1.07)skew(4deg)}66%{transform:scaleX(.94)skew(-4deg)}}.ca-hem{animation:2.4s ease-in-out infinite ca-hem}.avatar-wrap-creature{width:112px}.creature-stage{justify-content:center;align-items:flex-end;width:112px;height:108px;margin:0 auto;display:flex;position:relative}.creature-stage:before{content:"";pointer-events:none;background:radial-gradient(#0006 0%,#0000 72%);border-radius:50%;width:62px;height:12px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.creature-stage>*{transform:none}@keyframes creature-impact{0%{filter:brightness();transform:scale(1)}30%{filter:brightness(1.5);transform:scale(1.12,.93)}60%{filter:brightness(1.15);transform:scale(.97,1.05)}to{filter:brightness();transform:scale(1)}}@keyframes creature-impact-strong{0%{filter:brightness();transform:scale(1)rotate(0)}22%{filter:brightness(1.9);transform:scale(1.2,.86)rotate(-2.5deg)}45%{filter:brightness(1.6);transform:scale(.9,1.13)rotate(2.5deg)}70%{filter:brightness(1.25);transform:scale(1.05,.96)rotate(-1deg)}to{filter:brightness();transform:scale(1)rotate(0)}}.creature-stage.impact-flash{animation:.3s ease-out creature-impact}.creature-stage.impact-flash-crit{animation:.42s ease-out creature-impact-strong}.creature-stage.impact-flash-miss{animation:none}.creature-stage.impact-flash-skillcast:after{animation:.4s ease-out creature-skillcast-ring;transform:none}@keyframes creature-skillcast-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}.juice-off .creature-stage,.juice-off .creature-stage:after{animation:none!important}@keyframes ca-pinch{0%,70%,to{transform:rotate(0)}80%{transform:rotate(-14deg)}90%{transform:rotate(6deg)}}.ca-pinch{animation:2.2s ease-in-out infinite ca-pinch}@keyframes ca-undulate{0%,to{transform:skewY(0)translateY(0)}30%{transform:skewY(-3.5deg)translateY(-2px)}65%{transform:skewY(3.5deg)translateY(2px)}}.ca-undulate{animation:2.4s ease-in-out infinite ca-undulate}@keyframes ca-spin{to{transform:rotate(360deg)}}.ca-spin{animation:6s linear infinite ca-spin}.ca-spin-rev{animation:9s linear infinite reverse ca-spin}@keyframes ca-optic{0%,to{opacity:.7;transform:translate(-5px)}50%{opacity:1;transform:translate(5px)}}.ca-optic{animation:2.8s ease-in-out infinite ca-optic}@keyframes ca-flicker{0%,to{opacity:.85;transform:scale(1)skew(0)}25%{opacity:1;transform:scale(1.06,1.14)skew(5deg)}50%{opacity:.75;transform:scale(.94,.92)skew(-4deg)}75%{opacity:.95;transform:scale(1.08,1.06)skew(3deg)}}.ca-flicker{animation:.7s ease-in-out infinite ca-flicker}@keyframes ca-ember{0%{opacity:.9;transform:translate(0)scale(1)}to{opacity:0;transform:translate(-10px,-14px)scale(.2)}}.ca-ember{animation:1.3s ease-out infinite ca-ember}@keyframes ca-bubble{0%{opacity:.6;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-20px)scale(.3)}}.ca-bubble{animation:2.8s ease-out infinite ca-bubble}@keyframes ca-claw-l{0%,58%,to{transform:rotate(0)}74%{transform:rotate(20deg)}}@keyframes ca-claw-r{0%,58%,to{transform:rotate(0)}74%{transform:rotate(-20deg)}}.ca-claw-l{animation:2.2s ease-in-out infinite ca-claw-l}.ca-claw-r{animation:2.2s ease-in-out infinite ca-claw-r}.hero{display:block;overflow:visible}.hero-body{transform-origin:48px 90px}@keyframes hero-arm-idle{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg)}}.hero-arm{animation:2.6s ease-in-out infinite hero-arm-idle}@keyframes hero-head-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}.hero-head{animation:2.6s ease-in-out infinite hero-head-idle}@keyframes hero-guard{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(-3deg)}}.hero-guard{animation:3.1s ease-in-out infinite hero-guard}@keyframes hero-cape{0%,to{transform:skew(0)scaleY(1)}50%{transform:skew(-6deg)scaleY(1.05)}}.hero-cape{animation:2.8s ease-in-out infinite hero-cape}@keyframes hero-halo{0%,to{opacity:.8;transform:translateY(0)scaleX(1)}50%{opacity:1;transform:translateY(-2px)scaleX(1.08)}}.hero-halo{animation:3s ease-in-out infinite hero-halo}@keyframes hero-glint{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.22)}}.hero-glint{animation:1.6s ease-in-out infinite hero-glint}@keyframes hero-spin{to{transform:rotate(360deg)}}.hero-spin{animation:1.4s linear infinite hero-spin}@keyframes hero-swing{0%{transform:rotate(0)}25%{transform:rotate(-46deg)}55%{transform:rotate(62deg)}75%{transform:rotate(-8deg)}to{transform:rotate(0)}}.hero-attack .hero-arm{animation:.4s cubic-bezier(.25,1.2,.4,1) hero-swing}@keyframes hero-lunge{0%,to{transform:translate(0)}35%{transform:translate(6%)}}.hero-attack .hero-body{animation:.4s ease-out hero-lunge}@keyframes hero-cast-arm{0%{transform:rotate(0)}30%{transform:rotate(-58deg)}70%{transform:rotate(-52deg)}to{transform:rotate(0)}}.hero-cast .hero-arm{animation:.7s ease-in-out hero-cast-arm}@keyframes hero-cast-aura{0%,to{opacity:.4;transform:scale(1)}40%{opacity:1;transform:scale(1.25)}}.hero-cast .ca-aura{animation:.7s ease-out hero-cast-aura}@keyframes hero-flinch{0%{filter:brightness();transform:translate(0)rotate(0)}20%{filter:brightness(2.4)saturate(.4);transform:translate(-7%)rotate(-4deg)}50%{filter:brightness(1.4);transform:translate(3%)rotate(2deg)}to{filter:brightness();transform:translate(0)rotate(0)}}.hero-hurt .hero-body{animation:.3s ease-out hero-flinch}@keyframes hero-fall{0%{opacity:1;transform:rotate(0)translateY(0)}to{opacity:.45;filter:grayscale(.8);transform:rotate(-72deg)translateY(12px)}}.hero-dead .hero-body{animation:.5s ease-in forwards hero-fall}.juice-off .hero *,.juice-off .hero{animation:none!important}@media (prefers-reduced-motion:reduce){.hero *,.hero{animation:none!important}}.panel>.zone-backdrop{z-index:0;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.zone-backdrop-svg{width:100%;height:100%;position:absolute;inset:0}@keyframes zb-drift-far{0%,to{transform:scaleX(1.12)translate(-1.2%)}50%{transform:scaleX(1.12)translate(1.2%)}}@keyframes zb-drift-mid{0%,to{transform:scaleX(1.18)translate(2.4%)}50%{transform:scaleX(1.18)translate(-2.4%)}}.zb-far{fill:var(--zaccent,#fff);opacity:.1;transform-origin:100px 60px;animation:34s ease-in-out infinite zb-drift-far}.zb-mid{fill:var(--zc0,#0b0d12);opacity:.72;transform-origin:100px 60px;animation:22s ease-in-out infinite zb-drift-mid}.zb-ground{fill:var(--zc0,#0b0d12);opacity:.85}.zone-particles{position:absolute;inset:0;overflow:hidden}.zp{width:var(--zp-size,3px);height:var(--zp-size,3px);background:var(--zaccent,#fff);opacity:0;will-change:transform, opacity;border-radius:50%;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-10%}@keyframes zp-fall{0%{opacity:0;transform:translateY(-10px)rotate(0)}12%{opacity:.85}88%{opacity:.7}to{opacity:0;transform:translate(14px,150px)rotate(300deg)}}.zp-leaf{background:var(--zaccent,#7fc98a);border-radius:60% 10%;animation-name:zp-fall}.zp-ash{opacity:0;background:#cfc9c2;border-radius:50%;animation-name:zp-fall;animation-timing-function:ease-in}@keyframes zp-snow{0%{opacity:0;transform:translateY(-10px)}15%{opacity:.9}to{opacity:0;transform:translate(-18px,150px)}}.zp-snow{background:#e8f4ff;animation-name:zp-snow;box-shadow:0 0 4px #bfe4ff}@keyframes zp-rise{0%{opacity:0;transform:translateY(130px)scale(1)}15%{opacity:.75}to{opacity:0;transform:translate(10px,-12px)scale(.4)}}.zp-bubble{background:0 0;border:1px solid #bfeaff;animation-name:zp-rise;top:auto;bottom:-10%}.zp-ember{background:#ffb057;animation-name:zp-rise;animation-timing-function:ease-out;top:auto;bottom:-10%;box-shadow:0 0 6px 1px #ff7a1e}@keyframes zp-drift{0%{opacity:0;transform:translateY(90px)}25%{opacity:.8}50%{opacity:.9;transform:translate(12px,50px)}75%{opacity:.6}to{opacity:0;transform:translate(-6px,10px)}}.zp-mote{background:var(--zaccent,#e8e6f0);box-shadow:0 0 6px 1px var(--zaccent,#e8e6f0);animation-name:zp-drift;animation-timing-function:ease-in-out;top:auto;bottom:0}@keyframes zp-rain{0%{opacity:0;transform:translateY(-20px)}10%{opacity:.55}to{opacity:0;transform:translate(-26px,150px)}}.zp-rain{width:1.5px;height:calc(var(--zp-size,3px) * 5);background:linear-gradient(#0000,#cfe0ff);border-radius:1px;animation-name:zp-rain}@keyframes zp-spark{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.3)}}.zp-spark{background:var(--zaccent,#fff);animation-name:zp-spark;animation-timing-function:ease-in-out}.juice-off .zone-backdrop *,.juice-off .zone-backdrop{animation:none!important}.juice-off .zone-particles{display:none}@media (prefers-reduced-motion:reduce){.zone-backdrop *,.zone-backdrop{animation:none!important}.zone-particles{display:none}}.panel>.zone-backdrop:after{content:"";pointer-events:none;background:radial-gradient(58% 52% at 50% 58%,#00000075 0%,#00000040 45%,#0000 78%);position:absolute;inset:0}.hit-vfx{pointer-events:none;z-index:3;width:100%;height:100%;transform:scale(var(--vfx-scale,1));color:var(--vfx-color,#fff);position:absolute;inset:0;overflow:visible}.vfx-arc{fill:none;stroke:var(--vfx-color,#fff);stroke-width:5px;stroke-linecap:round;filter:drop-shadow(0 0 5px var(--vfx-color,#fff));stroke-dasharray:130;stroke-dashoffset:130px;animation:.26s cubic-bezier(.2,.8,.3,1) forwards vfx-sweep}.vfx-arc-b{stroke-width:3.5px;opacity:.85;animation-delay:70ms}@keyframes vfx-sweep{0%{stroke-dashoffset:130px;opacity:0}20%{opacity:1}70%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-40px;opacity:0}}.vfx-spark{fill:var(--vfx-color,#fff);transform-origin:50px 50px;animation:.34s ease-out forwards vfx-spark}@keyframes vfx-spark{0%{opacity:0;transform:scale(.2)}30%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.8)}}.vfx-ring{fill:none;stroke:var(--vfx-color,#fff);stroke-width:4px;transform-origin:50px 52px;animation:.38s cubic-bezier(.1,.8,.3,1) forwards vfx-ring}.vfx-ring-b{stroke-width:2px;opacity:.7;animation-delay:90ms}@keyframes vfx-ring{0%{opacity:.95;stroke-width:6px;transform:scale(.25)}to{opacity:0;stroke-width:1px;transform:scale(2.1)}}.vfx-shard{fill:var(--vfx-color,#fff);transform-box:view-box;transform-origin:50px 52px;animation:.34s ease-out forwards vfx-shard}@keyframes vfx-shard{0%{opacity:0;translate:0 8px}25%{opacity:1}to{opacity:0;translate:0 -16px}}.vfx-streak{fill:none;stroke:var(--vfx-color,#fff);stroke-width:3px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;filter:drop-shadow(0 0 4px var(--vfx-color,#fff));animation:.2s ease-out forwards vfx-sweep}.vfx-streak-b{stroke-width:1.6px;opacity:.7;animation-delay:60ms}.vfx-puncture{fill:none;stroke:var(--vfx-color,#fff);stroke-width:3px;transform-origin:66px 54px;animation:.3s ease-out .1s forwards vfx-ring}.vfx-rune{fill:none;stroke:var(--vfx-color,#fff);stroke-width:2.5px;transform-origin:50px 50px;filter:drop-shadow(0 0 6px var(--vfx-color,#fff));animation:.5s ease-out forwards vfx-rune}.vfx-rune-b{opacity:.8;animation-name:vfx-rune-rev;animation-delay:80ms}@keyframes vfx-rune{0%{opacity:0;transform:scale(.3)rotate(-40deg)}35%{opacity:1}to{opacity:0;transform:scale(1.5)rotate(25deg)}}@keyframes vfx-rune-rev{0%{opacity:0;transform:scale(.3)rotate(40deg)}35%{opacity:.9}to{opacity:0;transform:scale(1.35)rotate(-25deg)}}.juice-off .hit-vfx{display:none}@media (prefers-reduced-motion:reduce){.hit-vfx{display:none}}.levelup-burst{pointer-events:none;z-index:40;justify-content:center;align-items:center;width:50%;height:100%;display:flex;position:absolute;top:0;left:0;overflow:hidden}.levelup-rays{width:160px;height:160px;position:absolute;overflow:visible}.lu-ray{fill:var(--gold,#f2c14e);transform-box:view-box;transform-origin:50px 50px;animation:.75s cubic-bezier(.1,.9,.3,1) forwards lu-ray}@keyframes lu-ray{0%{opacity:0;scale:.2}30%{opacity:.95}to{opacity:0;scale:1.35}}.lu-ring{fill:none;stroke:var(--gold,#f2c14e);stroke-width:3px;transform-box:view-box;transform-origin:50px 50px;animation:.85s cubic-bezier(.1,.8,.3,1) forwards lu-ring}.lu-ring-b{stroke-width:1.6px;animation-delay:.16s}@keyframes lu-ring{0%{opacity:1;scale:.2}to{opacity:0;scale:2.4}}.levelup-text{letter-spacing:2px;color:#12141c;background:linear-gradient(90deg, var(--accent-2,#f2a93c), var(--gold,#f2c14e));box-shadow:0 0 22px -2px var(--gold,#f2c14e);border-radius:8px;padding:3px 10px;font-size:19px;font-weight:800;animation:1.15s cubic-bezier(.15,1.3,.4,1) forwards lu-text;position:relative}@keyframes lu-text{0%{opacity:0;transform:translateY(14px)scale(.6)}22%{opacity:1;transform:translateY(-4px)scale(1.12)}38%{transform:translateY(0)scale(1)}78%{opacity:1;transform:translateY(-6px)scale(1)}to{opacity:0;transform:translateY(-22px)scale(.95)}}.juice-off .levelup-rays{display:none}@media (prefers-reduced-motion:reduce){.levelup-rays{display:none}}:root{--bg:#12141c;--panel:#1b1e2a;--panel-border:#2c2f40;--text:#e8e6f0;--text-dim:#9a9db3;--accent:#8a6dd6;--accent-2:#f2a93c;--danger:#e15c5c;--success:#4caf6d;--gold:#f2c14e;--radius:10px}html,body,#root{height:100%}.app-shell{box-sizing:border-box;flex-direction:column;gap:14px;max-width:1280px;height:100dvh;margin:0 auto;padding:16px;display:flex;overflow:hidden}.app-header{justify-content:space-between;align-items:center;display:flex}.header-actions{align-items:center;gap:8px;display:flex}.sync-warning{color:var(--danger);border:1px solid var(--danger);cursor:default;border-radius:8px;padding:2px 6px;font-size:10px;font-weight:600}.gm-speed-badge{color:#12141c;background:var(--accent-2);border-radius:8px;padding:2px 7px;font-size:11px;font-weight:700}.gm-card{max-width:380px;overflow-y:auto}.gm-warning{color:var(--danger);text-align:left;padding:4px 0 12px}.gm-speed-row{gap:6px;margin-bottom:6px;display:flex}.gm-speed-row .btn{flex:1}.gm-ff-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px;display:grid}.gm-full-btn{width:100%;margin-top:6px}.gm-class-group{margin-top:10px}.gm-class-group-label{color:var(--text-dim);margin-bottom:6px;font-size:12px}.gm-class-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.app-header h1{letter-spacing:.5px;background:linear-gradient(90deg, var(--accent-2), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:22px}.app-header{flex-shrink:0}.app-grid-single{flex:1;justify-content:center;min-height:0;padding-bottom:64px;display:flex;overflow-y:auto}.app-grid-single .col{width:100%;max-width:560px}.col{flex-direction:column;gap:14px;display:flex}.header-player-info{flex:1;min-width:0}.header-player-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.header-player-name{background:linear-gradient(90deg, var(--accent-2), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:700}.header-player-job{color:var(--text-dim);font-size:11px}.header-player-gold{color:var(--gold);align-items:center;gap:3px;margin-left:auto;font-size:12px;font-weight:600;display:inline-flex}.header-xp-track{background:#262a3a;border-radius:3px;height:4px;margin-top:3px;overflow:hidden}.header-xp-fill{background:linear-gradient(90deg,#4d9bf5,#8a6dd6);height:100%}.header-next-goal{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;margin-top:3px;font-size:10.5px;display:flex;overflow:hidden}.header-next-goal-label{color:var(--accent-2);font-weight:600}.header-next-goal-track{background:#262a3a;border-radius:2px;flex-shrink:0;width:40px;height:3px;display:inline-block;overflow:hidden}.header-next-goal-fill{background:var(--accent-2);height:100%;display:block}.battle-screen{gap:6px;min-height:0}.battle-stage-strip{color:var(--text);justify-content:space-between;align-items:center;padding:2px;font-size:12px;display:flex}.battle-stage-strip-sub{color:var(--text-dim);margin-left:6px;font-weight:400}.battle-top-row{grid-template-columns:1fr 1fr;align-items:stretch;gap:6px;display:grid;position:relative}.projectile-layer{pointer-events:none;z-index:22;position:absolute;inset:0}.projectile{background:var(--proj-color,#e8e6f0);width:9px;height:9px;box-shadow:0 0 6px 2px var(--proj-color,#e8e6f0), 0 0 14px 4px color-mix(in srgb, var(--proj-color,#e8e6f0) 45%, transparent);opacity:0;border-radius:50%;position:absolute;top:26%;left:22%}.projectile-crit{width:13px;height:13px}.projectile-miss{opacity:0;filter:saturate(.4)}.projectile-monster{animation:.28s ease-in forwards projectile-fly-right}.projectile-monster.projectile-miss{animation-name:projectile-fly-right-miss;animation-duration:.22s}.projectile-player{--proj-color:var(--danger);animation:.28s ease-in forwards projectile-fly-left}.projectile-player.projectile-miss{animation-name:projectile-fly-left-miss;animation-duration:.22s}@keyframes projectile-fly-right{0%{opacity:0;left:22%;transform:translate(-50%,-50%)scale(.5)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:.9;left:78%;transform:translate(-50%,-50%)scale(1)}}@keyframes projectile-fly-right-miss{0%{opacity:0;left:22%;transform:translate(-50%,-50%)scale(.5)}15%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;left:52%;transform:translate(-50%,-50%)scale(.6)}}@keyframes projectile-fly-left{0%{opacity:0;left:78%;transform:translate(-50%,-50%)scale(.5)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:.9;left:22%;transform:translate(-50%,-50%)scale(1)}}@keyframes projectile-fly-left-miss{0%{opacity:0;left:78%;transform:translate(-50%,-50%)scale(.5)}15%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;left:48%;transform:translate(-50%,-50%)scale(.6)}}.battle-screen .panel{padding:6px 8px}.battle-screen .panel-title{margin-bottom:4px;font-size:11px}.battle-screen .bar-row{gap:5px;margin-bottom:2px}.battle-screen .bar-label{width:18px;font-size:9.5px}.battle-screen .bar-track{height:7px}.battle-screen .bar-value{min-width:46px;font-size:9.5px}.battle-screen .monster-name{text-align:center;margin:2px 0;font-size:12px;font-weight:600}.battle-screen .monster-substats{text-align:center;color:var(--text-dim);margin-bottom:3px;font-size:10.5px}.battle-screen .recovery-note{text-align:center;margin:0 0 3px;font-size:10px}.battle-screen .hotbar-panel{gap:4px}.battle-screen .hotbar{gap:5px}.battle-screen .hotbar-slot{aspect-ratio:unset;height:34px}.battle-screen .skill-hotbar{grid-template-columns:repeat(auto-fill,minmax(32px,1fr))}.battle-screen .hotbar-slot-empty{font-size:9px}.battle-screen .threshold-row{gap:8px}.battle-screen .threshold-item{gap:0;font-size:9.5px}.side-panel{flex-direction:column;align-items:stretch;display:flex}.avatar-frame{color:var(--accent-2);border:2px solid var(--panel-border);background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:relative;transform:rotate(45deg)}.avatar-frame>*{transform:rotate(-45deg)}.avatar-wrap{width:72px;margin:2px auto 6px;position:relative}.attack-timer-badge{border:1px solid var(--panel-border);width:22px;height:22px;color:var(--text);z-index:2;background:#21243280;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-4px;right:-8px;overflow:hidden}.nav-bar{z-index:40;background:var(--panel);border:1px solid var(--panel-border);padding:6px;padding-bottom:max(6px, env(safe-area-inset-bottom));border-bottom:none;border-left:none;border-right:none;border-radius:0;justify-content:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{max-width:140px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px;font-size:11px;display:flex}.nav-btn-active{color:var(--text);background:#8a6dd61a}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:14px}.panel-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);justify-content:space-between;margin-bottom:10px;font-size:13px;display:flex}.panel-title-sm{margin-top:16px;font-size:12px}.panel-title-sub{opacity:.7;font-weight:400}.char-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.char-avatar{border:1px solid var(--panel-border);width:52px;height:52px;color:var(--accent-2);background:#262a3a;border-radius:50%;justify-content:center;align-items:center;display:flex}.char-name{font-size:15px;font-weight:600}.char-class{color:var(--text-dim);font-size:12px}.char-gold{color:var(--gold);align-items:center;gap:4px;margin-left:auto;font-weight:600;display:flex}.bar-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.bar-label{width:24px;color:var(--text-dim);font-size:11px}.bar-track{background:#262a3a;border-radius:6px;flex:1;height:10px;position:relative;overflow:hidden}.bar-fill{border-radius:6px;height:100%;transition:width .3s;position:absolute;inset:0}.bar-fill.hp{background:var(--danger)}.bar-fill.mp{background:linear-gradient(90deg,#4d9bf5,#63c7f2)}.bar-fill.xp{background:linear-gradient(90deg,#4d9bf5,#8a6dd6)}.bar-fill.monster-hp{background:var(--danger)}.bar-fill-trail{opacity:.9;background:#fff;border-radius:6px;height:100%;transition:width .6s cubic-bezier(.22,.61,.36,1);position:absolute;inset:0}.bar-value{color:var(--text-dim);text-align:right;min-width:62px;font-size:11px}.shield-badge{color:#4dd0e1;vertical-align:middle;background:#4dd0e129;border-radius:8px;align-items:center;gap:2px;margin-left:5px;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex}.recovery-note{color:var(--danger);margin:-2px 0 8px;font-size:12px}.stat-grid{grid-template-columns:1fr 1fr;gap:6px;margin:10px 0;display:grid}.stat-grid-primary{grid-template-columns:repeat(3,1fr)}.stat-chip{color:var(--text-dim);background:#21243280;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.stat-grid:not(.stat-grid-primary) .stat-chip{justify-content:flex-start}.mastery-row{color:var(--text-dim);align-items:center;gap:8px;margin-bottom:10px;display:flex}.mastery-bar-track{background:#21243280;border-radius:4px;flex:1;height:8px;overflow:hidden}.mastery-bar-fill{background:linear-gradient(90deg, var(--accent-2), var(--accent));border-radius:4px;height:100%;transition:width .3s}.mastery-level{flex-shrink:0;font-size:11px;font-weight:600}.mastery-bar-track-sm{width:100%;height:4px;margin-top:5px}.equip-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.equip-grid-12{grid-template-columns:repeat(3,1fr)}.equip-slot{border:1px dashed var(--panel-border);color:inherit;font:inherit;cursor:pointer;text-align:center;background:#21243280;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex}.equip-slot:hover{background:#ffffff0a}.equip-slot-label{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9.5px;line-height:1.2;overflow:hidden}.char-footer-stats{color:var(--text-dim);justify-content:space-between;margin-top:12px;font-size:11px;display:flex}.monster-panel-boss{border-color:#f2a93c60;box-shadow:0 0 24px -8px #f2a93c50}.boss-tag{letter-spacing:1px;color:#12141c;background:var(--accent-2);border-radius:6px;margin-bottom:2px;padding:2px 8px;font-size:10px;font-weight:700}.dummy-tag{background:var(--text-dim)}.monster-panel{background-position:50%;background-size:cover;position:relative}.monster-panel>*{z-index:1;position:relative}.monster-panel:before{content:"";z-index:0;border-radius:inherit;background:var(--zbg-motif,none), linear-gradient(180deg, var(--zc1,#1a1c26) 0%, var(--zc2,#14151d) 65%, var(--zc0,#101117) 100%);background-size:var(--zbg-motif-size,auto), cover;opacity:.9;position:absolute;inset:0}.zone-bg-forest{--zc0:#0d1811;--zc1:#1a3324;--zc2:#122419;--zaccent:#7fc98a;--zbg-motif:linear-gradient(75deg, transparent 40%, #3c784622 41%, transparent 43%), linear-gradient(105deg, transparent 55%, #2d5f3728 56%, transparent 58%), linear-gradient(70deg, transparent 20%, #28553220 21%, transparent 23%)}.zone-bg-ocean{--zc0:#071c26;--zc1:#0e2a38;--zc2:#0a2130;--zaccent:#5fc6e8;--zbg-motif:linear-gradient(45deg, transparent 48%, #4bb6d422 49%, #4bb6d422 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, #2f8fae1c 49%, #2f8fae1c 51%, transparent 52%);--zbg-motif-size:70px 70px, 70px 70px}.zone-bg-foundry{--zc0:#17110a;--zc1:#2a1c0f;--zc2:#1e140b;--zaccent:#f0913c;--zbg-motif:radial-gradient(circle at 30% 85%, #d98a3a3c 0%, transparent 24%), radial-gradient(circle at 72% 88%, #c46f261f 0%, transparent 20%), linear-gradient(0deg, #a5651f22, transparent 40%)}.zone-bg-castle{--zc0:#0d0716;--zc1:#1c0f28;--zc2:#150b1e;--zaccent:#a98ae0;--zbg-motif:linear-gradient(80deg, transparent 46%, #7a5aa029 47%, #7a5aa029 48%, transparent 49%), linear-gradient(100deg, transparent 60%, #5a3c8230 61%, #5a3c8230 62%, transparent 63%)}.zone-bg-misty{--zc0:#17191b;--zc1:#23282b;--zc2:#1b1e20;--zaccent:#d3dbe2;--zbg-motif:linear-gradient(0deg, #c8cdd220 0%, transparent 30%), linear-gradient(0deg, #c8cdd214 15%, transparent 45%), linear-gradient(0deg, #c8cdd20d 30%, transparent 60%)}.zone-bg-volcanic{--zc0:#140705;--zc1:#351208;--zc2:#200a06;--zaccent:#ff8a3c;--zbg-motif:radial-gradient(circle at 30% 85%, #ff781e4a 0%, transparent 24%), radial-gradient(circle at 70% 90%, #ff50103c 0%, transparent 20%), linear-gradient(0deg, #ff5a1428, transparent 40%)}.zone-bg-ice{--zc0:#0a1c2c;--zc1:#12354b;--zc2:#0d2638;--zaccent:#a7e2ff;--zbg-motif:linear-gradient(45deg, transparent 48%, #a0dcf026 49%, #a0dcf026 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, #a0dcf01c 49%, #a0dcf01c 51%, transparent 52%);--zbg-motif-size:60px 60px, 60px 60px}.zone-bg-storm{--zc0:#10151d;--zc1:#202c3c;--zc2:#171f2a;--zaccent:#bcd0ee;--zbg-motif:linear-gradient(52deg, transparent 46%, #cfd8e630 48%, transparent 50%), linear-gradient(-52deg, transparent 46%, #8fa2c026 48%, transparent 50%);--zbg-motif-size:46px 46px, 46px 46px}.zone-bg-holy{--zc0:#1c1608;--zc1:#372c10;--zc2:#251d0b;--zaccent:#ffe9a8;--zbg-motif:radial-gradient(circle at 50% 100%, #f2e6a840 0%, transparent 35%), linear-gradient(80deg, transparent 46%, #f2e6a824 47%, #f2e6a824 48%, transparent 49%)}.zone-bg-shadow{--zc0:#08060c;--zc1:#150b20;--zc2:#0e0816;--zaccent:#b078e8;--zbg-motif:linear-gradient(80deg, transparent 46%, #4a2d6636 47%, #4a2d6636 48%, transparent 49%), linear-gradient(100deg, transparent 60%, #ff4d8a20 61%, #ff4d8a20 62%, transparent 63%)}.zone-bg-threshold{--zc0:#121316;--zc1:#22242a;--zc2:#1a1b20;--zaccent:#c9cdd4;--zbg-motif:linear-gradient(0deg, #c9cdd41c 0%, transparent 30%), linear-gradient(0deg, #c9cdd412 15%, transparent 45%)}.zone-bg-dragon{--zc0:#14040a;--zc1:#380a16;--zc2:#22060d;--zaccent:#ff7a5c;--zbg-motif:radial-gradient(circle at 30% 85%, #ff2f5c48 0%, transparent 24%), radial-gradient(circle at 70% 90%, #ff0f3c3a 0%, transparent 20%), linear-gradient(0deg, #ff0f3c26, transparent 40%)}.monster-display{width:100%;color:var(--accent-2);flex-direction:column;align-items:center;gap:6px;padding:10px 0;display:flex}.monster-name{color:var(--text);margin-bottom:4px;font-weight:600}.monster-substats{color:var(--text-dim);font-size:12px}.blind-badge{color:#b79bf0;vertical-align:middle;background:#9d7ae02e;border-radius:8px;align-items:center;margin-left:6px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.curse-badge{color:#9fce7a;vertical-align:middle;background:#7a9e5c2e;border-radius:8px;align-items:center;margin-left:6px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.freeze-badge{color:#a9e3f7;vertical-align:middle;background:#7ac8e833;border-radius:8px;align-items:center;margin-left:6px;padding:0 5px;font-size:10px;font-weight:700;animation:1.2s ease-in-out infinite freeze-pulse;display:inline-flex}@keyframes freeze-pulse{0%,to{opacity:1}50%{opacity:.55}}.bar-row-anchor{z-index:25;position:relative}.floaty-layer{pointer-events:none;z-index:30;height:0;position:absolute;inset:-4px 0 auto}.floaty{color:#fff;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000,0 2px 4px #000c;white-space:nowrap;font-size:13px;font-weight:700;animation:.9s ease-out forwards floaty-rise;position:absolute;top:0;transform:translate(-50%)}.floaty-normal{color:#f2f2f2}.floaty-crit{color:#f2a93c;font-size:16px;animation-delay:60ms}.floaty-heal{color:#4caf6d}.floaty-regen{opacity:.85;font-size:11px}.floaty-miss{color:#9a9db3;font-style:italic}.floaty-shield{color:#4dd0e1;font-size:12px}.floaty-crit-tag{vertical-align:middle;border:1px solid #f2a93c;border-radius:6px;margin-left:4px;padding:0 3px;font-size:9px;font-style:normal}.floaty-skill{text-shadow:0 0 6px,-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000;font-size:15px}.floaty-dot{opacity:.75;font-size:11px;font-weight:600}.floaty-dot-poison{color:#7ed957}.floaty-dot-bleed{color:#e15c5c}.floaty-dot-burn{color:#f2914a}.floaty-dot-frostbite{color:#7ed4f0}@keyframes floaty-rise{0%{opacity:0;transform:translate(calc(-50% + var(--fdrift,0px) * .1), 6px) scale(.9)}15%{opacity:1;transform:translate(calc(-50% + var(--fdrift,0px) * .35), -4px) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--fdrift,0px)), -36px) scale(1)}}.impact-flash{animation:.35s ease-out impact-flash-pulse}.impact-flash-crit{color:#f2a93c;animation-name:impact-flash-pulse-strong}.impact-flash-heal{color:#4caf6d;animation-name:impact-flash-pulse}.impact-flash-dot{color:#7ed957;animation-name:impact-flash-pulse}.impact-flash-miss{animation:none}@keyframes impact-flash-pulse{0%{filter:brightness();transform:rotate(45deg)scale(1)}30%{filter:brightness(1.6);transform:rotate(45deg)scale(1.14,.92)}60%{filter:brightness(1.2);transform:rotate(45deg)scale(.96,1.06)}to{filter:brightness();transform:rotate(45deg)scale(1)}}@keyframes impact-flash-pulse-strong{0%{filter:brightness();transform:rotate(45deg)scale(1)}22%{filter:brightness(2);transform:rotate(43deg)scale(1.22,.85)}45%{filter:brightness(1.7);transform:rotate(47deg)scale(.9,1.14)}70%{filter:brightness(1.3);transform:rotate(44deg)scale(1.06,.96)}to{filter:brightness();transform:rotate(45deg)scale(1)}}.impact-flash-skillcast{position:relative}.impact-flash-skillcast:after{content:"";border:2px solid var(--flash-color,var(--accent-2));pointer-events:none;border-radius:50%;animation:.4s ease-out skillcast-ring;position:absolute;inset:-6px}@keyframes skillcast-ring{0%{opacity:.9;transform:rotate(-45deg)scale(.6)}to{opacity:0;transform:rotate(-45deg)scale(1.5)}}.avatar-spawn-in{animation:.42s ease-out avatar-spawn-in}@keyframes avatar-spawn-in{0%{opacity:0;filter:brightness(2);transform:rotate(45deg)scale(.4)}60%{opacity:1;transform:rotate(45deg)scale(1.08)}to{opacity:1;transform:rotate(45deg)scale(1)}}.screen-shake-normal{animation:.18s ease-out shake-small}.screen-shake-skill{animation:.25s ease-out shake-medium}.screen-shake-crit{animation:.3s ease-out shake-medium}@keyframes shake-small{0%,to{transform:translate(0)}50%{transform:translate(-1px,.5px)}}@keyframes shake-medium{0%,to{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1.5px,1px)}80%{transform:translate(1.5px,-.5px)}}.character-panel{position:relative}.skill-cast-popup{z-index:15;color:#b662e8;white-space:nowrap;pointer-events:none;background:#1b1e2be6;border:1px solid #b662e8;border-radius:8px;padding:3px 9px;font-size:11px;font-weight:700;animation:1.1s ease-out forwards skill-cast-popup;position:absolute;top:-2px;left:50%;transform:translate(-50%)}@keyframes skill-cast-popup{0%{opacity:0;transform:translate(-50%,4px)scale(.85)}15%{opacity:1;transform:translate(-50%,-2px)scale(1.05)}25%{transform:translate(-50%,-2px)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-10px)scale(.95)}}.juice-off .skill-cast-popup{animation-duration:.6s}.stage-clear-toast{z-index:60;border:1px solid var(--accent-2);color:var(--accent-2);text-align:center;pointer-events:none;background:#1b1e2be6;border-radius:10px;max-width:min(90vw,360px);padding:8px 16px;font-size:13px;font-weight:700;animation:2.6s ease-in-out forwards stage-clear-toast;position:fixed;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #000a}@keyframes stage-clear-toast{0%{opacity:0;transform:translate(-50%,-8px)scale(.9)}12%{opacity:1;transform:translate(-50%)scale(1.04)}20%{transform:translate(-50%)scale(1)}85%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-6px)scale(.96)}}.juice-off .stage-clear-toast{animation-duration:1.6s}.juice-off .screen-shake-normal,.juice-off .screen-shake-skill,.juice-off .screen-shake-crit,.juice-off .impact-flash,.juice-off .impact-flash-skillcast:after,.juice-off .avatar-spawn-in,.juice-low .screen-shake-normal{animation:none}.juice-low .screen-shake-skill,.juice-low .screen-shake-crit{animation-duration:.15s}.text-size-small{zoom:.9}.text-size-large{zoom:1.15}.settings-row{align-items:center;gap:8px;margin-top:6px;display:flex}.settings-row-label{color:var(--text-dim);min-width:50px;font-size:12px}.settings-row input[type=range]{flex:1}.hotbar{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.skill-hotbar{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}.hotbar-slot{aspect-ratio:1;border:1px dashed var(--panel-border);color:var(--text);cursor:pointer;background:#21243280;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.hotbar-slot:hover{border-color:var(--accent)}.skill-slot-active{border-style:solid;border-color:var(--accent-2);background:#f2a93c1a}.hotbar-slot-empty{color:var(--text-dim);font-size:11px}.hotbar-slot-count{color:var(--text-dim);background:#12141ccc;border-radius:4px;padding:0 2px;font-size:9px;position:absolute;bottom:1px;right:3px}.hotbar-slot-empty-stock{border-style:solid;border-color:var(--danger);background:#e158581a}.hotbar-slot-empty-stock:disabled{opacity:.45;cursor:default}.hotbar-slot-refill{color:var(--success);background:#12141ccc;border-radius:4px;padding:0 3px;font-size:11px;font-weight:700;position:absolute;bottom:1px;right:3px}.cooldown-overlay{pointer-events:none;background:#05050ab8;transition:height .1s linear;position:absolute;bottom:0;left:0;right:0}.ammo-slot{border-color:#c9a24b60}.hotbar-panel{flex-direction:column;gap:8px;display:flex}.hotbar-with-ammo{align-items:stretch;gap:8px;display:flex}.hotbar-with-ammo .hotbar{flex:1}.hotbar-with-ammo .ammo-slot{width:15%;min-width:44px}.threshold-row{gap:12px;display:flex}.threshold-item{color:var(--text-dim);flex-direction:column;flex:1;gap:2px;font-size:10.5px;display:flex}.threshold-slider{width:100%;accent-color:var(--accent);height:4px}.threshold-slider-hp{accent-color:var(--danger)}.threshold-slider-mp{accent-color:#4d9bf5}.monster-panel-actions{gap:6px;display:flex}.picker-card{text-align:left;flex-direction:column;max-width:420px;max-height:80vh;display:flex}.picker-header{justify-content:space-between;align-items:center;display:flex}.picker-header h2{margin:0;font-size:16px}.picker-clear{align-self:flex-start;margin:6px 0}.picker-list{flex-direction:column;gap:6px;margin-top:8px;display:flex;overflow-y:auto}.achievement-row{border:1px solid var(--panel-border);opacity:.5;background:#21243280;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.achievement-row-done{opacity:1;border-color:var(--gold);background:#f2c14e12}.achievement-row-icon{color:var(--text-dim);flex-shrink:0}.achievement-row-done .achievement-row-icon{color:var(--gold)}.achievement-row-body{flex:1;min-width:0}.achievement-row-name{font-size:13px;font-weight:600}.achievement-row-desc{color:var(--text-dim);font-size:11px}.achievement-row-check{color:var(--gold);font-size:16px;font-weight:700}.picker-option{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;text-align:left;background:#21243280;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.picker-option:disabled{opacity:.45;cursor:default}.picker-option-text{flex:1;min-width:0}.picker-option-label{font-size:13px;font-weight:600}.picker-option-sublabel{color:var(--text-dim);font-size:11px}.picker-option-disabled{color:var(--danger);font-size:10px}.diff-tabs{gap:6px;margin:10px 0;display:flex;overflow-x:auto}.diff-tab{border:1px solid var(--panel-border);color:var(--text-dim);cursor:pointer;background:#21243280;border-radius:8px;flex-shrink:0;padding:6px 10px;font-size:12px}.diff-tab-active{color:var(--text);border-color:var(--accent);background:#8a6dd61a}.stage-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.stage-btn{aspect-ratio:1;border:1px solid var(--panel-border);color:var(--text);cursor:pointer;background:#21243280;border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex}.stage-btn-current{border-color:var(--accent-2);background:#f2a93c1a;font-weight:700}.stage-btn-locked{color:#555;cursor:default}.stage-btn-mini{border-color:#4d9bf5}.stage-btn-zoneboss{border-color:#f2a93c;font-weight:700}.item-card-req{margin-top:3px;font-size:10px}.item-card-req-ok{color:var(--success)}.item-card-req-bad{color:var(--danger)}.equip-hint{padding:0 0 10px}.shop-gear-list{flex-direction:column;gap:14px;max-height:560px;display:flex;overflow-y:auto}.shop-gear-tier-label{text-transform:uppercase;letter-spacing:.6px;color:var(--accent-2);margin-bottom:6px;font-size:11px}.combat-log{flex-direction:column;flex-shrink:0;display:flex}.log-scroll{flex-direction:column;gap:4px;height:118px;font-size:12.5px;display:flex;overflow-y:auto}.log-entry{color:var(--text-dim);background:#21243280;border-radius:6px;padding:4px 8px}.log-kill{color:#cfd2e8}.log-loot{color:var(--accent-2)}.log-levelup{color:var(--success);font-weight:600}.log-death{color:var(--danger)}.log-skill{color:#b662e8}.log-miss{color:#6b6f85;font-style:italic}.log-stage{color:var(--accent-2);font-weight:600}.log-achievement{color:var(--gold);font-weight:600}.log-tabs{gap:12px;display:flex}.log-tab{color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.log-tab-active{color:var(--text)}.chat-panel{gap:6px}.chat-scroll{gap:3px;height:118px}.chat-line{word-break:break-word;padding:2px 4px;font-size:12.5px;line-height:1.4}.chat-line-name{color:var(--accent-2);font-weight:600}.chat-line-text{color:var(--text)}.chat-error{margin:0;padding:4px 8px;font-size:12px}.chat-input-row{gap:6px;display:flex}.chat-input{border:1px solid var(--panel-border);min-width:0;color:var(--text);background:#21243280;border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.chat-input:focus{border-color:var(--accent);outline:none}.tab-row{gap:6px;margin-bottom:10px;display:flex}.tab-btn{background:var(--panel);border:1px solid var(--panel-border);color:var(--text-dim);cursor:pointer;border-radius:8px;flex:1;padding:8px;font-size:13px}.tab-btn-active{color:var(--text);border-color:var(--accent);background:#8a6dd61a}.item-list{flex-direction:column;gap:8px;max-height:560px;display:flex;overflow-y:auto}.item-card{background:#21243280;border:1px solid;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.item-card-icon{flex-shrink:0}.item-card-body{flex:1;min-width:0}.item-card-name{font-size:13px;font-weight:600}.item-card-rarity{color:var(--text-dim);font-size:10px}.item-card-weapon{color:var(--accent-2);margin-top:1px;font-size:10px}.item-card-unique{background:#f2c14e0f}.item-card-zone{background:#4dd0c40f}.item-card-zone .item-card-effect{color:#4dd0c4}.item-card-effect{color:#f2c14e;margin-top:2px;font-size:10.5px;font-weight:600}.item-card-stats{color:var(--text-dim);margin-top:2px;font-size:11px}.item-card-actions{flex-direction:column;gap:4px;display:flex}.empty-note{color:var(--text-dim);text-align:center;padding:20px 0;font-size:12px}.talent-points{color:var(--accent-2);margin-bottom:8px;font-size:12px}.talent-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.talent-grid-6{grid-template-columns:repeat(3,1fr)}.talent-grid-6 .talent-btn{justify-content:center;gap:8px}.talent-btn{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;background:#21243280;border-radius:8px;align-items:center;gap:6px;padding:8px;font-size:12px;display:flex}.talent-btn:disabled{opacity:.4;cursor:default}.talent-btn-mastery{cursor:default;flex-direction:column;align-items:stretch;gap:2px}.talent-grid-6 .talent-btn-mastery{justify-content:flex-start}.talent-btn-mastery-row{justify-content:space-between;display:flex}.talent-count{color:var(--text-dim);margin-left:auto}.upgrade-list{flex-direction:column;gap:8px;display:flex}.upgrade-item{opacity:.55;background:#21243280;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.upgrade-unlocked{opacity:1;border:1px solid #f2a93c40}.upgrade-name{font-size:13px;font-weight:600}.upgrade-level{color:var(--text-dim);font-size:10px;font-weight:400}.upgrade-desc{color:var(--text-dim);font-size:11px}.upgrade-badge{color:var(--success);border:1px solid var(--success);border-radius:10px;margin-left:auto;padding:2px 6px;font-size:10px}.skill-list{flex-direction:column;gap:8px;max-height:480px;display:flex;overflow-y:auto}.skill-item{background:#21243280;border-left:3px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;padding:8px;display:flex}.skill-item.skill-passive{border-left-color:#4d9bf5}.skill-item.skill-active{border-left-color:#f2a93c}.skill-item.skill-aura{border-left-color:#b662e8}.skill-item-body{flex:1;min-width:0}.skill-item-name{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.skill-item-type{text-transform:uppercase;color:var(--text-dim);letter-spacing:.4px;align-items:center;gap:3px;font-size:9.5px;font-weight:400;display:inline-flex}.skill-item-desc{color:var(--text-dim);margin-top:2px;font-size:11px}.skill-item-meta{color:#f2a93c;margin-top:2px;font-size:10px}.skill-item-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.skill-item-level{color:var(--text-dim);font-size:11px}.skill-item.skill-locked{opacity:.45}.skill-item-branch{text-transform:uppercase;letter-spacing:.4px;color:var(--accent-2);border:1px solid var(--accent-2);border-radius:8px;padding:1px 5px;font-size:9px}.skill-item-locked-note{color:var(--danger);margin-top:3px;font-size:10px}.respec-btn{width:100%;margin-top:10px}.shop-list{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.shop-item{background:#21243280;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.shop-item-body{flex:1;min-width:0}.shop-item-name{font-size:13px;font-weight:600}.shop-item-desc{color:var(--text-dim);font-size:11px}.shop-item-actions{flex-direction:column;gap:4px;display:flex}.shop-item-stacked{flex-direction:column;align-items:stretch;gap:8px}.shop-item-row{align-items:center;gap:10px;display:flex}.shop-qty-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.shop-qty-picker{gap:4px;display:flex}.novice-badge{color:var(--accent-2);justify-content:center;margin-bottom:8px;display:flex}.modal-card-wide{max-width:460px}.btn{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;background:#262a3a;border-radius:6px;padding:6px 10px;font-size:12px}.btn:hover{border-color:var(--accent)}.btn-xs{padding:4px 8px;font-size:11px}.btn-ghost{background:0 0}.btn-primary{background:linear-gradient(90deg, var(--accent), #6a52b0);border:none;font-weight:600}.btn-lg{width:100%;padding:12px;font-size:14px}.btn:disabled{opacity:.4;cursor:default}.create-screen{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.create-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;width:100%;max-width:480px;padding:28px}.create-card h1{background:linear-gradient(90deg, var(--accent-2), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 4px}.create-sub{color:var(--text-dim);margin:0 0 18px;font-size:13px}.text-input{border:1px solid var(--panel-border);width:100%;color:var(--text);background:#12141c;border-radius:8px;margin-bottom:16px;padding:10px;font-size:14px}.class-choices{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.class-choices-single{grid-template-columns:1fr;max-width:220px;margin-left:auto;margin-right:auto}.auth-error{border:1px solid var(--danger);color:var(--danger);background:#e1585822;border-radius:8px;margin-bottom:14px;padding:8px 10px;font-size:12px}.hero-list{flex-direction:column;gap:8px;max-height:40vh;margin-bottom:16px;display:flex;overflow-y:auto}.hero-row{border:1px solid var(--panel-border);background:#21243280;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.hero-row-body{text-align:left;flex:1;min-width:0}.hero-row-name{font-size:14px;font-weight:600}.hero-row-meta{color:var(--text-dim);font-size:11px}.hero-row-actions{flex-shrink:0;gap:6px;display:flex}.hero-create-row{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.hero-create-row .text-input{margin-bottom:0}.class-choice{border:1px solid var(--panel-border);color:var(--text);cursor:pointer;background:#21243280;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;display:flex}.class-choice-active{border-color:var(--accent);background:#8a6dd61a}.class-choice-name{font-size:13px;font-weight:600}.class-choice-stats{color:var(--text-dim);text-align:center;font-size:10px}.modal-overlay{z-index:50;background:#05050aaa;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--panel);border:1px solid var(--panel-border);text-align:center;border-radius:12px;width:100%;max-width:360px;padding:24px}.modal-card h2{margin-top:0}.onboarding-card{max-width:320px}.onboarding-dots{justify-content:center;gap:6px;margin:14px 0;display:flex}.onboarding-dot{background:var(--panel-border);border-radius:50%;width:6px;height:6px}.onboarding-dot-active{background:var(--accent-2)}.onboarding-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.onboarding-actions .btn-primary{flex:1}.offline-stats{text-align:left;flex-direction:column;gap:6px;margin:16px 0;font-size:14px;display:flex}@media (width<=719px){.app-shell{padding:12px}}.forge-list{flex-direction:column;gap:8px;display:flex}.forge-row{border:1px solid var(--panel-border);background:#21243280;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.forge-row-locked{opacity:.5}.forge-row-icon{flex-shrink:0;align-items:center;display:flex}.forge-row-body{flex:1;min-width:0}.forge-row-name{font-size:12px;font-weight:600}.forge-row-meta{color:var(--text-dim);margin-bottom:4px;font-size:11px}.forge-row-track{background:#0005;border-radius:3px;height:4px;overflow:hidden}.forge-row-fill{border-radius:3px;height:100%;transition:width .3s}.forge-hint{margin-top:10px}
