:root{--ink: #eef2ef;--muted: rgba(238, 242, 239, .45);--panel: rgba(8, 12, 10, .72);--panel-blur: 12px;--edge: rgba(255, 255, 255, .08);--gold: #e8b64c;--hp: #e2564a;--xp: #5b8fe0;--ok: #58d6a8}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0d1014;color:var(--ink);font:14px/1.4 var(--font-ui);user-select:none}#app{position:fixed;inset:0}#app canvas{display:block}#hud,#login{position:fixed;inset:0;pointer-events:none}#nameplates,#combat-text,#target-frame,#party-bar,#touch,#chat,#inventory,#trade,#market,#lootbox{position:fixed;inset:0;pointer-events:none;overflow:hidden}#hud>*,#login>*{pointer-events:auto}#login{display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#1b2430,#0b0e12 70%)}.login-card{width:min(440px,92vw);padding:28px;border:1px solid var(--edge);border-radius:14px;background:var(--panel);backdrop-filter:blur(var(--panel-blur));box-shadow:0 24px 60px #00000080}.login-card h1{margin:0;font-size:34px;letter-spacing:6px;text-align:center;color:var(--gold)}.tagline{margin:4px 0 22px;text-align:center;color:var(--muted);font-style:italic}.login-card label{display:block;margin-bottom:16px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}.login-card input{width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--edge);border-radius:8px;background:#00000059;color:var(--ink);font-family:var(--font-ui);font-size:15px}.class-pick{display:grid;gap:8px;margin-bottom:18px}.class-card{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--edge);border-radius:9px;background:#ffffff08;color:var(--ink);font-family:var(--font-ui);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.class-card:hover{background:#ffffff12}.class-card.active{border-color:var(--gold);background:#d9b03a1f}.class-name{font-weight:600}.class-stats{font-size:12px;color:var(--muted)}.enter-btn{width:100%;padding:12px;border:0;border-radius:9px;background:var(--gold);color:#1a1508;font-family:var(--font-ui);font-size:15px;font-weight:700;cursor:pointer}.enter-btn:hover{filter:brightness(1.08)}.login-error{margin-top:10px;min-height:18px;color:#ff8a7a;font-size:13px}.login-card input:-webkit-autofill,.login-card input:-webkit-autofill:hover,.login-card input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--panelman-bg-soft) inset;caret-color:var(--ink);transition:background-color 9999s ease-out}.hud-top{position:absolute;top:var(--space-6);left:var(--space-6);display:flex;gap:var(--space-5);align-items:flex-start}.char-panel{width:196px;padding:var(--space-3) var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--panel);backdrop-filter:blur(var(--panel-blur));box-shadow:var(--shadow-card)}.char-head{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);line-height:1.2}.char-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}.char-class{flex:0 0 auto;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-normal);white-space:nowrap}.char-level{flex:0 0 auto;margin-left:auto;color:var(--gold);font-size:var(--fs-sm);font-weight:var(--fw-heavy);white-space:nowrap}.bar{position:relative;height:12px;margin-bottom:var(--space-1);border-radius:6px;background:#ffffff12;overflow:hidden}.bar:last-child{margin-bottom:0}.bar-fill{height:100%;width:0%;transition:width .18s ease-out}.bar-fill.hp{background:linear-gradient(var(--hp),var(--hp-deep))}.bar-fill.hp.low{background:linear-gradient(#ff7a5c,#a01f14)}.bar-fill.mp{background:linear-gradient(var(--mp),var(--mp-deep))}.bar-fill.xp{background:linear-gradient(var(--xp),var(--xp-deep))}.bar-text{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 3px rgba(0,0,0,.75)}.purse{padding:var(--space-3) var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--panel);backdrop-filter:blur(var(--panel-blur));box-shadow:var(--shadow-card);color:var(--gold);font-size:var(--fs-lg);font-weight:var(--fw-heavy);line-height:1.2}.purse .ping{display:block;margin-top:var(--space-1);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-normal)}.hud-right{position:absolute;top:var(--space-6);right:var(--space-6);width:200px;padding:var(--space-3) var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--panel);backdrop-filter:blur(var(--panel-blur));box-shadow:var(--shadow-card)}.panel-title{margin-bottom:var(--space-2);color:var(--muted);font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label)}.bag{display:flex;flex-wrap:wrap;gap:var(--space-1)}.bag-item{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--edge);border-radius:var(--radius-sm);background:#ffffff0a;font-size:var(--fs-md)}.bag-icon{font-size:var(--fs-md);line-height:1}.bag-icon:empty{display:none}.muted{color:var(--muted)}.hud-actions{position:absolute;bottom:66px;left:50%;transform:translate(-50%)}body:not(.touch-ui) .hud-actions{bottom:144px}.auto-cycle{display:flex;align-items:center;gap:var(--space-3);position:relative;overflow:hidden;min-width:184px;min-height:var(--touch-min);padding:var(--space-2) var(--space-5);border:1px solid var(--edge);border-radius:var(--radius-card);background:var(--panel);backdrop-filter:blur(var(--panel-blur));box-shadow:var(--shadow-card);color:var(--ink);font-family:var(--font-ui);text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.auto-cycle:not(.on):hover{background:#ffffff0f}.auto-cycle.on{border-color:var(--ok);background:var(--ok-soft)}.auto-cycle:focus-visible{outline:2px solid var(--xp);outline-offset:2px}.auto-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.auto-head{display:flex;align-items:baseline;gap:var(--space-2)}.auto-title,.auto-power{font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted)}.auto-cycle.on .auto-power{color:var(--ok)}.auto-scope{font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap}.auto-step{color:var(--muted);opacity:.5;transition:color .15s,opacity .15s}.auto-step.included{color:var(--ink);opacity:1}.auto-step.current{color:var(--ok)}.auto-plus{margin:0 3px;color:var(--muted);opacity:.5}.auto-next{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-normal);white-space:nowrap}.auto-hold{position:absolute;right:var(--space-2);bottom:2px;display:none;color:var(--muted);font-size:var(--fs-sm);line-height:1;opacity:.55;pointer-events:none}.auto-hold-bar{position:absolute;left:0;bottom:0;display:none;width:0;height:3px;background:var(--danger);border-radius:0 2px 2px 0;pointer-events:none;transition:width .09s linear}.auto-cycle.holding .auto-hold-bar{width:100%;transition-duration:var(--hold-ms, .45s)}.auto-cycle.stopped .auto-hold-bar{width:100%}.auto-cycle.stopped .auto-hold{color:var(--danger);opacity:1}@media(prefers-reduced-motion:reduce){.auto-cycle,.auto-step,.auto-dot{transition:none}}.hud-bottom{position:absolute;bottom:var(--space-7);left:50%;transform:translate(-50%);display:flex;gap:var(--space-4);align-items:center}.stop-btn{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-4) var(--space-7);border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--panel);backdrop-filter:blur(var(--panel-blur));box-shadow:var(--shadow-card);color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-lg);font-weight:var(--fw-bold);cursor:pointer}.stop-btn:hover{background:#282c34e6}.leave-btn{min-height:var(--touch-min);padding:var(--space-4) var(--space-6);border:1px solid var(--edge);border-radius:var(--radius-lg);background:transparent;color:var(--muted);font-family:var(--font-ui);font-size:var(--fs-md);font-weight:var(--fw-med);cursor:pointer}.leave-btn:hover{background:var(--panel);color:var(--ink)}.leave-btn[data-armed="1"]{border-color:#e2564a8c;color:#ff8a7a;font-weight:var(--fw-bold)}.auto-dot{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:#555;transition:background .15s,box-shadow .15s}.auto-cycle.on .auto-dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}.key{padding:1px var(--space-2);border:1px solid var(--edge);border-radius:var(--radius-pill);color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-normal)}.hint{color:var(--muted);font-size:var(--fs-sm)}.hud-log{position:absolute;left:var(--space-6);bottom:var(--space-7);width:300px;max-height:190px;overflow:hidden;font-size:var(--fs-md)}.log-line{padding:1px 0;color:var(--muted)}.log-line.loot{color:#cfc08a}.log-line.level{color:var(--gold);font-weight:700}.log-line.bad{color:#ff8a7a}.log-line.heal{color:#6fe08a}.log-line.warn{color:#f0b95c}.toast{position:absolute;top:22%;left:50%;transform:translate(-50%);padding:var(--space-5) var(--space-7);border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--panel);backdrop-filter:blur(var(--panel-blur));box-shadow:var(--shadow-card);font-size:var(--fs-title);font-weight:var(--fw-heavy);letter-spacing:var(--ls-tight);color:var(--gold);opacity:0;transition:opacity .25s}.toast.visible{opacity:1}.ability-bar{position:absolute;bottom:74px;left:50%;transform:translate(-50%);display:flex;gap:var(--space-3)}.ability{position:relative}.ability-btn{position:relative;width:96px;height:62px;padding:var(--space-2);border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--panel);backdrop-filter:blur(var(--panel-blur));box-shadow:var(--shadow-card);color:var(--ink);font-family:var(--font-ui);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2px}.ability-btn:hover{background:#282c34eb}.ability-btn.poor{border-color:#6d3a3a}.ability-btn.poor .ability-mana{color:#ff8a7a}.ability-cd{position:absolute;left:0;bottom:0;width:100%;height:0%;background:#0000009e;transition:height .1s linear;pointer-events:none}.ability-name{font-size:var(--fs-md);font-weight:var(--fw-bold);position:relative}.ability-icon{position:absolute;top:5px;left:50%;transform:translate(-50%);font-size:var(--fs-xl);line-height:1;pointer-events:none}.ability-icon:empty{display:none}.ability-mana{position:absolute;top:6px;left:7px;color:#9f9ae8;font-size:var(--fs-xs);font-weight:var(--fw-heavy)}.ability-btn .key{position:absolute;top:5px;right:6px}.ability-auto{position:absolute;right:-5px;bottom:-5px;width:24px;height:24px;border:1px solid var(--edge);border-radius:50%;background:#1a1d22;color:var(--muted);font-family:var(--font-ui);font-size:var(--fs-md);line-height:1;cursor:pointer}.ability-auto:hover{color:var(--ink)}.ability-auto.on{border-color:var(--ok);color:var(--ok);box-shadow:0 0 8px var(--ok-edge)}.np{position:absolute;top:0;left:0;pointer-events:none;transform-origin:50% 100%;will-change:transform,opacity;display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 6px rgba(0,0,0,.7);font-size:var(--fs-lg);line-height:1.2}.np-line{display:flex;align-items:baseline;gap:var(--space-1);padding:1px 5px;border:1px solid transparent;border-radius:var(--radius-sm)}.np-lv{color:var(--gold);font-size:var(--fs-sm);font-weight:var(--fw-heavy)}.np-name{color:var(--ink);font-weight:var(--fw-bold)}.np.is-mob{font-size:var(--fs-md);gap:1px}.np.is-mob .np-name{color:#e2a184;font-weight:var(--fw-normal)}.np.is-mob .np-lv{color:#d8b26e}.np.is-mob .np-hp{width:44px;height:3px}.np.is-compact .np-name{display:none}.np.is-compact .np-line{padding:0}.np.is-compact .np-lv{font-size:var(--fs-lg);padding:0 3px;border-radius:var(--radius-pill);background:#00000080}.np.is-compact .np-hp{width:30px}.np.is-self .np-name{color:#8ce88c}.np.is-self .np-line{border-color:#7ef07e59}.np.is-target{font-size:13px}.np.is-target .np-line{border-color:#ff8f5c;background:#140c08b8;box-shadow:0 0 10px #ff8f5c73;padding:1px 5px}.np.is-target .np-name{color:#ffd0b4;display:inline;font-weight:var(--fw-bold)}.np.is-target .np-lv{color:var(--gold);background:none;padding:0}.np.is-target .np-hp{width:68px;height:5px}.np.is-elite{font-size:13px;gap:2px}.np.is-elite .np-line{border-color:var(--elite, #9b5cf0);background:#160a22b3;box-shadow:0 0 12px #9b5cf08c;padding:1px var(--space-2)}.np.is-elite .np-name{display:inline;color:#e6d2ff;font-weight:var(--fw-heavy);font-size:13px;letter-spacing:.2px}.np.is-elite .np-lv{color:var(--elite, #9b5cf0);font-size:var(--fs-md);background:none;padding:0}.np.is-elite .np-hp{width:74px;height:5px}.np.is-elite .np-fill{background:linear-gradient(#c78bff,#6b2fb0)}.np.is-elite .np-fill.low{background:linear-gradient(var(--hp-low),var(--hp-low-deep))}.np-badge,.np-tag{display:none}.np.is-elite .np-badge{display:inline;color:var(--elite, #9b5cf0);font-size:13px;line-height:1;text-shadow:0 0 6px rgba(155,92,240,.9),0 1px 2px rgba(0,0,0,.95)}.np.is-elite .np-tag{display:inline;font-size:var(--fs-label);font-weight:var(--fw-bold);letter-spacing:var(--ls-label);text-transform:uppercase;color:#f0e2ff;background:var(--elite, #9b5cf0);border-radius:var(--radius-pill);padding:0 var(--space-1)}.np.is-elite.is-target .np-name{color:#ffd0b4}.np-hp{width:54px;height:4px;border:1px solid rgba(0,0,0,.75);border-radius:3px;background:#0009;overflow:hidden}.np-fill{display:block;width:100%;height:100%;transform-origin:0 50%;transform:scaleX(1);background:linear-gradient(var(--hp),var(--hp-deep))}.np-fill.low{background:linear-gradient(var(--hp-low),var(--hp-low-deep))}.np:not(.is-mob) .np-fill{background:linear-gradient(#8ce88c,#3f9b4f)}.np:not(.is-mob) .np-fill.low{background:linear-gradient(var(--hp-low),var(--hp-low-deep))}.np-party{display:none}.np.is-party-mine .np-party,.np.is-party-other .np-party{display:inline-block;font-size:var(--fs-sm);font-weight:var(--fw-heavy);line-height:1}.np.is-party-mine .np-party{color:var(--ok);text-shadow:0 0 6px color-mix(in srgb,var(--ok) 85%,transparent),0 1px 2px rgba(0,0,0,.95)}.np.is-party-other .np-party{color:#a9bccf;background:#00000080;border-radius:var(--radius-pill);padding:0 3px}.np-zone{display:none}.np.is-zone .np-zone{display:inline-block;font-size:var(--fs-sm);font-weight:var(--fw-heavy);line-height:1;letter-spacing:.06em;padding:0 3px;border-radius:var(--radius-pill);border:1px solid currentColor}.np.zone-1 .np-zone{color:var(--gold);background:#00000080}.np.zone-2 .np-zone{color:var(--hp-low);background:#00000080}.np.zone-3 .np-zone{color:#180a08;background:var(--danger);border-color:var(--danger)}.np.zone-4 .np-zone{color:#180a08;background:var(--hp-low);border-color:var(--hp-low)}.np.zone-5 .np-zone{color:#180a08;background:var(--hp-low);border-color:var(--hp-low);box-shadow:0 0 8px #ff7a5cd9}.np.zone-6 .np-zone{color:#7a1c0c;background:#fff2e8;border-color:#fff2e8;box-shadow:0 0 12px #ffd6bef2;letter-spacing:0}.ct{position:absolute;left:0;top:0;transform-origin:50% 50%;white-space:nowrap;pointer-events:none;font-weight:var(--fw-heavy);line-height:1;letter-spacing:.5px;font-variant-numeric:tabular-nums;text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 10px rgba(0,0,0,.75);will-change:transform,opacity}.ct-hit{font-size:calc(var(--ct-size, 22px) * var(--ct-fam, 1));color:var(--ct-ink, #ffe6ad);text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 var(--ct-halo, 10px) var(--ct-glow, rgba(0, 0, 0, .75)),0 0 var(--ct-halo2, 0px) var(--ct-glow, rgba(0, 0, 0, .75))}.ct-t1{--ct-size: 18px;--ct-halo: 7px;--ct-ink: #ded3b4}.ct-t2{--ct-size: 22px;--ct-halo: 10px;--ct-ink: #ffe6ad}.ct-t3{--ct-size: 27px;--ct-halo: 15px;--ct-ink: #ffc247}.ct-t4{--ct-size: 33px;--ct-halo: 20px;--ct-halo2: 44px;--ct-ink: #ff8f2e}.ct-heal{--ct-ink: var(--ok);--ct-glow: color-mix(in srgb, var(--ok) 80%, transparent)}.ct-crit{--ct-glow: rgba(255, 160, 50, .9);-webkit-text-stroke:1px rgba(60,34,0,.6)}.ct-crit.ct-t1{--ct-size: 34px;--ct-halo: 14px;--ct-ink: #ffd24a}.ct-crit.ct-t2{--ct-size: 40px;--ct-halo: 18px;--ct-ink: #ffa62c}.ct-crit.ct-t3{--ct-size: 47px;--ct-halo: 24px;--ct-ink: #ff6a30}.ct-crit.ct-t4{--ct-size: 55px;--ct-halo: 30px;--ct-halo2: 66px;--ct-ink: #fff2c4;--ct-glow: rgba(255, 90, 30, .95)}.ct-mine{--ct-fam: 1}.ct-other{--ct-fam: .75;font-weight:var(--fw-bold);filter:opacity(.62) saturate(.7)}.ct-other.ct-crit{--ct-fam: .5;-webkit-text-stroke:0}.ct-taken{--ct-fam: 1.12;--ct-glow: rgba(207, 74, 60, .85)}.ct-taken.ct-t1{--ct-ink: #ffb3a3}.ct-taken.ct-t2{--ct-ink: #ff8b76}.ct-taken.ct-t3{--ct-ink: #ff5f4a}.ct-taken.ct-t4{--ct-ink: #ff3320}.ct-taken.ct-crit{--ct-glow: rgba(255, 90, 40, .95);-webkit-text-stroke:1px rgba(70,12,0,.7)}.ct-taken.ct-crit.ct-t1{--ct-ink: #ff9a4a}.ct-taken.ct-crit.ct-t2{--ct-ink: #ff7a2f}.ct-taken.ct-crit.ct-t3{--ct-ink: #ff4718}.ct-taken.ct-crit.ct-t4{--ct-ink: #fff0d8}.ct-gain{font-size:var(--fs-title);font-weight:var(--fw-heavy);letter-spacing:.3px}.ct-xp{color:color-mix(in srgb,var(--xp) 55%,var(--ink));text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 12px color-mix(in srgb,var(--xp) 70%,transparent)}.ct-gold{color:var(--gold);text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 12px color-mix(in srgb,var(--gold) 70%,transparent)}.ct-item{color:color-mix(in srgb,var(--gold) 35%,var(--ink));font-style:italic}.ct-gain.ct-party{font-size:var(--fs-lg);font-weight:var(--fw-bold);filter:opacity(.7) saturate(.75)}.ct-gain.ct-ally{font-size:var(--fs-md);font-weight:var(--fw-bold);filter:opacity(.55) saturate(.6)}.ct-level{font-size:46px;letter-spacing:5px;color:color-mix(in srgb,var(--gold) 65%,#fff);-webkit-text-stroke:1px rgba(74,48,0,.6);text-shadow:0 3px 0 rgba(0,0,0,.6),0 0 26px rgba(255,205,80,.95),0 0 60px rgba(255,176,40,.6)}.ct-level-other{font-size:var(--fs-xl);font-weight:var(--fw-heavy);color:var(--gold)}@media(orientation:portrait){body.touch-ui #combat-text .ct.ct-hit{font-size:calc(var(--ct-size, 22px) * var(--ct-fam, 1) * .82)}}@media(orientation:landscape)and (max-height:500px){body.touch-ui #combat-text .ct.ct-hit{font-size:calc(var(--ct-size, 22px) * var(--ct-fam, 1) * .74)}}.tf-card{position:absolute;top:var(--space-6);left:50%;width:300px;padding:9px var(--space-5) var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--panel);backdrop-filter:blur(var(--panel-blur));-webkit-backdrop-filter:blur(var(--panel-blur));box-shadow:var(--shadow-card);pointer-events:none;opacity:0;transform:translate(-50%,-8px);transition:opacity .14s ease-out,transform .14s ease-out;visibility:hidden}.tf-card.visible{opacity:1;transform:translate(-50%);visibility:visible}.tf-card.mob{border-color:#ff8f5c8c}.tf-card.self{border-color:#7ef07e73}.tf-head{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2)}.tf-icon{font-size:var(--fs-xl);line-height:1}.tf-icon:empty{display:none}.tf-name{font-weight:var(--fw-heavy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-card.mob .tf-name{color:#ffd0b4}.tf-card.self .tf-name{color:#8ce88c}.tf-kind{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-normal)}.tf-level{margin-left:auto;color:var(--gold);font-size:var(--fs-md);font-weight:var(--fw-heavy)}.tf-bar{position:relative;height:15px;border-radius:4px;background:#00000080;overflow:hidden}.tf-fill{display:block;width:100%;height:100%;transform-origin:0 50%;transform:scaleX(1);background:linear-gradient(var(--hp),var(--hp-deep));transition:transform .12s ease-out}.tf-fill.low{background:linear-gradient(var(--hp-low),var(--hp-low-deep))}.tf-text{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--fs-sm);font-weight:var(--fw-normal);text-shadow:0 1px 2px rgba(0,0,0,.9)}.tf-fx{margin-top:var(--space-2)}.tf-stats{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin-top:var(--space-2)}.tf-stat{padding:2px var(--space-2);border:1px solid var(--edge);border-radius:var(--radius-pill);background:#ffffff0a;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-normal)}.tf-stat b{color:var(--ink);font-weight:var(--fw-bold)}.tf-stat.xp b{color:var(--xp)}.item-ico{display:block;flex:none;width:var(--ico-size, 24px);height:var(--ico-size, 24px);color:var(--tier, var(--ink));--ico-hide: #a8794a;--ico-fang: #ded7c2;--ico-ore: #98a3a8;--ico-gem: #63cfe0;--ico-bone: #e2dcc6;--ico-scale: #5fbf7a}.item-ico[data-icon=hpPotion]{color:var(--hp)}.item-ico[data-icon=mpPotion]{color:var(--mp)}.item-ico[data-icon=hide]{color:var(--ico-hide)}.item-ico[data-icon=fang]{color:var(--ico-fang)}.item-ico[data-icon=ironOre]{color:var(--ico-ore)}.item-ico[data-icon=gem]{color:var(--ico-gem)}.item-ico[data-icon=bone]{color:var(--ico-bone)}.item-ico[data-icon=scale]{color:var(--ico-scale)}#item-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.skicon{--skicon-size: 1.15em;--skicon-tone: var(--ink);position:relative;display:inline-block;flex:none;width:var(--skicon-size);height:var(--skicon-size);line-height:0;color:var(--skicon-tone)}.skicon-art{display:block;width:100%;height:100%;fill:currentColor}.skicon[data-family=attack]{--skicon-tone: color-mix(in srgb, var(--hp) 74%, var(--ink))}.skicon[data-family=poison]{--skicon-tone: color-mix(in srgb, var(--t-sturdy) 74%, var(--ink))}.skicon[data-family=control]{--skicon-tone: color-mix(in srgb, var(--xp) 68%, var(--ink))}.skicon[data-family=support]{--skicon-tone: color-mix(in srgb, var(--ok) 74%, var(--ink))}.skicon[data-family=attack]{--skicon-edge: var(--hp)}.skicon[data-family=poison]{--skicon-edge: var(--t-sturdy)}.skicon[data-family=control]{--skicon-edge: var(--xp)}.skicon[data-family=support]{--skicon-edge: var(--ok)}.skicon[data-locked="1"] .skicon-art{opacity:.14}.skicon-lock{position:absolute;left:22.5%;top:22.5%;width:55%;height:55%;fill:currentColor;color:var(--muted)}.skicon-cd{position:absolute;inset:0;background:color-mix(in srgb,var(--panelman-bg-soft) 68%,transparent);border-radius:inherit;transform:scaleY(1);transform-origin:50% 100%;animation-name:skicon-cd;animation-timing-function:linear;animation-fill-mode:forwards;pointer-events:none}@keyframes skicon-cd{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@media(prefers-reduced-motion:reduce){.skicon-cd{animation:none;transform:scaleY(1)}}.fx-strip{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-1)}.fx-strip:empty{display:none}.char-panel:has(#hud-fx:empty) .bar.xp{margin-bottom:0}.fx{display:flex;flex-direction:column;align-items:center;gap:1px;width:28px;pointer-events:none}@media(hover:hover)and (pointer:fine){.fx{pointer-events:auto;cursor:help}}.fx-box{position:relative;width:26px;height:26px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-xs);border:1px solid var(--edge);background:var(--surface-1)}.fx[data-tone=good] .fx-box{border-color:var(--ok-edge);background:var(--ok-soft)}.fx[data-tone=bad] .fx-box{border-color:var(--danger-edge);background:var(--danger-soft)}.fx-glyph{--skicon-size: 16px;line-height:0}.fx[data-tone=good] .fx-glyph{--skicon-tone: var(--ok)}.fx[data-tone=bad] .fx-glyph{--skicon-tone: var(--danger)}.fx-count{position:absolute;top:-1px;right:1px;color:var(--ink);font-size:var(--fs-label);font-weight:var(--fw-heavy);line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.9)}.fx-count:empty{display:none}.fx-drain{position:absolute;left:0;right:0;bottom:0;height:2px;transform:scaleX(0);transform-origin:0 50%;background:currentColor;animation-name:fx-drain;animation-timing-function:linear;animation-fill-mode:forwards}.fx[data-tone=good] .fx-drain{color:var(--ok)}.fx[data-tone=bad] .fx-drain{color:var(--danger)}@keyframes fx-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.fx-left{color:var(--muted);font-size:var(--fs-label);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;line-height:1}.fx.ending .fx-left{color:var(--ink)}.fx.ending .fx-box{animation:fx-pulse .9s ease-in-out infinite}@keyframes fx-pulse{0%,to{opacity:1}50%{opacity:.45}}.fx.done{opacity:.4}.fx.done .fx-box{animation:none}.fx-more{align-self:center;padding:2px var(--space-1);border:1px solid var(--edge);border-radius:var(--radius-pill);color:var(--muted);font-size:var(--fs-label);font-weight:var(--fw-bold);line-height:1}@media(prefers-reduced-motion:reduce){.fx-drain,.fx.ending .fx-box{animation:none}.fx-drain{transform:scaleX(1)}}#vendor{position:fixed;inset:0;pointer-events:none}#vendor .t-worn{--tier: var(--t-worn)}#vendor .t-sturdy{--tier: var(--t-sturdy)}#vendor .t-fine{--tier: var(--t-fine)}#vendor .t-rare{--tier: var(--t-rare)}#vendor .t-ancient{--tier: var(--t-ancient)}#vendor .t-legendary{--tier: var(--t-legendary)}.vd-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(760px,96vw);max-height:88vh;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5);border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--panelman-bg);box-shadow:var(--shadow-panel);color:var(--ink);font:var(--fw-normal) var(--fs-md) / 1.35 var(--font-ui);pointer-events:auto;overflow:hidden;--tier: var(--t-worn)}.vd-panel[hidden]{display:none}.vd-head{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--edge-soft)}.vd-titles{display:flex;flex-direction:column;min-width:0;flex:1}.vd-title{font-size:var(--fs-title);font-weight:var(--fw-heavy);letter-spacing:var(--ls-tight)}.vd-sub{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:var(--ls-label)}.vd-gold{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--gold-soft);border-radius:var(--radius-pill);background:var(--gold-soft);color:var(--gold);font-weight:var(--fw-bold)}.vd-coin{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:inset 0 -2px #00000047;flex:none}.vd-close{min-width:var(--touch-min);min-height:var(--touch-min);border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font-size:var(--fs-lg);cursor:pointer}.vd-close:hover{border-color:var(--edge-strong)}.vd-tabs{display:flex;gap:var(--space-2)}.vd-tab{flex:1;min-height:var(--touch-min);border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font:var(--fw-bold) var(--fs-md) / 1 var(--font-ui);letter-spacing:var(--ls-label);cursor:pointer}.vd-tab.is-on{border-color:var(--ok-edge);background:var(--ok-soft);color:var(--ok)}.vd-warn{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--danger-edge);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--ink);font-size:var(--fs-sm)}.vd-warn[hidden]{display:none}.vd-warn-icon{flex:none}.vd-warn-text{min-width:0}.vd-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.vd-pane{display:none}.vd-panel[data-tab=sell] .vd-pane-sell,.vd-panel[data-tab=buy] .vd-pane-buy{display:block}.vd-section+.vd-section{margin-top:var(--space-4)}.vd-section-title{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted);margin-bottom:var(--space-2)}.vd-list{display:flex;flex-direction:column;gap:var(--space-1)}.vd-empty,.vd-note{padding:var(--space-3);color:var(--muted);font-size:var(--fs-sm)}.vd-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border:1px solid var(--edge-soft);border-left:3px solid var(--tier);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--ink);font:var(--fw-normal) var(--fs-md) / 1.25 var(--font-ui);text-align:left;cursor:pointer}.vd-row-stack,.vd-row-buy{border-left-color:var(--edge);cursor:default}.vd-row:hover:not(.is-blocked){border-color:var(--edge-strong)}.vd-row.is-sel{border-color:var(--ok-edge);background:var(--ok-soft)}.vd-row.is-blocked{opacity:.45;cursor:not-allowed}.vd-mark{width:16px;height:16px;flex:none;border:1px solid var(--edge-strong);border-radius:var(--radius-2xs);background:transparent}.vd-mark[data-on="1"]{border-color:var(--ok);background:var(--ok);box-shadow:inset 0 0 0 3px var(--panelman-bg)}.vd-row-icon{width:26px;height:26px;flex:none;display:grid;place-items:center;font-size:var(--fs-xl)}.vd-shape{width:16px;height:16px;background:var(--tier);opacity:.85}.vd-shape[data-slot=weapon]{clip-path:polygon(50% 0,62% 62%,50% 100%,38% 62%)}.vd-shape[data-slot=armor]{clip-path:polygon(50% 0,100% 22%,82% 100%,18% 100%,0 22%)}.vd-shape[data-slot=trinket]{border-radius:50%}.vd-row-texts{display:flex;flex-direction:column;min-width:0;flex:1}.vd-row-name{font-weight:var(--fw-bold);color:var(--tier, var(--ink));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-row-stack .vd-row-name,.vd-row-buy .vd-row-name{color:var(--ink)}.vd-row-sub{font-size:var(--fs-xs);color:var(--muted)}.vd-row-tag{flex:none;padding:2px var(--space-2);border:1px solid var(--edge);border-radius:var(--radius-pill);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted)}.vd-tag-grave{border-color:var(--danger-edge);background:var(--danger-soft);color:var(--danger)}.vd-price{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);min-width:62px;justify-content:flex-end;color:var(--gold);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.vd-stepper{flex:none;display:inline-flex;align-items:center;gap:var(--space-1)}.vd-step{min-width:var(--touch-min);min-height:var(--touch-min);border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font:var(--fw-bold) var(--fs-md) / 1 var(--font-ui);cursor:pointer}.vd-step:hover{border-color:var(--edge-strong)}.vd-step-all{font-size:var(--fs-xs)}.vd-step-num{min-width:28px;text-align:center;font-variant-numeric:tabular-nums;font-weight:var(--fw-bold)}.vd-foot{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--edge-soft)}.vd-foot[hidden]{display:none}.vd-summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.vd-sum-count{font-size:var(--fs-sm);color:var(--muted)}.vd-sum-gold{font-size:var(--fs-xl);font-weight:var(--fw-heavy);color:var(--gold);font-variant-numeric:tabular-nums}.vd-summary[data-grave="1"] .vd-sum-gold{color:var(--danger)}.vd-reason{font-size:var(--fs-sm);color:var(--muted)}.vd-reason[hidden]{display:none}.vd-actions{display:flex;gap:var(--space-2)}.vd-btn{flex:1;min-height:var(--touch-min);padding:0 var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font:var(--fw-bold) var(--fs-md) / 1 var(--font-ui);cursor:pointer}.vd-btn[hidden]{display:none}.vd-btn:disabled{opacity:.45;cursor:not-allowed}.vd-btn-ghost{flex:0 0 auto;color:var(--muted)}.vd-btn-sell{border-color:var(--ok-edge);background:var(--ok-soft);color:var(--ok)}.vd-btn-sell.armed{border-color:var(--danger-edge);background:var(--danger-soft);color:var(--danger);animation:vd-pulse 1.1s ease-in-out infinite}.vd-btn-sell.armed.grave{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger-edge)}.vd-btn-cancel{flex:0 0 auto;color:var(--muted)}.vd-btn-buy{flex:none;min-width:108px;border-color:var(--gold-soft);background:var(--gold-soft);color:var(--gold)}@keyframes vd-pulse{0%,to{opacity:1}50%{opacity:.72}}.panelman-mobile .vd-panel{width:100%;max-height:100%;border-radius:0;border:0;transform:none;inset:0}.panelman-mobile .vd-row{flex-wrap:wrap;row-gap:var(--space-1)}.panelman-mobile .vd-stepper{margin-left:auto}.panelman-mobile .vd-price{min-width:0}@media(prefers-reduced-motion:reduce){.vd-btn-sell.armed{animation:none}}#vault{position:fixed;inset:0;pointer-events:none}#vault .t-worn{--tier: var(--t-worn)}#vault .t-sturdy{--tier: var(--t-sturdy)}#vault .t-fine{--tier: var(--t-fine)}#vault .t-rare{--tier: var(--t-rare)}#vault .t-ancient{--tier: var(--t-ancient)}#vault .t-legendary{--tier: var(--t-legendary)}.vault-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(940px,96vw);max-height:88vh;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5);border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--panelman-bg);box-shadow:var(--shadow-panel);color:var(--ink);font:var(--fw-normal) var(--fs-md) / 1.35 var(--font-ui);pointer-events:auto;overflow:hidden;--tier: var(--t-worn);--vault-cell: 48px}.vault-head{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--edge-soft);cursor:grab}.vault-titles{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.vault-title{font-size:var(--fs-title);font-weight:var(--fw-heavy);letter-spacing:var(--ls-tight)}.vault-sub{font-size:var(--fs-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-close{flex:none;width:var(--touch-min);height:36px;border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font:var(--fw-bold) var(--fs-lg) / 1 var(--font-ui);cursor:pointer}.vault-close:hover{border-color:var(--edge-strong)}.vault-steps{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.vault-steps-label{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--muted)}.vault-step-btns{display:flex;gap:var(--space-1);flex-wrap:wrap}.vault-step{min-width:var(--touch-min);min-height:32px;padding:0 var(--space-3);border:1px solid var(--edge);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);font:var(--fw-bold) var(--fs-sm) / 1 var(--font-ui);cursor:pointer}.vault-step.is-sel{border-color:var(--ok-edge);background:var(--ok-soft);color:var(--ok)}.vault-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);min-height:0;overflow-y:auto}.vault-side{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--edge-soft);border-radius:var(--radius-md);background:var(--surface-1)}.vault-side-vault{border-color:var(--gold-soft)}.vault-bar{display:flex;align-items:baseline;gap:var(--space-2)}.vault-section-title{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--muted);font-weight:var(--fw-bold)}.vault-bar .vault-section-title{font-size:var(--fs-lg);text-transform:none;letter-spacing:0;color:var(--ink)}.vault-count{margin-left:auto;font-size:var(--fs-sm);color:var(--muted)}.vault-count.full{color:var(--danger);font-weight:var(--fw-bold)}.vault-grid{display:grid;grid-template-columns:repeat(var(--vault-cols, 8),minmax(0,1fr));gap:var(--space-1);max-height:46vh;overflow-y:auto;padding-right:2px}.vault-cell{position:relative;aspect-ratio:1;min-height:0;border:1px solid var(--edge-soft);border-radius:var(--radius-2xs);background:#0000003d;display:flex;align-items:center;justify-content:center;padding:0}.vault-cell.filled{border-color:color-mix(in srgb,var(--tier) 46%,transparent);background:color-mix(in srgb,var(--tier) 10%,rgba(0,0,0,.3));color:var(--tier);cursor:pointer}.vault-cell.filled:hover{border-color:var(--tier)}.vault-cell.is-blocked{opacity:.42}.vault-plus{position:absolute;right:2px;bottom:1px;font:var(--fw-heavy) var(--fs-xs) / 1 var(--font-ui);color:var(--gold);text-shadow:0 1px 2px rgba(0,0,0,.8)}.vault-mats{display:flex;flex-wrap:wrap;gap:var(--space-1)}.vault-mat{display:inline-flex;align-items:center;gap:var(--space-1);min-height:30px;padding:0 var(--space-2);border:1px solid var(--edge-soft);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink);font:var(--fw-bold) var(--fs-sm) / 1 var(--font-ui);cursor:pointer}.vault-mat:hover{border-color:var(--edge-strong)}.vault-mat-icon{font-size:var(--fs-lg)}.vault-mat-count{color:var(--muted)}.vault-empty{font-size:var(--fs-sm);color:var(--muted)}.vault-goldrow{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--edge-soft)}.vault-gold{display:inline-flex;align-items:center;gap:var(--space-1);font:var(--fw-heavy) var(--fs-lg) / 1 var(--font-ui);color:var(--gold)}.vault-gold-btns{display:flex;gap:var(--space-1);margin-left:auto;flex-wrap:wrap}.vault-gold-btn{min-width:var(--touch-min);min-height:30px;padding:0 var(--space-2);border:1px solid var(--gold-soft);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--gold);font:var(--fw-bold) var(--fs-xs) / 1 var(--font-ui);cursor:pointer}.vault-gold-btn:hover{border-color:var(--gold)}.vault-foot{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--edge-soft);font-size:var(--fs-sm);flex-wrap:wrap}.vault-msg{color:var(--danger);opacity:0;transition:opacity .14s ease}.vault-msg.on{opacity:1}.vault-hint{margin-left:auto;color:var(--muted)}.panelman-mobile .vault-panel{width:100%;max-height:none;height:100%;border:0;border-radius:0;box-shadow:none;padding:var(--space-4) var(--space-4) var(--space-5);padding-left:calc(var(--space-4) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-4) + env(safe-area-inset-right,0px));padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px))}.panelman-mobile .vault-body{grid-template-columns:minmax(0,1fr)}@media(max-width:820px){.vault-body{grid-template-columns:minmax(0,1fr)}.vault-grid{grid-template-columns:repeat(var(--vault-cols-narrow, 6),minmax(0,1fr))}.vault-hint{margin-left:0}}@media(pointer:coarse){.vault-cell,.vault-mat,.vault-gold-btn,.vault-step{min-height:var(--touch-min)}.vault-close{width:var(--touch-min);height:40px}}@media(prefers-reduced-motion:reduce){.vault-msg{transition:none}.vault-panel *{animation:none}}.pb-list{position:absolute;top:50%;left:var(--space-6);transform:translateY(-50%);display:none;flex-direction:column;gap:var(--space-2);width:186px;pointer-events:none;--pb-waiting: #d8b26e}.pb-list.visible{display:flex}.pb-card{display:flex;flex-direction:column;gap:3px;width:100%;padding:var(--space-2) var(--space-3) var(--space-3);border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--panel);backdrop-filter:blur(var(--panel-blur));-webkit-backdrop-filter:blur(var(--panel-blur));color:var(--ink);font:inherit;text-align:left;cursor:pointer;pointer-events:auto;transition:border-color .14s,background-color .14s,transform .14s}.pb-card:hover{border-color:var(--edge-strong);background-image:linear-gradient(#ffffff0d,#ffffff0d)}.pb-card.active{border-color:var(--gold);background-image:linear-gradient(var(--gold-soft),var(--gold-soft));transform:translate(4px)}.pb-card.dead{opacity:.45;cursor:default}.pb-card.dead:hover{background-image:none;border-color:var(--edge)}.pb-card.waiting{border-color:color-mix(in srgb,var(--pb-waiting) 65%,transparent)}.pb-card.waiting .pb-text{color:var(--pb-waiting);font-style:italic}.pb-card.hit{border-color:var(--danger)}.pb-head{display:flex;align-items:baseline;gap:var(--space-2)}.pb-active-tag{display:none;color:var(--gold);font-size:var(--fs-label);font-weight:var(--fw-bold);letter-spacing:var(--ls-label);text-transform:uppercase;border:1px solid var(--gold);border-radius:var(--radius-pill);padding:1px var(--space-2);line-height:1.3}.pb-card.active .pb-active-tag{display:inline}.pb-name{font-size:var(--fs-lg);font-weight:var(--fw-heavy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-level{margin-left:auto;color:var(--gold);font-size:var(--fs-sm);font-weight:var(--fw-heavy)}.pb-class{display:flex;align-items:center;gap:var(--space-1);color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-normal)}.pb-class-icon{font-size:var(--fs-md);line-height:1;font-style:normal}.pb-bar{position:relative;display:block;height:11px;margin-top:2px;border-radius:4px;background:#00000080;overflow:hidden}.pb-fill{display:block;width:100%;height:100%;transform-origin:0 50%;transform:scaleX(1);background:linear-gradient(var(--hp),var(--hp-deep))}.pb-fill.low{background:linear-gradient(var(--hp-low),var(--hp-low-deep))}.pb-text{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--fs-xs);font-weight:var(--fw-normal);text-shadow:0 1px 2px rgba(0,0,0,.9)}body.touch-ui .pb-list{left:calc(var(--space-4) + env(safe-area-inset-left,0px))}@media(orientation:portrait){body.touch-ui .pb-list{top:calc(86px + env(safe-area-inset-top,0px));left:calc(var(--space-2) + env(safe-area-inset-left,0px));right:calc(60px + env(safe-area-inset-right,0px));width:auto;transform:none;flex-direction:row;align-items:stretch;gap:var(--space-2)}body.touch-ui .pb-card{flex:1 1 0;min-width:0;max-width:132px;min-height:var(--touch-min);justify-content:center;gap:3px;padding:5px var(--space-2) var(--space-2);overflow:hidden}body.touch-ui .pb-head{min-width:0}body.touch-ui .pb-class,body.touch-ui .pb-level,body.touch-ui .pb-active-tag{display:none}body.touch-ui .pb-name{font-size:var(--fs-md)}body.touch-ui .pb-bar{height:10px;margin-top:0}body.touch-ui .pb-text{font-size:var(--fs-xs)}body.touch-ui .pb-card.active{transform:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 55%,transparent);background-image:linear-gradient(color-mix(in srgb,var(--gold) 20%,transparent),color-mix(in srgb,var(--gold) 20%,transparent))}body.touch-ui .pb-card.active .pb-name{color:var(--gold)}}@media(orientation:landscape)and (max-height:500px){body.touch-ui .pb-list{gap:5px;width:160px}body.touch-ui .pb-card{padding:5px var(--space-2) var(--space-2);gap:2px}body.touch-ui .pb-name{font-size:var(--fs-md)}body.touch-ui .pb-level,body.touch-ui .pb-class{font-size:var(--fs-xs)}body.touch-ui .pb-bar{height:9px}body.touch-ui .pb-text{font-size:var(--fs-xs)}}.tc-look,.tc-move,.tc-actions,.tc-menu,.tc-stick{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.tc-look{position:absolute;inset:0;pointer-events:auto}.tc-menu{position:absolute;top:calc(78px + env(safe-area-inset-top,0px));right:calc(var(--space-3) + env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none}.tc-icon-btn{pointer-events:auto;display:grid;place-items:center;width:var(--touch-min);height:var(--touch-min);border:1px solid var(--edge);border-radius:var(--radius-pill);background:var(--panel);backdrop-filter:blur(var(--panel-blur));color:var(--ink);font-size:20px;line-height:1;touch-action:none;-webkit-tap-highlight-color:transparent}.tc-move{position:absolute;left:0;bottom:0;width:40vw;max-width:260px;height:34vh;max-height:280px;min-height:170px;pointer-events:auto}.tc-stick{position:fixed;left:0;top:0;width:108px;height:108px;margin:-54px 0 0 -54px;border:2px solid rgba(255,255,255,.16);border-radius:50%;background:radial-gradient(circle,#14181e6b,#14181e29 70%);opacity:0;transition:opacity .12s ease-out;pointer-events:none}.tc-stick.active{opacity:1}.tc-knob{position:absolute;left:50%;top:50%;width:48px;height:48px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#e8b64c57;box-shadow:0 2px 10px #00000073;transform:translate(-50%,-50%)}.tc-actions{position:absolute;right:calc(var(--space-4) + env(safe-area-inset-right,0px));bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3);pointer-events:none}.tc-btn{pointer-events:auto;display:grid;grid-auto-flow:column;align-items:center;justify-content:center;gap:5px;min-width:52px;min-height:var(--touch-min);padding:0 11px;border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--panel);backdrop-filter:blur(var(--panel-blur));color:var(--ink);font:var(--fw-bold) var(--fs-lg) / 1 var(--font-ui);touch-action:none;-webkit-tap-highlight-color:transparent}.tc-swing{width:68px;height:68px;min-width:68px;border-radius:var(--radius-pill);border-color:#e8b64c80;background:radial-gradient(circle at 50% 35%,rgba(232,182,76,.32),var(--panel) 70%);font-size:14px;font-weight:var(--fw-heavy)}.tc-abilities{display:grid;grid-template-columns:repeat(2,auto);justify-content:end;gap:var(--space-3)}.tc-ab{pointer-events:auto;position:relative;width:56px;height:56px;padding:0;border:1px solid var(--edge);border-radius:var(--radius-card);background:var(--panel);backdrop-filter:blur(var(--panel-blur));color:var(--ink);overflow:hidden;display:grid;place-items:center;font:var(--fw-bold) var(--fs-sm) / 1.1 var(--font-ui);touch-action:none;-webkit-tap-highlight-color:transparent}.tc-ab-auto{position:absolute;top:3px;right:5px;color:#ffffff47;font-size:12px;line-height:1;pointer-events:none;transition:color .15s ease-out}.tc-ab.auto{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok-edge),0 0 10px var(--ok-edge)}.tc-ab.auto .tc-ab-auto{color:var(--ok);text-shadow:0 0 6px var(--ok-edge)}.tc-ab.flash{animation:tc-ab-flash .26s ease-out}@keyframes tc-ab-flash{0%{filter:brightness(1.9)}to{filter:brightness(1)}}.tc-ab-hold{position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--ok);border-radius:0 2px 2px 0;opacity:.9;pointer-events:none;transition:width .09s linear}.tc-ab.holding .tc-ab-hold{width:100%;transition-duration:var(--hold-ms, .45s)}.tc-hint{max-width:210px;margin-bottom:2px;padding:var(--space-2) var(--space-3);border:1px solid var(--ok-edge);border-radius:var(--radius-sm);background:#12161cd1;color:var(--ink);font:var(--fw-normal) var(--fs-md) / 1.35 var(--font-ui);text-align:right;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .25s ease-out,transform .25s ease-out;display:none}.tc-hint.show{display:block;opacity:1;transform:none}.tc-hint span{display:block}.tc-hint span+span{margin-top:3px}.tc-hint b{color:var(--gold)}.tc-hint i{color:var(--ok);font-style:normal}.tc-ab-icon{font-size:18px;line-height:1;pointer-events:none}.tc-ab-icon:empty{display:none}.tc-ab-label{position:relative;max-width:52px;padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.tc-ab-mana{position:absolute;top:4px;left:6px;color:#9f9ae8;font-size:10px;font-weight:700}.tc-ab-cd{position:absolute;left:0;bottom:0;width:100%;height:0%;background:#0000009e;transition:height .1s linear;pointer-events:none}.tc-ab-left{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:18px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.9);pointer-events:none}.tc-ab.cooling .tc-ab-label{opacity:.35}@media(orientation:landscape)and (max-height:500px){.tc-swing{width:60px;height:60px;min-width:60px}.tc-ab{width:48px;height:48px}.tc-abilities{grid-template-columns:repeat(4,auto)}.tc-hint{max-width:280px;padding:4px 8px;font-size:10px}.tc-move{height:62vh;min-height:140px}.tc-menu{top:calc(60px + env(safe-area-inset-top,0px));flex-direction:row}}.tc-btn.hit,.tc-ab.hit,.tc-icon-btn.hit{transform:scale(.98);filter:brightness(1.2)}@media(prefers-reduced-motion:reduce){.tc-btn.hit,.tc-ab.hit,.tc-icon-btn.hit{transform:none}}body.touch-ui{touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}body.touch-ui .ability-bar,body.touch-ui .hud-bottom,body.touch-ui .hud-right,body.touch-ui .mk-launcher{display:none}body.touch-ui #hud .hud-top,body.touch-ui #hud .hud-log,body.touch-ui #hud .toast{pointer-events:none}body.touch-ui #party-bar{z-index:2}body.touch-ui #touch{z-index:1}body.touch-ui #hud{z-index:3}body.touch-ui #chat{z-index:4}body.touch-ui .hud-actions{top:auto;left:auto;right:calc(86px + env(safe-area-inset-right,0px));bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));transform:none}body.touch-ui .auto-cycle .key{display:none}body.touch-ui .auto-cycle{gap:var(--space-2);padding:var(--space-2);min-width:0;max-width:calc(100vw - min(40vw,260px) - 96px);-webkit-touch-callout:none;touch-action:none}body.touch-ui .auto-head{flex-direction:column;align-items:stretch;gap:0;min-width:0}body.touch-ui .auto-title,body.touch-ui .auto-power,body.touch-ui .auto-next{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.touch-ui .auto-power{font-size:var(--fs-md)}body.touch-ui .auto-scope{display:flex;gap:3px;margin:2px 0;min-width:0}body.touch-ui .auto-plus{display:none}body.touch-ui .auto-step{width:16px;min-width:0;height:3px;overflow:hidden;border-radius:2px;background:var(--groove);text-indent:110%;white-space:nowrap;opacity:1}body.touch-ui .auto-step.included{background:var(--ink)}body.touch-ui .auto-step.current{background:var(--ok)}body.touch-ui .auto-next{padding-right:var(--space-6)}body.touch-ui .auto-next:before{content:"▸ "}body.touch-ui .auto-cycle .auto-hold,body.touch-ui .auto-cycle .auto-hold-bar{display:block}@media(orientation:portrait){body.touch-ui .hud-top{top:calc(6px + env(safe-area-inset-top,0px));left:calc(6px + env(safe-area-inset-left,0px));right:calc(6px + env(safe-area-inset-right,0px));gap:6px}body.touch-ui .char-panel{flex:1;width:auto;padding:6px 9px}body.touch-ui .char-head{margin-bottom:4px}body.touch-ui .char-name{font-size:13px}body.touch-ui .char-class,body.touch-ui .char-level{font-size:11px}body.touch-ui .bar{height:12px;margin-bottom:3px}body.touch-ui .bar-text{font-size:10px}body.touch-ui .purse{padding:6px 9px;font-size:13px;white-space:nowrap}body.touch-ui #target-frame .tf-card{top:calc(138px + env(safe-area-inset-top,0px));left:calc(6px + env(safe-area-inset-left,0px));width:calc(100vw - 74px);max-width:320px;padding:7px 9px 8px;transform:translateY(-8px)}body.touch-ui #target-frame .tf-card.visible{transform:translate(0)}body.touch-ui #target-frame .tf-bar{height:13px}body.touch-ui #target-frame .tf-stats{margin-top:5px;gap:3px 5px}body.touch-ui .hud-log{left:calc(6px + env(safe-area-inset-left,0px));bottom:auto;top:calc(300px + env(safe-area-inset-top,0px));width:52vw;max-width:300px;max-height:11vh;font-size:11px;opacity:.85}body.touch-ui .toast{top:calc(232px + env(safe-area-inset-top,0px));left:calc(6px + env(safe-area-inset-left,0px));max-width:180px;transform:none;padding:9px 16px;font-size:16px}body.touch-ui #nameplates .np{font-size:var(--fs-md)}body.touch-ui #nameplates .np.is-target{font-size:var(--fs-lg)}body.touch-ui #combat-text .ct-level{font-size:30px;letter-spacing:3px}}@media(orientation:landscape)and (max-height:500px){body.touch-ui .hud-top{top:calc(6px + env(safe-area-inset-top,0px));left:calc(6px + env(safe-area-inset-left,0px))}body.touch-ui .char-panel{width:210px;padding:6px 9px}body.touch-ui .bar{height:12px;margin-bottom:3px}body.touch-ui .bar-text{font-size:10px}body.touch-ui .purse{padding:6px 9px;font-size:13px}body.touch-ui #target-frame .tf-card{top:calc(6px + env(safe-area-inset-top,0px));width:260px;padding:6px 9px 7px}body.touch-ui #target-frame .tf-bar{height:13px}body.touch-ui .hud-log{left:calc(6px + env(safe-area-inset-left,0px));bottom:auto;top:96px;width:40vw;max-width:280px;max-height:26vh;font-size:11px;opacity:.85}body.touch-ui .toast{top:12%;padding:8px 14px;font-size:15px}body.touch-ui #nameplates .np{font-size:var(--fs-md)}body.touch-ui #combat-text .ct-level{font-size:28px;letter-spacing:3px}}@media(pointer:coarse){.login-card input,.class-card,.enter-btn{min-height:44px}.login-card input,.enter-btn{font-size:16px}}@media(pointer:coarse)and (max-height:720px){.login-card{padding:18px}.login-card h1{font-size:26px;letter-spacing:4px}.tagline{margin:3px 0 14px;font-size:13px}.login-card label{margin-bottom:12px}.class-pick{gap:6px;margin-bottom:12px}.class-card{padding:8px 10px}}.chat-root{position:absolute;inset:0;pointer-events:none;--chat-bubble-bg: rgba(8, 12, 10, .88)}.chat-bubbles{position:absolute;inset:0;z-index:0;pointer-events:none}.chat-bubble{position:absolute;left:0;top:0;max-width:240px;padding:5px var(--space-4) var(--space-2);border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--chat-bubble-bg);color:var(--ink);font-size:var(--fs-lg);font-weight:var(--fw-normal);line-height:1.28;text-align:center;word-break:break-word;box-shadow:var(--shadow-card);opacity:0;transform-origin:50% 110%;will-change:transform,opacity;pointer-events:none}.chat-bubble:after{content:"";position:absolute;left:50%;bottom:-5px;width:9px;height:9px;border-right:1px solid var(--edge);border-bottom:1px solid var(--edge);background:var(--chat-bubble-bg);transform:translate(-50%) rotate(45deg)}.chat-bubble.is-mine{border-color:color-mix(in srgb,var(--gold) 55%,transparent);color:color-mix(in srgb,var(--gold) 45%,var(--ink))}.chat-bubble.is-mine:after{border-right-color:color-mix(in srgb,var(--gold) 55%,transparent);border-bottom-color:color-mix(in srgb,var(--gold) 55%,transparent)}.chat-panel{position:absolute;z-index:1;left:var(--space-6);bottom:214px;width:340px;max-width:calc(100vw - 28px);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.chat-log{font-size:var(--fs-md);line-height:1.4}.chat-line{padding:1px 0;color:var(--ink);font-weight:var(--fw-normal);word-break:break-word;text-shadow:0 1px 3px rgba(0,0,0,.95)}.chat-name{margin-right:5px;color:var(--ok);font-weight:var(--fw-bold)}.chat-line.is-mine .chat-name{color:var(--gold)}.chat-line.is-mine .chat-text{color:color-mix(in srgb,var(--gold) 40%,var(--ink))}.chat-root:not(.open) .chat-line{display:none}.chat-root:not(.open) .chat-line.recent{display:block;opacity:.75}.chat-root.open .chat-panel{pointer-events:auto}.chat-root.open .chat-log{max-height:min(34vh,240px);overflow-y:auto;padding:var(--space-3) var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--panel);backdrop-filter:blur(var(--panel-blur));-webkit-backdrop-filter:blur(var(--panel-blur));overscroll-behavior:contain;touch-action:pan-y}.chat-root.open .chat-line{text-shadow:none}.chat-log::-webkit-scrollbar{width:6px}.chat-log::-webkit-scrollbar-thumb{border-radius:3px;background:#ffffff29}.chat-form{display:flex;gap:var(--space-2)}body.touch-ui .chat-root:not(.open) .chat-form{display:none}.chat-input{flex:1;min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--panelman-bg);color:var(--ink);font:var(--fw-normal) var(--fs-lg) / 1.2 var(--font-ui);outline:none;pointer-events:auto;cursor:text}.chat-input:focus{border-color:color-mix(in srgb,var(--gold) 50%,transparent)}.chat-input::placeholder{color:var(--muted)}.chat-root:not(.open) .chat-input{background:var(--panel);backdrop-filter:blur(var(--panel-blur));-webkit-backdrop-filter:blur(var(--panel-blur))}.chat-root:not(.open) .chat-input:hover{border-color:color-mix(in srgb,var(--gold) 35%,var(--edge))}.chat-send,.chat-toggle{display:none}body.touch-ui .chat-toggle{display:grid;place-items:center;position:absolute;left:calc(min(40vw,260px) + var(--space-3) + env(safe-area-inset-left,0px));bottom:calc(88px + env(safe-area-inset-bottom,0px));width:var(--touch-min);height:var(--touch-min);padding:0;border:1px solid var(--edge);border-radius:var(--radius-pill);background:var(--panel);backdrop-filter:blur(var(--panel-blur));-webkit-backdrop-filter:blur(var(--panel-blur));color:var(--ink);font:var(--fw-bold) 20px / 1 var(--font-ui);pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;opacity:.9}body.touch-ui .chat-root.open .chat-toggle{display:none}body.touch-ui .chat-panel{left:calc(var(--space-3) + env(safe-area-inset-left,0px));bottom:calc(140px + env(safe-area-inset-bottom,0px));width:max(176px,min(300px,calc(100vw - 175px)))}body.touch-ui .chat-root:not(.open) .chat-log{display:flex;flex-direction:column;justify-content:flex-end;max-height:30vh;overflow:hidden}body.touch-ui .chat-root.open .chat-panel{--chat-kb: 55vh;--chat-top: 90px;--chat-form: 50px;top:calc(var(--chat-top) + env(safe-area-inset-top,0px));bottom:auto;width:min(420px,calc(100vw - 16px));max-width:calc(100vw - 16px)}body.touch-ui .chat-root.open .chat-log{max-height:max(84px,calc(100vh - var(--chat-kb) - var(--chat-top) - var(--chat-form) - 6px))}@media(orientation:landscape)and (max-height:500px){body.touch-ui .chat-root.open .chat-panel{--chat-top: 8px;--chat-kb: 60vh}}body.touch-ui .chat-send{display:block;min-height:var(--touch-min);padding:0 var(--space-6);border:1px solid color-mix(in srgb,var(--gold) 50%,transparent);border-radius:var(--radius-md);background:var(--gold-soft);color:color-mix(in srgb,var(--gold) 45%,var(--ink));font:var(--fw-bold) var(--fs-xl) / 1 var(--font-ui);touch-action:manipulation;-webkit-tap-highlight-color:transparent}body.touch-ui .chat-input{min-height:var(--touch-min);font-size:16px}body.touch-ui .chat-bubble{max-width:min(240px,62vw);font-size:var(--fs-md)}.inv-panel{--cell: 68px;--tier: var(--t-worn);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(840px,94vw);max-height:86vh;display:flex;flex-direction:column;border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--panelman-bg);box-shadow:var(--shadow-panel);color:var(--ink);font-family:var(--font-ui);pointer-events:auto;overflow:hidden}.inv-panel[hidden]{display:none}.inv-name.t-worn,.inv-card.t-worn{--tier: var(--t-worn)}.inv-name.t-sturdy,.inv-card.t-sturdy{--tier: var(--t-sturdy)}.inv-name.t-fine,.inv-card.t-fine{--tier: var(--t-fine)}.inv-name.t-rare,.inv-card.t-rare{--tier: var(--t-rare)}.inv-name.t-ancient,.inv-card.t-ancient{--tier: var(--t-ancient)}.inv-name.t-legendary,.inv-card.t-legendary{--tier: var(--t-legendary)}.inv-head{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--edge-soft)}.inv-title{font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}.inv-tabs{display:flex;gap:4px;margin-left:auto}.inv-tab{min-height:30px;padding:5px 12px;border:1px solid var(--edge);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-bold);cursor:pointer}.inv-tab:hover{color:var(--ink)}.inv-panel[data-tab=bag] .inv-tab[data-tab=bag],.inv-panel[data-tab=craft] .inv-tab[data-tab=craft]{border-color:var(--ok-edge);background:var(--ok-soft);color:var(--ok)}.inv-close{width:var(--touch-min);height:var(--touch-min);border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--surface-2);color:var(--muted);font-size:14px;cursor:pointer}.inv-close:hover{color:var(--ink);background:var(--edge-strong)}.inv-body{display:grid;grid-template-columns:214px minmax(0,1fr);gap:1px;background:var(--edge);overflow:hidden;min-height:0}.inv-doll,.inv-pane{padding:var(--space-5) var(--space-6) var(--space-8);background:var(--panelman-bg-soft);overflow-y:auto;scrollbar-width:thin;min-height:0}.inv-doll{grid-column:1;grid-row:1}.inv-pane{grid-column:2;grid-row:1}.inv-panel[data-tab=bag] .inv-pane-craft,.inv-panel[data-tab=craft] .inv-pane-bag{display:none}.inv-section-title{margin:10px 0 8px;color:var(--muted);font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label)}.inv-doll>.inv-section-title:first-child,.inv-pane>.inv-section-title:first-child{margin-top:0}.inv-empty{display:block;color:var(--muted);font-size:var(--fs-lg)}.inv-bar{display:flex;align-items:baseline;gap:var(--space-3)}.inv-bar .inv-section-title{margin-bottom:8px}.inv-count{margin-left:auto;color:var(--muted);font-size:var(--fs-md);font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums}.inv-count.full{color:var(--danger)}.inv-sort{min-height:var(--touch-min);padding:var(--space-2) var(--space-5);border:1px solid var(--edge);border-radius:var(--radius-md);background:transparent;color:var(--muted);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-med);cursor:pointer}.inv-sort:hover{background:var(--panel);color:var(--ink)}.inv-sort[data-auto="1"]{border-color:var(--ok-edge);color:var(--ok)}.inv-sort[data-auto="0"]{border-color:var(--edge-strong);color:var(--ink)}.inv-figure{position:relative;height:268px;margin:2px 0 4px;border:1px solid var(--edge-soft);border-radius:var(--radius-lg);background:#00000040}.inv-body-part{position:absolute;background:var(--groove);border-radius:var(--radius-xs)}.p-head{left:50%;top:14px;width:34px;height:34px;margin-left:-17px;border-radius:50%}.p-torso{left:50%;top:54px;width:56px;height:78px;margin-left:-28px;border-radius:12px 12px 8px 8px}.p-arm-l{left:50%;top:58px;width:16px;height:68px;margin-left:-46px;border-radius:8px}.p-arm-r{left:50%;top:58px;width:16px;height:68px;margin-left:30px;border-radius:8px}.p-leg-l{left:50%;top:134px;width:22px;height:74px;margin-left:-25px;border-radius:8px}.p-leg-r{left:50%;top:134px;width:22px;height:74px;margin-left:3px;border-radius:8px}.inv-eqslots{position:absolute;inset:0}.inv-eqslot{position:absolute;width:58px;height:58px;display:grid;place-items:center;padding:0;border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--surface-1);color:var(--ink);font:inherit;touch-action:none}.inv-eqslot[data-slot=weapon]{left:6px;top:128px}.inv-eqslot[data-slot=armor]{left:50%;top:70px;margin-left:-29px}.inv-eqslot[data-slot=trinket]{right:6px;top:34px}.inv-eqslot.filled{cursor:pointer;border-color:var(--tier);box-shadow:0 0 0 1px color-mix(in srgb,var(--tier) 30%,transparent)}.inv-eqslot.filled:hover{background:var(--edge-strong)}.inv-eqslot.empty{border-style:dashed;background:#0000004d}.inv-eqslot-name{position:absolute;left:0;right:0;bottom:-13px;color:var(--muted);font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);text-align:center;pointer-events:none}.inv-grid{display:grid;grid-template-columns:repeat(var(--bag-cols),minmax(var(--touch-min),var(--cell)));gap:6px;justify-content:start;align-content:start}.inv-cell{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:0;border:1px solid var(--edge);border-radius:var(--radius-sm);background:#00000047;color:var(--ink);font:inherit}.inv-cell.empty{box-shadow:inset 0 1px #ffffff08}.inv-cell.filled{background:var(--surface-1);border-color:var(--tier);box-shadow:inset 0 0 12px color-mix(in srgb,var(--tier) 14%,transparent);cursor:pointer;touch-action:none}.inv-cell.filled:hover,.inv-cell.filled:focus-visible{background:var(--edge-strong);box-shadow:0 0 0 1px var(--tier),inset 0 0 12px color-mix(in srgb,var(--tier) 22%,transparent);outline:none}.inv-cell.locked{opacity:.55}.inv-cell.is-dragging{opacity:.35}.inv-icon{--ico-size: 34px}.inv-icon.ghost{opacity:.4;--ico-size: 26px}.inv-eqslot .inv-icon{--ico-size: 30px}.inv-tip-icon{--ico-size: 22px}.inv-plus{position:absolute;right:3px;bottom:2px;color:var(--gold);font-size:var(--fs-sm);font-weight:var(--fw-heavy);text-shadow:0 1px 2px rgba(0,0,0,.9);pointer-events:none}.inv-ghost{position:fixed;left:0;top:0;z-index:900;width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--tier, var(--edge-strong));border-radius:var(--radius-sm);background:var(--panelman-bg);box-shadow:var(--shadow-card);opacity:.92;pointer-events:none}.inv-panel[data-drag-slot=weapon] .inv-eqslot[data-slot=weapon],.inv-panel[data-drag-slot=armor] .inv-eqslot[data-slot=armor],.inv-panel[data-drag-slot=trinket] .inv-eqslot[data-slot=trinket]{border-color:var(--ok);background:var(--ok-soft);box-shadow:0 0 0 1px var(--ok-edge),0 0 14px color-mix(in srgb,var(--ok) 22%,transparent)}.inv-panel[data-drag-over=weapon] .inv-eqslot[data-slot=weapon],.inv-panel[data-drag-over=armor] .inv-eqslot[data-slot=armor],.inv-panel[data-drag-over=trinket] .inv-eqslot[data-slot=trinket]{background:color-mix(in srgb,var(--ok) 26%,transparent)}.inv-cell.drop-into{outline:2px solid var(--ok);outline-offset:1px;background:color-mix(in srgb,var(--ok) 18%,transparent)}.inv-cell.is-dragging.drop-into{outline-color:var(--edge-strong);background:none}.inv-panel[data-drag-from=doll] .inv-grid{outline:1px dashed var(--ok-edge);outline-offset:6px;border-radius:var(--radius-sm)}.inv-panel[data-drag-from=doll][data-drag-over=bag] .inv-grid{outline-color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,transparent)}.inv-tip{position:absolute;z-index:20;width:244px;max-width:calc(100% - 16px);padding:var(--space-4) var(--space-4) var(--space-3);border:1px solid var(--edge-strong);border-radius:var(--radius-lg);background:var(--panelman-bg);box-shadow:var(--shadow-card);pointer-events:none}.inv-tip[hidden]{display:none}.inv-tip-head{display:flex;align-items:center;gap:var(--space-3)}.inv-tip-sub{color:var(--muted);font-size:var(--fs-sm);margin:2px 0 4px}.inv-tip-value{display:flex;justify-content:space-between;margin-top:4px;font-size:var(--fs-lg)}.inv-tip-foot{margin-top:6px;color:var(--muted);font-size:var(--fs-sm);font-style:italic}.inv-name{font-weight:var(--fw-heavy);font-size:var(--fs-lg);color:var(--tier)}.inv-slot-tag{margin-left:auto;padding:1px 6px;border:1px solid var(--edge);border-radius:var(--radius-2xs);color:var(--muted);font-size:var(--fs-xs)}.inv-quality{display:flex;align-items:center;gap:6px;margin:5px 0 6px}.inv-qbar{flex:1;height:5px;border-radius:var(--radius-2xs);background:#0000008c;overflow:hidden}.inv-qfill{height:100%;width:0%;background:var(--muted)}.inv-qtext{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-heavy);min-width:30px;text-align:right}.inv-quality.q-low .inv-qfill{background:#6b6459}.inv-quality.q-mid .inv-qfill{background:#b9a86a}.inv-quality.q-high .inv-qfill{background:var(--ok)}.inv-quality.q-top .inv-qfill{background:linear-gradient(90deg,var(--gold),#ffe9a3)}.inv-quality.q-high .inv-qtext{color:var(--ok)}.inv-quality.q-top .inv-qtext{color:var(--gold)}.inv-stats{display:grid;gap:1px}.inv-stat{display:flex;justify-content:space-between;font-size:var(--fs-lg)}.inv-stat-key{color:var(--muted)}.inv-stat-val{font-weight:var(--fw-bold)}.inv-value{color:var(--gold);font-weight:var(--fw-heavy)}.inv-totals{display:flex;flex-wrap:wrap;gap:4px 6px}.inv-total{display:inline-flex;gap:5px;padding:3px 7px;border:1px solid var(--edge);border-radius:var(--radius-xs);background:var(--surface-1);font-size:var(--fs-md)}.inv-total-key{color:var(--muted)}.inv-total-val{color:var(--ok);font-weight:var(--fw-heavy)}.inv-compare{margin-top:7px;padding:6px 8px;border:1px solid var(--ok-edge);border-radius:var(--radius-sm);background:var(--ok-soft)}.inv-compare-title{margin-bottom:3px;color:var(--muted);font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label)}.inv-diff{display:flex;justify-content:space-between;font-size:var(--fs-lg)}.inv-diff-key{color:var(--muted)}.inv-diff-val{font-weight:var(--fw-heavy)}.inv-diff.up .inv-diff-val{color:var(--up)}.inv-diff.down .inv-diff-val{color:var(--down)}.inv-diff.same{color:var(--muted);font-style:italic}.inv-diff.value{margin-top:3px}.inv-mats{display:flex;flex-wrap:wrap;gap:5px}.inv-mat{position:relative;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--edge);border-radius:var(--radius-xs);background:var(--surface-1)}.inv-mat .inv-icon{--ico-size: 24px}.inv-mat-count{position:absolute;right:2px;bottom:1px;color:var(--gold);font-size:var(--fs-sm);font-weight:var(--fw-heavy);text-shadow:0 1px 2px rgba(0,0,0,.9)}.inv-recipes{display:grid;gap:7px;align-content:start}.inv-recipe{display:block;width:100%;min-height:var(--touch-min);padding:8px 10px;border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--surface-1);color:var(--ink);text-align:left;font:inherit;cursor:pointer}.inv-recipe.ok:hover{background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:var(--ok)}.inv-recipe.poor{opacity:.45;cursor:not-allowed}.inv-recipe-head{display:flex;align-items:center;gap:var(--space-3)}.inv-recipe-name{font-weight:var(--fw-bold);font-size:var(--fs-lg);color:var(--tier)}.inv-recipe .inv-icon{--ico-size: 22px}.inv-cost{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 5px}.inv-cost-item{display:inline-flex;gap:4px;padding:2px 6px;border:1px solid var(--edge);border-radius:var(--radius-2xs);font-size:var(--fs-md)}.inv-cost-icon{font-size:var(--fs-md);line-height:1;--ico-size: 15px}.inv-cost-item{align-items:center}.inv-cost-name{color:var(--muted)}.inv-cost-num{font-weight:var(--fw-heavy)}.inv-cost-have{font-size:var(--fs-xs);opacity:.85}.inv-cost-item.have .inv-cost-have{color:var(--ok)}.inv-cost-item.lack .inv-cost-have{color:var(--down)}.inv-cost-item.lack{border-color:var(--danger-edge)}.inv-recipe-foot{color:var(--muted);font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label)}.inv-recipe.ok .inv-recipe-foot{color:var(--ok)}.inv-foot{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-top:1px solid var(--edge-soft);background:var(--panelman-bg)}.inv-gold{color:var(--gold);font-weight:var(--fw-heavy);font-size:var(--fs-xl)}.inv-msg{color:var(--danger);font-size:var(--fs-md);opacity:0;transition:opacity .12s}.inv-msg.on{opacity:1}.inv-hint{margin-left:auto;color:var(--muted);font-size:var(--fs-sm);font-style:italic;text-align:right}.panelman-mobile .inv-panel,body.touch-ui .inv-panel{top:0;left:0;transform:none;width:100%;max-width:none;height:100%;max-height:none;border:0;border-radius:0;background:var(--panelman-bg)}.panelman-mobile .inv-body,body.touch-ui .inv-body{grid-template-columns:minmax(0,1fr);gap:0;overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch}.panelman-mobile .inv-doll,.panelman-mobile .inv-pane,body.touch-ui .inv-doll,body.touch-ui .inv-pane{grid-column:1;grid-row:auto;max-height:none;overflow:visible;border-bottom:1px solid var(--edge)}.panelman-mobile .inv-figure,body.touch-ui .inv-figure{height:auto;padding:10px 10px 22px;background:transparent;border:0}.panelman-mobile .inv-body-part,body.touch-ui .inv-body-part{display:none}.panelman-mobile .inv-eqslots,body.touch-ui .inv-eqslots{position:static;display:flex;gap:var(--space-6);justify-content:center}.panelman-mobile .inv-eqslot,body.touch-ui .inv-eqslot{position:static;margin:0;width:64px;height:64px}.panelman-mobile .inv-grid,body.touch-ui .inv-grid{grid-template-columns:repeat(var(--bag-cols-narrow),minmax(var(--touch-min),1fr));justify-content:stretch}.panelman-mobile .inv-mat,body.touch-ui .inv-mat{width:var(--touch-min);height:var(--touch-min)}.panelman-mobile .inv-close,body.touch-ui .inv-close{font-size:18px}.panelman-mobile .inv-tab,body.touch-ui .inv-tab{min-height:var(--touch-min);padding:0 14px}.panelman-mobile .inv-hint,body.touch-ui .inv-hint{font-size:var(--fs-xs)}@media(pointer:coarse){.inv-eqslot{width:var(--touch-min);height:var(--touch-min)}.inv-recipe{min-height:var(--touch-min)}}@media(max-height:780px){.inv-panel{--cell: 58px}.inv-figure{height:240px}}@media(max-height:620px){.inv-panel{max-height:94vh;--cell: 50px}.inv-figure{height:210px}.p-leg-l,.p-leg-r{height:50px}}@media(prefers-reduced-motion:reduce){.inv-msg,.inv-cell,.inv-eqslot{transition:none}}#trade{position:fixed;inset:0;pointer-events:none;overflow:hidden}.tw-wrap{position:absolute;inset:0;display:none;place-items:center}.tw-wrap.visible{display:grid}.tw-invite{display:none;flex-direction:column;gap:12px;padding:18px 22px;border:1px solid var(--gold);border-radius:var(--radius-lg);background:var(--panelman-bg);box-shadow:var(--shadow-card);pointer-events:auto}.tw-invite.visible{display:flex}.tw-invite.outgoing{border-color:var(--edge)}.tw-invite.outgoing .tw-btn.ok{display:none}.tw-invite-text{font-size:15px}.tw-row{display:flex;gap:8px;justify-content:flex-end}.tw-panel{display:none;flex-direction:column;gap:10px;width:min(680px,94vw);max-height:86vh;padding:var(--space-6) var(--space-7) var(--space-5);border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--panelman-bg);box-shadow:var(--shadow-panel);pointer-events:auto}.tw-panel.visible{display:flex}.tw-head{display:flex;align-items:baseline;gap:10px}.tw-title{color:var(--gold);font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}.tw-dist{margin-left:auto;color:var(--muted);font-size:11px}.tw-dist.far{color:#ffb057}.tw-warn{display:none;padding:6px 9px;border:1px solid color-mix(in srgb,var(--danger) 50%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 16%,transparent);color:color-mix(in srgb,var(--danger) 75%,white);font-size:12px}.tw-warn.visible{display:block}.tw-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:0}.tw-side{display:flex;flex-direction:column;gap:7px;min-height:0;padding:9px 10px 10px;border:1px solid var(--edge);border-radius:var(--radius-lg);background:#00000047;transition:border-color .18s,background .18s}.tw-side.locked{border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.tw-side.changed{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.tw-side-head{display:flex;align-items:baseline;gap:8px}.tw-who{font-size:13px;font-weight:700}.tw-flags{margin-left:auto;color:var(--muted);font-size:11px}.tw-flags.on{color:var(--ok)}.tw-list{flex:1;min-height:92px;max-height:30vh;margin:0;padding:6px;border-radius:8px;background:#00000059;list-style:none;overflow-y:auto}.tw-item{display:flex;align-items:center;gap:6px;padding:3px 2px;font-size:12px}.tw-item-count{color:var(--gold)}.tw-item .tw-mini{margin-left:auto}.tw-item .tw-mini+.tw-mini{margin-left:0}.tw-empty{color:var(--muted);font-size:12px;font-style:italic}.tw-mini{width:20px;height:20px;padding:0;border:1px solid var(--edge);border-radius:5px;background:#ffffff0f;color:var(--ink);font:inherit;line-height:1;cursor:pointer}.tw-mini:hover{background:#ffffff24}.tw-gold{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.tw-gold input{width:92px;padding:4px 6px;border:1px solid var(--edge);border-radius:6px;background:#0006;color:var(--gold);font:inherit}.tw-gold.static b{color:var(--gold);font-size:13px}.tw-purse{color:var(--muted)}.tw-value{color:var(--muted);font-size:11px}.tw-note{color:var(--muted);font-size:11px;font-style:italic}.tw-bag-title{color:var(--muted);font-size:11px}.tw-bag{display:flex;flex-wrap:wrap;gap:5px;max-height:88px;overflow-y:auto}.tw-chip{padding:4px 8px;border:1px solid var(--edge);border-radius:var(--radius-pill);background:#ffffff0d;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}.tw-chip:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,transparent)}.tw-chip b{color:var(--gold)}.tw-foot{display:flex;gap:8px;justify-content:flex-end}.tw-btn{padding:7px 14px;border:1px solid var(--edge);border-radius:var(--radius-sm);background:#ffffff0f;color:var(--ink);font:inherit;cursor:pointer;transition:background .14s,border-color .14s,opacity .14s}.tw-btn:hover:not(:disabled){background:#ffffff24}.tw-btn:disabled{opacity:.4;cursor:default}.tw-btn.on{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 20%,transparent)}.tw-btn.ok{border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.tw-btn.bad{border-color:color-mix(in srgb,var(--danger) 50%,transparent)}@media(max-width:640px){.tw-cols{grid-template-columns:1fr}.tw-list{max-height:22vh}}@media(pointer:coarse){.tw-btn{min-height:44px;padding:10px 16px}.tw-chip{min-height:40px;padding:8px 12px}.tw-mini{width:30px;height:30px;font-size:14px}.tw-gold input{min-height:36px;font-size:16px}}#market{font:14px/1.4 var(--font-ui)}.mk-launcher{position:absolute;top:176px;right:14px;display:flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--edge);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;pointer-events:auto;transition:border-color .15s,background .15s}.mk-launcher:hover{background:#282c34eb}.mk-launcher.has-shops{border-color:var(--gold)}.mk-badge{min-width:18px;padding:0 5px;border-radius:9px;background:var(--gold);color:#1a1508;font-size:11px;font-weight:700;text-align:center}.mk-badge:empty{display:none}.mk-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-48%);width:min(780px,94vw);max-height:min(76vh,620px);display:none;flex-direction:column;border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--panelman-bg);box-shadow:var(--shadow-panel);overflow:hidden;pointer-events:auto}.mk-panel.open{display:flex}.mk-head{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-7) var(--space-6) var(--space-5);border-bottom:1px solid var(--edge-soft);background:#ffffff08}.mk-tabs{display:flex;gap:6px}.mk-tab{padding:7px 14px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}.mk-tab:hover{color:var(--ink)}.mk-tab.active{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 13%,transparent);color:var(--ink)}.mk-x{margin-left:auto;width:var(--touch-min);height:var(--touch-min);border:1px solid var(--edge);border-radius:var(--radius-md);background:#ffffff0d;color:var(--muted);cursor:pointer}.mk-x:hover{color:var(--ink);background:#ffffff1a}.mk-body{flex:1;min-height:0;overflow:hidden}.mk-browse,.mk-sell{display:none;height:100%}.mk-browse.active{display:grid;grid-template-columns:250px 1fr}.mk-sell.active{display:block;overflow-y:auto;padding:12px 14px 14px}.mk-col{min-height:0;overflow-y:auto;padding:var(--space-5)}.mk-shops{border-right:1px solid var(--edge)}.mk-col-title{margin-bottom:8px;color:var(--muted);font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label)}.mk-empty{color:var(--muted);font-size:13px;padding:6px 2px}.mk-list{display:flex;flex-direction:column;gap:6px}.mk-shop-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;border:1px solid var(--edge);border-radius:var(--radius-lg);background:#ffffff0a;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.mk-shop-row:hover{background:#ffffff12}.mk-shop-row.own{border-color:var(--gold)}.mk-shop-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mk-shop-sub{grid-column:1;color:var(--muted);font-size:11px}.mk-shop-count{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--gold);font-size:11px;font-weight:700}.mk-detail-head{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;margin-bottom:10px}.mk-detail-title{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.mk-detail-owner{grid-column:2;color:var(--muted);font-size:12px}.mk-back{grid-row:1 / span 2;padding:6px 10px;border:1px solid var(--edge);border-radius:8px;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.mk-back:hover{color:var(--ink)}.mk-warn{display:none;margin-bottom:8px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--danger) 50%,transparent);border-radius:var(--radius-sm);color:color-mix(in srgb,var(--danger) 80%,white);font-size:12px}.mk-warn.visible{display:block}.mk-goods{display:flex;flex-direction:column;gap:6px}.mk-good{display:grid;grid-template-columns:1fr auto auto auto 64px auto;gap:9px;align-items:center;padding:8px 10px;border:1px solid var(--edge);border-radius:var(--radius-lg);background:#ffffff0a}.mk-good.own{grid-template-columns:1fr auto auto auto}.mk-good.poor{opacity:.62}.mk-good-name{font-weight:600}.mk-good-stock{color:var(--muted);font-size:12px}.mk-good-price{color:var(--gold);font-weight:700}.mk-unit{color:var(--muted);font-size:11px;font-weight:400}.mk-good-value,.mk-good-sold{color:var(--muted);font-size:11px}.mk-good-value.cheap{color:var(--ok)}.mk-qty,.mk-field input,.mk-title-row input{width:100%;padding:6px 8px;border:1px solid var(--edge);border-radius:7px;background:#0006;color:var(--ink);font:inherit}.mk-buy,.mk-primary{padding:7px 13px;border:0;border-radius:8px;background:var(--gold);color:#1a1508;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.mk-buy:hover,.mk-primary:hover{filter:brightness(1.08)}.mk-buy:disabled,.mk-primary:disabled{background:#3a3a3a;color:var(--muted);cursor:default;filter:none}.mk-title-row{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;margin-bottom:12px;color:var(--muted);font-size:12px}.mk-stock{display:flex;flex-direction:column;gap:6px}.mk-stock-row{display:grid;grid-template-columns:30px 1fr auto 92px 100px auto;gap:9px;align-items:center;padding:7px 9px;border:1px solid var(--edge);border-radius:var(--radius-lg);background:#ffffff0a}.mk-stock-row.picked{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}.mk-pick{width:26px;height:26px;border:1px solid var(--edge);border-radius:7px;background:#00000059;color:var(--muted);font-weight:700;cursor:pointer}.mk-stock-row.picked .mk-pick{border-color:var(--gold);color:var(--gold)}.mk-stock-name{font-weight:600}.mk-stock-have{color:var(--muted);font-size:12px}.mk-suggest{color:var(--muted);font-size:11px;white-space:nowrap}.mk-field{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label)}.mk-foot{display:flex;align-items:center;gap:12px;margin-top:14px}.mk-sum{color:var(--muted);font-size:12px}.mk-foot .mk-primary{margin-left:auto;padding:10px 20px}.mk-open-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.mk-open-title{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.mk-open-earn{margin-left:auto;color:var(--gold);font-weight:700}.mk-note{margin-bottom:12px;color:var(--muted);font-size:12px;font-style:italic}.mk-danger{margin-top:14px;padding:9px 18px;border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 14%,transparent);color:color-mix(in srgb,var(--danger) 85%,white);font:inherit;font-weight:600;cursor:pointer}.mk-danger:hover{background:color-mix(in srgb,var(--danger) 24%,transparent)}.mk-msg{display:none;padding:8px 14px;border-top:1px solid var(--edge);background:#00000059;color:var(--gold);font-size:12px}.mk-msg.visible{display:block}@media(pointer:coarse){.mk-launcher,.mk-tab,.mk-buy,.mk-primary,.mk-back,.mk-pick,.mk-danger,.mk-shop-row{min-height:44px}.mk-qty,.mk-field input,.mk-title-row input{min-height:40px;font-size:16px}}@media(max-width:720px){.mk-browse.active{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow-y:auto}.mk-shops{border-right:0;border-bottom:1px solid var(--edge)}.mk-panel{max-height:82vh}.mk-good{grid-template-columns:1fr auto auto}.mk-good .mk-qty{grid-column:1}.mk-stock-row{grid-template-columns:30px 1fr 88px 92px}.mk-stock-have,.mk-suggest{display:none}.mk-launcher{top:auto;bottom:92px}}.lb-panel{--tier: var(--t-worn);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,94vw);max-height:78vh;display:flex;flex-direction:column;border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--panelman-bg);box-shadow:var(--shadow-panel);color:var(--ink);font-family:var(--font-ui);pointer-events:auto;overflow:hidden}.lb-panel[hidden]{display:none}.lb-name.t-worn,.lb-card.t-worn{--tier: var(--t-worn)}.lb-name.t-sturdy,.lb-card.t-sturdy{--tier: var(--t-sturdy)}.lb-name.t-fine,.lb-card.t-fine{--tier: var(--t-fine)}.lb-name.t-rare,.lb-card.t-rare{--tier: var(--t-rare)}.lb-name.t-ancient,.lb-card.t-ancient{--tier: var(--t-ancient)}.lb-name.t-legendary,.lb-card.t-legendary{--tier: var(--t-legendary)}.lb-head{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--edge-soft)}.lb-title{font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}.lb-timer{margin-left:auto;padding:3px 8px;border:1px solid var(--edge);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);font-size:var(--fs-md);font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums}.lb-timer[hidden]{display:none}.lb-timer.urgent{border-color:var(--danger-edge);background:var(--danger-soft);color:var(--danger);animation:lb-pulse 1s ease-in-out infinite}@keyframes lb-pulse{0%,to{opacity:1}50%{opacity:.5}}.lb-close{width:var(--touch-min);height:var(--touch-min);flex:none;border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--surface-2);color:var(--muted);font-size:14px;cursor:pointer}.lb-close:hover{color:var(--ink);background:var(--edge-strong)}.lb-body{padding:var(--space-4) var(--space-5) var(--space-5);background:var(--panelman-bg-soft);overflow-y:auto;scrollbar-width:thin;min-height:0}.lb-gold{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--gold-soft);border-radius:var(--radius-lg);background:var(--gold-soft)}.lb-gold[hidden]{display:none}.lb-gold-icon{font-size:var(--fs-xl);line-height:1}.lb-gold-val{color:var(--gold);font-size:var(--fs-xl);font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums}.lb-gold-note{margin-left:auto;color:var(--muted);font-size:var(--fs-sm);font-style:italic}.lb-list{display:grid;gap:6px;align-content:start}.lb-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--edge);border-left:3px solid var(--tier);border-radius:var(--radius-sm);background:var(--surface-1)}.lb-row:hover{background:var(--edge-strong)}.lb-icon{--ico-size: 30px;flex:none;padding:4px;border:1px solid var(--tier);border-radius:var(--radius-xs);background:#00000047;box-shadow:inset 0 0 10px color-mix(in srgb,var(--tier) 16%,transparent)}.lb-main{flex:1;min-width:0}.lb-name-row{display:flex;align-items:baseline;gap:5px}.lb-name{color:var(--tier);font-size:var(--fs-lg);font-weight:var(--fw-heavy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-plus{color:var(--gold);font-size:var(--fs-sm);font-weight:var(--fw-heavy)}.lb-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.lb-slot-tag{padding:1px 6px;border:1px solid var(--edge);border-radius:var(--radius-2xs);color:var(--muted);font-size:var(--fs-xs)}.lb-stat{display:inline-flex;gap:4px;padding:1px 6px;border-radius:var(--radius-2xs);background:var(--surface-2);font-size:var(--fs-xs)}.lb-stat-key{color:var(--muted)}.lb-stat-val{font-weight:var(--fw-bold)}.lb-take{flex:none;min-width:var(--touch-min);min-height:var(--touch-min);padding:0 var(--space-4);border:1px solid var(--ok-edge);border-radius:var(--radius-md);background:var(--ok-soft);color:var(--ok);font-family:var(--font-ui);font-size:var(--fs-md);font-weight:var(--fw-bold);cursor:pointer}.lb-take:hover{background:color-mix(in srgb,var(--ok) 24%,transparent)}.lb-empty{padding:var(--space-6) 0;color:var(--muted);font-size:var(--fs-lg);font-style:italic;text-align:center}.lb-foot{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-top:1px solid var(--edge-soft);background:var(--panelman-bg)}.lb-all{min-height:var(--touch-min);padding:0 var(--space-6);border:1px solid var(--ok);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ok) 20%,transparent);color:var(--ok);font-family:var(--font-ui);font-size:var(--fs-lg);font-weight:var(--fw-heavy);cursor:pointer}.lb-all:hover{background:color-mix(in srgb,var(--ok) 30%,transparent)}.lb-all:disabled{opacity:.4;cursor:not-allowed}.lb-hint{margin-left:auto;color:var(--muted);font-size:var(--fs-sm);font-style:italic;text-align:right}.panelman-mobile .lb-panel,body.touch-ui .lb-panel{top:0;left:0;transform:none;width:100%;max-width:none;height:100%;max-height:none;border:0;border-radius:0;background:var(--panelman-bg)}.panelman-mobile .lb-body,body.touch-ui .lb-body{touch-action:pan-y;-webkit-overflow-scrolling:touch}.panelman-mobile .lb-row,body.touch-ui .lb-row{flex-wrap:wrap}.panelman-mobile .lb-take,body.touch-ui .lb-take{width:100%}.panelman-mobile .lb-close,body.touch-ui .lb-close{font-size:18px}.panelman-mobile .lb-hint,body.touch-ui .lb-hint{font-size:var(--fs-xs)}@media(pointer:coarse){.lb-row{padding:var(--space-3)}}@media(max-height:620px){.lb-panel{max-height:94vh}}@media(prefers-reduced-motion:reduce){.lb-timer.urgent{animation:none}}#skilltree{--warm: #d98a4e;--cool: #5fa8d9;--deny: #e2705f;--acc: var(--gold)}#skilltree .skilltree-panel[data-class=warrior]{--acc: #c34b3f}#skilltree .skilltree-panel[data-class=archer]{--acc: #5a9b46}#skilltree .skilltree-panel[data-class=mage]{--acc: #7a63cf}#skilltree .skilltree-panel[data-class=guardian]{--acc: #227f7a}#skilltree .skilltree-panel[data-class=priest]{--acc: #8d4a6b}.skilltree-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(880px,94vw);max-height:86vh;display:flex;flex-direction:column;border:1px solid var(--edge);border-top:3px solid var(--acc);border-radius:var(--radius-xl);background:var(--panelman-bg);box-shadow:var(--shadow-panel);pointer-events:auto;overflow:hidden}.skilltree-panel[hidden]{display:none}.skilltree-head{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-7) var(--space-6) var(--space-5);border-bottom:1px solid var(--edge-soft)}.skilltree-title{font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);color:var(--acc);margin-right:auto}.skilltree-close{width:var(--touch-min);height:var(--touch-min);border:1px solid var(--edge);border-radius:var(--radius-md);background:#ffffff0d;color:var(--muted);font-size:14px;cursor:pointer}.skilltree-close:hover{color:var(--ink);background:#ffffff1a}.skilltree-budget{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(180px,1fr) auto;gap:10px 20px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--edge)}.skilltree-label{color:var(--muted);font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);margin-bottom:3px}.skilltree-points{display:flex;align-items:baseline;gap:5px;font-variant-numeric:tabular-nums}.skilltree-spent{font-size:20px;font-weight:700;color:var(--ink);line-height:1}.skilltree-of{color:var(--muted);font-size:12px}.skilltree-budget-n{color:var(--muted);font-size:13px}.skilltree-left{color:var(--ink);font-size:11px;margin-top:2px}.skilltree-outside{color:var(--muted);font-size:10.5px;margin-top:4px}.skilltree-meter{display:flex;height:9px;margin-top:6px;border-radius:5px;overflow:hidden;background:#0006;border:1px solid var(--edge)}.skilltree-fill{display:block;height:100%;width:0%;transition:width .2s ease}.skilltree-fill-off{background:var(--warm)}.skilltree-fill-def{background:var(--cool)}.skilltree-lean-col{border-left:1px solid var(--edge);padding-left:16px}.skilltree-lean-name{font-size:15px;font-weight:700;color:var(--ink);line-height:1.2}.skilltree-lean-desc{font-size:11px;color:var(--muted);margin-top:3px;min-height:2.4em}.skilltree-reset-col{justify-self:end}.skilltree-reset{padding:8px 14px;border:1px solid var(--edge);border-radius:var(--radius-sm);background:#ffffff0a;color:var(--ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.skilltree-reset:hover:not(:disabled){border-color:var(--deny);color:var(--deny)}.skilltree-reset:disabled{opacity:.4;cursor:not-allowed}.skilltree-pending .skilltree-spent,.skilltree-pending .skilltree-budget-n{color:var(--muted)}.skilltree-body{flex:1 1 auto;min-height:0;padding:var(--space-5) var(--space-6) 20px;overflow-y:auto;scrollbar-width:thin}.skilltree-empty{color:var(--muted);font-size:13px;text-align:center;padding:30px 0}.skilltree-trunk{max-width:360px;margin:0 auto 18px;display:flex;flex-direction:column;gap:8px}.skilltree-trunk-node{padding:8px 12px;border:1px dashed var(--edge);border-radius:var(--radius-lg);background:#ffffff0a}.skilltree-branches{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:560px){.skilltree-branches{gap:8px}.skilltree-branch-head{padding:5px 7px;gap:4px;border-radius:12px}.skilltree-branch-side{font-size:8.5px;letter-spacing:.06em;padding:2px 4px}.skilltree-branch-sub{display:none}.skilltree-node{padding:7px 8px}.skilltree-node-name{font-size:12px}.skilltree-hint{font-size:10.5px}.skilltree-gate{font-size:9.5px}.skilltree-node-kind{font-size:9px}.skilltree-cost{font-size:11px}.skilltree-node-top{gap:6px}.skilltree-node-top>.skicon{--skicon-size: 24px;padding:4px}.skilltree-node[data-kind=yukseltme] .skilltree-node-top>.skicon:after{right:-5px;top:-5px;width:11px;height:11px;font-size:9px;line-height:11px}}.skilltree-branch{display:flex;flex-direction:column;align-items:stretch}.skilltree-branch-off{--col: var(--warm)}.skilltree-branch-def{--col: var(--cool)}.skilltree-branch-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;justify-content:center;text-align:center;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--col) 45%,var(--edge));background:color-mix(in srgb,var(--col) 12%,var(--panel));margin-bottom:4px}.skilltree-branch-side{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--col);padding:2px 6px;border-radius:5px}.skilltree-branch-name{font-weight:700;font-size:13.5px;color:var(--ink)}.skilltree-branch-sub{font-size:10.5px;color:var(--muted)}.skilltree-branch-cost{text-align:center;font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:8px}.skilltree-chain{display:flex;flex-direction:column;gap:10px}.skilltree-node{position:relative;display:block;width:100%;text-align:left;font:inherit;padding:9px 11px 10px;border:1px solid var(--edge);border-radius:var(--radius-lg);background:#ffffff0a;color:var(--ink);cursor:pointer;transition:transform .12s ease,border-color .12s,background .12s,opacity .12s}.skilltree-node:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--col) 55%,var(--edge))}.skilltree-node:focus-visible{outline:2px solid var(--col);outline-offset:2px}.skilltree-trunk-node,.skilltree-node{touch-action:manipulation}.skilltree-node-top{display:flex;align-items:center;gap:9px;margin-bottom:5px}.skilltree-cost{flex:none;min-width:30px;height:30px;padding:0 4px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12.5px;color:var(--col, var(--muted));background:color-mix(in srgb,var(--col, var(--muted)) 12%,var(--panel));border:1.5px solid color-mix(in srgb,var(--col, var(--muted)) 55%,var(--edge))}.skilltree-cost small{display:block;font-size:6.5px;text-transform:uppercase;color:var(--muted);margin-top:-2px}.skilltree-cost-free{border-radius:6px;width:auto;font-size:var(--fs-label);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted);background:transparent;border:1px solid var(--edge)}.skilltree-node-top>.skicon{--skicon-size: 30px;padding:5px;border:1px solid var(--edge);border-radius:var(--radius-sm);background:#ffffff0a}.skilltree-node-top>.skicon[data-family]{border-color:color-mix(in srgb,var(--skicon-edge) 46%,var(--edge))}.skilltree-node[data-kind=pasif] .skilltree-node-top>.skicon,.skilltree-trunk-node[data-kind=pasif] .skilltree-node-top>.skicon{border-radius:50%}.skilltree-node[data-kind=yukseltme] .skilltree-node-top>.skicon{border-radius:var(--radius-2xs);border-color:color-mix(in srgb,var(--gold) 55%,var(--edge));background:var(--gold-soft);transform:rotate(45deg)}.skilltree-node[data-kind=yukseltme] .skilltree-node-top>.skicon .skicon-art{transform:rotate(-45deg)}.skilltree-node[data-kind=yukseltme] .skilltree-node-top>.skicon:after{content:"+";position:absolute;right:-6px;top:-6px;width:13px;height:13px;border-radius:50%;background:var(--gold);color:var(--panelman-bg);font-size:11px;font-weight:var(--fw-heavy);line-height:13px;text-align:center;transform:rotate(-45deg)}.skilltree-node-name{font-weight:700;font-size:13px;line-height:1.2}.skilltree-node-kind{display:inline-block;font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted);border:1px solid var(--edge);border-radius:5px;padding:1px 5px;margin-bottom:5px}.skilltree-hint{font-size:11.5px;color:var(--ink);opacity:.85;line-height:1.4}.skilltree-gate{margin-top:7px;padding-top:6px;border-top:1px dashed var(--edge);font-size:10.5px;font-weight:700;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}.skilltree-node.skilltree-taken{border-color:var(--col);background:linear-gradient(180deg,color-mix(in srgb,var(--col) 14%,var(--panel)),var(--panel))}.skilltree-node.skilltree-taken .skilltree-cost{background:var(--col);color:#fff;border-color:var(--col)}.skilltree-node.skilltree-taken .skilltree-gate{color:var(--col)}.skilltree-node.skilltree-next{border-style:dashed;border-color:color-mix(in srgb,var(--col) 60%,var(--edge))}.skilltree-node.skilltree-next .skilltree-gate{color:var(--ink)}.skilltree-node.skilltree-locked{opacity:.5}.skilltree-node.skilltree-locked:hover{transform:none}.skilltree-node.skilltree-blocked{opacity:.32;filter:saturate(.4)}.skilltree-node.skilltree-blocked:hover{transform:none}.skilltree-node.skilltree-blocked .skilltree-gate,.skilltree-node.skilltree-locked .skilltree-gate{color:var(--deny)}.skilltree-node-capstone{border-width:1.5px}.skilltree-capstone-ribbon{position:absolute;top:-10px;left:50%;transform:translate(-50%);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--col);padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap}.skilltree-node-capstone .skilltree-node-name{font-size:14px}@media(pointer:coarse){.skilltree-reset,.skilltree-node,.skilltree-trunk-node{min-height:44px}}@media(max-height:620px){.skilltree-panel{max-height:94vh}}#upgrade{position:fixed;inset:0;pointer-events:none}#upgrade .t-worn{--tier: var(--t-worn)}#upgrade .t-sturdy{--tier: var(--t-sturdy)}#upgrade .t-fine{--tier: var(--t-fine)}#upgrade .t-rare{--tier: var(--t-rare)}#upgrade .t-ancient{--tier: var(--t-ancient)}#upgrade .t-legendary{--tier: var(--t-legendary)}.up-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(940px,96vw);max-height:88vh;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5);border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--panelman-bg);box-shadow:var(--shadow-panel);color:var(--ink);font:var(--fw-normal) var(--fs-md) / 1.35 var(--font-ui);pointer-events:auto;overflow:hidden;--tier: var(--t-worn);--fire: #f0a94c;--fire-core: rgba(214, 110, 36, .5);--fire-halo: rgba(240, 169, 76, .26);--fire-base: rgba(214, 110, 36, .34)}.up-panel[hidden]{display:none}.up-head{display:flex;align-items:center;gap:var(--space-3)}.up-titles{flex:1;min-width:0;display:flex;flex-direction:column}.up-title{font-size:var(--fs-title);font-weight:var(--fw-heavy);letter-spacing:var(--ls-tight);line-height:1.1}.up-sub{font-size:var(--fs-label);font-weight:var(--fw-bold);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--muted)}.up-gold{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--surface-2);font-weight:var(--fw-heavy)}.up-gold-num{color:var(--gold)}.up-coin{width:9px;height:9px;border-radius:50%;background:linear-gradient(180deg,#f0cb6a,#c99327);box-shadow:inset 0 -1px #00000040}.up-close{width:var(--touch-min);height:32px;border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font:inherit;line-height:1;cursor:pointer}.up-close:hover{border-color:var(--danger);color:var(--danger)}.up-warn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--danger-edge);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--ink);font-size:var(--fs-sm)}.up-warn-icon{font-size:var(--fs-lg);line-height:1}.up-warn-text{flex:1;min-width:0}.up-body{display:grid;grid-template-columns:240px minmax(0,1fr) 250px;gap:var(--space-4);min-height:0}.up-col{display:flex;flex-direction:column;gap:var(--space-2);min-height:0;min-width:0;padding:var(--space-3);border:1px solid var(--edge-soft);border-radius:var(--radius-md);background:var(--panelman-bg-soft)}.up-section-title{flex:1;font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--muted)}.up-bag-head{display:flex;align-items:center;gap:var(--space-2)}.up-sheet-close{display:none}.up-list{display:flex;flex-direction:column;gap:var(--space-1);overflow-y:auto;max-height:46vh;-webkit-overflow-scrolling:touch}.up-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border:1px solid var(--edge-soft);border-left:3px solid var(--tier);border-radius:var(--radius-md);background:var(--surface-1);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.up-row:hover{border-color:var(--edge-strong);background:var(--surface-2)}.up-row:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.up-row.is-sel{border-color:var(--gold-soft);background:var(--gold-soft)}.up-row.is-blocked{opacity:.62}.up-row-icon{flex:none;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--tier) 12%,transparent);color:var(--tier)}.up-row-texts{flex:1;min-width:0;display:flex;flex-direction:column}.up-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-bold);color:var(--tier);line-height:1.2}.up-row-slot{font-size:var(--fs-xs);color:var(--muted)}.up-row-tag{flex:none;padding:1px var(--space-2);border:1px solid var(--edge);border-radius:var(--radius-pill);font-size:var(--fs-xs);color:var(--muted)}.up-row-tag.worn{border-color:var(--gold-soft);color:var(--gold)}.up-row-pips{flex:none;display:flex;gap:3px}.up-row-ico{--ico-size: 20px}.up-forge{display:flex;flex-direction:column;min-width:0;border:1px solid var(--edge-soft);border-radius:var(--radius-md);background:var(--panelman-bg-soft);overflow:hidden}.up-scene{position:relative;height:300px;overflow:hidden}.up-panel[data-stage=calm]{--fire: #f0a94c;--fire-core: rgba(214, 110, 36, .5);--fire-halo: rgba(240, 169, 76, .26);--fire-base: rgba(214, 110, 36, .34)}.up-panel[data-stage=restless]{--fire: #f08a3c;--fire-core: rgba(224, 96, 32, .58);--fire-halo: rgba(240, 138, 60, .3);--fire-base: rgba(224, 96, 32, .42)}.up-panel[data-stage=raging]{--fire: #e2564a;--fire-core: rgba(206, 52, 40, .62);--fire-halo: rgba(226, 86, 74, .34);--fire-base: rgba(206, 52, 40, .5)}.up-panel[data-stage=wild]{--fire: #8ecbff;--fire-core: rgba(70, 120, 200, .6);--fire-halo: rgba(142, 203, 255, .34);--fire-base: rgba(70, 130, 210, .5)}.up-panel[data-stage=abyss]{--fire: #e8e2ff;--fire-core: rgba(150, 120, 240, .62);--fire-halo: rgba(232, 226, 255, .36);--fire-base: rgba(150, 120, 240, .52)}.up-fire-core{position:absolute;inset:0;background:radial-gradient(90% 62% at 50% 108%,var(--fire-core) 0%,rgba(24,14,8,.9) 46%,#0a0d0c 82%)}.up-fire-halo{position:absolute;inset:0;transform-origin:50% 100%;background:radial-gradient(58% 40% at 50% 96%,var(--fire-halo),transparent 72%);animation:up-flick 2.6s ease-in-out infinite}.up-vignette{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 50%,transparent 34%,rgba(4,6,5,.92) 100%);opacity:.55;transition:opacity .45s ease}.up-scene[data-phase=wind] .up-vignette{opacity:.78}.up-scene[data-phase=hit] .up-vignette,.up-scene[data-phase=flash] .up-vignette{opacity:.92}.up-embers{position:absolute;inset:0;pointer-events:none}.up-ember{position:absolute;bottom:22px;border-radius:50%;background:var(--fire);box-shadow:0 0 7px var(--fire);animation-name:up-ember;animation-timing-function:linear;animation-iteration-count:infinite}.up-streak,.up-history{position:absolute;top:10px;z-index:4;display:flex;align-items:center;gap:var(--space-2);padding:4px var(--space-3);border:1px solid var(--edge);border-radius:var(--radius-sm);background:#0609079e;font-size:var(--fs-sm);color:var(--muted)}.up-streak{left:10px}.up-history{right:10px}.up-streak[data-on="1"]{border-color:var(--gold-soft);color:var(--gold)}.up-streak-glyph{line-height:1}.up-streak-text{font-weight:var(--fw-heavy)}.up-history-label{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase}.up-history-dots{display:flex;gap:3px}.up-dot{width:6px;height:6px;border-radius:50%}.up-dot.win{background:var(--ok)}.up-dot.lose{background:var(--danger)}.up-rune{position:absolute;left:50%;top:40%;border-radius:50%;border:1px dashed var(--fire);opacity:.16;transition:opacity .4s ease}.up-rune-a{width:210px;height:210px;margin:-105px 0 0 -105px;animation:up-spin 14s linear infinite}.up-rune-b{width:150px;height:150px;margin:-75px 0 0 -75px;border-style:solid;opacity:.1;animation:up-spin-back 9s linear infinite}.up-scene[data-phase=wind] .up-rune,.up-scene[data-phase=hit] .up-rune,.up-scene[data-phase=flash] .up-rune,.up-scene[data-phase=wait] .up-rune{opacity:.6}.up-scene[data-phase=wind] .up-rune-b,.up-scene[data-phase=hit] .up-rune-b,.up-scene[data-phase=flash] .up-rune-b,.up-scene[data-phase=wait] .up-rune-b{opacity:.42}.up-hammer{position:absolute;left:50%;top:22px;width:0;height:0;z-index:5;transform:translate(30px) rotate(-52deg) translateY(-30px);transform-origin:0 0;transition:transform .22s cubic-bezier(.2,.9,.2,1);opacity:0}.up-hammer-shaft{position:absolute;left:-6px;top:0;width:12px;height:104px;border-radius:var(--radius-xs);background:linear-gradient(90deg,#4a3620,#7a5a34 40%,#3a2a18);box-shadow:0 2px 8px #00000080}.up-hammer-head{position:absolute;left:-30px;top:-22px;width:60px;height:34px;border-radius:var(--radius-xs);background:linear-gradient(180deg,#8e959b,#4a5158 60%,#2c3237);box-shadow:0 4px 14px #0000008c,inset 0 1px #ffffff47}.up-scene[data-phase=wind] .up-hammer,.up-scene[data-phase=hit] .up-hammer,.up-scene[data-phase=flash] .up-hammer,.up-scene[data-phase=wait] .up-hammer{opacity:1;transform:translate(30px) rotate(-62deg)}.up-scene[data-down="1"] .up-hammer{transform:translate(30px) rotate(4deg);transition-duration:90ms}.up-item{position:absolute;left:50%;top:34%;width:108px;height:108px;margin:-54px 0 0 -54px;z-index:3;display:flex;align-items:center;justify-content:center;color:var(--tier);transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .3s ease;pointer-events:none}.up-item.is-empty{opacity:.18}.up-item-glow{position:absolute;inset:-14px;border-radius:50%;background:radial-gradient(circle at 50% 50%,currentColor,transparent 68%);opacity:.3;filter:blur(3px)}.up-item-shape{position:relative;--ico-size: 78px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.6)) drop-shadow(0 0 20px currentColor)}.up-item-badge{position:absolute;right:4px;bottom:2px;padding:1px var(--space-2);border:1px solid var(--edge-strong);border-radius:var(--radius-xs);background:#060907d1;font-size:var(--fs-lg);font-weight:var(--fw-heavy);color:var(--tier)}.up-scene[data-phase=idle] .up-item{animation:up-float 3.4s ease-in-out infinite}.up-scene[data-phase=wind] .up-item{transform:translateY(26px) scale(1.06)}.up-scene[data-phase=hit] .up-item{transform:translateY(30px) scale(1.02)}.up-scene[data-phase=hit][data-down="1"] .up-item{transform:translateY(42px) scale(.94);transition-duration:90ms}.up-scene[data-phase=flash] .up-item{transform:translateY(22px) scale(1.18)}.up-scene[data-phase=wait] .up-item{transform:translateY(24px) scale(1.04)}.up-scene[data-res=win] .up-item{transform:translateY(-26px) scale(1.16)}.up-scene[data-res=lose] .up-item{transform:translateY(34px) scale(.4);opacity:.12}.up-scene[data-phase=hit][data-down="1"] .up-item-badge,.up-scene[data-phase=flash] .up-item-badge{opacity:0}.up-sparks{position:absolute;left:50%;top:62%;width:0;height:0;z-index:4;pointer-events:none}.up-spark{position:absolute;left:0;top:0;border-radius:50%;background:#ffb648;box-shadow:0 0 8px #ffb648;animation-name:up-spark;animation-timing-function:cubic-bezier(.15,.7,.4,1);animation-fill-mode:forwards}.up-spark.hot{background:#fff3d0;box-shadow:0 0 8px #fff3d0}.up-anvil{position:absolute;left:50%;bottom:34px;z-index:2;width:230px;margin-left:-115px}.up-anvil-top{height:24px;border-radius:var(--radius-xs) 20px var(--radius-xs) var(--radius-xs);background:linear-gradient(180deg,#4c545a,#23282c);box-shadow:0 8px 22px #0009,inset 0 1px #fff3}.up-anvil-waist{width:72px;height:30px;margin:0 auto;background:linear-gradient(180deg,#31373b,#1b1f22);clip-path:polygon(16% 0,84% 0,100% 100%,0 100%)}.up-anvil-base{width:140px;height:15px;margin:0 auto;border-radius:var(--radius-2xs) var(--radius-2xs) var(--radius-xs) var(--radius-xs);background:linear-gradient(180deg,#2a3033,#14181a)}.up-anvil-glow{width:196px;height:12px;margin:6px auto 0;border-radius:50%;background:var(--fire-base);filter:blur(7px);transition:background .3s ease}.up-scene[data-phase=hit] .up-anvil-glow,.up-scene[data-phase=flash] .up-anvil-glow{background:var(--fire)}.up-coals{position:absolute;left:0;right:0;bottom:0;height:68px;transform-origin:50% 100%;background:linear-gradient(0deg,var(--fire-base),transparent);animation:up-flick 1.9s ease-in-out infinite}.up-flash{position:absolute;inset:0;z-index:7;background:#fff4d8;opacity:0;transition:opacity .42s linear;pointer-events:none}.up-scene[data-phase=flash] .up-flash{opacity:.7;transition-duration:.12s}.up-scene[data-phase=hit][data-down="1"][data-hit="1"]{animation:up-shake-s .3s cubic-bezier(.36,.07,.19,.97)}.up-scene[data-phase=hit][data-down="1"][data-hit="2"]{animation:up-shake-m .3s cubic-bezier(.36,.07,.19,.97)}.up-scene[data-phase=hit][data-down="1"][data-hit="3"]{animation:up-shake-l .3s cubic-bezier(.36,.07,.19,.97)}.up-gauge{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--edge-soft)}.up-gauge-head{display:flex;align-items:center;gap:var(--space-3)}.up-pips{display:flex;gap:var(--space-1)}.up-pip{width:7px;height:7px;border-radius:1.5px;transform:rotate(45deg);background:var(--groove)}.up-pip.is-on{background:var(--fire);box-shadow:0 0 8px var(--fire)}.up-row-pips.s-calm{--fire: #f0a94c}.up-row-pips.s-restless{--fire: #f08a3c}.up-row-pips.s-raging{--fire: #e2564a}.up-row-pips.s-wild{--fire: #8ecbff}.up-row-pips.s-abyss{--fire: #e8e2ff}.up-row-pips .up-pip{width:5px;height:5px;box-shadow:none}.up-stage-label{font-size:var(--fs-md);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:.02em;color:var(--fire)}.up-odds-ok{margin-left:auto;font-weight:var(--fw-heavy);color:var(--ok)}.up-odds-bad{font-weight:var(--fw-heavy);color:var(--danger)}.up-odds-bar{height:5px;border-radius:var(--radius-2xs);background:var(--danger);overflow:hidden}.up-odds-fill{height:100%;background:var(--ok);transition:width .4s cubic-bezier(.2,.8,.2,1)}.up-stage-line{font-size:var(--fs-sm);color:var(--muted);text-wrap:pretty}.up-detail{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;overflow-y:auto}.up-detail-head{display:flex;flex-direction:column}.up-detail-name{font-size:var(--fs-lg);font-weight:var(--fw-heavy);color:var(--tier)}.up-detail-slot{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--muted)}.up-step{display:flex;align-items:baseline;gap:var(--space-2)}.up-step-from{font-size:var(--fs-xl);font-weight:var(--fw-heavy);color:var(--muted)}.up-step-arrow{color:var(--muted)}.up-step-to{padding:1px var(--space-3);border-radius:var(--radius-xs);background:var(--surface-2);font-size:var(--fs-xl);font-weight:var(--fw-heavy);color:var(--gold)}.up-step-gain{margin-left:auto;font-size:var(--fs-sm);color:var(--ok)}.up-step.max{font-size:var(--fs-sm);color:var(--muted)}.up-stats{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--edge-soft);border-radius:var(--radius-lg);background:var(--surface-1)}.up-stat{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-md)}.up-stat-key{flex:1;min-width:0;color:var(--muted)}.up-stat-from{color:var(--muted)}.up-stat-arrow{color:var(--muted);opacity:.6}.up-stat-to{font-weight:var(--fw-bold)}.up-stat-delta{min-width:44px;text-align:right;font-weight:var(--fw-heavy);color:var(--up)}.up-cost{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.up-cost-item,.up-cost-gold{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--surface-1);font-size:var(--fs-sm)}.up-cost-icon{--ico-size: 18px}.up-cost-name{color:var(--muted)}.up-cost-num{font-weight:var(--fw-heavy)}.up-cost-have{font-size:var(--fs-xs)}.up-cost-item.have .up-cost-have{color:var(--ok)}.up-cost-item.lack,.up-cost-gold.lack{border-color:var(--danger-edge);background:var(--danger-soft)}.up-cost-item.lack .up-cost-have,.up-cost-item.lack .up-cost-name,.up-cost-gold.lack .up-cost-num{color:var(--danger)}.up-cost-gold.have .up-cost-num{color:var(--gold)}.up-reason{font-size:var(--fs-sm);color:var(--muted)}.up-actions{display:flex;align-items:stretch;gap:var(--space-2)}.up-bag-btn{display:none}.up-btn{flex:1;position:relative;min-height:var(--touch-min);padding:var(--space-2) var(--space-4);border:1px solid var(--gold-soft);border-radius:var(--radius-lg);background:linear-gradient(180deg,#e8b64c2e,#8c581a47);color:var(--ink);font:var(--fw-heavy) var(--fs-xl) / 1.2 var(--font-ui);letter-spacing:.04em;cursor:pointer;overflow:hidden}.up-btn:before{content:"";position:absolute;inset:0;background:radial-gradient(70% 140% at 50% 130%,rgba(226,120,50,.4),transparent 70%);animation:up-breathe 2.2s ease-in-out infinite;pointer-events:none}.up-btn:hover{border-color:var(--gold)}.up-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.up-btn.poor,.up-btn[disabled]{border-color:var(--edge);background:var(--surface-2);color:var(--muted);cursor:not-allowed}.up-btn.poor:before,.up-btn[disabled]:before{display:none}.up-btn.armed{border-color:var(--danger);background:var(--danger-soft);color:var(--hp-low);animation:up-pulse .9s ease-in-out infinite}.up-btn.armed:before{display:none}.up-btn-cancel{flex:0 0 auto;border-color:var(--edge);background:var(--surface-2);color:var(--muted);font-size:var(--fs-md);font-weight:var(--fw-normal)}.up-btn-cancel:before{display:none}.up-btn-cancel[hidden]{display:none}.up-result{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5);text-align:center;cursor:pointer;animation:up-pop .2s ease-out}.up-result[hidden]{display:none}.up-result.ok{background:radial-gradient(70% 55% at 50% 42%,#784a12f0,#060807fa)}.up-result.burned{background:radial-gradient(70% 55% at 50% 42%,#4a1210f0,#060807fa)}.up-result-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.up-result-particles .up-spark{left:50%;top:42%}.up-ash{position:absolute;border-radius:1px;background:#4a4440;animation-name:up-ash;animation-timing-function:ease-in;animation-fill-mode:forwards}.up-ash.ember{background:var(--danger)}.up-stamp{position:relative;font-size:96px;font-weight:var(--fw-heavy);letter-spacing:-.05em;line-height:1;animation:up-stamp .5s cubic-bezier(.2,.9,.2,1) both}.up-result.ok .up-stamp{color:var(--gold);text-shadow:0 0 60px rgba(255,207,92,.5)}.up-result.burned .up-stamp{font-size:62px;color:var(--danger);text-shadow:0 0 60px rgba(226,86,74,.4)}.up-result-title{position:relative;font-size:var(--fs-title);font-weight:var(--fw-heavy);letter-spacing:var(--ls-tight)}.up-result-sub{position:relative;max-width:42ch;font-size:var(--fs-md);color:var(--muted);text-wrap:pretty}.up-result-go{position:relative;margin-top:var(--space-4);padding:var(--space-3) var(--space-8);min-height:var(--touch-min);display:flex;align-items:center;border:1px solid var(--edge-strong);border-radius:var(--radius-lg);background:var(--surface-2);font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:.04em}.up-empty{padding:var(--space-4);color:var(--muted);font-size:var(--fs-sm)}.up-panel[data-busy] .up-list,.up-panel[data-busy] .up-detail{opacity:.5;pointer-events:none}@keyframes up-ember{0%{opacity:0;transform:translate(0) scale(.6)}12%{opacity:.9}to{opacity:0;transform:translate(var(--dx),-190px) scale(.2)}}@keyframes up-spark{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.15)}}@keyframes up-ash{0%{opacity:.95;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--dx),120px) rotate(180deg)}}@keyframes up-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.015)}}@keyframes up-flick{0%,to{opacity:.72;transform:scaleY(1) scaleX(1)}30%{opacity:.95;transform:scaleY(1.1) scaleX(.96)}62%{opacity:.64;transform:scaleY(.94) scaleX(1.04)}}@keyframes up-spin{to{transform:rotate(360deg)}}@keyframes up-spin-back{to{transform:rotate(-360deg)}}@keyframes up-pop{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}@keyframes up-sheet{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes up-stamp{0%{transform:scale(2.6);opacity:0;filter:blur(9px)}40%{transform:scale(.94);opacity:1;filter:blur(0)}62%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes up-breathe{0%,to{opacity:.55}50%{opacity:1}}@keyframes up-pulse{50%{opacity:.66}}@keyframes up-shake-s{0%,to{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-2px)}}@keyframes up-shake-m{0%,to{transform:translate(0)}15%{transform:translate(-5px,3px)}35%{transform:translate(5px,-3px)}55%{transform:translate(-4px,-4px)}78%{transform:translate(3px,2px)}}@keyframes up-shake-l{0%,to{transform:translate(0)}12%{transform:translate(-11px,6px)}30%{transform:translate(10px,-7px)}48%{transform:translate(-8px,-9px)}68%{transform:translate(7px,5px)}86%{transform:translate(-4px,2px)}}.panelman-mobile .up-panel{width:100%;max-height:none;height:100%;border:0;border-radius:0;box-shadow:none;padding:var(--space-4) var(--space-4) var(--space-5);padding-left:calc(var(--space-4) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-4) + env(safe-area-inset-right,0px));padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px))}.panelman-mobile .up-body{grid-template-columns:minmax(0,1fr)}@media(max-width:860px){.up-body{grid-template-columns:minmax(0,1fr)}.up-col-detail{padding:var(--space-3)}.up-scene{height:clamp(190px,34vh,320px)}.up-col-bag{position:absolute;left:0;right:0;bottom:0;z-index:20;max-height:72%;border:0;border-top:1px solid var(--edge-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--panelman-bg);box-shadow:0 -18px 50px #0009;animation:up-sheet .22s cubic-bezier(.2,.8,.2,1);display:none}.up-panel[data-bag=open] .up-col-bag{display:flex}.up-list{max-height:none}.up-sheet-close{display:flex;align-items:center;justify-content:center;width:var(--touch-min);height:40px;border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);font:inherit;cursor:pointer}.up-bag-btn{display:inline-flex;align-items:center;gap:var(--space-2);flex:0 0 auto;min-height:var(--touch-min);padding:0 var(--space-4);border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--ink);font:var(--fw-bold) var(--fs-md) / 1.2 var(--font-ui);cursor:pointer}.up-bag-btn-count{color:var(--muted);font-weight:var(--fw-normal)}.up-stamp{font-size:76px}.up-result.burned .up-stamp{font-size:52px}}@media(pointer:coarse){.up-row{min-height:var(--touch-min)}.up-close{width:var(--touch-min);height:40px}.up-btn{min-height:52px}}@media(prefers-reduced-motion:reduce){.up-scene,.up-scene *,.up-btn,.up-btn:before,.up-result,.up-stamp,.up-col-bag,.up-ash,.up-spark{animation:none!important;transition:none!important}}.pm-menu{position:fixed;z-index:40;min-width:194px;max-width:264px;padding:var(--space-2);border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--panelman-bg);box-shadow:0 8px 22px #00000073;pointer-events:auto;animation:pm-in .12s ease-out}@keyframes pm-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.pm-head{display:flex;align-items:baseline;gap:6px;padding:4px 8px 7px;border-bottom:1px solid var(--edge);margin-bottom:5px}.pm-icon{font-size:14px;line-height:1}.pm-icon:empty{display:none}.pm-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-heavy);color:var(--ink)}.pm-level{color:var(--gold);font-size:var(--fs-lg);font-weight:var(--fw-heavy)}.pm-list{display:flex;flex-direction:column;gap:2px}.pm-item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .08s ease-out}.pm-item:hover,.pm-item:focus-visible{border-color:var(--edge);background:#ffffff12}.pm-item:focus-visible{outline:2px solid var(--xp);outline-offset:1px}.pm-item:active{background:#ffffff1f;transform:scale(.98)}.pm-item-icon{font-size:15px;line-height:1}.pm-item-text{display:flex;flex-direction:column;gap:1px;min-width:0}.pm-item-label{font-weight:var(--fw-bold)}.pm-item-hint{color:var(--muted);font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-empty{padding:var(--space-3);color:var(--muted);font-size:var(--fs-lg)}@media(prefers-reduced-motion:reduce){.pm-item{transition:none}.pm-item:active{transform:none}}.poke-banner{position:fixed;top:30%;left:50%;z-index:41;display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-7);border:1px solid rgba(232,182,76,.5);border-radius:var(--radius-pill);background:var(--panelman-bg);box-shadow:0 6px 18px #00000080;pointer-events:none;white-space:nowrap;max-width:90vw;opacity:0;transform:translate(-50%,-6px);visibility:hidden}.poke-banner.show{visibility:visible;animation:poke-pop 2.4s ease-out forwards}@keyframes poke-pop{0%{opacity:0;transform:translate(-50%,-14px) scale(.86)}12%{opacity:1;transform:translate(-50%,2px) scale(1.06)}20%{transform:translate(-50%) scale(1)}75%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-10px) scale(.98)}}.poke-icon{font-size:16px;line-height:1}.poke-name{max-width:60vw;overflow:hidden;text-overflow:ellipsis;color:var(--gold);font-weight:800;font-size:var(--fs-title)}.poke-text{color:var(--ink);font-size:14px}@media(prefers-reduced-motion:reduce){.pm-menu{animation:none}.poke-banner.show{animation:poke-fade 2.4s ease-out forwards}@keyframes poke-fade{0%{opacity:0;transform:translate(-50%)}8%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}}@media(max-width:560px){.pm-menu{min-width:176px;max-width:calc(100vw - 24px)}}.cursor-attack{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='%230b0e12' stroke-width='5.5' stroke-linecap='round' opacity='0.75'%3E%3Cpath d='M7 25 22 10'/%3E%3Cpath d='M25 25 10 10'/%3E%3C/g%3E%3Cg fill='none' stroke='%23e9eef6' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M7 25 22 10'/%3E%3Cpath d='M25 25 10 10'/%3E%3C/g%3E%3Cg fill='none' stroke='%23e8b64c' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M4.5 22.5 9.5 27.5'/%3E%3Cpath d='M27.5 22.5 22.5 27.5'/%3E%3C/g%3E%3Ccircle cx='16' cy='16' r='2' fill='%23e05b5b' stroke='%230b0e12' stroke-width='1'/%3E%3C/svg%3E") 16 16,crosshair}.cursor-interact{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M3 2 L3 18 L7.2 14.2 L10 20.5 L12.8 19.2 L10 13 L15 13 Z' fill='%23f2f5f9' stroke='%230b0e12' stroke-width='1.6' stroke-linejoin='round'/%3E%3Ccircle cx='23' cy='23' r='8' fill='%230b0e12' stroke='%23e8b64c' stroke-width='2'/%3E%3Cg fill='%23e8b64c'%3E%3Ccircle cx='23' cy='19.5' r='1.5'/%3E%3Ccircle cx='23' cy='23' r='1.5'/%3E%3Ccircle cx='23' cy='26.5' r='1.5'/%3E%3C/g%3E%3C/svg%3E") 3 2,pointer}.cursor-move{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M3 2 L3 18 L7.2 14.2 L10 20.5 L12.8 19.2 L10 13 L15 13 Z' fill='%23f2f5f9' stroke='%230b0e12' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cg transform='translate(23,24)'%3E%3Cellipse rx='7' ry='3.2' fill='none' stroke='%230b0e12' stroke-width='3.4'/%3E%3Cellipse rx='7' ry='3.2' fill='none' stroke='%2358d6a8' stroke-width='1.8'/%3E%3C/g%3E%3C/svg%3E") 3 2,default}.cursor-default{cursor:default}body.touch-ui .cursor-attack,body.touch-ui .cursor-interact,body.touch-ui .cursor-move,body.touch-ui .cursor-default{cursor:auto}#launcher{position:fixed;right:14px;bottom:16px;z-index:20;pointer-events:none}.launcher-root{display:flex;flex-direction:column-reverse;gap:8px;align-items:flex-end}.launcher-btn{pointer-events:auto;display:flex;align-items:center;gap:8px;min-height:var(--touch-min);padding:9px 14px;border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--panel);color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-card);transition:color .15s,border-color .15s,background .15s,transform .1s}.launcher-btn:hover{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}.launcher-btn:active{transform:scale(.97)}.launcher-btn.launcher-btn--active{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 55%,transparent);background:var(--gold-soft)}.launcher-icon{font-size:15px;line-height:1}.launcher-label{white-space:nowrap}.launcher-hint{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border:1px solid var(--edge);border-radius:4px;background:#ffffff0f;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.02em}.launcher-btn.launcher-btn--active .launcher-hint{border-color:color-mix(in srgb,var(--gold) 40%,transparent);color:var(--gold)}.launcher-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}body.touch-ui #launcher{display:none}@media(prefers-reduced-motion:reduce){.launcher-btn{transition:none}.launcher-btn:active{transform:none}}.panelman-host{position:fixed!important;right:auto!important;bottom:auto!important;left:0;top:0;display:flex;flex-direction:column;width:fit-content!important;max-width:100vw;max-height:100vh;overflow:visible!important;pointer-events:none}.panelman-host>.panelman-part{position:relative!important;inset:auto!important;transform:none!important;margin:0!important;pointer-events:auto}.panelman-host>.panelman-loose{position:fixed!important;pointer-events:auto}.panelman-bar{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:0 6px 0 8px;min-height:28px;border:1px solid var(--edge);border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--panelman-bg);color:var(--muted);font:12px/1 var(--font-ui);pointer-events:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.panelman-dragging .panelman-bar{cursor:grabbing}.panelman-grip{opacity:.55;letter-spacing:-1px}.panelman-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-bold);letter-spacing:.5px}.panelman-btn{width:24px;height:22px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font:inherit;font-size:13px;line-height:1;cursor:pointer}.panelman-btn:hover{border-color:var(--edge);background:#ffffff14;color:var(--ink)}.panelman-close-btn:hover{color:var(--danger)}.panelman-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;z-index:2;border-radius:0 0 var(--radius-sm) 0;background:repeating-linear-gradient(-45deg,transparent 0 3px,var(--edge-strong) 3px 4px);cursor:nwse-resize;pointer-events:auto;touch-action:none}.panelman-resize:hover{background-color:#ffffff0f}.panelman-host.panelman-sized:not(.panelman-mobile):not(.panelman-min):not(.panelman-closed){width:var(--panelman-w)!important;height:var(--panelman-h);max-width:none;max-height:none}.panelman-host.panelman-sized:not(.panelman-mobile):not(.panelman-min)>.panelman-part{flex:1;width:100%!important;max-width:none!important;max-height:none!important;min-height:0}.panelman-host.panelman-closed>.panelman-bar,.panelman-host.panelman-closed>.panelman-part,.panelman-host.panelman-closed>.panelman-resize{display:none!important}.panelman-host.panelman-hidden{display:none!important}.panelman-host.panelman-min>.panelman-part,.panelman-host.panelman-min>.panelman-resize{display:none!important}.panelman-host.panelman-min .panelman-bar{border-bottom:1px solid var(--edge);border-radius:var(--radius-sm)}.panelman-bar:focus-visible,.panelman-btn:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.panelman-host.panelman-mobile{inset:0!important;width:100%!important;max-width:none;height:100%;max-height:none}.panelman-host.panelman-mobile>.panelman-part{flex:1;width:100%!important;max-width:none!important;max-height:none!important;border-radius:0!important;overflow-y:auto}.panelman-host.panelman-mobile .panelman-bar{min-height:44px;border-radius:0;padding-top:env(safe-area-inset-top,0px);padding-left:calc(8px + env(safe-area-inset-left,0px));padding-right:calc(6px + env(safe-area-inset-right,0px));cursor:default}.panelman-host.panelman-mobile .panelman-btn{width:44px;height:40px;font-size:16px}.panelman-host.panelman-mobile .panelman-grip,.panelman-host.panelman-mobile>.panelman-resize{display:none}.panelman-restore{position:fixed;left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:399;padding:9px 14px;min-height:40px;border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--panelman-bg);color:var(--ink);font:13px/1 var(--font-ui);cursor:pointer}.panelman-restore:hover{border-color:var(--gold)}.panelman-restore:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media(pointer:coarse){.panelman-bar{min-height:44px}.panelman-btn{width:44px;height:40px;font-size:16px}}@keyframes panelman-open{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}.panelman-host>.panelman-part{animation:panelman-open .2s cubic-bezier(.2,.8,.2,1)}@media(prefers-reduced-motion:reduce){.panelman-host,.panelman-bar,.panelman-btn,.panelman-restore,.panelman-host>.panelman-part{transition:none!important;animation:none!important}}#install{position:fixed;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;justify-content:center;padding:0 12px;pointer-events:none}#install>*{pointer-events:auto}.ib{position:relative;display:flex;flex-direction:column;align-items:center;max-width:min(360px,92vw)}.ib-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 16px;border:1px solid var(--edge, rgba(255, 255, 255, .09));border-radius:999px;background:var(--panel, rgba(18, 20, 24, .82));color:var(--muted, #9a9384);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.ib-btn:hover{color:var(--gold, #d9b03a);border-color:#d9b03a73}.ib.open .ib-btn{color:var(--gold, #d9b03a);border-color:#d9b03a73;background:#d9b03a24}.ib[data-mode=ready] .ib-btn{color:var(--gold, #d9b03a);border-color:#d9b03a73;background:#d9b03a1f}.ib-icon{font-size:15px;line-height:1}.ib-pop{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:min(320px,88vw);padding:14px 16px 12px;border:1px solid var(--edge, rgba(255, 255, 255, .09));border-radius:12px;background:#0e1115f5;box-shadow:0 18px 44px #0000008c;color:var(--ink, #e8e3d8);text-align:left}.ib-pop[hidden]{display:none}.ib-close{position:absolute;top:4px;right:6px;width:28px;height:28px;border:0;background:transparent;color:var(--muted, #9a9384);font-size:18px;line-height:1;cursor:pointer}.ib-close:hover{color:var(--ink, #e8e3d8)}.ib-lead{margin:0 22px 10px 0;color:var(--muted, #9a9384);font-size:12px}.ib-steps{margin:0;padding-left:18px;font-size:13px}.ib-steps li{margin-bottom:6px}.ib-steps li::marker{color:var(--gold, #d9b03a);font-weight:700}.ib-steps li:last-child{margin-bottom:0}.ib-note{margin:0;max-width:min(420px,92vw);color:var(--muted, #9a9384);font-size:11.5px;line-height:1.45;text-align:center;opacity:.85;pointer-events:none}@media(pointer:coarse){.ib-btn{min-height:44px;font-size:14px}.ib-close{width:36px;height:36px}}@media(orientation:landscape)and (max-height:500px){#install{left:auto;bottom:auto;top:calc(8px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));justify-content:flex-end;padding:0}.ib-btn{min-height:38px;padding:7px 13px;font-size:12.5px}.ib-pop{top:calc(100% + 8px);bottom:auto;left:auto;right:0;transform:none}}@font-face{font-family:Rubik;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/rubik-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/rubik-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--ink: #eef2ef;--muted: rgba(238, 242, 239, .55);--panel: rgba(8, 12, 10, .72);--panel-blur: 12px;--panelman-bg: #0d1113;--panelman-bg-soft: #0a0e10;--edge: rgba(255, 255, 255, .08);--edge-soft: rgba(255, 255, 255, .06);--edge-strong: rgba(255, 255, 255, .12);--surface-1: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .05);--groove: rgba(255, 255, 255, .07);--ok: #58d6a8;--ok-soft: rgba(88, 214, 168, .14);--ok-edge: rgba(88, 214, 168, .28);--gold: #e8b64c;--gold-soft: rgba(232, 182, 76, .14);--hp: #e2564a;--hp-deep: #b8342c;--xp: #5b8fe0;--xp-deep: #2f4a78;--mp: #7f7ae0;--mp-deep: #4a41c9;--danger: #e05b5b;--danger-soft: rgba(224, 91, 91, .14);--danger-edge: rgba(224, 91, 91, .28);--hp-low: #ff7a5c;--hp-low-deep: #a01f14;--t-worn: #9a9384;--t-sturdy: #6fcf6f;--t-fine: #58b0e0;--t-rare: #c07ae8;--t-ancient: #e8944a;--t-legendary: #ff5f45;--up: #6fcf6f;--down: #ff8a7a;--font-ui: "Rubik", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fw-normal: 500;--fw-bold: 600;--fw-heavy: 700;--fs-label: 8.5px;--fs-xs: 9.5px;--fs-sm: 10.5px;--fs-md: 11.5px;--fs-lg: 12.5px;--fs-plate: 13px;--fs-xl: 15px;--fs-title: 17px;--ls-label: .08em;--ls-tight: -.02em;--radius-2xs: 4px;--radius-xs: 6px;--radius-sm: 9px;--radius-md: 11px;--radius-card: 12px;--radius-lg: 13px;--radius-xl: 14px;--radius-pill: 999px;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 10px;--space-5: 12px;--space-6: 14px;--space-7: 16px;--space-8: 20px;--shadow-card: 0 8px 22px rgba(0, 0, 0, .28);--shadow-panel: 0 24px 60px rgba(0, 0, 0, .5);--touch-min: 44px}.acc-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:20px;padding:4px;border:1px solid var(--edge);border-radius:10px;background:#0000004d}.acc-tab{padding:9px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.acc-tab:hover{color:var(--ink)}.acc-tab.active{background:#d9b03a24;color:var(--gold)}.acc-note{margin:12px 0 0;color:var(--muted);font-size:12px;text-align:center}.acc-head{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}.acc-who{font-weight:700;letter-spacing:.5px}.acc-logout,.acc-back{margin-left:auto;padding:4px 8px;border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.acc-logout:hover,.acc-back:hover{color:var(--ink)}.acc-back{display:block;width:100%;margin:10px 0 0;text-align:center}.slots{display:grid;gap:8px;margin-bottom:4px}.slot{display:flex;align-items:stretch;min-height:58px;border:1px solid var(--edge);border-radius:10px;background:#ffffff08;overflow:hidden;transition:border-color .15s,background .15s}.slot:hover{background:#ffffff0f}.slot.picked{border-color:var(--gold);background:#d9b03a1f}.slot-pick{flex:1;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.slot-name{font-weight:600}.slot-meta{font-size:12px;color:var(--muted)}.slot-del{width:38px;border:0;border-left:1px solid var(--edge);background:transparent;color:var(--muted);font-size:17px;line-height:1;cursor:pointer}.slot-del:hover{color:#ff8a7a;background:#cf4a3c1f}.slot-del.confirm{width:auto;padding:0 10px;color:#ff8a7a;background:#cf4a3c2e;font-size:12px;font-weight:700}.slot-empty{justify-content:center;align-items:center;border-style:dashed;color:var(--muted);font-size:13px;cursor:pointer}.slot-empty:hover{color:var(--gold);border-color:var(--gold)}.slots+.acc-note+.enter-btn{margin-top:4px}.enter-btn:disabled{filter:grayscale(.7) brightness(.6);cursor:default}.login-status{margin-top:10px;text-align:center;font-size:var(--fs-sm);color:var(--muted);letter-spacing:var(--ls-tight)}.login-status:empty{display:none}.login-status[data-load=idle]{opacity:.7}.login-status[data-load=some]{color:var(--gold)}.login-status[data-load=high]{color:var(--hp-low)}.login-error.asking{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;color:var(--ink);text-align:center}.confirm-ask{flex:1 1 100%}.confirm-yes{padding:7px 14px;border:1px solid var(--edge);border-radius:8px;background:transparent;color:var(--gold);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:700;min-height:var(--touch-min);cursor:pointer}.confirm-yes:hover{background:#d6b05a24}.confirm-yes:disabled{filter:grayscale(.7) brightness(.7);cursor:default}
