:root{--ui-bg: #090D12;--ui-surface: #0E141C;--ui-surface-raised: #131B25;--ui-hover: #192331;--ui-veil: rgba(9, 13, 18, .85);--ui-veil-strong: rgba(14, 20, 28, .975);--ui-sunken: #070A0E;--ui-border: rgba(255, 255, 255, .07);--ui-border-strong: rgba(255, 255, 255, .14);--ui-focus: #3B82F6;--ui-primary: #3B82F6;--ui-primary-strong: #2563EB;--ui-primary-soft: rgba(59, 130, 246, .1);--ui-primary-soft-2: rgba(59, 130, 246, .18);--ui-accent-2: #38BDF8;--ui-text: #F8FAFC;--ui-text-muted: #94A3B8;--ui-text-faint: #64748B;--ui-hp: #EF4444;--ui-hp-lag: rgba(252, 165, 165, .6);--ui-mp: #3B82F6;--ui-mp-lag: rgba(147, 197, 253, .55);--ui-fp: #22C55E;--ui-fp-lag: rgba(134, 239, 172, .55);--ui-exp: #8B5CF6;--ui-cast: #38BDF8;--ui-good: #4ADE80;--ui-bad: #F87171;--ui-warn: #FBBF24;--ui-rare: #A78BFA;--ui-coin: #FBBF24;--plate-player: #38BDF8;--plate-npc: #FBBF24;--plate-monster: #F8FAFC;--plate-monster-aggro: #ff3b3b;--plate-loot: #4ADE80;--plate-target: #FFFFFF;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--hud-edge: 12px;--map-size: clamp(170px, 12vw, 220px);--shadow-panel: 0 8px 24px rgba(0, 0, 0, .2);--shadow-popup: 0 16px 40px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .04);--font-ui: -apple-system, "SF Pro Text", "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-xs: 10px;--text-sm: 11px;--text-md: 13px;--text-lg: 15px;--motion-fast: .1s;--motion: .16s;--motion-slow: .22s;--ease: cubic-bezier(.2, .6, .2, 1);--ui-scale: 1}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--ui-bg);color:var(--ui-text);font-family:var(--font-ui);font-size:var(--text-md);overflow:hidden;user-select:none;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}input{font-family:var(--font-ui)}#app{position:relative;width:100%;height:100%;overflow:hidden}#viewport{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#world-layer{position:absolute;inset:0;z-index:1;pointer-events:none}#game-ui{position:absolute;left:0;top:0;pointer-events:none;z-index:2;zoom:var(--ui-scale);width:100%;height:100%}#hud-layer,#window-layer,#drag-layer,#tooltip-layer,#notification-layer,#modal-layer{position:absolute;inset:0;pointer-events:none}#hud-layer{z-index:1}#window-layer{z-index:2}#notification-layer{z-index:3}#drag-layer{z-index:4}#tooltip-layer{z-index:5}#modal-layer{z-index:6}#game-ui .window,#game-ui .hud-panel,#game-ui .ctx-menu,#game-ui .modal-scrim,#game-ui .rail-button,#game-ui .map-button{pointer-events:auto}#world-layer .nameplates{pointer-events:none}.hidden{display:none!important}.ui-title{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text)}.ui-section-title{font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted)}.ui-body{font-size:var(--text-md);color:var(--ui-text)}.ui-small{font-size:var(--text-sm);color:var(--ui-text)}.ui-value{font-size:var(--text-md);font-weight:600;color:var(--ui-text);font-variant-numeric:tabular-nums}.ui-muted{font-size:var(--text-sm);color:var(--ui-text-muted)}.ui-tooltip-title{font-size:var(--text-md);font-weight:600;color:var(--ui-text)}.ui-tooltip-stat{font-size:var(--text-sm);color:var(--ui-good)}#loading{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:var(--ui-bg)}#loading.hidden{display:none!important}.loading-inner{text-align:center}.loading-inner:before{content:"";display:block;width:22px;height:22px;margin:0 auto var(--space-4);border:2px solid rgba(255,255,255,.1);border-top-color:var(--ui-primary);border-radius:var(--radius-full);animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-inner:before{animation:none}}.loading-inner .what{font-size:var(--text-md);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text)}.loading-inner .detail{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ui-text-muted)}#perf{position:absolute;right:12px;bottom:12px;z-index:9;max-width:620px;padding:8px 10px;background:#070a0ee0;border:1px solid var(--ui-border);border-radius:var(--radius-sm);color:var(--ui-text-muted);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;white-space:pre;pointer-events:none}.window{position:absolute;min-width:120px;background:var(--ui-veil-strong);border:1px solid var(--ui-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);color:var(--ui-text);overflow:hidden}.window.focused,.window.dragging{border-color:var(--ui-border-strong)}.window.dragging{box-shadow:var(--shadow-popup)}.window.hidden{display:none}.titlebar{position:relative;height:40px;display:flex;align-items:center;justify-content:flex-start;padding:0 var(--space-4);border-bottom:1px solid var(--ui-border);cursor:grab;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text)}.titlebar.dragging{cursor:grabbing}.titlebar:empty{display:none}.titlebar .close{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);width:28px;height:28px;display:grid;place-items:center;padding:0;background:none;border:0;border-radius:var(--radius-sm);color:var(--ui-text-muted);font-size:14px;line-height:1;letter-spacing:0;text-transform:none;cursor:pointer;transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.titlebar .close:hover{background:var(--ui-hover);color:var(--ui-text)}.titlebar .close:active{background:var(--ui-surface)}.window-body{position:relative;z-index:1;padding:0}.tabs{position:relative;z-index:2;display:flex;gap:var(--space-1);padding:0 var(--space-2);border-bottom:1px solid var(--ui-border)}.tab{height:32px;min-width:74px;padding:0 var(--space-3);background:none;border:0;border-bottom:2px solid transparent;color:var(--ui-text-muted);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:color var(--motion-fast) var(--ease)}.tab:hover{color:var(--ui-text)}.tab.active{color:var(--ui-text);border-bottom-color:var(--ui-primary)}.tab.compact{min-width:46px;padding:0 var(--space-2)}.win-section{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 var(--space-2);font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted)}.win-section:after{content:"";flex:1;height:1px;background:var(--ui-border)}.win-footer{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#0000002e;border-top:1px solid var(--ui-border)}.modal-scrim{position:absolute;inset:0;display:grid;place-items:center;background:#090d1299}.modal-scrim.hidden{display:none}.modal-scrim .window{position:relative;left:auto;top:auto;transform:none;width:380px;box-shadow:var(--shadow-popup)}.modal-text{padding:var(--space-4);font-size:var(--text-md);line-height:1.5;color:var(--ui-text)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:0 var(--space-4) var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 var(--space-4);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-md);color:var(--ui-text);font-size:var(--text-md);font-weight:500;cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.btn:hover{background:var(--ui-hover);border-color:var(--ui-border-strong)}.btn:active{background:var(--ui-surface)}.btn:disabled{opacity:.45;cursor:default}.btn.gold{background:var(--ui-primary);border-color:transparent;color:var(--ui-text)}.btn.gold:hover{background:var(--ui-primary-strong);border-color:transparent}.btn.gold:active{background:var(--ui-primary-strong)}.btn.danger{color:var(--ui-bad)}.btn.danger:hover{border-color:var(--ui-bad);background:var(--ui-surface-raised)}.btn.small{min-height:26px;padding:0 var(--space-3);font-size:var(--text-sm)}.rail-button,.map-button{width:32px;height:32px;display:grid;place-items:center;padding:0;background:var(--ui-veil);border:1px solid var(--ui-border-strong);border-radius:var(--radius-full);color:var(--ui-text-muted);cursor:pointer;transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.rail-button:hover,.map-button:hover{background:var(--ui-hover);color:var(--ui-text)}.rail-button:active,.map-button:active{background:var(--ui-surface)}.rail-button svg,.map-button svg{width:17px;height:17px;fill:currentColor}.islot{position:relative;width:52px;height:52px;display:grid;place-items:center;background:var(--ui-sunken);border:1px solid var(--ui-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease)}.islot.empty{cursor:default}.islot:hover{border-color:var(--ui-border-strong)}.islot:not(.empty):hover{border-color:var(--ui-border-strong);background:var(--ui-hover)}.islot.selected{border-color:var(--ui-primary)}.islot.locked{background:repeating-linear-gradient(45deg,var(--ui-sunken) 0 6px,rgba(255,255,255,.03) 6px 12px);cursor:not-allowed}.islot.locked:hover{border-color:var(--ui-border)}.islot .icon-img,.islot .icon-wrap{width:44px;height:44px;object-fit:contain;image-rendering:auto;pointer-events:none}.icon-img{display:block;width:100%;height:100%;object-fit:contain}.icon-fallback{font-size:15px;font-weight:600;color:var(--ui-text-faint)}.islot-count{position:absolute;right:3px;bottom:2px;font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ui-text);text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.islot-refine{position:absolute;left:3px;top:2px;font-size:var(--text-xs);font-weight:600;color:var(--ui-warn);text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.islot-worn{position:absolute;left:3px;bottom:2px;font-size:var(--text-xs);font-weight:600;color:var(--ui-accent-2);text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.islot.worn{border-color:#38bdf873}.slot-glyph{width:26px;height:26px;color:#ffffff1f;pointer-events:none}.islot:hover .slot-glyph{color:#ffffff38}.islot.dragging{opacity:.32}.islot.valid-target{border-color:var(--ui-primary);background:var(--ui-primary-soft)}.islot.invalid-target{opacity:.38}.islot.valid-target.drop-hover{border-color:var(--ui-primary);background:var(--ui-primary-soft-2)}.islot.invalid-target.drop-hover{border-color:var(--ui-bad);opacity:.6}.drag-ghost{position:fixed;z-index:1;width:52px;height:52px;margin:-26px 0 0 -26px;opacity:.9;border-color:var(--ui-primary);box-shadow:var(--shadow-popup);pointer-events:none}.islot .cd{position:absolute;inset:0;border-radius:inherit;background:conic-gradient(rgba(9,13,18,.75) var(--cd, 0%),rgba(0,0,0,0) 0);pointer-events:none}.islot.disabled .icon-img,.islot.disabled .icon-wrap{filter:grayscale(.85) brightness(.55)}.islot.no-resource:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#3b82f629;pointer-events:none}.islot.out-of-range:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#ef444429;pointer-events:none}.rpgbar{position:relative;height:12px;min-width:40px}.bar-track{position:absolute;inset:0;overflow:hidden;background:var(--ui-sunken);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-full)}.bar-lag,.bar-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:inherit}.bar-lag{transition:width var(--motion-slow) var(--ease) .12s}.bar-fill{transition:width var(--motion) var(--ease)}.bar-gloss{display:none}.rpgbar.hp .bar-fill{background:var(--ui-hp)}.rpgbar.hp .bar-lag{background:var(--ui-hp-lag)}.rpgbar.mp .bar-fill{background:var(--ui-mp)}.rpgbar.mp .bar-lag{background:var(--ui-mp-lag)}.rpgbar.fp .bar-fill{background:var(--ui-fp)}.rpgbar.fp .bar-lag{background:var(--ui-fp-lag)}.rpgbar.exp .bar-fill{background:var(--ui-exp)}.rpgbar.exp .bar-lag{background:var(--ui-mp-lag)}.rpgbar.cast .bar-fill{background:var(--ui-cast)}.rpgbar.cast .bar-lag{background:var(--ui-mp-lag)}.rpgbar>b,.rpgbar>em{position:absolute;top:50%;transform:translateY(-50%);z-index:2;font-style:normal;white-space:nowrap;line-height:1;font-size:var(--text-xs);color:var(--ui-text-muted)}.rpgbar>em{left:var(--space-2);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.rpgbar>b{right:var(--space-2);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ui-text)}.rpgbar>em:empty,.rpgbar>b:empty{display:none}.rpgbar.mirror .bar-lag,.rpgbar.mirror .bar-fill{left:auto;right:0}.rpgbar.mirror>em{left:auto;right:var(--space-2)}.rpgbar.mirror>b{right:auto;left:var(--space-2)}.rpgbar.big{height:14px}.rpgbar.slim{height:7px}.rpgbar.thin{height:5px}.rpgbar.slim>em,.rpgbar.slim>b,.rpgbar.thin>em,.rpgbar.thin>b{display:none}.rpgbar.hair{height:3px;overflow:visible}.rpgbar.hair>em{display:none}.rpgbar.hair>b{display:block;top:calc(100% + 3px);right:0;transform:none;font-size:var(--text-xs);color:var(--ui-text-faint)}.rpgbar.low .bar-fill{animation:bar-critical 1.15s ease-in-out infinite}@keyframes bar-critical{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.rpgbar.low .bar-fill{animation:none}.bar-lag,.bar-fill{transition:none}}.castbar{display:flex;align-items:center;gap:var(--space-2)}.castbar.hidden{display:none}.castbar .cast-icon{width:30px;height:30px;display:grid;place-items:center;background:var(--ui-sunken);border:1px solid var(--ui-border);border-radius:var(--radius-sm)}.castbar .cast-icon .icon-img,.castbar .cast-icon .icon-wrap{width:26px;height:26px}.castbar .rpgbar{flex:1}.castbar .cast-name{position:relative;z-index:2;font-size:var(--text-sm);font-weight:600;color:var(--ui-text)}.castbar .cast-time{min-width:56px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ui-text-muted);text-align:right}.buff-row{display:flex;gap:var(--space-1)}.status-icon{position:relative;width:26px;height:26px;display:grid;place-items:center;background:var(--ui-surface-raised);border:1px solid var(--ui-good);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--ui-text)}.status-icon.debuff{border-color:var(--ui-bad)}.status-stacks{position:absolute;right:1px;bottom:0;font-size:var(--text-xs);font-weight:600;color:var(--ui-text);text-shadow:0 1px 2px rgba(0,0,0,.8)}.status-time{position:absolute;left:0;right:0;bottom:-12px;text-align:center;font-size:var(--text-xs);color:var(--ui-text-muted)}.portrait-mount{position:relative;flex:none;width:52px;height:60px;overflow:visible}.portrait-frame{position:relative;width:100%;height:100%;border-radius:var(--radius-md);overflow:hidden}.portrait-frame:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--ui-border-strong),inset 0 0 0 1px var(--ui-bg),0 0 0 999px var(--ui-bg);pointer-events:none}.portrait{position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit;display:grid;place-items:center;background:var(--ui-sunken)}.portrait.live{background:none}.portrait.live .initial,.portrait.live .portrait-render{display:none}.portrait img,.portrait .portrait-render{width:100%;height:100%;object-fit:cover}.portrait .initial{font-size:18px;font-weight:600;color:var(--ui-text-faint)}.portrait-mount.hostile .portrait-frame:after{box-shadow:inset 0 0 0 1px var(--ui-bad),inset 0 0 0 1px var(--ui-bg),0 0 0 999px var(--ui-bg)}.portrait-mount.faded{opacity:.45;filter:grayscale(.7)}.portrait-mount .badge{position:absolute;z-index:2;min-width:22px;height:18px;padding:0 5px;display:grid;place-items:center;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ui-text)}.portrait-mount .badge.lv{left:-6px;bottom:-6px}.portrait-mount .badge.mark{right:-6px;top:-6px;min-width:18px;padding:0 3px;color:var(--ui-text-muted)}.portrait-mount .badge svg{width:11px;height:11px;fill:currentColor}.portrait-mount:not(.hostile) .badge.rank{display:none}.portrait-mount .badge.rank{left:50%;bottom:-8px;transform:translate(-50%);min-width:18px;height:16px;padding:0 2px;border-color:var(--ui-bad);color:var(--ui-bad)}.name-plate{position:absolute;left:50%;top:calc(100% - 6px);transform:translate(-50%);min-width:calc(100% + 16px);max-width:calc(100% + 54px);padding:2px 10px 3px;display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--ui-veil);border:1px solid var(--ui-border);border-radius:var(--radius-sm);pointer-events:none}.name-plate .pname{font-size:var(--text-sm);font-weight:600;line-height:1.2;white-space:nowrap;color:var(--ui-text)}.name-plate .plv{font-size:var(--text-xs);line-height:1.2;color:var(--ui-text-muted)}.conn-dot{position:absolute;right:-5px;bottom:-5px;z-index:3;width:9px;height:9px;border-radius:var(--radius-full);background:var(--ui-good);border:1px solid var(--ui-bg);pointer-events:auto}.conn-dot.bad{background:var(--ui-bad)}.tooltip{position:fixed;z-index:1;min-width:200px;max-width:280px;padding:var(--space-3);background:var(--ui-surface-raised);border:1px solid var(--ui-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popup);color:var(--ui-text);font-size:var(--text-sm);line-height:1.5;pointer-events:none;animation:tip-in var(--motion-fast) var(--ease)}@keyframes tip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.tooltip{animation:none}}.tooltip h3{margin:0 0 var(--space-2);font-size:var(--text-md);font-weight:600;color:var(--ui-text)}.tooltip h3.rare{color:var(--ui-accent-2)}.tooltip h3.unique{color:var(--ui-rare)}.tooltip h3.legendary{color:var(--ui-warn)}.tooltip p{margin:2px 0;color:var(--ui-text)}.tooltip .tip-kind{display:flex;justify-content:space-between;gap:var(--space-3);margin:0 0 6px;color:var(--ui-text-muted)}.tooltip .tip-row{display:flex;justify-content:space-between;gap:var(--space-3)}.tooltip .tip-row .k{color:var(--ui-text-muted)}.tooltip .tip-row .v{color:var(--ui-text);font-weight:600;font-variant-numeric:tabular-nums}.tooltip .tip-row.req .k,.tooltip .tip-row.req .v{color:var(--ui-bad)}.tooltip .tip-row .v .req-detail{margin-left:var(--space-2);font-weight:400;color:var(--ui-text-muted)}.tooltip .tip-row .v .req-mark{margin-left:var(--space-2);font-weight:700}.tooltip .tip-row .v .req-mark.ok{color:var(--ui-good)}.tooltip .tip-row .v .req-mark.no{color:var(--ui-bad)}.tooltip .tip-stats{margin:var(--space-2) 0 0}.tooltip .tip-stat{display:flex;gap:6px;color:var(--ui-good)}.tooltip .tip-stat .v{order:-1;font-weight:600}.tooltip .tip-stat.down{color:var(--ui-bad)}.tooltip .price{margin-top:var(--space-2);color:var(--ui-coin)}.tooltip .muted,.tooltip .flavour{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--ui-border);color:var(--ui-text-muted);font-style:italic}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#fff3}::-webkit-scrollbar-corner{background:transparent}#notification-layer .notice{position:absolute;left:50%;top:27%;transform:translate(-50%);width:min(720px,62vw);display:flex;flex-direction:column;align-items:center;text-align:center}#notification-layer .notice.hidden{display:none}.notice-rule{width:64px;height:2px;margin:0 auto;border-radius:var(--radius-full);background:#ffffff29}.notice-rule i{display:none}.notice-text{margin:var(--space-3) 0;font-size:28px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-text);text-shadow:0 1px 2px rgba(0,0,0,.8)}.notice-detail{margin:0 0 var(--space-3);font-size:var(--text-lg);color:var(--ui-text-muted);text-shadow:0 1px 2px rgba(0,0,0,.8)}.notice.level-up .notice-text{order:2;font-size:40px}.notice.level-up .notice-detail{order:1;margin:var(--space-3) 0 2px;font-size:var(--text-lg);color:var(--ui-text)}.notice.level-up .notice-rule{background:var(--ui-exp)}.notice.level-up .notice-rule:first-child{order:0}.notice.level-up .notice-rule:last-child{order:3}.notice.good .notice-text{color:var(--ui-good)}.notice.bad .notice-text{color:var(--ui-bad)}.notice.item .notice-text{color:var(--ui-rare)}#notification-layer .notice{animation:notice-in .26s var(--ease)}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}#toast-stack{position:absolute;left:50%;bottom:300px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.toast{padding:6px var(--space-3);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-left:2px solid var(--ui-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-popup);color:var(--ui-text);font-size:var(--text-md);animation:toast-in .18s var(--ease)}.toast.good{border-left-color:var(--ui-good)}.toast.bad{border-left-color:var(--ui-bad)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#notification-layer .notice,.toast{animation:none}}.ctx-menu{position:absolute;z-index:1;min-width:168px;padding:var(--space-1) 0;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-md);box-shadow:var(--shadow-popup);overflow:hidden}.ctx-menu.hidden{display:none}.ctx-title{padding:6px var(--space-3);margin-bottom:3px;border-bottom:1px solid var(--ui-border);font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx-item{display:flex;align-items:center;width:100%;height:32px;padding:0 var(--space-3);background:none;border:0;text-align:left;color:var(--ui-text);font-size:var(--text-md);cursor:pointer;transition:background var(--motion-fast) var(--ease)}.ctx-item:hover{background:var(--ui-hover)}.ctx-item:disabled{color:var(--ui-text-faint);cursor:default}.ctx-item:disabled:hover{background:none}#shop-debug{position:fixed;inset:0;z-index:9000;pointer-events:none}#shop-debug.hidden{display:none}#shop-debug .shop-debug-npc,#shop-debug .shop-debug-shop{position:fixed;border:2px solid;border-radius:2px}#shop-debug .shop-debug-npc{border-color:var(--ui-good);box-shadow:0 0 0 1px #0009}#shop-debug .shop-debug-shop{border-color:var(--ui-primary);box-shadow:0 0 0 1px #0009}#shop-debug .shop-debug-label{position:fixed;left:12px;bottom:12px;margin:0;padding:var(--space-2) var(--space-3);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--text-xs);line-height:1.5;color:var(--ui-text);background:#070a0ee0;border:1px solid var(--ui-border);border-radius:var(--radius-sm);white-space:pre}.update-scrim{position:absolute;inset:auto 16px 16px auto;display:flex;pointer-events:auto;z-index:1}.update-scrim.hidden{display:none}.update-scrim.blocking{position:fixed;inset:0;align-items:center;justify-content:center;background:#090d12c7;backdrop-filter:blur(2px)}.update-window{min-width:280px;max-width:420px;background:var(--ui-veil-strong);border:1px solid var(--ui-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-window, 0 12px 32px rgba(0, 0, 0, .45));overflow:hidden}.update-bar{padding:10px 14px;font-weight:600;font-size:13px;letter-spacing:.02em;background:var(--ui-surface-raised);border-bottom:1px solid var(--ui-border)}.update-body{padding:14px}.update-message{margin:0 0 10px;font-size:13px;line-height:1.45}.update-detail{margin:0 0 12px;font-size:11px;opacity:.6;font-family:ui-monospace,monospace;word-break:break-all}.update-detail.hidden{display:none}.update-actions{display:flex;gap:8px;justify-content:flex-end}.update-actions button{padding:6px 14px;font:inherit;font-size:12px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--ui-border-strong);background:var(--ui-surface-raised);color:var(--ui-text)}.update-actions .update-primary{border-color:var(--ui-primary);background:var(--ui-primary);color:var(--ui-text);font-weight:600}.update-actions button:hover{filter:brightness(1.15)}.hud-panel{position:absolute;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}#player{left:var(--hud-edge);top:var(--hud-edge);width:312px}#player .unit{display:flex;align-items:flex-start;gap:var(--space-2)}#player .portrait-mount{width:68px;height:76px;margin-top:2px}#player .unit-bars{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-2) var(--space-3) var(--space-3);background:var(--ui-veil);border:1px solid var(--ui-border);border-radius:var(--radius-lg)}#player .unit-bars>.rpgbar{width:100%}#player .rpgbar>b{color:var(--ui-text-muted)}.bar-link{display:none}#player .name-plate{position:static;transform:none;min-width:0;max-width:100%;padding:0 0 1px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:0;box-shadow:none;clip-path:none;pointer-events:none}#player .pname{font-size:var(--text-md);font-weight:600;line-height:1.1;color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#player .plv{font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;line-height:1;color:var(--ui-text-muted)}#statusicons{margin:var(--space-2) 0 0 78px}#statusicons:empty{margin:0}.castbar{padding:var(--space-1) var(--space-2);background:var(--ui-veil);border:1px solid var(--ui-border);border-radius:var(--radius-md)}.castbar .cast-icon{width:24px;height:24px;flex:none;overflow:hidden}.castbar .cast-icon .icon-img,.castbar .cast-icon .icon-wrap{width:20px;height:20px}.castbar .rpgbar{height:14px}.castbar .rpgbar>em,.castbar .rpgbar>b{display:none}.castbar .cast-name{position:absolute;z-index:2;left:var(--space-2);top:50%;transform:translateY(-50%);line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.8);white-space:nowrap}#playercast{position:absolute;left:50%;bottom:218px;transform:translate(-50%);width:360px}#target{left:50%;top:calc(var(--hud-edge) + 4px);width:336px;transform:translate(-50%)}#target .unit{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer}#target .portrait-mount{width:42px;height:48px;order:2;margin-top:2px}#target .badge.rank{display:none}#target .unit-bars{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:var(--space-2) var(--space-3);background:var(--ui-veil);border:1px solid var(--ui-border);border-radius:var(--radius-lg)}#target .unit-bars>.rpgbar{width:100%}#target .rpgbar>em{display:none}.target-name{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-md);font-weight:600;line-height:1.2;color:var(--ui-text);white-space:nowrap;overflow:hidden}.target-name .lv{order:2;margin-left:auto;flex:none;font-size:var(--text-sm);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-text-muted)}.target-name .lv:empty{display:none}.target-foot{display:flex;align-items:center;gap:var(--space-2);min-height:14px}.target-rank{padding:1px 6px;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-full);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;color:var(--ui-text-muted)}.target-rank.empty{display:none}.target-rank.elite{color:var(--ui-warn)}.target-rank.boss{color:var(--ui-bad)}.target-dist{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ui-text-faint)}#target.npc .unit-bars{gap:2px}#target.boss{width:480px}#target.boss .unit-bars{padding:var(--space-3) var(--space-4)}#target.boss .portrait-mount{display:none}#target.boss .target-name{justify-content:center;font-size:var(--text-lg);font-weight:700;letter-spacing:.02em}#target.boss .target-name .lv{margin-left:var(--space-2)}#target.boss .rpgbar.hp{height:14px}#target.boss .target-foot{justify-content:center}#targetcast{margin-top:var(--space-2)}#party{left:var(--hud-edge);top:150px;width:264px;display:flex;flex-direction:column;gap:var(--space-2)}.party-member{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--ui-veil);border:1px solid var(--ui-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--motion-fast) var(--ease)}.party-member:hover{border-color:var(--ui-border-strong)}.party-member .portrait-mount{width:36px;height:40px}.party-member .unit-bars{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.party-member .unit-bars>.rpgbar{width:100%}.party-member .member-name{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ui-text)}.party-member .member-state{font-size:var(--text-xs);font-weight:400;font-variant-numeric:tabular-nums;color:var(--ui-text-faint)}.party-member.leader .member-name{color:var(--ui-text)}.party-member.away,.party-member.dead{opacity:.45;filter:grayscale(.7)}#bottomhud{left:50%;bottom:var(--space-2);transform:translate(-50%);width:clamp(500px,34vw,580px)}.vitals-row{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.vitals-row .rpgbar{flex:1;min-width:0}.vitals-row .rpgbar>em{display:none}.vitals-row .rpgbar>b{color:var(--ui-text-muted)}#bottomhud .portrait-mount{width:66px;height:66px;flex:none;z-index:2}#bottomhud .portrait-mount .badge.lv{left:50%;top:auto;bottom:-6px;transform:translate(-50%)}.vitals-fp{display:flex;justify-content:center;margin-top:4px}.vitals-fp .rpgbar{width:160px}.vitals-fp .rpgbar>em,.vitals-fp .rpgbar>b{display:none}.hotbar{display:grid;grid-template-columns:repeat(10,1fr);gap:var(--space-1);margin-top:var(--space-2)}.hotbar .islot{width:auto;height:auto;aspect-ratio:1;background:var(--ui-veil)}.hotbar .islot:not(.empty){background:var(--ui-sunken)}.hotbar .islot .icon-img,.hotbar .islot .icon-wrap{width:76%;height:76%}.hotbar .islot small{position:absolute;left:4px;top:3px;z-index:1;font-size:9px;font-weight:600;line-height:1;color:var(--ui-text-faint);text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.hotbar .islot:hover small{color:var(--ui-text-muted)}.exp-row{margin-top:var(--space-2)}.exp-row .rpgbar{width:100%}.exp-row .rpgbar>b,.exp-row .rpgbar>em{display:none}#chat{left:var(--hud-edge);bottom:var(--hud-edge);width:clamp(360px,26vw,496px);background:color-mix(in srgb,var(--ui-veil) 88%,transparent);border:1px solid var(--ui-border);border-radius:var(--radius-lg);transition:background var(--motion) var(--ease),border-color var(--motion) var(--ease)}#chat:hover,#chat:focus-within{background:var(--ui-veil-strong);border-color:var(--ui-border-strong)}#chat .tabs{padding:0 var(--space-2)}#chat .tab{height:28px;min-width:0;padding:0 var(--space-3)}#chat .window-body{z-index:3}.chat-log{height:176px;overflow-y:auto;padding:var(--space-2) var(--space-3);font-size:12px;line-height:1.55;color:var(--ui-text)}.chat-log .line{margin:1px 0;word-break:break-word}.chat-log .from{color:var(--ui-text-muted);font-weight:600}.chat-log .from.party{color:var(--ui-accent-2)}.chat-log .from.whisper{color:var(--ui-rare)}.chat-log .system{color:var(--ui-text-muted)}.chat-log .party{color:var(--ui-accent-2)}.chat-log .whisper{color:var(--ui-rare)}.chat-log .good{color:var(--ui-good)}.chat-log .bad{color:var(--ui-bad)}.chat-input-row{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-top:1px solid var(--ui-border)}.chat-input-row input{flex:1;min-width:0;height:28px;padding:0 var(--space-2);background:var(--ui-sunken);border:1px solid var(--ui-border);border-radius:var(--radius-sm);color:var(--ui-text);font-size:var(--text-sm);outline:none;transition:border-color var(--motion-fast) var(--ease)}.chat-input-row input::placeholder{color:var(--ui-text-faint)}.chat-input-row input:focus{border-color:var(--ui-focus)}.chat-rail{position:absolute;left:calc(100% + var(--space-2));bottom:44px;display:flex;flex-direction:column;gap:var(--space-1)}.chat-rail .rail-button{width:28px;height:28px}.chat-rail .rail-button svg{width:13px;height:13px}.start-button{flex:none;min-width:76px;height:32px;padding:0 var(--space-3);background:var(--ui-veil);border:1px solid var(--ui-border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-muted);cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.start-button:hover{background:var(--ui-hover);color:var(--ui-text)}.start-button:active{background:var(--ui-surface)}.start-button.open{border-color:var(--ui-primary);color:var(--ui-text)}.start-menu{position:absolute;left:0;bottom:calc(100% + var(--space-2));z-index:3;width:240px;padding:var(--space-1);background:var(--ui-surface-raised);border:1px solid var(--ui-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-popup);transform-origin:12% 100%;animation:start-menu-in var(--motion) var(--ease);pointer-events:auto}.start-menu.hidden{display:none}@keyframes start-menu-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.start-menu{animation:none}}.start-menu .start-head{display:none}.start-menu .start-body{display:flex;flex-direction:column}.start-item{width:100%;height:40px;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);background:none;border:0;border-radius:var(--radius-md);font-size:var(--text-md);color:var(--ui-text);text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.start-item:hover:not(:disabled){background:var(--ui-primary-soft);color:var(--ui-text)}.start-item:active:not(:disabled){background:var(--ui-primary-soft-2)}.start-item:disabled{opacity:.4;cursor:default}.start-item .ui-icon{width:16px;height:16px;flex:none;fill:currentColor;color:var(--ui-text-muted);transition:color var(--motion-fast) var(--ease)}.start-item:hover:not(:disabled) .ui-icon{color:var(--ui-text)}.start-item .start-key{margin-left:auto;font-size:var(--text-sm);letter-spacing:0;color:var(--ui-text-faint)}.start-menu .start-sep{height:1px;margin:var(--space-1) var(--space-2);background:var(--ui-border)}.start-item.leave,.start-item.leave .ui-icon{color:var(--ui-bad)}.start-item.leave:hover:not(:disabled){background:color-mix(in srgb,var(--ui-bad) 10%,transparent);color:var(--ui-bad)}.start-item.leave:hover:not(:disabled) .ui-icon{color:var(--ui-bad)}#map{right:var(--hud-edge);top:var(--hud-edge);width:var(--map-size)}.map-label{padding-bottom:var(--space-2);text-align:center;font-size:var(--text-sm);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ui-text);text-shadow:0 1px 2px rgba(0,0,0,.8)}.map-ring{position:relative;width:100%;aspect-ratio:1;border-radius:var(--radius-full);border:1px solid var(--ui-border-strong);background:var(--ui-veil)}.map-face{position:absolute;inset:0;border-radius:var(--radius-full);overflow:hidden;background:var(--ui-sunken)}.map-face canvas{position:absolute;inset:0;width:100%;height:100%}.map-rail{position:absolute;right:calc(100% + var(--space-2));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:var(--space-1);pointer-events:none}.map-rail .rail-button{background:var(--ui-surface-raised);border-color:var(--ui-border);color:var(--ui-text)}.map-rail .rail-button:hover{background:var(--ui-hover);border-color:var(--ui-border-strong)}.map-rail .rail-button:active{background:var(--ui-primary-soft-2);color:var(--ui-text)}.map-rail .rail-button svg{width:14px;height:14px}.map-coords{padding-top:var(--space-2);text-align:center;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ui-text-muted);text-shadow:0 1px 2px rgba(0,0,0,.8)}#quest{right:var(--hud-edge);top:calc(var(--map-size) + 76px);width:calc(var(--map-size) + 24px);background:var(--ui-veil);border:1px solid var(--ui-border);border-radius:var(--radius-lg);box-shadow:none}#quest .titlebar{height:32px;gap:var(--space-2);padding:0 var(--space-2);background:none;border-bottom:1px solid var(--ui-border);font-size:var(--text-sm);letter-spacing:.08em;color:var(--ui-text-muted)}#quest .titlebar .close{width:22px;height:22px;font-size:12px}.quest-count{padding:1px 7px;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;letter-spacing:0;line-height:1.4;color:var(--ui-text-muted)}.quest-collapse{width:20px;height:20px;flex:none;display:grid;place-items:center;padding:0;background:none;border:0;border-radius:var(--radius-sm);color:var(--ui-text-muted);cursor:pointer;transition:color var(--motion-fast) var(--ease)}.quest-collapse:hover{color:var(--ui-text)}.quest-collapse .ui-icon{width:12px;height:12px;fill:currentColor;transition:transform var(--motion) var(--ease)}#quest.collapsed .quest-collapse .ui-icon{transform:rotate(-90deg)}#quest.collapsed .window-body{display:none}.quest-body{max-height:260px;overflow-y:auto;padding:var(--space-2) var(--space-3) var(--space-3)}.quest-row{margin-bottom:var(--space-2)}.quest-row:last-child{margin-bottom:0}.quest-row .title{font-size:12px;font-weight:600;color:var(--ui-text)}.quest-row .desc{margin-top:2px;font-size:var(--text-sm);line-height:1.45;color:var(--ui-text-muted)}.quest-objective{display:flex;align-items:baseline;gap:var(--space-2);margin-top:3px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ui-text)}.quest-objective .mark{flex:none;width:12px;text-align:center;color:var(--ui-primary)}.quest-objective.done{color:var(--ui-text-muted)}.quest-objective.done .mark{color:var(--ui-good)}.quest-objective.failing,.quest-objective.failing .mark{color:var(--ui-bad)}.nameplates{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.interact-prompt{position:absolute;left:50%;bottom:188px;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);padding:6px var(--space-3);background:var(--ui-veil-strong);border:1px solid var(--ui-border);border-radius:var(--radius-md);pointer-events:none}.interact-prompt.hidden{display:none}.prompt-key{width:28px;height:28px;display:grid;place-items:center;background:var(--ui-surface-raised);border:1px solid var(--ui-border-strong);border-radius:var(--radius-sm);font-size:12px;font-weight:700;line-height:1;color:var(--ui-text)}.prompt-text{font-size:12px;color:var(--ui-text);white-space:nowrap}.death-scrim{background:var(--ui-veil);animation:death-in var(--motion-slow) ease-out}@keyframes death-in{0%{opacity:0}to{opacity:1}}.death-panel{width:360px;padding:var(--space-6) var(--space-6) var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;background:var(--ui-surface-raised);border:1px solid var(--ui-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-popup);animation:death-panel-in var(--motion-slow) var(--ease)}@keyframes death-panel-in{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.death-scrim,.death-panel{animation:none}}.death-rule{display:none}.death-title{margin:0;font-size:20px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--ui-text)}.death-text{margin:0;font-size:12px;color:var(--ui-text-muted)}.death-buttons{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.death-buttons .btn{min-width:128px}.death-buttons .btn:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.npc-say{position:absolute;left:var(--npc-say-x, 30%);bottom:27%;transform:translate(-50%);width:min(420px,40vw);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);background:var(--ui-veil-strong);border:1px solid var(--ui-border-strong);border-left:2px solid var(--ui-accent-2);border-radius:var(--radius-md);box-shadow:var(--shadow-popup);pointer-events:none;animation:npc-say-in var(--motion) var(--ease)}@keyframes npc-say-in{0%{transform:translate(-50%) translateY(6px);opacity:0}to{transform:translate(-50%);opacity:1}}.npc-say-head{display:flex;align-items:center;gap:var(--space-2)}.npc-say-who{font-size:var(--text-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-accent-2)}.npc-say-line{font-size:var(--text-md);line-height:1.45;color:var(--ui-text)}.npc-say-speaker{display:flex;align-items:flex-end;gap:2px;height:9px}.npc-say-wave{width:2px;height:3px;background:var(--ui-text-faint);border-radius:var(--radius-full)}.npc-say-speaker.on .npc-say-wave{background:var(--ui-accent-2);animation:npc-say-wave .62s var(--ease) infinite}.npc-say-speaker.on .npc-say-wave:nth-child(2){animation-delay:.13s}.npc-say-speaker.on .npc-say-wave:nth-child(3){animation-delay:.26s}@keyframes npc-say-wave{0%,to{height:3px}50%{height:9px}}@media(prefers-reduced-motion:reduce){.npc-say,.npc-say-speaker.on .npc-say-wave{animation:none}}@media(max-width:1200px){.npc-say{width:min(420px,62vw);bottom:34%}}#inventory{right:96px;top:132px;width:512px}#inventory .window-body{padding:var(--space-4)}.bag-scroll{max-height:calc(var(--bag-visible-rows, 9) * 60px);overflow-y:auto;overflow-x:hidden;padding-right:var(--space-1)}.bag-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--space-1)}.bag-grid>.islot{width:auto;height:auto;aspect-ratio:1}.inv-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--ui-border)}.inv-cap-group{display:flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--ui-text-muted)}.cap-bag{width:15px;height:15px;flex:none;color:var(--ui-text-faint)}.inv-capacity{font-size:var(--text-sm);color:var(--ui-text-muted);font-variant-numeric:tabular-nums}.inv-capacity .cap-used{font-size:var(--text-md);font-weight:600;color:var(--ui-text)}.inv-capacity.full .cap-used{color:var(--ui-bad)}.inv-purse{justify-self:end;display:flex;align-items:center;gap:var(--space-2)}.penya-coin{width:15px;height:15px;flex:none;color:var(--ui-coin)}.penya-amount{font-size:var(--text-md);font-weight:600;color:var(--ui-text);font-variant-numeric:tabular-nums}.penya-unit{font-size:var(--text-sm);color:var(--ui-text-muted)}.drag-ghost{background:var(--ui-surface-raised);transform:scale(.96)}.islot.invalid-target{opacity:.5;border-color:var(--ui-bad);background:#f871710f}#character{right:640px;top:132px;width:668px;background:transparent}#character .titlebar{background:var(--ui-veil-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0}#character .window-body{padding:0}.char-content{display:grid;grid-template-columns:1fr 214px;gap:0;align-items:stretch}.char-left{display:flex;flex-direction:column;min-width:0}.char-right{min-width:0;background:var(--ui-veil-strong);border-left:1px solid var(--ui-border);border-radius:0 0 var(--radius-lg) 0;padding:var(--space-3) var(--space-4)}.eq-summary{grid-column:1 / -1;padding:var(--space-3) var(--space-4);background:var(--ui-veil-strong);border-bottom:1px solid var(--ui-border)}.eq-name{font-size:var(--text-lg);font-weight:600;color:var(--ui-text)}.eq-job{margin-top:2px;font-size:var(--text-sm);color:var(--ui-text-muted)}.eq-doll{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"l1 head r1" "l2 prev r2" "l3 prev r3" "l4 prev r4" "l5 prev r5";gap:var(--space-2);justify-items:center;min-height:360px;padding:var(--space-2);border:12px solid var(--ui-veil-strong)}.eq-preview{position:absolute;inset:0;z-index:0;display:grid;place-items:center;background:var(--ui-sunken)}.eq-preview:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--ui-border);pointer-events:none}.eq-doll>.islot{position:relative;z-index:1}.eq-preview.live{background:none}.eq-preview.live .initial,.eq-preview.live .portrait-render{display:none}.eq-preview .portrait-render{position:relative;z-index:1;max-width:100%;max-height:300px;object-fit:contain}.eq-preview .initial{font-size:44px;font-weight:600;color:var(--ui-text-faint)}.eq-body-row{grid-area:prev;align-self:end;z-index:2;display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.eq-fashion-block{flex:1;padding:var(--space-3) var(--space-4);background:var(--ui-veil-strong);border-top:1px solid var(--ui-border);border-radius:0 0 0 var(--radius-lg)}.eq-fashion{display:flex;gap:var(--space-2)}.islot.fashion:not(.empty){border-color:#a78bfa73}.islot.fashion:not(.empty):hover{border-color:var(--ui-rare)}.char-stats{font-size:var(--text-sm)}.stat-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:28px;padding:0 var(--space-1);border-bottom:1px solid var(--ui-border);border-radius:var(--radius-sm)}.stat-row:hover{background:var(--ui-hover)}.stat-row .k{font-size:12px;color:var(--ui-text-muted)}.stat-row .v{font-size:var(--text-md);font-weight:600;color:var(--ui-text);font-variant-numeric:tabular-nums}.stat-row.primary .k{color:var(--ui-text)}.stat-plus{flex:0 0 auto;width:20px;height:20px;padding:0;border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface);color:var(--ui-text);font-size:13px;font-weight:700;line-height:1;cursor:pointer}.stat-plus:hover{background:var(--ui-hover);border-color:var(--ui-accent)}.stat-row.job-choices{flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-1)}.job-choice{padding:var(--space-1) var(--space-3);border:1px solid var(--ui-accent);border-radius:var(--radius-sm);background:var(--ui-surface);color:var(--ui-text);font-size:var(--text-sm);font-weight:600;cursor:pointer}.job-choice:hover{background:var(--ui-accent);color:var(--ui-bg)}#shop{left:328px;top:160px;width:min(640px,calc(50vw / var(--ui-scale)));min-width:420px}.shop-body{display:grid;grid-template-columns:128px 1fr;min-height:0}.categories{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-3);border-right:1px solid var(--ui-border);align-content:start}.cat{padding:6px 10px;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-md);text-align:left;color:var(--ui-text-muted);font-size:var(--text-sm);cursor:pointer;transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.cat:hover{background:var(--ui-hover);color:var(--ui-text)}.cat.active{background:var(--ui-primary-soft-2);border-color:var(--ui-primary);color:var(--ui-text)}.products{display:flex;flex-direction:column;min-height:0;padding:var(--space-3)}.product-list{display:grid;grid-template-columns:1fr;gap:var(--space-1);align-content:start;max-height:470px;overflow-y:auto;padding-right:var(--space-1)}.product{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:var(--space-3);min-height:46px;padding:var(--space-1) var(--space-2);background:var(--ui-surface);border:1px solid var(--ui-border);border-left:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.product:hover{background:var(--ui-hover);border-color:var(--ui-border-strong);border-left-color:transparent}.product.selected,.product.selected:hover{background:var(--ui-primary-soft);border-color:var(--ui-border);border-left-color:var(--ui-primary)}.product-icon{width:36px;height:36px;display:grid;place-items:center;background:var(--ui-sunken);border:1px solid var(--ui-border);border-radius:var(--radius-sm)}.product-icon .icon-img,.product-icon .icon-wrap{width:32px;height:32px}.product-name{font-size:12px;line-height:1.35;color:var(--ui-text)}.product-sub{margin-top:2px;display:flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--ui-text-muted);font-variant-numeric:tabular-nums}.product-sub .penya-coin{width:11px;height:11px}.product-price{display:flex;align-items:center;gap:4px;font-size:var(--text-sm);font-weight:600;color:var(--ui-text-muted)}.product-price.short{color:var(--ui-bad)}.shop-footer{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--ui-border)}.shop-footer .purse{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ui-text-muted)}.shop-footer .purse b{font-size:var(--text-md);font-weight:600;color:var(--ui-text);font-variant-numeric:tabular-nums}.shop-qty{width:62px;height:32px;padding:0 var(--space-2);background:var(--ui-sunken);border:1px solid var(--ui-border);border-radius:var(--radius-md);color:var(--ui-text);font-size:var(--text-md);font-variant-numeric:tabular-nums;text-align:center;outline:none;transition:border-color var(--motion-fast) var(--ease)}.shop-qty:focus{border-color:var(--ui-focus)}#skills{left:328px;top:132px;width:464px}#skills .window-body{padding:var(--space-4)}.skill-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2);max-height:424px;overflow-y:auto;padding-right:var(--space-1)}.skill-cell{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.skill-cell:hover{background:var(--ui-hover);border-color:var(--ui-border-strong)}.skill-cell .islot{width:44px;height:44px}.skill-cell .lv{position:absolute;left:4px;top:4px;z-index:1;padding:1px 5px;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ui-text-muted)}.skill-cell .nm{font-size:var(--text-sm);line-height:1.25;text-align:center;color:var(--ui-text)}.skill-footer{padding-top:var(--space-3);font-size:var(--text-sm);color:var(--ui-text-muted)}#loot{right:264px;top:300px;width:306px}.loot-status{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--ui-border);font-size:var(--text-xs);color:var(--ui-text-muted);text-align:center;font-variant-numeric:tabular-nums}.loot-status.warn{color:var(--ui-warn)}.loot-list{max-height:320px;overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.loot-row{display:grid;grid-template-columns:20px 32px 1fr;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-1) var(--space-2);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.loot-row:hover{background:var(--ui-hover);border-color:var(--ui-border-strong)}.loot-row.far{opacity:.5;cursor:default}.loot-row.far:hover{background:var(--ui-surface);border-color:var(--ui-border)}.loot-icon{width:32px;height:32px;display:grid;place-items:center;background:var(--ui-sunken);border:1px solid var(--ui-border);border-radius:var(--radius-sm)}.loot-icon .icon-img,.loot-icon .icon-wrap{width:26px;height:26px}.loot-icon .penya-coin{width:20px;height:20px}.loot-mid{min-width:0}.loot-name{font-size:12px;line-height:1.35;color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loot-sub{font-size:var(--text-xs);color:var(--ui-text-muted)}.loot-check{display:grid;place-items:center;cursor:pointer}.loot-row.far .loot-check{cursor:default}.loot-check input{width:14px;height:14px;accent-color:var(--ui-primary);cursor:inherit}.loot-empty{padding:var(--space-4);font-size:var(--text-sm);color:var(--ui-text-muted);text-align:center}.loot-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--ui-border)}#settings{left:50%;top:50%;transform:translate(-50%,-50%);width:372px;max-height:min(84vh,720px);display:flex;flex-direction:column}#settings .window-body{overflow-y:auto;min-height:0}.settings-body{padding:var(--space-2) var(--space-4) var(--space-4)}.settings-row{display:flex;gap:2px;margin:var(--space-2) 0;padding:2px;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-md)}.settings-row .btn{flex:1;min-height:26px;padding:0;background:none;border:0;border-radius:var(--radius-sm);color:var(--ui-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.settings-row .btn:hover{background:var(--ui-hover);color:var(--ui-text)}.settings-row .btn.gold,.settings-row .btn.gold:hover{background:var(--ui-primary-soft-2);color:var(--ui-text)}.settings-note{margin:var(--space-2) 0 0;font-size:var(--text-xs);line-height:1.5;color:var(--ui-text-faint)}.settings-npc,.settings-graphics{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.settings-check{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;cursor:pointer}.settings-check input{margin:2px 0 0;accent-color:var(--ui-primary)}.settings-check-label{font-size:var(--text-md);color:var(--ui-text)}.settings-check .settings-note{margin-top:2px}.settings-field{display:grid;grid-template-columns:104px 1fr;gap:var(--space-3);align-items:center}.settings-field-label{font-size:var(--text-sm);color:var(--ui-text-muted)}.settings-select{width:100%;min-height:26px;padding:0 var(--space-2);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-sm);color:var(--ui-text);font-family:var(--font-ui);font-size:var(--text-sm)}.settings-select:focus-visible{outline:2px solid var(--ui-focus);outline-offset:1px}.settings-slider{display:grid;grid-template-columns:1fr 44px;gap:var(--space-2);align-items:center}.settings-slider input{width:100%;accent-color:var(--ui-primary)}.settings-slider-value{font-size:var(--text-sm);color:var(--ui-text-muted);font-variant-numeric:tabular-nums;text-align:right}#login{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:var(--ui-bg);pointer-events:auto}.login-card{width:384px;background:var(--ui-surface);box-shadow:var(--shadow-popup)}.login-card .titlebar{height:44px;font-size:var(--text-lg);font-weight:600;letter-spacing:0;text-transform:none}.login-body{padding:var(--space-4) var(--space-5) var(--space-5)}.login-body label{display:block;margin:var(--space-4) 0 var(--space-1);font-size:var(--text-sm);font-weight:500;color:var(--ui-text-muted)}.login-body label:first-child{margin-top:var(--space-1)}.login-body input{width:100%;height:36px;padding:0 var(--space-3);background:var(--ui-sunken);border:1px solid var(--ui-border);border-radius:var(--radius-md);color:var(--ui-text);font-size:var(--text-md);outline:none;transition:border-color var(--motion-fast) var(--ease)}.login-body input:focus{border-color:var(--ui-focus)}.login-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.login-error{margin-top:var(--space-3);min-height:16px;font-size:var(--text-sm);color:var(--ui-bad)}.login-note{margin-top:var(--space-3);font-size:var(--text-xs);line-height:1.5;color:var(--ui-text-faint)}.char-list{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1);max-height:320px;overflow-y:auto}.char-row{display:flex;align-items:center;min-height:48px;padding:var(--space-2) var(--space-3);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease)}.char-row:hover{background:var(--ui-hover);border-color:var(--ui-border-strong)}.char-row.selected,.char-row.selected:hover{background:var(--ui-primary-soft);border-color:var(--ui-primary)}.char-row .nm{font-size:var(--text-md);font-weight:600;color:var(--ui-text)}.char-row .meta{margin-top:2px;font-size:var(--text-sm);color:var(--ui-text-muted)}.char-columns{display:grid;grid-template-columns:180px 1fr;gap:var(--space-4);align-items:stretch}.char-stage{min-height:260px;border-radius:var(--radius-md);background:var(--ui-sunken);border:1px solid var(--ui-border)}.preview-canvas{position:fixed;inset:0;z-index:9;width:100%;height:100%;pointer-events:none}.login-card:has(.char-columns){width:560px}.login-classes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-2);margin-top:var(--space-1)}.login-class{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);text-align:left;font:inherit;color:var(--ui-text);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s ease,background .12s ease}.login-class:hover{border-color:var(--ui-border-strong, var(--ui-accent))}.login-class.on{border-color:var(--ui-accent);background:var(--ui-surface-active, var(--ui-surface-raised));box-shadow:inset 0 0 0 1px var(--ui-accent)}.login-class:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.login-class-name{font-size:var(--text-md);font-weight:600;letter-spacing:.01em}.login-class-desc{font-size:var(--text-sm);line-height:1.45;color:var(--ui-text-dim)}.login-classabout:not(:empty){margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface-raised)}.login-desc{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ui-text-dim)}.login-starterhead{font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-text-faint)}.login-starter{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.login-starter-row{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.login-starter-row .icon-img,.login-starter-row .icon-fallback{width:28px;height:28px}.login-starter-row .qty{color:var(--ui-text-dim);font-variant-numeric:tabular-nums}.login-starter-row .mode{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--ui-text-faint)}.login-starter-row .mode.worn{color:var(--ui-accent)}#server-select{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:var(--ui-bg);pointer-events:auto}.select-card{width:640px}.select-card .titlebar{height:44px;font-size:var(--text-lg);font-weight:600;letter-spacing:0;text-transform:none}.select-card>.window-body{padding:var(--space-4) var(--space-5) var(--space-5)}.select-columns{display:grid;grid-template-columns:200px 1fr;gap:var(--space-4)}.select-column{min-width:0}.select-heading{margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-faint)}.select-realms{display:flex;flex-direction:column;gap:var(--space-2)}.realm-row{padding:var(--space-3);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease)}.realm-row:hover{background:var(--ui-hover)}.realm-row.selected{background:var(--ui-primary-soft-2);border-color:var(--ui-primary)}.realm-row.disabled{opacity:.5;cursor:default}.realm-head{display:flex;align-items:center;gap:var(--space-2)}.realm-dot{width:8px;height:8px;border-radius:var(--radius-full);flex:0 0 auto}.realm-dot.online{background:var(--ui-good)}.realm-dot.offline{background:var(--ui-text-faint)}.realm-name{font-size:var(--text-lg);font-weight:600;color:var(--ui-text)}.realm-status{margin-top:var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;color:var(--ui-good)}.realm-row.disabled .realm-status{color:var(--ui-text-faint)}.realm-pop{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--ui-text-muted)}.select-channels{display:flex;flex-direction:column;gap:var(--space-2);max-height:320px;overflow-y:auto;padding-right:var(--space-1)}.channel-card{padding:var(--space-3);background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease)}.channel-card:hover{background:var(--ui-hover)}.channel-card.selected{background:var(--ui-primary-soft-2);border-color:var(--ui-primary)}.channel-card.disabled{opacity:.45;cursor:default}.channel-card.disabled:hover{background:var(--ui-surface-raised)}.channel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.channel-name{font-size:var(--text-md);font-weight:600;color:var(--ui-text)}.channel-count{font-size:var(--text-md);font-variant-numeric:tabular-nums;color:var(--ui-text-muted)}.channel-bar{height:6px;margin-top:var(--space-2);background:var(--ui-sunken);border-radius:var(--radius-full);overflow:hidden}.channel-bar-fill{height:100%;border-radius:var(--radius-full);transition:width var(--motion-slow) var(--ease)}.channel-bar-fill.good{background:var(--ui-good)}.channel-bar-fill.warn{background:var(--ui-warn)}.channel-bar-fill.bad{background:var(--ui-bad)}.channel-bar-fill.muted{background:var(--ui-text-faint)}.channel-chips{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.chip{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:#ffffff0d;color:var(--ui-text-muted)}.chip.good{color:var(--ui-good)}.chip.warn{color:var(--ui-warn)}.chip.bad{color:var(--ui-bad)}.chip.recommended{background:var(--ui-primary-soft-2);color:var(--ui-primary)}.select-crumb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--ui-border);font-size:var(--text-sm);color:var(--ui-text-muted)}.select-crumb b{font-weight:600;color:var(--ui-text)}.select-crumb .sep{color:var(--ui-text-faint)}#teleport{width:min(760px,calc(100vw - 32px))}.tp-panes{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:var(--space-3);max-height:min(62vh,560px);min-height:0}.tp-left,.tp-right{display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.tp-search{flex:0 0 auto;height:28px;padding:0 var(--space-2);background:var(--ui-sunken);border:1px solid var(--ui-border-strong);border-radius:var(--radius-sm);color:var(--ui-text);font:inherit;font-size:var(--text-md)}.tp-search:focus{outline:none;border-color:var(--ui-focus)}.tp-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1px;padding-right:2px}.tp-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 var(--space-2);width:100%;padding:var(--space-1) var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ui-text);text-align:left;cursor:pointer;font:inherit}.tp-row:hover{background:var(--ui-hover)}.tp-row.on{background:var(--ui-primary-soft-2);border-color:var(--ui-focus)}.tp-row.off .tp-name{color:var(--ui-text-muted)}.tp-name{font-size:var(--text-md);line-height:1.3}.tp-sub{grid-column:1;font-size:var(--text-xs);color:var(--ui-text-faint);line-height:1.2}.tp-badge{grid-row:1 / span 2;grid-column:2;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ui-text-faint);border:1px solid var(--ui-border);border-radius:var(--radius-full);padding:1px 6px}.tp-badge.warn{color:var(--ui-warn);border-color:color-mix(in srgb,var(--ui-warn) 40%,transparent)}.tp-count{flex:0 0 auto;font-size:var(--text-xs);color:var(--ui-text-faint)}.tp-detail{flex:1 1 auto;min-height:0;overflow-y:auto;border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface);padding:var(--space-3)}.tp-head{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.tp-head h3{margin:0;font-size:var(--text-lg);font-weight:600}.tp-facts{display:grid;gap:var(--space-1)}.tp-fact{display:grid;grid-template-columns:88px 1fr;gap:var(--space-2);font-size:var(--text-md)}.tp-key{color:var(--ui-text-faint)}.tp-value{color:var(--ui-text);font-variant-numeric:tabular-nums}.tp-note{margin-top:var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--ui-sunken);color:var(--ui-text-muted);font-size:var(--text-sm)}.tp-empty{margin:auto;padding:var(--space-4);text-align:center;color:var(--ui-text-faint);font-size:var(--text-md)}.tp-right .btn{flex:0 0 auto;align-self:flex-end}@media(max-width:900px){.tp-panes{grid-template-columns:1fr;max-height:min(72vh,560px)}.tp-list{max-height:30vh}}@media(max-width:1500px){#inventory{left:16px;top:96px}#character{left:auto;right:16px;top:96px;width:620px}#skills{left:16px;top:96px}#loot{right:16px;top:380px}}@media(max-width:1400px){.chat-log{height:150px}.chat-rail{left:auto;right:0;bottom:calc(100% + var(--space-1));flex-direction:row}#character{width:580px}.eq-doll{min-height:300px}}@media(max-width:1300px){#player{width:310px}#target{width:276px}#target.boss{width:330px}.chat-log{height:128px}#inventory{width:496px}#character{width:540px}.char-content{grid-template-columns:1fr 178px}#shop{width:580px}.product-list{max-height:360px}.skill-grid,.product-list{max-height:340px}}@media(max-height:800px){.quest-body{max-height:150px}.loot-list{max-height:210px}.bag-scroll{max-height:calc(min(var(--bag-visible-rows, 9),7)*60px)}.eq-doll{min-height:264px}#inventory,#character,#skills,#shop{top:74px}}
