:root{--ui-scale:1;--u:calc(1px * var(--ui-scale));--wood-dark:#1b140f;--wood:#2b2119;--wood-light:#3d2e22;--panel:#171615;--panel-deep:#0f0e0d;--bronze-dark:#3a2e22;--bronze:#6b5436;--bronze-light:#8a6a3e;--gold:#d8b779;--gold-soft:#c9a45c;--text:#e6dccb;--text-dim:#9d9384;--text-faint:#7d766a;--red-dark:#35140e;--red:#4a1c14;--red-light:#6b2418;--slot:#121212;--slot-edge:#3a3a36;--hp:#b8302a;--hp-light:#e05a4a;--mp:#2a5cb8;--mp-light:#5a8ae0;--stamina:#c99a2e;--stamina-light:#f0c75a;--exp:#6f9a3a;--exp-light:#a8d86a;--warn:#ff8a80;--q-normal:#d6d0c4;--q-refined:#5aa9e6;--q-unique:#6fbf73;--q-elite:#e83a64;--q-super:#e8b04a;--font-title:"Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--font-ui:"Segoe UI", Tahoma, "Helvetica Neue", Arial, sans-serif;--ink:#0b0806;--gold-bright:#f2d9a0;--gold-reward:#e8c66a;--gold-coin:radial-gradient(circle at 35% 35%, #ffe7a0, #b8862a 60%, #6b4a14);--jade-dark:#2f5a4a73;--jade-edge:#6faa9273;--jade-text:#cfe3d8;--positive:#8ee86a;--negative:#e8705a;--danger:#c4523e;--danger-text:#e8a090;--hostile:#e07a60;--info:#9fc7e8;--rank-elite:#9fd8ff;--rank-champion:#d8a8ff;--rank-boss:#ffc45a;--surface-window:linear-gradient(#1a1917, var(--panel) 40%, #121110);--surface-ornate:linear-gradient(#171512, #100f0d 45%, #0c0b0a);--surface-field:#00000059;--surface-row:#00000047;--surface-row-selected:#d8b7791a;--surface-hud:linear-gradient(#2e2319, #1b140f 70%, #120d09);--surface-overlay:#0c0906b8;--frame-metal:linear-gradient(135deg, var(--bronze-light), var(--bronze-dark) 28%, var(--bronze) 55%, #2a2016 80%, var(--bronze-light));--frame-gold:linear-gradient(135deg, #c9a45c, #4a3620 22%, #8a6a3e 50%, #2a1e12 78%, #c9a45c);--titlebar:linear-gradient(var(--red-light), var(--red) 55%, var(--red-dark));--fs-micro:calc(9 * var(--u));--fs-caption:calc(10.5 * var(--u));--fs-small:calc(11.5 * var(--u));--fs-body:calc(12 * var(--u));--fs-label:calc(13 * var(--u));--fs-heading:calc(16 * var(--u));--fs-title:calc(18 * var(--u));--fs-display:calc(26 * var(--u));--lh-tight:1.2;--lh-body:1.35;--lh-read:1.5;--tracking-title:.02em;--tracking-caps:.06em;--sp-1:calc(2 * var(--u));--sp-2:calc(4 * var(--u));--sp-3:calc(6 * var(--u));--sp-4:calc(8 * var(--u));--sp-5:calc(12 * var(--u));--sp-6:calc(16 * var(--u));--sp-7:calc(24 * var(--u));--radius-s:calc(2 * var(--u));--radius-m:calc(3 * var(--u));--radius-l:calc(5 * var(--u));--radius-window:calc(7 * var(--u));--radius-pill:calc(10 * var(--u));--edge:1px solid var(--bronze-dark);--edge-strong:1px solid var(--bronze);--shadow-window:0 0 0 1px var(--ink), 0 12px 30px #000000a6;--shadow-panel:0 0 0 1px var(--bronze-dark), 0 4px 12px #0000008c;--shadow-inset:inset 0 0 6px #000;--shadow-text:0 1px 2px #000;--shadow-text-world:0 1px 2px #000, 0 0 3px #000;--glow-gold:0 0 calc(7 * var(--u)) #e8b04a8c;--state-hover-edge:var(--gold-soft);--state-active-edge:var(--gold);--state-pressed-shift:calc(1 * var(--u));--state-pressed-shadow:inset 0 1px 3px #000000b3;--state-focus-ring:0 0 0 calc(2 * var(--u)) #d8b7798c;--state-disabled-opacity:.45;--dur-fast:.12s;--dur-normal:.2s;--window-frame:calc(3 * var(--u));--window-pad:calc(10 * var(--u));--close-size:calc(21 * var(--u));--close-bg:linear-gradient(#3a2018, #1e0f0b);--coin-size:calc(12 * var(--u));--respawn-width:calc(300 * var(--u));--portrait-w:calc(106 * var(--u));--portrait-h:calc(121 * var(--u));--titlebar-h:calc(30 * var(--u));--titlebar-h-ornate:calc(34 * var(--u));--button-h:calc(26 * var(--u));--button-bg:linear-gradient(#3f3b35, #2c2925);--button-bg-primary:linear-gradient(#5a2a1e, #3a1a12);--tab-h:calc(38 * var(--u));--tab-active-bg:linear-gradient(90deg, #e2c485, #b48a44 70%, #7a5a2a);--slot-size:calc(42 * var(--u));--hotkey-size:calc(44 * var(--u));--slot-bg:radial-gradient(#1a1a19, #0c0c0b);--hud-texture:repeating-linear-gradient(90deg, #ffffff06 0 calc(2 * var(--u)), transparent calc(2 * var(--u)) calc(9 * var(--u)));--hud-radius:calc(10 * var(--u));--hud-shadow:0 -2px 0 var(--ink), 0 -6px 18px #0000008c, inset 0 1px 0 #d8b77940;--surface-bar:#0c0b0a;--surface-panel:linear-gradient(#241b14, #120d09);--surface-well:#00000059;--glint-top:inset 0 1px 0 #d8b77933;--text-on-fill:#fff;--plaque-bg:#080604d1;--plaque-edge:#6b5436bf;--fs-plaque:calc(10 * var(--u));--bar-h:calc(17 * var(--u));--bar-h-thin:calc(12 * var(--u));--bar-h-exp:calc(13 * var(--u));--hud-bars-w:calc(190 * var(--u));--hud-menu-gap:var(--sp-2);--overlay-fade-left:linear-gradient(90deg, transparent, var(--surface-overlay) 30%);--overlay-fade-right:linear-gradient(90deg, #0c090699, #0c09066b 65%, transparent);--overlay-focused:linear-gradient(90deg, #0c0906b8, #0c090673 70%, #0c09061a);--chat-whisper-in:#e6a8f0;--chat-whisper-out:#c79ad0;--chat-guild:#8fd18a;--chat-team:#86d4e6;--chat-friend:#e6d486;--chat-world:#f2b866;--chat-speaker:#e9d7a8;--upgrade:#b88cff;--legendary:#ff7af0;--legendary-text:#ffa8f4;--mm-zoom-size:calc(20 * var(--u));--tf-width:calc(240 * var(--u));--tf-bar-h:calc(12 * var(--u));--team-frame-width:calc(168 * var(--u));--team-bar-h:calc(10 * var(--u));--team-invite-width:calc(260 * var(--u));--z-world-overlay:8;--z-hud-panel:9;--z-hud:10;--z-feed:11;--z-window:20;--z-modal:30;--z-debug:40;--z-alert:50;--z-tooltip:60;--minimap-edge:calc(8 * var(--u));--minimap-width:calc(184 * var(--u));--minimap-pad:calc(3 * var(--u));--window-gap:calc(12 * var(--u));--window-edge:calc(16 * var(--u));--window-top:calc(70 * var(--u));--dialog-top:calc(110 * var(--u));--quest-tracker-top:calc(219 * var(--u));--right-dock:calc(var(--minimap-edge) + var(--minimap-width) + 2 * var(--minimap-pad) + var(--window-gap))}html,body{height:100%;font-family:var(--font-ui);color:var(--text);background:#14171c;margin:0;overflow:hidden}canvas{display:block}.ui-button{font:500 var(--fs-body) / 1 var(--font-ui);color:var(--text);padding:var(--sp-3) calc(10 * var(--u));background:var(--button-bg);border:var(--edge-strong);border-radius:var(--radius-m);white-space:nowrap;cursor:pointer;box-shadow:inset 0 1px #ffffff14,0 1px 2px #000}.ui-button:hover:not(:disabled){border-color:var(--state-hover-edge);color:#fff}.ui-button:active:not(:disabled){transform:translateY(var(--state-pressed-shift));box-shadow:var(--state-pressed-shadow)}.ui-button:focus-visible{box-shadow:var(--state-focus-ring);outline:none}.ui-button:disabled{opacity:var(--state-disabled-opacity);cursor:default}.ui-field{padding:var(--sp-3) var(--sp-4);background:var(--surface-field);border:var(--edge);border-radius:var(--radius-m)}.ui-row{padding:var(--sp-2) var(--sp-4);background:var(--surface-row);border-radius:var(--radius-m);transition:border-color var(--dur-fast) ease-out;border:1px solid #0000}.ui-row:hover{border-color:var(--bronze)}.ui-row.selected{border-color:var(--gold);background:var(--surface-row-selected)}.ui-section{margin:0 0 var(--sp-3);padding-bottom:var(--sp-2);font:600 var(--fs-label) / var(--lh-tight) var(--font-title);letter-spacing:var(--tracking-title);color:var(--gold);border-bottom:var(--edge)}.q-NORMAL{--q:var(--q-normal)}.q-REFINED{--q:var(--q-refined)}.q-UNIQUE{--q:var(--q-unique)}.q-ELITE{--q:var(--q-elite)}.q-SUPER{--q:var(--q-super)}#hud-bar{align-items:end;gap:0 calc(10 * var(--u));width:min(calc(1180 * var(--u)), 100vw);box-sizing:border-box;padding:var(--sp-3) var(--sp-5) 0;background:var(--hud-texture), var(--surface-hud);border:1px solid var(--ink);border-bottom:none;border-top:calc(2 * var(--u)) solid var(--bronze);border-radius:var(--hud-radius) var(--hud-radius) 0 0;box-shadow:var(--hud-shadow);pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:var(--z-hud);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}#hud-bar[hidden]{display:none}.orb-frame{margin:0 calc(18 * var(--u)) calc(20 * var(--u)) calc(34 * var(--u));grid-row:1/span 2;position:relative}.orb-dragon{pointer-events:none;filter:drop-shadow(0 calc(3 * var(--u)) calc(5 * var(--u)) #0009);position:absolute}.orb{width:calc(84 * var(--u));height:calc(84 * var(--u));box-shadow:0 0 0 calc(3 * var(--u)) var(--bronze-dark), 0 0 0 calc(5 * var(--u)) var(--bronze-light), 0 0 0 calc(6 * var(--u)) #0b0806, 0 4px 10px #000000b3;background:#0b0a09;border-radius:50%;position:relative;overflow:hidden}.orb-half{width:50%;position:absolute;top:0;bottom:0;overflow:hidden}.orb-half.hp{left:0}.orb-half.mp{right:0}.orb-fill{transition:height .15s ease-out;position:absolute;bottom:0;left:0;right:0}.orb-half.hp .orb-fill{background:radial-gradient(circle at 70% 30%, #ff8a70, var(--hp) 45%, #5a120e 100%)}.orb-half.mp .orb-fill{background:radial-gradient(circle at 30% 30%, #8ab4ff, var(--mp) 45%, #0d2356 100%)}.orb-divider{left:calc(50% - 1.5 * var(--u));width:calc(3 * var(--u));background:linear-gradient(var(--bronze-light), var(--bronze-dark));position:absolute;top:0;bottom:0}.orb-gloss{pointer-events:none;background:radial-gradient(circle at 35% 25%,#ffffff59,#0000 40%);border-radius:50%;position:absolute;inset:0}.hb-bars{gap:calc(3 * var(--u));width:var(--hud-bars-w);margin-bottom:var(--sp-3);grid-row:1;display:grid}.bar{height:var(--bar-h);background:var(--surface-bar);border:var(--edge);border-radius:var(--radius-m);position:relative;overflow:hidden;box-shadow:inset 0 0 4px #000}.bar .fill{transition:width .12s ease-out;position:absolute;inset:0 auto 0 0}.bar-hp .fill{background:linear-gradient(var(--hp-light), var(--hp) 55%, #7a1c16)}.bar-mp .fill{background:linear-gradient(var(--mp-light), var(--mp) 55%, #163a80)}.bar-stamina .fill{background:linear-gradient(var(--stamina-light), var(--stamina) 55%, #7e5d14)}.bar.bar-xp{height:var(--bar-h-thin)}.bar-xp .bar-text{font-size:var(--fs-micro);line-height:var(--bar-h-thin)}.bar-xp .fill{background:linear-gradient(#e0794a,#a3361c 55%,#5c1a0c)}.bar-xp.ready .fill{background:linear-gradient(#fff0b8,#f0b43c 55%,#9a6410)}.bar-xp.ready{border-color:var(--gold);animation:.9s ease-in-out infinite xp-ready}.bar-xp.active .fill{background:linear-gradient(#ffd27a,#ff7a1e 50%,#b8300c)}.bar-xp.active{box-shadow:inset 0 0 4px #000, 0 0 calc(6 * var(--u)) #ff7828b3;border-color:#ff9a3c}@keyframes xp-ready{50%{box-shadow:inset 0 0 4px #000, 0 0 calc(9 * var(--u)) #ffd26ee6}}.hk.xp-ready{border-color:var(--gold);animation:.9s ease-in-out infinite xp-ready}.hk.xp-active .hk-ring{background:conic-gradient(#ff8a2a var(--cd,0%), transparent 0)}.bar-text{padding:0 var(--sp-3);font:600 var(--fs-small) / var(--bar-h) var(--font-ui);color:var(--text-on-fill);text-shadow:var(--shadow-text-world);justify-content:space-between;display:flex;position:relative}.bar-mp.unavailable .bar-text{color:var(--text-dim)}.bar.warn{animation:.4s ease-out bar-warn}@keyframes bar-warn{0%,50%{border-color:#ff5a5a;box-shadow:0 0 8px #ff5a5a}}.hotbar{grid-row:1;grid-template-columns:repeat(10, var(--hotkey-size));justify-self:center;gap:var(--sp-2);padding:var(--sp-2);margin-bottom:var(--sp-3);background:var(--surface-well);border:var(--edge);border-radius:var(--radius-m);display:grid}.hk{height:var(--hotkey-size);background:var(--slot-bg);border:1px solid var(--slot-edge);border-radius:var(--radius-m);box-shadow:var(--shadow-inset);position:relative}.hk svg{inset:calc(4 * var(--u));width:calc(100% - 8 * var(--u));height:calc(100% - 8 * var(--u));position:absolute}.hk-key,.hk-bind{padding:0 var(--sp-1);font:600 var(--fs-plaque) / calc(12 * var(--u)) var(--font-ui);background:var(--plaque-bg);border:1px solid var(--plaque-edge);border-radius:var(--radius-s);text-shadow:var(--shadow-text);pointer-events:none;position:absolute}.hk-key{color:var(--gold);bottom:-1px;left:-1px}.hk-bind{color:var(--text);top:-1px;right:-1px}.hk-cooldown{border-radius:var(--radius-m);background:conic-gradient(#000000b8 var(--cd,0%), transparent 0);position:absolute;inset:0}.hk.no-stamina svg{filter:grayscale()brightness(.55)}.hk-ring{padding:calc(2 * var(--u));border-radius:var(--radius-m);background:conic-gradient(var(--gold-soft) var(--cd,0%), transparent 0);-webkit-mask-composite:xor;pointer-events:none;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.hk-cd-text{font:700 var(--fs-label) / 1 var(--font-ui);color:var(--gold-bright);text-shadow:var(--shadow-text-world);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hk-flash{border-radius:var(--radius-m);box-shadow:inset 0 0 calc(10 * var(--u)) #ffdd8cbf, 0 0 calc(8 * var(--u)) #ffd27899;pointer-events:none;border:1px solid #ffe7a8;position:absolute;inset:-1px}.hk.no-stamina:after{content:"";border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px #c84632d9, inset 0 0 calc(8 * var(--u)) #aa281e73;pointer-events:none;position:absolute;inset:0}.hk.filled{border-color:var(--bronze)}.hk.active-skill{border-color:var(--gold-bright);box-shadow:var(--shadow-inset), 0 0 0 1px var(--gold), 0 0 calc(8 * var(--u)) #ffd26ebf}.hk.active-skill .hk-bind{color:var(--gold-bright);border-color:var(--gold)}.hk[data-drop],.hotbar.picking .hk:hover{border-color:var(--gold-bright);box-shadow:var(--shadow-inset), 0 0 calc(7 * var(--u)) #ffdd8ccc}.hotbar.picking .hk{border-style:dashed;border-color:var(--gold);cursor:pointer}.hk[draggable=true]{cursor:grab}.hb-menu{gap:var(--hud-menu-gap);margin-bottom:calc(10 * var(--u));grid-row:1;grid-template-columns:repeat(4,auto);display:grid}.hb-menu .ui-button{padding-inline:var(--sp-2)}.hb-exp{height:var(--bar-h-exp);margin-bottom:var(--sp-3);background:var(--surface-bar);border:var(--edge);border-radius:var(--radius-s);grid-area:2/2/auto/span 3;position:relative;overflow:hidden}.hb-exp .fill{background:linear-gradient(var(--exp-light), var(--exp) 60%, #3c5a1c);transition:width .2s ease-out;position:absolute;inset:0 auto 0 0}.hb-exp .bar-text{font-size:var(--fs-caption);line-height:var(--bar-h-exp);justify-content:center}.hb-exp.gain{animation:.45s ease-out exp-gain}@keyframes exp-gain{0%,40%{border-color:#b6ff8f;box-shadow:0 0 8px #8ee86a}}.hb-exp.gain .fill{animation:.65s ease-out exp-fill-pulse}@keyframes exp-fill-pulse{0%{filter:brightness(1.9)saturate(1.2)}to{filter:none}}.hb-exp.gain:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 0 40%,#e6ffc88c 50%,#0000 60% 100%) 0 0/250% 100%;animation:.65s ease-out forwards exp-sheen;position:absolute;inset:0}@keyframes exp-sheen{0%{background-position:100% 0}to{background-position:-50% 0}}#buff-bar{top:var(--minimap-edge);right:calc(2 * var(--minimap-edge) + var(--minimap-width) + 40 * var(--u));z-index:var(--z-world-overlay);gap:var(--sp-1);pointer-events:auto;-webkit-user-select:none;user-select:none;flex-direction:row-reverse;display:flex;position:fixed}#buff-bar[hidden]{display:none}.buff-icon{width:calc(34 * var(--u));height:calc(34 * var(--u));box-sizing:border-box;border:calc(2 * var(--u)) solid #6fbf6a;border-radius:var(--radius-sm,4px);background:linear-gradient(to top, color-mix(in srgb, var(--buff-color) 70%, transparent) calc(var(--buff-ratio) * 100%), transparent 0), var(--surface-overlay);box-shadow:0 0 0 1px var(--ink);position:relative;overflow:hidden}.buff-icon.harmful{border-color:#d04a3a}.buff-glyph{padding-top:calc(3 * var(--u));text-align:center;font:700 calc(11 * var(--u)) / 1 var(--font-title);letter-spacing:var(--tracking-caps);color:var(--gold-bright);text-shadow:var(--shadow-text);position:absolute;inset:0 0 auto}.buff-time{inset:auto 0 calc(2 * var(--u)) 0;text-align:center;font:600 calc(10 * var(--u)) / 1 var(--font-body,sans-serif);color:#fff;text-shadow:var(--shadow-text);position:absolute}#exp-boost-badge{top:var(--sp-3);padding:var(--sp-1) var(--sp-5);font:600 var(--fs-body) / 1.3 var(--font-title);letter-spacing:var(--tracking-caps);color:var(--gold-bright);background:var(--surface-overlay);border:1px solid var(--gold-soft);border-radius:var(--radius-pill);box-shadow:0 0 0 1px var(--ink), 0 0 10px #c9a45c4d;text-shadow:var(--shadow-text);white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:var(--z-world-overlay);position:fixed;left:50%;transform:translate(-50%)}#exp-boost-badge[hidden]{display:none}#zone-banner{top:calc(92 * var(--u));align-items:center;gap:calc(2 * var(--u));padding:calc(6 * var(--u)) calc(70 * var(--u));pointer-events:none;-webkit-user-select:none;user-select:none;z-index:var(--z-world-overlay);background:radial-gradient(#0c09069e 0%,#0c090659 45%,#0000 72%);flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}#zone-banner[hidden]{display:none}.zb-title{align-items:center;gap:var(--sp-5);font:600 var(--fs-display) / 1.1 var(--font-title);letter-spacing:var(--tracking-caps);color:var(--gold-bright);text-shadow:0 2px 3px #000,0 0 8px #000000e6,0 0 18px #c9a45c40;white-space:nowrap;display:flex}.zb-title:before,.zb-title:after{content:"";width:calc(56 * var(--u));height:calc(2 * var(--u));background:linear-gradient(90deg, transparent, var(--bronze-light) 40%, var(--gold-soft));box-shadow:0 1px 1px #000c}.zb-title:after{transform:scaleX(-1)}.zb-sub{font:600 var(--fs-label) / 1.2 var(--font-ui);letter-spacing:.12em;color:var(--text);text-shadow:var(--shadow-text-world)}#zone-banner[data-kind=city] .zb-sub{color:#b8d8a8}#zone-banner[data-kind=safe] .zb-sub{color:#9fe09a}#zone-banner[data-kind=unsafe] .zb-sub{color:#e8907a}#quest-tracker{top:calc(var(--minimap-edge) + var(--quest-tracker-top));right:var(--minimap-edge);width:calc(var(--minimap-width) + 2 * var(--minimap-pad));box-sizing:border-box;padding:var(--sp-3) var(--sp-4) var(--sp-3) var(--sp-6);background:var(--overlay-fade-left);border-right:calc(2 * var(--u)) solid var(--bronze-dark);pointer-events:none;z-index:var(--z-world-overlay);position:fixed}#quest-tracker[hidden]{display:none}.qt-title{font:600 var(--fs-body) / 1.2 var(--font-title);letter-spacing:var(--tracking-caps);color:var(--gold);text-align:right;text-shadow:var(--shadow-text);margin-bottom:var(--sp-1)}.qt-list{gap:var(--sp-2);flex-direction:column;display:flex}.qt-row{text-align:right;text-shadow:var(--shadow-text-world)}.qt-name{font:600 var(--fs-body) / 1.25 var(--font-ui);color:var(--gold-bright)}.qt-line{font:500 var(--fs-small) / 1.3 var(--font-ui);color:var(--text)}.qt-row.ready .qt-line,.qt-row.new .qt-name{color:var(--gold-reward)}.qt-row.new .qt-line{color:var(--text);font-style:italic}#team-frames{top:var(--sp-5);left:var(--sp-5);width:var(--team-frame-width);gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4);background:var(--surface-panel);border:1px solid var(--ink);box-shadow:0 0 0 1px var(--bronze-dark), inset 0 1px 0 #d8b77933, 0 4px 12px #0000008c;border-radius:calc(4 * var(--u));color:var(--text);font-size:var(--fs-small);-webkit-user-select:none;user-select:none;z-index:var(--z-hud-panel);flex-direction:column;display:flex;position:fixed}#team-frames[hidden]{display:none}.tm-title{font:600 var(--fs-body) / 1.2 var(--font-title);letter-spacing:var(--tracking-caps);color:var(--gold);text-shadow:var(--shadow-text)}.tm-list{gap:var(--sp-3);flex-direction:column;display:flex}.tm-head{align-items:baseline;gap:var(--sp-3);display:flex}.tm-name{min-width:0;font-family:var(--font-title);color:var(--gold-bright);text-shadow:var(--shadow-text);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tm-member.self .tm-name{color:var(--text)}.tm-crown{margin-right:var(--sp-1);color:var(--gold)}.tm-level{color:var(--text-dim);font-size:var(--fs-caption);white-space:nowrap}.tm-kick{padding:0 var(--sp-2);font:600 var(--fs-small) / 1 var(--font-ui);color:var(--text-dim);cursor:pointer;background:0 0;border:none}.tm-kick:hover{color:var(--hostile)}.tm-bar{height:var(--team-bar-h);margin-top:var(--sp-1);background:var(--surface-bar);box-shadow:0 0 0 1px var(--bronze-dark);border:1px solid #000;position:relative}.tm-fill{background:linear-gradient(var(--hp-light), var(--hp) 55%, #6a1712);transition:width .12s ease-out;position:absolute;inset:0 auto 0 0}.tm-value{text-align:center;line-height:var(--team-bar-h);font-size:var(--fs-caption);color:var(--text-on-fill);text-shadow:var(--shadow-text-world);white-space:nowrap;position:absolute;inset:0}.tm-member.far{opacity:.55}.tm-member.dead .tm-value{color:var(--hostile)}.tm-leave{margin-top:var(--sp-1);align-self:flex-start}.gw.invite-prompt{left:50%;top:calc(96 * var(--u));width:var(--team-invite-width);z-index:var(--z-window);transform:translate(-50%)}#drop-confirm{z-index:var(--z-modal)}.ti-body{gap:var(--sp-5);padding:var(--sp-5) var(--sp-6);justify-items:center;display:grid}.ti-text{text-align:center}.ti-buttons{gap:var(--sp-4);display:flex}.gw.offline-mining{left:var(--sp-5);width:var(--team-invite-width);z-index:var(--z-hud-panel);top:38%}.om-body{gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);justify-items:center;display:grid}.om-mine{font:600 var(--fs-body) / 1.2 var(--font-title);color:var(--gold)}.om-text{text-align:center}.om-hint{text-align:center;color:var(--danger-text)}.om-hint[hidden]{display:none}#loot-feed{right:calc(18 * var(--u));bottom:calc(150 * var(--u));align-items:flex-end;gap:calc(3 * var(--u));pointer-events:none;z-index:var(--z-feed);flex-direction:column;display:flex;position:fixed}.lf-row{gap:var(--sp-2);padding:var(--sp-1) calc(9 * var(--u)) var(--sp-1) var(--sp-7);font:600 var(--fs-label) / calc(18 * var(--u)) var(--font-ui);color:var(--text);text-shadow:var(--shadow-text-world);background:var(--overlay-fade-left);border-right:calc(2 * var(--u)) solid var(--q,var(--bronze));display:flex}.lf-amount{color:var(--gold-bright)}.lf-row[class*=q-] .lf-name{color:var(--q)}.lf-row.q-NORMAL .lf-name{color:var(--text)}.lf-row.lf-gold{border-right-color:var(--gold)}.lf-row.lf-gold .lf-amount,.lf-row.lf-gold .lf-name{color:var(--gold)}.lf-row.lf-upgrade{border-right-color:var(--upgrade)}.lf-row.lf-upgrade .lf-name{color:var(--upgrade)}.lf-row.lf-legendary{border-right-color:var(--legendary);box-shadow:0 0 calc(10 * var(--u)) #ff6a3d73;font-weight:700}.lf-row.lf-legendary .lf-name{color:var(--legendary-text);text-shadow:0 0 calc(6 * var(--u)) #ff6a3dcc, 0 1px 2px #000}.lf-row.fresh{animation:lf-fresh var(--fresh-ms,.35s) ease-out}@keyframes lf-fresh{0%{transform:translateX(calc(14 * var(--u)));filter:brightness(1.8)}to{filter:none;transform:none}}#hud{color:#d8dee9;white-space:pre;pointer-events:none;z-index:40;background:#0009;border-radius:4px;padding:6px 10px;font:12px/1.5 ui-monospace,monospace;position:fixed;top:8px;left:8px}#hud[hidden]{display:none}#respawn{width:var(--respawn-width);z-index:var(--z-modal);top:26%;left:50%;transform:translate(-50%,-50%)}.respawn-title{color:var(--warn);cursor:default}.respawn-body{gap:var(--sp-5);padding:var(--sp-6) var(--sp-7);justify-items:center;display:grid}.respawn-body .ui-button{min-width:calc(var(--respawn-width) - 2 * var(--sp-7));height:var(--button-h)}.respawn-rule{background:linear-gradient(90deg, transparent, var(--bronze), transparent);width:80%;height:1px}.respawn-hint{font:italic var(--fs-body) / var(--lh-body) var(--font-title);color:var(--text-dim);text-shadow:var(--shadow-text)}body>canvas{transition:filter .45s ease-out}body>canvas.death-veil{filter:grayscale(.85)brightness(.55)contrast(1.08);transition:filter 1.1s ease-in}.bar-mp.unavailable{background:repeating-linear-gradient(135deg, #0c0b0a 0 calc(4 * var(--u)), #15130f calc(4 * var(--u)) calc(8 * var(--u)));opacity:.75}.orb-half.mp:after{content:"";background:repeating-linear-gradient(135deg, #2a5cb81a 0 calc(3 * var(--u)), transparent calc(3 * var(--u)) calc(7 * var(--u)));position:absolute;inset:0}.hk{transition:border-color var(--dur-fast) ease-out, box-shadow var(--dur-fast) ease-out}.hk.filled:hover{border-color:var(--state-hover-edge);box-shadow:var(--shadow-inset), 0 0 6px #d8b77959}.hk:not(.filled):hover{border-color:var(--bronze-dark)}.move-mode.walking{color:#cfe6e8;border-color:#5a8a8e}.pk-mode[data-mode=pk]{color:#f0c4b8;border-color:#8e4a3a}.pk-mode[data-mode=team]{color:#c4d8f0;border-color:#4a6a8e}.pk-mode[data-mode=peace]{color:#d0eac4;border-color:#5a8a4e}.loading-note{font-family:var(--font-title,Georgia, serif);color:var(--gold,#d8b779);letter-spacing:.04em;text-shadow:0 1px 2px #000;pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.asset-error-note{left:50%;top:calc(8 * var(--u));padding:calc(4 * var(--u)) calc(10 * var(--u));font:600 calc(12 * var(--u)) / 1.3 var(--font-ui);color:#fff;background:var(--red,#4a1c14);border:1px solid var(--warn,#ff8a80);border-radius:var(--radius-m);pointer-events:none;z-index:50;position:fixed;transform:translate(-50%)}.hk-count{right:calc(3 * var(--u));bottom:calc(1 * var(--u));font:700 var(--fs-plaque) / 1 var(--font-ui);color:var(--text-on-fill);text-shadow:var(--shadow-text-world);position:absolute}.hk.filled{cursor:default}.gw{z-index:var(--z-window);padding:var(--window-frame);background:var(--frame-metal);border-radius:var(--radius-window);box-shadow:var(--shadow-window);-webkit-user-select:none;user-select:none;position:fixed}.gw[hidden]{display:none}.gw-title{height:var(--titlebar-h);background:var(--titlebar);border:1px solid var(--ink);border-bottom:1px solid var(--bronze-light);border-radius:var(--radius-l) var(--radius-l) 0 0;font:600 var(--fs-heading) / 1 var(--font-title);letter-spacing:var(--tracking-title);color:var(--gold);text-shadow:var(--shadow-text);cursor:move;justify-content:center;align-items:center;display:flex;position:relative}.gw-close{right:calc((var(--titlebar-h) - var(--close-size)) / 2);top:calc((var(--titlebar-h) - var(--close-size)) / 2 - 1px);width:var(--close-size);height:var(--close-size);font:700 var(--fs-heading) / 1 var(--font-ui);color:var(--text);background:var(--close-bg);border:1px solid var(--bronze-light);border-radius:var(--radius-m);cursor:pointer;transition:border-color var(--dur-fast) ease-out;padding:0;position:absolute}.gw-close:hover{color:#fff;border-color:var(--state-active-edge)}.gw-close:active{transform:translateY(var(--state-pressed-shift));box-shadow:var(--state-pressed-shadow)}.gw-close:focus-visible{box-shadow:var(--state-focus-ring);outline:none}.gw-body{padding:var(--window-pad);background:radial-gradient(ellipse at 50% 0%, #ffffff09, transparent 60%), var(--surface-window);border:1px solid var(--ink);border-radius:0 0 var(--radius-l) var(--radius-l);font:var(--fs-body) / var(--lh-body) var(--font-ui);color:var(--text);border-top:none}.slot{box-sizing:border-box;width:var(--slot-size);height:var(--slot-size);background:var(--slot-bg);border:1px solid var(--slot-edge);border-radius:var(--radius-m);box-shadow:var(--shadow-inset);transition:border-color var(--dur-fast) ease-out;position:relative}.slot.filled{border-color:var(--q,var(--slot-edge));cursor:pointer}.slot.q-NORMAL.filled{border-color:color-mix(in srgb, var(--q) 55%, var(--slot-edge))}.slot.q-REFINED.filled{box-shadow:var(--shadow-inset), inset 0 0 0 1px color-mix(in srgb, var(--q) 45%, transparent)}.slot.q-UNIQUE.filled{box-shadow:var(--shadow-inset), inset 0 0 calc(4 * var(--u)) color-mix(in srgb, var(--q) 40%, transparent);border-width:2px}.slot.q-ELITE.filled{box-shadow:var(--shadow-inset), inset 0 0 calc(5 * var(--u)) color-mix(in srgb, var(--q) 55%, transparent), 0 0 calc(5 * var(--u)) color-mix(in srgb, var(--q) 35%, transparent);border-width:2px}.slot.q-SUPER.filled{box-shadow:var(--shadow-inset), inset 0 0 calc(7 * var(--u)) color-mix(in srgb, var(--q) 65%, transparent), 0 0 calc(8 * var(--u)) color-mix(in srgb, var(--q) 60%, transparent);border-width:2px}.slot.q-ELITE.filled:before,.slot.q-SUPER.filled:before{content:"";width:calc(7 * var(--u));height:calc(7 * var(--u));background:linear-gradient(135deg, var(--q) 50%, transparent 50%);pointer-events:none;position:absolute;top:0;left:0}.slot.q-SUPER.filled:before{width:calc(10 * var(--u));height:calc(10 * var(--u))}.slot.q-ELITE.filled{animation:2.4s ease-in-out infinite slot-elite-pulse}.slot.q-SUPER.filled{--fx-glow:var(--q);--fx-spark:#fff3cc;border-color:color-mix(in srgb, var(--fx-glow) 70%, var(--q));animation:1.8s ease-in-out infinite slot-super-pulse}.slot.q-SUPER.filled svg{filter:drop-shadow(0 0 calc(2.5 * var(--u)) color-mix(in srgb, var(--fx-glow) 85%, transparent))}.slot.q-ELITE.filled svg{filter:drop-shadow(0 0 calc(1.5 * var(--u)) color-mix(in srgb, var(--q) 55%, transparent))}@keyframes slot-elite-pulse{0%,to{box-shadow:var(--shadow-inset), inset 0 0 calc(4 * var(--u)) color-mix(in srgb, var(--q) 45%, transparent), 0 0 calc(3 * var(--u)) color-mix(in srgb, var(--q) 25%, transparent)}50%{box-shadow:var(--shadow-inset), inset 0 0 calc(7 * var(--u)) color-mix(in srgb, var(--q) 65%, transparent), 0 0 calc(7 * var(--u)) color-mix(in srgb, var(--q) 50%, transparent)}}@keyframes slot-super-pulse{0%,to{box-shadow:var(--shadow-inset), inset 0 0 calc(7 * var(--u)) color-mix(in srgb, var(--fx-glow) 60%, transparent), 0 0 calc(7 * var(--u)) color-mix(in srgb, var(--fx-glow) 55%, transparent)}50%{box-shadow:var(--shadow-inset), inset 0 0 calc(11 * var(--u)) color-mix(in srgb, var(--fx-glow) 80%, transparent), 0 0 calc(13 * var(--u)) color-mix(in srgb, var(--fx-glow) 80%, transparent)}}.slot-fx{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.slot.q-SUPER .slot-fx:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--fx-spark) 45%, transparent), transparent);width:40%;height:200%;animation:2.6s ease-in-out infinite slot-sheen;animation-delay:var(--fx-phase,0s);mix-blend-mode:screen;position:absolute;top:-50%;left:-60%;transform:rotate(25deg)}@keyframes slot-sheen{0%,55%{left:-60%}to{left:130%}}.slot-spark{width:calc(4 * var(--u));height:calc(4 * var(--u));background:radial-gradient(circle, var(--fx-spark) 0 30%, color-mix(in srgb, var(--fx-spark) 40%, transparent) 45%, transparent 70%);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);opacity:0;animation:1.8s ease-in-out infinite slot-twinkle;position:absolute}.slot-spark.s0{animation-delay:calc(var(--fx-phase,0s) - 0s);top:18%;left:14%}.slot-spark.s1{animation-delay:calc(var(--fx-phase,0s) - .6s);top:40%;right:16%}.slot-spark.s2{animation-delay:calc(var(--fx-phase,0s) - 1.2s);bottom:14%;left:42%}@keyframes slot-twinkle{0%,60%,to{opacity:0;transform:scale(.4)}75%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.slot.q-ELITE.filled,.slot.q-SUPER.filled,.slot.q-SUPER .slot-fx:before,.slot-spark{animation:none}}.slot-plus{right:calc(2 * var(--u));top:calc(1 * var(--u));padding:0 calc(2 * var(--u));border-radius:calc(2 * var(--u));font:700 calc(10 * var(--u)) / 1.2 var(--font-ui);color:var(--gold);text-shadow:0 1px 1px #000;pointer-events:none;background:#0a0806c7;position:absolute}.slot svg{inset:calc(4 * var(--u));width:calc(100% - 8 * var(--u));height:calc(100% - 8 * var(--u));pointer-events:none;position:absolute}.slot:hover{border-color:var(--state-hover-edge)}.slot.selected{outline:calc(2 * var(--u)) solid var(--state-active-edge);outline-offset:1px}.slot.drop-ok{border-color:var(--positive);box-shadow:inset 0 0 8px #8ee86a73}.slot.locked svg{filter:grayscale()brightness(.55)}.slot.locked:after{content:"";border-radius:inherit;pointer-events:none;background:#78140a38;position:absolute;inset:0}.slot.slot-match{border-color:var(--gold);box-shadow:inset 0 0 8px #e8b04a59, var(--glow-gold)}.slot.slot-match.slot-blocked{border-color:var(--danger);box-shadow:inset 0 0 8px #c4523e59, 0 0 calc(6 * var(--u)) #c4523e80}.slot-count{right:calc(3 * var(--u));bottom:calc(1 * var(--u));font:700 calc(10 * var(--u)) / 1 var(--font-ui);color:#fff;text-shadow:0 1px 1px #000,0 0 2px #000;position:absolute}.slot-empty-label{font:var(--fs-micro) / 1.1 var(--font-ui);color:var(--text-faint);text-align:center;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}#inventory-window{right:var(--right-dock);top:var(--window-top);width:calc(404 * var(--u))}.inv-grid{grid-template-columns:repeat(8, var(--slot-size));gap:var(--sp-2);padding:var(--sp-4);background:var(--surface-field);border:var(--edge);border-radius:var(--radius-m);justify-content:center;display:grid}.inv-footer{align-items:center;gap:var(--sp-4);margin-top:var(--sp-4);display:flex}.inv-currency{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--surface-field);border:var(--edge);border-radius:var(--radius-m);color:var(--text-dim);font-variant-numeric:tabular-nums;flex:1;display:flex}.inv-currency .coin{width:var(--coin-size);height:var(--coin-size);background:var(--gold-coin);box-shadow:0 0 0 1px var(--bronze-dark);border-radius:50%}.inv-actions{gap:var(--sp-3);min-height:var(--button-h);margin-top:var(--sp-4);align-items:center;display:flex}.inv-selected{color:var(--text-dim);font-size:var(--fs-small);flex:1}.inv-selected b{color:var(--q,var(--text));font-weight:600}.ch-info{gap:calc(2 * var(--u)) calc(10 * var(--u));padding:calc(6 * var(--u)) calc(8 * var(--u));margin-bottom:calc(8 * var(--u));border:1px solid var(--bronze-dark);border-radius:calc(3 * var(--u));background:#00000059;grid-template-columns:auto 1fr auto 1fr;display:grid}.ch-info dt{color:var(--gold-soft)}.ch-info dd{color:var(--text);margin:0}.ch-body{grid-template-columns:calc(42 * var(--u)) 1fr calc(42 * var(--u));gap:calc(8 * var(--u));align-items:center;display:grid}.ch-slots{gap:calc(10 * var(--u));display:grid}.ch-preview{height:calc(210 * var(--u));border:1px solid var(--bronze-dark);border-radius:calc(3 * var(--u));background:radial-gradient(at 50% 80%,#8a6a3e40,#0000 60%),linear-gradient(#141312,#0d0c0b);position:relative;overflow:hidden}.ch-preview canvas{width:100%!important;height:100%!important}.ch-preview.ch-preview-standard{overflow:visible}.ch-preview-stage{pointer-events:none;position:absolute}.ch-rotate{bottom:calc(6 * var(--u));padding:calc(2 * var(--u)) calc(7 * var(--u));position:absolute}.ch-rotate.left{left:calc(6 * var(--u))}.ch-rotate.right{right:calc(6 * var(--u))}.ch-gear-toggle{bottom:calc(6 * var(--u));padding:calc(2 * var(--u)) calc(7 * var(--u));white-space:nowrap;position:absolute;left:50%;transform:translate(-50%)}.ch-hint{margin-top:calc(8 * var(--u));color:var(--text-dim);font-size:calc(10.5 * var(--u));text-align:center}.ui-tooltip{z-index:60;min-width:calc(170 * var(--u));max-width:calc(260 * var(--u));padding:calc(8 * var(--u)) calc(10 * var(--u));border:1px solid var(--bronze-light);border-radius:calc(4 * var(--u));font:calc(11.5 * var(--u)) / 1.4 var(--font-ui);color:var(--text);pointer-events:none;background:linear-gradient(#181614f7,#0e0d0cf7);position:fixed;box-shadow:0 0 0 1px #0b0806,0 6px 16px #000000b3}.ui-tooltip[hidden]{display:none}.tt-title{font:600 calc(13.5 * var(--u)) / 1.2 var(--font-title);color:var(--q,var(--text))}.tt-title.q-ELITE{text-shadow:0 0 calc(4 * var(--u)) color-mix(in srgb, var(--q) 55%, transparent)}.tt-title.q-SUPER{text-shadow:0 0 calc(3 * var(--u)) color-mix(in srgb, var(--q) 90%, transparent), 0 0 calc(9 * var(--u)) color-mix(in srgb, var(--q) 55%, transparent);animation:1.8s ease-in-out infinite tt-super-glow}.tt-quality.q-SUPER:before{content:"✦ "}.tt-quality.q-SUPER:after{content:" ✦"}@keyframes tt-super-glow{50%{text-shadow:0 0 calc(4 * var(--u)) color-mix(in srgb, var(--q) 100%, transparent), 0 0 calc(14 * var(--u)) color-mix(in srgb, var(--q) 75%, transparent)}}@media (prefers-reduced-motion:reduce){.tt-title.q-SUPER{animation:none}}.tt-quality{margin-bottom:calc(5 * var(--u));color:var(--q,var(--text-dim));font-size:calc(11 * var(--u));letter-spacing:.04em;text-transform:uppercase}.tt-row{justify-content:space-between;gap:calc(12 * var(--u));display:flex}.tt-row span:first-child{color:var(--text-dim)}.tt-row.warn span:last-child{color:var(--warn)}.tt-row.met span:last-child{color:#8ee86a}.tt-section{margin-top:calc(5 * var(--u));padding-top:calc(3 * var(--u));border-top:1px solid color-mix(in srgb, var(--bronze-dark) 70%, transparent);color:var(--gold-soft);font-size:calc(10 * var(--u));letter-spacing:.06em;text-transform:uppercase}.tt-section:empty{padding-top:calc(2 * var(--u))}.tt-compare-head{margin-top:calc(6 * var(--u));padding-top:calc(5 * var(--u));border-top:1px solid var(--bronze-dark);color:var(--gold-soft);font-size:calc(11 * var(--u))}.tt-compare-summary{font-weight:600;font-size:calc(11.5 * var(--u))}.tt-compare-summary.up{color:#8ee86a}.tt-compare-summary.down{color:#e8705a}.tt-compare-summary.same{color:var(--text-dim)}.tt-cmp.up span:last-child{color:#8ee86a}.tt-cmp.down span:last-child{color:#e8705a}.tt-cmp.same span:last-child{color:var(--text-dim)}.tt-desc{margin-top:calc(5 * var(--u));max-width:calc(220 * var(--u));color:var(--text-dim,#b8ad98);font-size:calc(11 * var(--u));font-style:italic;line-height:1.35}.tt-skill{color:var(--gold)}.tt-status{margin-top:calc(5 * var(--u));color:#9fc7e8;font-size:calc(10.5 * var(--u))}.tt-status.warn{color:var(--warn)}.tt-level{margin-bottom:calc(5 * var(--u));color:var(--gold-soft);font-size:calc(10.5 * var(--u))}.tt-parity{margin-top:calc(5 * var(--u));max-width:calc(220 * var(--u));color:var(--text-dim);font-size:calc(9.5 * var(--u))}.tt-parity.placeholder{color:var(--warn);font-weight:600}.tt-hint{margin-top:calc(6 * var(--u));padding-top:calc(5 * var(--u));border-top:1px solid var(--bronze-dark);color:var(--gold-soft);font-size:calc(11 * var(--u))}#shop-window,#warehouse-window,#smith-window,#stall-window,#market-search-window,#social-window,#trade-window{left:var(--window-edge);top:var(--window-top)}#social-window{width:calc(440 * var(--u))}.so-section+.so-section{margin-top:var(--sp-3)}.so-head{margin:0 0 var(--sp-2);font-size:inherit}.so-row{align-items:center;gap:var(--sp-2);color:var(--text-dim);padding:2px 0;display:flex}.so-row.online{color:inherit}.so-dot{background:var(--text-dim);border-radius:50%;flex:none;width:8px;height:8px}.so-row.online .so-dot{background:var(--positive)}.so-name{flex:1;font-weight:700}.so-meta{opacity:.85}.so-btn{padding:1px 6px}.so-empty{opacity:.8;margin:var(--sp-1) 0}.so-create,.so-footer{gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.so-guild-name{flex:1}#trade-window{width:calc(520 * var(--u))}.trade-body{gap:var(--sp-4);display:grid}.trade-sides{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.trade-side{align-content:start;gap:var(--sp-2);display:grid}.trade-side[data-state=locked]{border-color:var(--gold-soft)}.trade-side[data-state=confirmed]{border-color:var(--positive)}.trade-side-head{justify-content:space-between;display:flex}.trade-status{color:var(--text-dim);font-size:var(--fs-small)}.trade-side[data-state=locked] .trade-status{color:var(--gold)}.trade-side[data-state=confirmed] .trade-status{color:var(--positive)}.trade-offer{min-height:calc(80 * var(--u));max-height:calc(180 * var(--u))}.trade-candidates{max-height:calc(160 * var(--u))}.trade-row{grid-template-columns:calc(34 * var(--u)) 1fr auto}.trade-offer-gold{justify-self:end}.trade-footer{gap:var(--sp-3);align-items:center;display:flex}.trade-footer .stall-purse{flex:none;width:auto;margin-left:auto}#shop-window{width:calc(360 * var(--u))}#warehouse-window{width:calc(480 * var(--u))}#smith-window{width:calc(470 * var(--u))}#market-search-window{width:calc(500 * var(--u))}.market-form,.market-saved{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.market-saved{margin:var(--sp-3) 0}.market-field{width:calc(112 * var(--u))}.market-field.market-num{width:calc(56 * var(--u))}.market-field.market-price{width:calc(96 * var(--u))}.market-save-name{width:calc(130 * var(--u))}.market-chip{gap:1px;display:inline-flex}.market-row{grid-template-columns:calc(34 * var(--u)) 1fr auto;cursor:default}.market-results .shop-hint.warn{color:var(--warn)}.market-results .market-summary{color:var(--text)}#stall-window{width:calc(440 * var(--u))}.shop-list,.smith-list{gap:var(--sp-1);flex-direction:column;display:flex;overflow-y:auto}.shop-list{max-height:calc(420 * var(--u))}.shop-row{grid-template-columns:calc(34 * var(--u)) 1fr auto calc(58 * var(--u));align-items:center;gap:var(--sp-4);padding:var(--sp-1) var(--sp-3);cursor:pointer;display:grid}.shop-row .shop-icon{width:calc(34 * var(--u));height:calc(34 * var(--u))}.shop-name{color:var(--q,var(--text));font-size:var(--fs-body)}.shop-name.q-NORMAL{color:var(--text)}.shop-level{color:var(--text-dim);font-size:var(--fs-small)}.shop-price{color:var(--gold);font:600 var(--fs-body) / 1 var(--font-ui);font-variant-numeric:tabular-nums;justify-self:end}.shop-price:after{content:"";width:calc(var(--coin-size) * .75);height:calc(var(--coin-size) * .75);margin-left:var(--sp-2);background:var(--gold-coin);vertical-align:-1px;border-radius:50%;display:inline-block}.shop-level.warn,.shop-price.warn{color:var(--warn)}.shop-footer{align-items:center;gap:var(--sp-3);min-height:calc(var(--button-h) + var(--sp-1));margin:var(--sp-4) 0;display:flex}.shop-hint{margin-top:var(--sp-3);color:var(--text-dim);font-size:var(--fs-caption)}.smith-layout{gap:var(--sp-4);display:flex}.smith-list{width:calc(185 * var(--u));max-height:calc(300 * var(--u))}.smith-item{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);color:var(--text);font:inherit;font-size:var(--fs-small);text-align:left;cursor:pointer;display:flex}.smith-item:not(.q-NORMAL){color:var(--q)}.smith-tag{color:var(--gold-soft);font-size:var(--fs-micro)}.smith-empty{color:var(--gold-soft);font-size:var(--fs-small)}.smith-detail{gap:var(--sp-3);flex-direction:column;flex:1;display:flex}.smith-offer{gap:var(--sp-1);font-size:var(--fs-small);flex-direction:column;display:flex}.smith-offer-title{color:var(--gold);font-weight:600}.smith-step{color:var(--text);font-size:var(--fs-label)}.smith-stat,.smith-cost{justify-content:space-between;gap:var(--sp-3);display:flex}.smith-stat b{color:var(--gold-bright)}.smith-chance{color:var(--gold-soft)}.smith-cost .short,.smith-blocked{color:var(--warn)}.smith-offer .ui-button{margin-top:var(--sp-1);align-self:flex-end}.smith-socket,.smith-gem{align-items:center}.smith-socket-value{text-align:right;color:var(--text);flex:1}.smith-socket.none .smith-socket-value{color:var(--text-faint)}.smith-socket.gem .smith-socket-value{color:var(--gold-bright)}.smith-socket>span:first-child,.smith-gem>span{white-space:nowrap}.smith-gem>span:first-child{flex:1}.smith-socket-fees{font-size:var(--fs-caption)}.smith-offer .ui-button.smith-small{padding:0 var(--sp-3);font-size:var(--fs-caption);align-self:center;margin-top:0}.smith-tags{flex-direction:column;align-items:flex-end;line-height:1.15;display:flex}.smith-repair-buttons{justify-content:flex-end;gap:var(--sp-2);display:flex}.smith-repair .smith-stat-value.short,.smith-tag.smith-damage{color:var(--warn)}.smith-result{min-height:var(--sp-6);margin-top:var(--sp-3);font-size:var(--fs-body)}.smith-result[data-kind=success]{color:var(--gold-bright)}.smith-result[data-kind=fail]{color:var(--warn)}.wh-grid{grid-template-columns:repeat(10, calc(40 * var(--u)))}.wh-footer{justify-content:space-between}.wh-footer .shop-hint{margin-top:0}.wh-fill{color:var(--gold-soft);font-size:var(--fs-small)}.stall-row{grid-template-columns:calc(34 * var(--u)) 1fr auto auto;cursor:default}.stall-head{margin-bottom:var(--sp-3);color:var(--gold)}.stall-head .shop-hint{margin-top:var(--sp-1)}.stall-sub{margin:var(--sp-4) 0 var(--sp-2)}.stall-candidates{max-height:calc(220 * var(--u))}.stall-controls,.stall-setup{align-items:center;gap:var(--sp-3);display:flex}.stall-input{width:calc(180 * var(--u));padding:var(--sp-1) var(--sp-3);color:var(--text);background:var(--surface-field);border:var(--edge-strong);border-radius:var(--radius-m);font:var(--fs-body) / var(--lh-tight) var(--font-ui)}.stall-input:focus-visible{border-color:var(--state-active-edge);box-shadow:var(--state-focus-ring);outline:none}.stall-price{width:calc(78 * var(--u));text-align:right}.stall-fee{min-width:calc(70 * var(--u));color:var(--text-dim);font-size:var(--fs-caption)}.stall-purse{margin-left:auto}.ui-button.small{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-small)}.ui-button.active{border-color:var(--state-active-edge);color:var(--gold)}.ui-button.primary{border-color:var(--gold-soft);background:var(--button-bg-primary)}.gw-scalable{--u:calc(1px * var(--ui-scale) * var(--win-scale,1))}.gw-resize{width:calc(16 * var(--u));height:calc(16 * var(--u));cursor:nwse-resize;z-index:2;background:linear-gradient(135deg,#0000 50%,#c9a45c8c 50% 58%,#0000 58%),linear-gradient(135deg,#0000 70%,#c9a45c8c 70% 78%,#0000 78%);position:absolute;bottom:2px;right:2px}.target-frame{--tf-edge:var(--bronze-dark);--tf-glint:#d8b77933;top:calc(10 * var(--u));width:var(--tf-width);padding:calc(5 * var(--u)) var(--sp-4) var(--sp-2);background:var(--surface-panel);border:1px solid var(--ink);box-shadow:0 0 0 1px var(--tf-edge), inset 0 1px 0 var(--tf-glint), 0 4px 12px #0000008c;border-radius:calc(4 * var(--u));color:var(--text);font-size:var(--fs-small);-webkit-user-select:none;user-select:none;z-index:var(--z-hud-panel);position:fixed;left:50%;transform:translate(-50%)}.target-frame[hidden]{display:none}.target-frame .tf-head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);display:flex}.target-frame .tf-name{font-family:var(--font-title);font-size:var(--fs-label);color:var(--gold);text-shadow:var(--shadow-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.target-frame[data-relation=hostile] .tf-name{color:var(--hostile)}.target-frame .tf-level{color:var(--text-dim);font-size:var(--fs-small);white-space:nowrap}.target-frame .tf-bar{height:var(--tf-bar-h);margin:calc(3 * var(--u)) 0 var(--sp-1);background:var(--surface-bar);box-shadow:0 0 0 1px var(--bronze-dark);border:1px solid #000;position:relative}.target-frame .tf-fill{background:linear-gradient(var(--hp-light), var(--hp) 55%, #6a1712);transition:width .12s ease-out;position:absolute;inset:0 auto 0 0}.target-frame .tf-value{text-align:center;line-height:var(--tf-bar-h);font-size:var(--fs-caption);color:var(--text-on-fill);text-shadow:var(--shadow-text-world);white-space:nowrap;position:absolute;inset:0}.target-frame .tf-foot{min-height:calc(14 * var(--u));color:var(--text-dim);font-size:var(--fs-caption);justify-content:space-between;align-items:center;display:flex}.target-frame.attacking{--tf-edge:var(--red-light)}.target-frame[data-rank=elite]{--rank:var(--rank-elite)}.target-frame[data-rank=champion]{--rank:var(--rank-champion)}.target-frame[data-rank=boss]{--rank:var(--rank-boss)}.target-frame[data-rank]{--tf-edge:color-mix(in srgb, var(--rank) 55%, #000);--tf-glint:color-mix(in srgb, var(--rank) 28%, transparent)}.target-frame[data-rank=boss]{--tf-edge:color-mix(in srgb, var(--rank) 85%, #000)}.target-frame[data-rank] .tf-type{color:var(--rank);font-weight:700}.target-frame.attacking .tf-type:after{content:" · Angriff";color:var(--hostile)}.boss-bar{top:calc(8 * var(--u));width:calc(420 * var(--u));padding:calc(5 * var(--u)) var(--sp-4) calc(4 * var(--u));background:var(--surface-panel);border:1px solid var(--ink);box-shadow:0 0 0 1px color-mix(in srgb, var(--rank-boss) 85%, #000), inset 0 1px 0 color-mix(in srgb, var(--rank-boss) 30%, transparent), 0 0 14px color-mix(in srgb, var(--rank-boss) 25%, transparent), 0 4px 12px #0009;border-radius:calc(4 * var(--u));color:var(--text);text-align:center;-webkit-user-select:none;user-select:none;z-index:var(--z-hud-panel);position:fixed;left:50%;transform:translate(-50%)}.boss-bar[hidden]{display:none}.boss-bar .bb-head{justify-content:center;align-items:baseline;gap:var(--sp-4);display:flex}.boss-bar .bb-name{font-family:var(--font-title);font-size:var(--fs-heading);color:var(--rank-boss);text-shadow:var(--shadow-text);white-space:nowrap}.boss-bar .bb-level{color:var(--text-dim);font-size:var(--fs-small)}.boss-bar .bb-bar{height:calc(16 * var(--u));margin:calc(4 * var(--u)) 0 calc(3 * var(--u));background:var(--surface-bar);box-shadow:0 0 0 1px color-mix(in srgb, var(--rank-boss) 60%, #000);border:1px solid #000;position:relative}.boss-bar .bb-fill{background:linear-gradient(var(--hp-light), var(--hp) 55%, #6a1712);transition:width .16s ease-out;position:absolute;inset:0 auto 0 0}.boss-bar .bb-value{line-height:calc(16 * var(--u));font-size:var(--fs-caption);color:var(--text-on-fill);text-shadow:var(--shadow-text-world);white-space:nowrap;position:absolute;inset:0}.boss-bar .bb-type{font-size:var(--fs-caption);color:var(--rank-boss);font-weight:700}.boss-bar.attacking .bb-type:after{content:" · Angriff";color:var(--hostile)}body.boss-bar-on .target-frame{top:calc(84 * var(--u))}.minimap{top:var(--minimap-edge);right:var(--minimap-edge);width:var(--minimap-width);padding:var(--minimap-pad);background:var(--surface-panel);border:1px solid var(--ink);box-shadow:var(--shadow-panel), 0 0 0 calc(2 * var(--u)) #8a6a3e59;border-radius:calc(4 * var(--u));-webkit-user-select:none;user-select:none;z-index:var(--z-hud-panel);position:fixed}.minimap[hidden]{display:none}.minimap .mm-head{align-items:center;gap:calc(3 * var(--u));margin-bottom:calc(3 * var(--u));display:flex}.minimap .mm-title{font-family:var(--font-title);font-size:var(--fs-small);color:var(--gold);text-shadow:var(--shadow-text);padding-left:calc(3 * var(--u));white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.minimap .mm-zoom{width:var(--mm-zoom-size);height:var(--mm-zoom-size);font-size:var(--fs-label);padding:0;font-weight:600;line-height:1}.minimap .mm-view{height:calc(132 * var(--u));box-shadow:inset 0 0 0 1px var(--bronze-dark), inset 0 0 12px #000c;background:#080706e6;border:1px solid #000;overflow:hidden}.minimap canvas{opacity:.86;width:100%;height:100%;display:block}.minimap .mm-coords{margin-top:var(--sp-1);text-align:right;font-size:var(--fs-caption);color:var(--text-dim);padding-right:calc(3 * var(--u));font-variant-numeric:tabular-nums}#inspect-window{left:calc(50% + 40 * var(--u));top:calc(var(--window-top) + var(--window-pad));width:calc(340 * var(--u))}.ins-head{margin-bottom:var(--sp-4);justify-content:space-between;align-items:baseline;display:flex}.ins-title{font:600 var(--fs-label) / var(--lh-tight) var(--font-title);letter-spacing:var(--tracking-title);color:var(--gold)}.ins-status{color:var(--warn);font-size:var(--fs-caption)}.tf-inspect{padding:0 var(--sp-3);height:calc(15 * var(--u));font-size:var(--fs-caption);align-items:center;gap:calc(3 * var(--u));line-height:1;display:inline-flex}.tf-inspect[hidden]{display:none}.tf-inspect svg{width:calc(10 * var(--u));height:calc(10 * var(--u))}.screen-fade{opacity:0;pointer-events:none;z-index:8;background:#000;transition:opacity .2s ease-out;position:fixed;inset:0}.screen-fade.out{opacity:.85;transition:opacity .22s ease-in}.screen-fade.on{animation:.38s ease-out screen-fade-in}@keyframes screen-fade-in{0%{opacity:.85}to{opacity:0}}.target-frame.no-hp .tf-bar{display:none}#npc-dialog,#quest-board{left:calc(50% - 200 * var(--u));top:var(--dialog-top);width:calc(400 * var(--u))}#quest-board .quest-board-row{gap:var(--sp-2);flex-wrap:wrap}#quest-board .quest-board-head{width:100%;color:var(--gold,#e0b860)}#quest-board .quest-board-row.done{opacity:.55}.npc-layout{grid-template-columns:var(--portrait-w) 1fr;gap:var(--sp-5);margin-bottom:var(--sp-4);align-items:start;display:grid}.npc-portrait{width:var(--portrait-w);height:var(--portrait-h);border:var(--sp-1) solid var(--bronze-light);outline:1px solid var(--ink);outline-offset:calc(-1 * var(--sp-2));border-radius:var(--radius-m);box-shadow:inset 0 0 calc(14 * var(--u)) #000000d9, 0 0 0 1px #000, 0 var(--sp-1) var(--sp-3) #0009;background:radial-gradient(at 45% 38%,#8a6a3e59 0%,#281c1433 45%,#0000 70%),linear-gradient(#2c2118 0%,#17110d 100%);position:relative;overflow:hidden}.npc-portrait[data-role=guard]{background:radial-gradient(at 45% 38%,#7a2a2059 0%,#0000 65%),linear-gradient(#241a17 0%,#120d0c 100%)}.npc-portrait img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(#000 78%,#0000 100%);mask-image:linear-gradient(#000 78%,#0000 100%)}.npc-portrait:after{content:"";inset:calc(3 * var(--u));border-radius:var(--radius-s);pointer-events:none;border:1px solid #c9a45c59;position:absolute}.npc-portrait-initial{font-family:var(--font-title);font-size:calc(44 * var(--u));color:#d8b7798c;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.npc-portrait.missing img{display:none}.npc-portrait.missing .npc-portrait-initial{display:flex}.npc-main{min-width:0}.npc-head{margin:var(--sp-1) 0 var(--sp-3);padding-bottom:var(--sp-2);border-bottom:var(--edge);flex-direction:column;gap:1px;display:flex}.npc-name{font:600 var(--fs-heading) / var(--lh-tight) var(--font-title);color:var(--gold);letter-spacing:var(--tracking-title);text-shadow:var(--shadow-text)}.npc-role{color:var(--text-dim);font-size:var(--fs-caption)}.npc-text{margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);line-height:var(--lh-read);font-size:var(--fs-small)}.npc-action{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-2);display:flex}.npc-hint{color:var(--text-dim);font-size:var(--fs-caption)}.npc-text.warn{color:var(--danger-text);border-color:var(--danger)}.npc-quest .npc-hint{color:var(--gold-bright);font-size:var(--fs-small)}.npc-quest-info{gap:var(--sp-1);font-size:var(--fs-small);color:var(--text);margin-bottom:var(--sp-2);flex-direction:column;display:flex}.npc-quest-reward{color:var(--gold-reward)}.npc-req.open{color:var(--danger-text)}#npc-dialog.travel{left:calc(50% - 250 * var(--u));width:calc(500 * var(--u))}.npc-travel .ui-button{min-width:calc(118 * var(--u))}.npc-travel-info{align-items:baseline;gap:var(--sp-1) var(--sp-3);flex-wrap:wrap;min-width:0;display:flex}.npc-travel-level{color:var(--text-dim);font-size:var(--fs-caption)}.npc-travel-level.low{color:var(--hostile)}.npc-travel-price{color:var(--gold);font-size:var(--fs-caption)}.npc-travel-price.short{color:var(--negative)}.npc-foot{justify-content:flex-end;display:flex}#settings-window{left:calc(50% - 160 * var(--u));top:var(--window-top);width:calc(320 * var(--u))}#settings-window .gw-body{max-height:calc(100vh - var(--window-top) - var(--titlebar-h) - 2 * var(--window-frame) - var(--sp-6));scrollbar-color:var(--bronze) var(--panel-deep);scrollbar-width:thin;overflow-y:auto}.set-head{margin-top:var(--sp-2);text-shadow:var(--shadow-text)}.set-head:not(:first-child){margin-top:var(--sp-5)}.set-row{grid-template-columns:calc(78 * var(--u)) 1fr calc(40 * var(--u));align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-2);display:grid}.set-value{text-align:right;color:var(--text-dim);font-variant-numeric:tabular-nums}.set-row input[type=range]{width:100%;accent-color:var(--gold-soft);cursor:pointer;margin:0}.set-check{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);cursor:pointer;display:flex}.set-check input{accent-color:var(--gold-soft);cursor:pointer;margin:0}.set-key-row{grid-template-columns:1fr calc(64 * var(--u));align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-1);display:grid}.set-key{padding:1px var(--sp-2);font-variant-numeric:tabular-nums}.set-key.waiting{color:var(--gold-soft);border-color:var(--gold-soft)}.set-hint{margin-top:var(--window-pad);color:var(--text-dim);font-size:var(--fs-caption);text-align:center}.gw.gw-ornate{padding:calc(4 * var(--u));box-shadow:0 0 0 1px #0b0806, 0 0 0 calc(3 * var(--u)) #140e08d9, 0 16px 40px #000000b3;background:linear-gradient(135deg,#c9a45c,#4a3620 22%,#8a6a3e 50%,#2a1e12 78%,#c9a45c)}.gw.gw-ornate:before,.gw.gw-ornate:after{content:"";top:calc(-5 * var(--u));bottom:calc(-5 * var(--u));width:calc(26 * var(--u));pointer-events:none;--orn:calc(2 * var(--u));--orn-len:calc(26 * var(--u));position:absolute}.gw.gw-ornate:before{left:calc(-5 * var(--u));background:linear-gradient(var(--gold), var(--gold)) left top / var(--orn) var(--orn-len) no-repeat, linear-gradient(var(--gold), var(--gold)) left top / var(--orn-len) var(--orn) no-repeat, linear-gradient(var(--gold), var(--gold)) left bottom / var(--orn) var(--orn-len) no-repeat, linear-gradient(var(--gold), var(--gold)) left bottom / var(--orn-len) var(--orn) no-repeat}.gw.gw-ornate:after{right:calc(-5 * var(--u));background:linear-gradient(var(--gold), var(--gold)) right top / var(--orn) var(--orn-len) no-repeat, linear-gradient(var(--gold), var(--gold)) right top / var(--orn-len) var(--orn) no-repeat, linear-gradient(var(--gold), var(--gold)) right bottom / var(--orn) var(--orn-len) no-repeat, linear-gradient(var(--gold), var(--gold)) right bottom / var(--orn-len) var(--orn) no-repeat}.gw.gw-ornate .gw-title{height:calc(34 * var(--u));background:linear-gradient(90deg, transparent, #d8b7792e 50%, transparent), linear-gradient(#5a1c14, var(--red) 55%, #220b07);font-size:calc(18 * var(--u));letter-spacing:.08em;text-shadow:0 1px 2px #000}.gw.gw-ornate .gw-body{background:radial-gradient(at 45% 35%,#4f8c7812,#0000 55%),radial-gradient(at 50% 0,#ffffff0a,#0000 60%),linear-gradient(#171512,#100f0d 45%,#0c0b0a)}#character-window{left:calc(50% - 440 * var(--u));top:calc(60 * var(--u));width:calc(880 * var(--u))}.cs-layout{grid-template-columns:calc(118 * var(--u)) 1fr;gap:calc(10 * var(--u));min-height:calc(520 * var(--u));display:grid}.cs-page[hidden]{display:none}.cs-nav{gap:calc(4 * var(--u));padding-right:calc(8 * var(--u));border-right:1px solid var(--bronze-dark);flex-direction:column;display:flex}.cs-tab{height:var(--tab-h);font:500 var(--fs-label) / 1 var(--font-title);color:var(--text-dim);border-radius:var(--radius-m);text-align:left;padding-left:var(--sp-5);cursor:pointer;background:linear-gradient(90deg,#ffffff08,#0000);border:1px solid #0000}.cs-tab:hover:not(:disabled){color:var(--text);border-color:var(--bronze)}.cs-tab:focus-visible{box-shadow:var(--state-focus-ring);outline:none}.cs-tab.active{color:#1a120a;background:var(--tab-active-bg);border-color:var(--gold-bright);box-shadow:0 0 calc(8 * var(--u)) #d8b77959;font-weight:700}.cs-tab:disabled{opacity:var(--state-disabled-opacity);cursor:default}.cs-status{grid-template-columns:1fr calc(250 * var(--u));gap:calc(10 * var(--u)) calc(14 * var(--u));grid-template-rows:1fr auto;height:100%;display:grid}.cs-title{text-align:center;margin-bottom:calc(6 * var(--u))}.cs-name{font:600 var(--fs-title) / 1.2 var(--font-title);color:var(--gold);text-shadow:0 1px 2px #000}.cs-class,.bs-trait,.sk-stat{font-size:var(--fs-caption);border-radius:var(--radius-m)}.cs-class{margin-top:calc(4 * var(--u));padding:var(--sp-1) var(--sp-4);color:#cfe3d8;border-radius:calc(10 * var(--u));background:#2f5a4a73;border:1px solid #6faa9273;display:inline-block}.cs-gear{grid-template-columns:calc(42 * var(--u)) 1fr calc(42 * var(--u));gap:calc(14 * var(--u))}.cs-gear .ch-slots{gap:calc(22 * var(--u))}.ch-preview.cs-stage{height:calc(360 * var(--u));border:1px solid var(--bronze-dark);box-shadow:inset 0 0 calc(30 * var(--u)) #000c;background:radial-gradient(at 50% 84%,#d8b77938,#0000 42%),radial-gradient(at 50% 40%,#4f8c781a,#0000 60%),linear-gradient(#16130f,#0b0a09)}.cs-tryon{top:calc(6 * var(--u));padding:calc(2 * var(--u)) calc(8 * var(--u));border:1px solid var(--gold-soft);border-radius:calc(3 * var(--u));color:var(--gold-soft);font-size:calc(10.5 * var(--u));white-space:nowrap;pointer-events:none;background:#0009;position:absolute;left:50%;transform:translate(-50%)}.cs-tryon.blocked{color:#e8a090;border-color:#c4523e}.cs-tryon[hidden]{display:none}.cs-devform{left:calc(4 * var(--u));right:calc(4 * var(--u));bottom:calc(4 * var(--u));padding:calc(2 * var(--u)) calc(4 * var(--u));border-radius:calc(3 * var(--u));color:#e8c8f2;font-size:calc(9.5 * var(--u));pointer-events:auto;background:#280a28b8;border:1px dashed #c48ad8;line-height:1.3;position:absolute}.cs-devform[hidden]{display:none}.cs-side{gap:calc(6 * var(--u));flex-direction:column;display:flex}.cs-emblem{width:calc(150 * var(--u));margin:0 auto calc(2 * var(--u));position:relative}.cs-emblem img{filter:drop-shadow(0 2px 4px #000000b3);width:100%;display:block}.cs-ring-level{left:var(--ring-cx);top:var(--ring-cy);font:700 calc(30 * var(--u)) / 1 var(--font-title);color:#f3dfae;text-shadow:0 0 calc(6 * var(--u)) #000000e6, 0 1px 1px #000;position:absolute;transform:translate(-50%,-50%)}.cs-social{gap:calc(3 * var(--u)) calc(10 * var(--u));padding:calc(6 * var(--u)) calc(10 * var(--u));border:1px solid var(--bronze-dark);border-radius:calc(3 * var(--u));background:#00000059;grid-template-columns:auto 1fr;margin:0;display:grid}.cs-social dt{color:var(--gold-soft)}.cs-social dd{color:var(--text-dim);text-align:right;margin:0}.cs-section{margin-top:calc(4 * var(--u));padding:calc(3 * var(--u)) 0;font:600 calc(12 * var(--u)) / 1 var(--font-title);color:var(--gold);text-align:center;background:linear-gradient(90deg,#0000,#6a24188c 25% 75%,#0000);border-top:1px solid #d8b77940;border-bottom:1px solid #d8b77940}.cs-attrs{gap:calc(2 * var(--u));flex-direction:column;display:flex}.cs-attr{padding:calc(4 * var(--u)) calc(10 * var(--u));background:linear-gradient(90deg,#ffffff0a,#0000);border-bottom:1px solid #3a2e22b3;justify-content:space-between;display:flex}.cs-attr span:first-child{color:var(--text-dim)}.cs-attr span:last-child{color:var(--text);font-weight:600}.cs-attr.attr-hp span:last-child{color:#f08a7a}.cs-attr.attr-stamina span:last-child{color:var(--stamina-light)}.cs-note{color:var(--text-dim);font-size:calc(10.5 * var(--u));text-align:center;line-height:1.4}.cs-bottom{grid-column:1/-1;grid-template-columns:1fr calc(170 * var(--u));gap:calc(10 * var(--u));align-items:center;display:grid}.cs-exp{height:calc(20 * var(--u));border:1px solid var(--bronze);border-radius:calc(3 * var(--u));background:#0b0a09;position:relative;overflow:hidden}.cs-exp-fill{background:linear-gradient(var(--exp-light), var(--exp) 60%, #3f5a1e);height:100%}.cs-exp-text{font-size:calc(11 * var(--u));color:#fff;text-shadow:0 1px 2px #000;place-items:center;display:grid;position:absolute;inset:0}.cs-prof{grid-template-columns:calc(120 * var(--u)) 1fr;gap:calc(10 * var(--u));align-items:center;display:grid}.cs-prof-name{color:var(--gold,#e8c46a);font-size:calc(12 * var(--u))}.cs-skills{gap:calc(8 * var(--u));max-height:min(calc(520 * var(--u)), calc(100vh - 150 * var(--u)));overscroll-behavior:contain;padding-right:calc(6 * var(--u));scrollbar-width:thin;scrollbar-color:var(--bronze) #00000059;flex-direction:column;display:flex;overflow-y:auto}.cs-skills>*{flex-shrink:0}.sk-row{grid-template-columns:calc(42 * var(--u)) 1fr;gap:calc(12 * var(--u));padding:calc(8 * var(--u)) calc(10 * var(--u));border:1px solid var(--bronze-dark);border-radius:calc(3 * var(--u));background:#0000004d;align-items:center;display:grid}.sk-name{font:600 calc(14 * var(--u)) / 1.2 var(--font-title);color:var(--gold)}.sk-key{margin-left:calc(10 * var(--u));font:500 calc(10.5 * var(--u)) / 1 var(--font-ui);color:var(--text-dim)}.sk-line{color:var(--text);font-size:calc(11.5 * var(--u))}.sk-row{align-items:start;transition:border-color .12s ease-out}.sk-row:hover{border-color:var(--bronze)}.sk-kind{margin-top:calc(1 * var(--u));color:var(--text-dim);font-size:calc(10 * var(--u));letter-spacing:.04em;text-transform:uppercase}.sk-level{margin-top:calc(3 * var(--u));color:var(--gold-soft);font-size:calc(10.5 * var(--u))}.sk-level-bar{height:calc(4 * var(--u));margin-top:calc(3 * var(--u));max-width:calc(260 * var(--u));border:1px solid var(--bronze-dark);border-radius:calc(2 * var(--u));background:#00000073;overflow:hidden}.sk-level-fill{background:linear-gradient(90deg, var(--bronze), var(--gold));height:100%}.sk-desc{margin-top:calc(4 * var(--u));color:var(--text);font-size:calc(11.5 * var(--u));line-height:1.35}.sk-stats{gap:calc(5 * var(--u));margin-top:calc(6 * var(--u));flex-wrap:wrap;display:flex}.sk-stat{gap:calc(5 * var(--u));padding:var(--sp-1) var(--sp-3);border:1px solid var(--bronze-dark);background:#00000059;display:flex}.sk-stat span{color:var(--text-dim)}.sk-stat b{color:var(--gold-soft);font-weight:600}.sk-hint{text-align:left}.sk-section{margin-top:calc(6 * var(--u));padding-bottom:calc(2 * var(--u));font:600 calc(12 * var(--u)) / 1.2 var(--font-title);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-soft);border-bottom:1px solid var(--bronze-dark)}.sk-row.assignable{cursor:grab}.sk-row.picked{border-color:var(--gold-bright);box-shadow:0 0 calc(6 * var(--u)) #ffdd8c8c}.sk-row.picked .sk-key{color:var(--gold-bright)}.sk-row.locked .sk-icon,.sk-row.locked .sk-desc,.sk-row.locked .sk-stats{filter:grayscale();opacity:.5}.sk-row.locked .sk-name{color:var(--text-dim)}.cs-bestiary{grid-template-columns:calc(210 * var(--u)) 1fr;gap:calc(12 * var(--u));height:calc(520 * var(--u));display:grid}.bs-list{gap:calc(2 * var(--u));padding-right:calc(4 * var(--u));flex-direction:column;display:flex;overflow-y:auto}.bs-group{margin-top:calc(6 * var(--u));padding:calc(3 * var(--u)) calc(6 * var(--u));font:600 calc(11 * var(--u)) / 1 var(--font-title);color:var(--gold-soft);border-bottom:1px solid var(--bronze-dark)}.bs-row{padding:calc(5 * var(--u)) calc(8 * var(--u));font:calc(12 * var(--u)) / 1.2 var(--font-ui);color:var(--text);border-radius:calc(3 * var(--u));cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;justify-content:space-between;display:flex}.bs-row:hover{border-color:var(--bronze-dark)}.bs-row.selected{border-color:var(--gold);background:#d8b7791a}.bs-lv{color:var(--text-dim)}.bs-count{padding:calc(2 * var(--u)) calc(6 * var(--u));font-size:calc(11 * var(--u));color:var(--text-dim)}.bs-row.locked .bs-name{color:var(--text-dim);letter-spacing:.15em}.bs-portrait.locked{filter:brightness(0)drop-shadow(0 0 2px #d8b77973);opacity:.75}.rank-elite{color:#9fd8ff}.rank-champion{color:#d8a8ff}.rank-boss{color:#ffc45a;font-weight:700}.bs-detail{padding:calc(4 * var(--u)) calc(12 * var(--u));border:1px solid var(--bronze-dark);border-radius:calc(3 * var(--u));background:#00000040;overflow-y:auto}.bs-head{justify-content:space-between;align-items:baseline;display:flex}.bs-title{font:600 var(--fs-title) / 1.3 var(--font-title);color:var(--gold)}.bs-stars{color:#f0c860;font-size:calc(15 * var(--u));letter-spacing:.1em}.bs-sub,.bs-role{color:var(--text-dim);font-size:calc(11 * var(--u))}.bs-role{margin-top:calc(4 * var(--u));color:#cfe3d8}.bs-lore{margin:calc(6 * var(--u)) 0;font-style:italic;line-height:1.45}.bs-section{margin:calc(8 * var(--u)) 0 calc(4 * var(--u));font:600 calc(12 * var(--u)) / 1 var(--font-title);color:var(--gold-soft);border-bottom:1px solid var(--bronze-dark);padding-bottom:calc(3 * var(--u))}.bs-stats{gap:calc(2 * var(--u)) calc(10 * var(--u));grid-template-columns:auto 1fr auto 1fr;margin:0;display:grid}.bs-stats dt{color:var(--text-dim)}.bs-stats dd{margin:0}.bs-traits{gap:calc(4 * var(--u));margin-top:calc(6 * var(--u));flex-wrap:wrap;display:flex}.bs-trait{padding:var(--sp-1) var(--sp-4);color:#cfe3d8;border-radius:calc(10 * var(--u));background:#2f5a4a59;border:1px solid #6faa9259}.bs-drops{gap:calc(3 * var(--u)) calc(10 * var(--u));grid-template-columns:1fr 1fr;display:grid}.bs-drop{grid-template-columns:calc(22 * var(--u)) 1fr auto;gap:calc(6 * var(--u));align-items:center;display:grid}.bs-drop-icon svg{width:calc(22 * var(--u));height:calc(22 * var(--u));display:block}.bs-drop-rarity{font-size:calc(10 * var(--u));color:var(--text-dim)}.rarity-rare .bs-drop-rarity{color:var(--q-unique)}.rarity-veryRare .bs-drop-rarity{color:var(--q-elite)}.rarity-guaranteed .bs-drop-rarity{color:var(--q-super)}.bs-variants{color:var(--text)}.bs-intro{grid-template-columns:calc(120 * var(--u)) 1fr;gap:calc(12 * var(--u));align-items:center;display:grid}.bs-portrait{width:calc(120 * var(--u));height:calc(110 * var(--u));object-fit:contain;filter:drop-shadow(0 3px 4px #000000b3);background:radial-gradient(at 50% 85%,#d8b7792e,#0000 60%)}.bs-drop-kind{margin:calc(6 * var(--u)) 0 calc(2 * var(--u));font-size:calc(10 * var(--u));letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.bs-drop.clickable{cursor:pointer;border-radius:calc(4 * var(--u))}.bs-drop.clickable:hover{background:#c9a45c1f}#chat{left:max(calc(12 * var(--u)), calc(50% - 590 * var(--u) + 190 * var(--u)));bottom:calc(136 * var(--u));width:calc(430 * var(--u));gap:calc(3 * var(--u));pointer-events:none;z-index:var(--z-hud-panel);flex-direction:column;display:flex;position:fixed}.chat-log{max-height:calc(var(--chat-lines,9) * 17 * var(--u));padding:calc(3 * var(--u)) var(--sp-3);border-left:calc(2 * var(--u)) solid transparent;scrollbar-width:thin;scrollbar-color:var(--bronze) transparent;flex-direction:column;align-items:flex-start;display:flex;overflow:hidden}#chat.focused .chat-log{pointer-events:auto;border:1px solid var(--bronze-dark);border-left:calc(2 * var(--u)) solid var(--bronze);border-radius:0 var(--radius-m) var(--radius-m) 0;box-shadow:0 0 0 1px var(--ink);background:linear-gradient(#100c08db,#0c0906cc);overflow-y:auto}.chat-line{box-sizing:border-box;max-width:100%;margin-left:calc(-1 * var(--sp-3));padding:0 var(--sp-7) 0 var(--sp-3);font:500 var(--fs-label) / calc(17 * var(--u)) var(--font-ui);color:var(--text);background:var(--overlay-fade-right);text-shadow:var(--shadow-text-world);overflow-wrap:anywhere;flex:none;transition:opacity .3s linear}#chat.focused .chat-line{background:0 0}.chat-speaker{color:var(--chat-speaker);font-weight:700}.chat-whisperIn,.chat-whisperIn .chat-speaker{color:var(--chat-whisper-in)}.chat-whisperOut,.chat-whisperOut .chat-speaker{color:var(--chat-whisper-out)}.chat-guild,.chat-guild .chat-speaker{color:var(--chat-guild)}.chat-friend,.chat-friend .chat-speaker{color:var(--chat-friend)}.chat-team,.chat-team .chat-speaker{color:var(--chat-team)}.chat-world,.chat-world .chat-speaker{color:var(--chat-world)}.chat-time{color:var(--text-dim);opacity:.75;font-size:.86em;font-weight:400}#chat.focused .chat-name{cursor:pointer}#chat.focused .chat-name:hover{filter:brightness(1.25);text-decoration:underline}.chat-tabs{gap:calc(2 * var(--u));align-items:stretch;display:none}#chat.focused .chat-tabs{pointer-events:auto;display:flex}.chat-tab,.chat-size{padding:calc(1 * var(--u)) var(--sp-3);font:600 calc(var(--fs-label) * .9) / 1.3 var(--font-ui);color:var(--text-dim);border:1px solid var(--bronze-dark);border-radius:var(--radius-m) var(--radius-m) 0 0;cursor:pointer;background:linear-gradient(#3a2818eb,#1c130beb)}.chat-tab:hover,.chat-size:hover{color:var(--text);border-color:var(--bronze)}.chat-tab.active{color:var(--gold);border-color:var(--bronze);box-shadow:inset 0 -2px 0 var(--gold)}.chat-size{margin-left:auto}.chat-system{color:var(--info)}.chat-loot{color:var(--q-normal)}.chat-lootRefined{color:var(--q-refined)}.chat-lootUnique{color:var(--q-unique)}.chat-lootElite{color:var(--q-elite);font-weight:600}.chat-lootSuper{color:var(--q-super);font-weight:700}.chat-star{color:var(--q-super);text-shadow:0 0 6px color-mix(in srgb, var(--q-super) 55%, transparent);font-weight:700}.chat-lootUpgrade{color:var(--upgrade);font-weight:600}.chat-lootLegendary{color:var(--legendary);text-shadow:0 0 6px #ff6a3d8c;font-weight:700}.chat-level{color:var(--gold);font-weight:700}.chat-error{color:var(--danger-text)}.chat-count{color:var(--text-dim)}.chat-line.fresh{animation:.35s ease-out chat-fresh}@keyframes chat-fresh{0%{filter:brightness(1.6)}}.chat-input{pointer-events:auto;box-sizing:border-box;width:100%;padding:var(--sp-2) var(--sp-4);font:500 var(--fs-label) / 1.3 var(--font-ui);color:var(--text);border:var(--edge-strong);border-radius:var(--radius-m);box-shadow:0 0 0 1px var(--ink), 0 2px 8px #00000080;background:#0c0906db;outline:none}.chat-input:focus{border-color:var(--state-active-edge)}.chat-input::placeholder{color:var(--text-dim)}.chat-input[hidden]{display:none}#login-screen{z-index:var(--z-modal);background:radial-gradient(at 50% 40%,#2b2119d1,#0b0806f5 70%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#login-screen[hidden]{display:none}.login-panel{width:calc(360 * var(--u));padding:var(--sp-6) var(--sp-7) var(--sp-6);background:var(--surface-window);border:2px solid var(--bronze);border-radius:var(--radius-window);box-shadow:var(--shadow-window), inset 0 0 0 1px var(--bronze-dark)}.login-panel.wide{width:calc(640 * var(--u))}.login-select{grid-template-columns:1fr calc(300 * var(--u));gap:var(--sp-5);align-items:stretch;display:grid}.login-side{flex-direction:column;min-width:0;display:flex}.login-side .login-characters{flex:1;max-height:none}.login-stage{height:calc(400 * var(--u));border:1px solid var(--bronze);border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--bronze-dark), inset 0 0 calc(40 * var(--u)) #0009;background:radial-gradient(at 50% 82%,#8a6a3e4d,#0000 62%),linear-gradient(#161412,#0c0b0a);position:relative;overflow:hidden}.login-stage canvas{width:100%!important;height:100%!important}.login-caption{top:var(--sp-4);text-align:center;pointer-events:none;position:absolute;left:0;right:0}.lcap-name{font:600 var(--fs-title) / var(--lh-tight) var(--font-title);letter-spacing:var(--tracking-title);color:var(--gold-bright);text-shadow:var(--shadow-text)}.lcap-sub{margin-top:var(--sp-1);font-size:var(--fs-small);color:var(--text-dim);text-shadow:var(--shadow-text)}.login-new{width:100%;display:block}.login-side .login-play{margin:var(--sp-4) 0 var(--sp-3)}.login-classes{gap:var(--sp-2);flex-direction:column;display:flex}.login-class-card{padding:var(--sp-3) var(--sp-4);font:var(--fs-small) / 1.3 var(--font-ui);color:var(--text);text-align:left;background:var(--surface-row);border:1px solid var(--bronze-dark);border-radius:var(--radius-m);cursor:pointer;transition:border-color var(--dur-fast);display:block}.login-class-card:hover:not(:disabled){border-color:var(--state-hover-edge)}.login-class-card.selected{background:var(--surface-row-selected);border-color:var(--state-active-edge);box-shadow:var(--state-focus-ring)}.login-class-card.locked{cursor:default;opacity:.5}.lcc-name{font:600 var(--fs-label) / 1.2 var(--font-title);color:var(--gold-bright);justify-content:space-between;align-items:center;display:flex}.lcc-soon{padding:0 var(--sp-2);font:600 var(--fs-caption) / 1.6 var(--font-ui);color:var(--text-dim);border:var(--edge);border-radius:var(--radius-m)}.lcc-role{margin:2px 0 var(--sp-1);color:var(--gold-soft)}.lcc-line{gap:var(--sp-2);color:var(--text-dim);display:flex}.lcc-mark{flex:none;width:1em;font-weight:700}.lcc-plus .lcc-mark{color:var(--positive)}.lcc-minus .lcc-mark{color:var(--danger-text)}.login-class-card.locked .lcc-line{display:none}.login-panel.wide .login-create{margin-top:var(--sp-5)}.login-title{margin:0 0 var(--sp-6);text-align:center;font:600 var(--fs-display) / var(--lh-tight) var(--font-title);letter-spacing:var(--tracking-title);color:var(--gold);text-shadow:var(--shadow-text), var(--glow-gold)}.login-form,.login-create{align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.login-label{gap:var(--sp-2);font:600 var(--fs-label) / 1 var(--font-title);color:var(--gold-soft);flex-direction:column;flex:1;display:flex}.login-input,.login-class{box-sizing:border-box;height:var(--button-h);padding:0 var(--sp-3);font:var(--fs-body) / 1 var(--font-ui);color:var(--text);background:var(--surface-field);border:var(--edge-strong);border-radius:var(--radius-m);box-shadow:var(--shadow-inset);outline:none}.login-input:focus,.login-class:focus{border-color:var(--state-active-edge);box-shadow:var(--shadow-inset), var(--state-focus-ring)}.login-input:disabled,.login-class:disabled{opacity:var(--state-disabled-opacity)}.login-form .ui-button,.login-create .ui-button{height:var(--button-h)}.login-label .login-input{width:100%}.login-form .login-label{flex-basis:100%}.login-form .ui-button{margin-left:auto}.login-create .login-input{flex:1;min-width:0}.login-hint,.login-empty{margin-top:var(--sp-4);font-size:var(--fs-caption);color:var(--text-dim)}.login-guest{margin:var(--sp-5) auto 0;display:block}.login-account{margin-bottom:var(--sp-4);font:600 var(--fs-label) / 1 var(--font-title);color:var(--gold-soft);justify-content:space-between;align-items:center;display:flex}.login-characters{gap:var(--sp-2);max-height:calc(220 * var(--u));padding:var(--sp-2);background:var(--surface-field);border:var(--edge);border-radius:var(--radius-m);flex-direction:column;display:flex;overflow-y:auto}.login-character{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);font:var(--fs-body) / 1 var(--font-ui);color:var(--text);text-align:left;background:var(--surface-row);border-radius:var(--radius-m);cursor:pointer;transition:border-color var(--dur-fast);border:1px solid #0000;grid-template-columns:1fr auto auto;display:grid}.login-character:hover:not(:disabled){border-color:var(--state-hover-edge)}.login-character.selected{background:var(--surface-row-selected);border-color:var(--state-active-edge)}.login-character:disabled{cursor:default;opacity:var(--state-disabled-opacity)}.lc-name{font:600 var(--fs-label) / 1 var(--font-title);color:var(--gold-bright)}.lc-class{color:var(--text-dim);font-size:var(--fs-small)}.lc-level{min-width:calc(40 * var(--u));text-align:right;color:var(--text)}.login-play{width:100%;height:calc(32 * var(--u));margin:var(--sp-4) 0 var(--sp-6);font:600 var(--fs-label) / 1 var(--font-title);letter-spacing:var(--tracking-caps);display:block}.login-sub{font:600 var(--fs-small) / 1 var(--font-title);color:var(--gold-soft);flex-basis:100%}.login-status{min-height:calc(16 * var(--u));margin-top:var(--sp-5);text-align:center;font-size:var(--fs-small);color:var(--text-dim)}.login-status.error{color:var(--danger-text)}
