:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;--bg: #0b0815;--panel: #120b25;--panel-soft: rgba(18, 11, 37, .9);--border: #2e1465;--text: #e8e1f2;--muted: #8a7ca8;--cyan: #00e5ff;--violet: #a654ff;--red: #ff4d6d;--gold: #ffd66b;--blue: #6aa8ff}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,rgba(168,91,255,.2),transparent 32%),radial-gradient(circle at 20% 20%,rgba(0,229,255,.1),transparent 20%),linear-gradient(180deg,#140d26 0%,var(--bg) 60%);color:var(--text);overflow:hidden}button,input,select{font:inherit}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #00e5ff00}50%{box-shadow:0 0 18px #00e5ff59}}.fade-in{animation:fade-in .25s ease-out both}.bag-item,.equipment-slot,.inspect-slot,.loot-row,.vendor-row{position:relative}.item-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:200;display:none;width:240px;padding:10px;transform:translate(-50%);flex-direction:column;gap:5px;color:var(--text);text-align:left;white-space:normal;pointer-events:none;background:#090612fa;border:1px solid var(--violet);border-radius:8px;box-shadow:0 12px 32px #000c}.bag-item:hover>.item-tooltip,.equipment-slot:hover>.item-tooltip,.inspect-slot:hover>.item-tooltip,.loot-row:hover>.item-tooltip,.vendor-row:hover>.item-tooltip{display:flex}.item-tooltip>strong{color:var(--gold);font-size:13px}.item-tooltip small{color:var(--muted)!important}.item-stat-list,.item-set{display:flex;flex-direction:column;gap:2px}.item-stat-list span{color:#b9f6c8;font-size:11px}.item-set{margin-top:4px;padding-top:5px;border-top:1px solid rgba(166,84,255,.35);font-size:11px}.item-set span{opacity:.5}.item-set span.active{opacity:1;text-shadow:0 0 8px currentColor}.tier-set-summary{position:absolute;bottom:10px;display:flex;flex-direction:column;align-items:center;font-size:11px;text-shadow:0 0 8px currentColor}.character-visual{position:relative}.bag-window{width:min(700px,94vw)!important}.bag-usage{margin-left:auto;color:var(--cyan);font-size:12px;font-weight:700}.bag-equipment{display:flex;gap:7px;margin:12px 0}.bag-equip-slot{position:relative;width:62px;height:48px;padding:4px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;border-style:dashed!important}.bag-equip-slot.filled{border-style:solid!important;border-color:var(--violet)!important}.bag-equip-slot>span{color:var(--cyan);font-size:18px;line-height:1}.bag-equip-slot>small{color:var(--muted);font-size:9px}.bag-sections{display:flex;flex-direction:column;gap:12px}.bag-section{padding:9px;background:#07050e73;border:1px solid rgba(83,48,154,.55);border-radius:8px}.bag-section h3{margin:0 0 7px!important;display:flex;justify-content:space-between;color:var(--muted)!important;font-size:10px!important}.compact-bag-grid{display:grid;grid-template-columns:repeat(auto-fill,50px);gap:5px}.compact-item-slot{position:relative;width:50px;height:50px;min-height:0!important;padding:0!important;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(83,48,154,.22),transparent 70%),#0b0815!important;border:1px solid #34245a!important;border-radius:5px!important}.compact-item-slot.empty{opacity:.5;box-shadow:inset 0 0 9px #000000a6}.compact-item-slot.equippable{border-color:#6b36c8!important}.compact-item-slot:hover{z-index:10;border-color:var(--cyan)!important;box-shadow:0 0 10px #00e5ff40}.compact-item-icon{color:var(--cyan);font-size:22px;line-height:1;text-shadow:0 0 7px currentColor}.stack-count{position:absolute;right:3px;bottom:1px;color:#fff;font-size:10px;text-shadow:0 1px 3px black}.compact-item-slot.item-tier-2{border-color:#4d78c8!important}.compact-item-slot.item-tier-3{border-color:#8d55d9!important}.compact-item-slot.item-tier-4{border-color:var(--gold)!important}.compact-item-slot:hover>.item-tooltip,.bag-equip-slot:hover>.item-tooltip{display:flex}.item-context-menu{position:fixed;z-index:1300;width:190px;padding:8px;display:flex;flex-direction:column;gap:5px;color:#e8e1f2;background:linear-gradient(145deg,#120b25fa,#1e0f39fa);border:1px solid #53309a;border-radius:12px;box-shadow:0 16px 50px #0009}.item-context-menu>strong{overflow:hidden;color:#e8e1f2;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.item-context-menu small{padding-bottom:6px;margin-bottom:1px;color:#8a7ca8;font-size:11px;border-bottom:1px solid #3d2175}.item-context-menu button{padding:7px 10px;color:#e8e1f2;text-align:left;background:#160d2d;border:1px solid #3d2175;border-radius:6px;cursor:pointer}.bag-window.menu-open .item-tooltip{display:none!important}.item-context-menu button:hover{border-color:var(--cyan)}.item-context-menu button.danger{color:#ff9aaa;border-color:#713044}.destroy-confirm{display:flex;flex-direction:column;gap:5px;padding-top:5px;border-top:1px solid #3d2175}.chat-panel{position:fixed;bottom:12px;left:12px;z-index:55;width:min(520px,calc(100vw - 24px));color:#e8e1f2;font:12px/1.35 Inter,system-ui,sans-serif;pointer-events:auto}.chat-history{height:170px;padding:8px 10px;overflow-y:auto;background:linear-gradient(180deg,transparent,rgba(8,5,18,.84));border-radius:8px 8px 0 0;text-shadow:0 1px 2px #000}.chat-line{margin:2px 0;overflow-wrap:anywhere}.chat-line.channel-party{color:#8cf6ff}.chat-line.channel-whisper{color:#e3a7ff}.chat-line.channel-system{color:#ffd66b}.chat-role.role-moderator{color:#70d8ff}.chat-role.role-gm{color:#a98bff}.chat-role.role-admin{color:#ff8aa3}.chat-role.role-owner{color:#ffd66b}.chat-entry{display:flex;gap:4px;padding:5px;background:#0d081cf5;border:1px solid #3d2175;border-radius:0 0 7px 7px}.chat-entry select,.chat-entry input{min-width:0;padding:6px 7px;color:#e8e1f2;background:#0b0815;border:1px solid #34245a;border-radius:4px;outline:none}.chat-entry input:focus{border-color:var(--cyan)}.chat-target{width:92px}.chat-input{flex:1}.tier-set-summary span{color:var(--muted);font-size:9px}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:3px 10px;background:#080512eb;border:1px solid #2e1465;border-bottom:none;border-radius:8px 8px 0 0}.chat-header strong{color:#00e5ff;font-size:11px;letter-spacing:.5px}.chat-toggle{height:20px;min-width:26px;padding:0 6px;color:#8a7ca8;background:transparent;border:1px solid #342060;border-radius:5px;cursor:pointer;font-size:12px;line-height:1}.chat-toggle:hover{color:#00e5ff;border-color:#00e5ff}.chat-panel:not(.collapsed) .chat-history{border-radius:0}.chat-panel.collapsed .chat-header{border-radius:8px}#auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;color:#f5f1ff;font-family:Inter,Segoe UI,system-ui,sans-serif;background:radial-gradient(circle at 50% -10%,rgba(141,70,255,.3),transparent 38%),linear-gradient(160deg,#0a0712,#05040a 65%,#0b0714)}#auth-overlay:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.22;background-image:linear-gradient(118deg,transparent 47%,rgba(118,247,255,.12) 48%,transparent 49%),linear-gradient(62deg,transparent 47%,rgba(168,91,255,.1) 48%,transparent 49%);background-size:130px 170px,190px 210px}.auth-gate{position:relative;width:min(1160px,calc(100% - 24px));min-height:620px;display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,430px);align-content:center;gap:clamp(2rem,7vw,8rem)}.gate-art{position:absolute;z-index:-1;left:-8rem;width:min(52vw,620px);opacity:.54;transform:rotate(-7deg)}.gate-art svg{display:block;width:100%}.fracture{fill:none;stroke:#9b62ff;stroke-width:3;opacity:.7}.fracture.thin{stroke:#6ef6ff;stroke-width:1.5}.gate-copy{align-self:center}.eyebrow{color:#76f7ff;font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.gate-copy h1{margin:.16em 0 0;font-size:clamp(4.4rem,9vw,8rem);line-height:.78;letter-spacing:-.075em;font-weight:900}.gate-copy h1 b{color:transparent;-webkit-text-stroke:2px #76f7ff;filter:drop-shadow(0 0 15px rgba(118,247,255,.34))}.gate-copy>p{max-width:38rem;margin:2.2rem 0 0;color:#aaa0bd;font-size:1rem;line-height:1.7}.auth-card,.join-panel{display:grid;gap:1.15rem;width:100%;padding:clamp(1.5rem,4vw,2.5rem);border:1px solid rgba(168,91,255,.35);border-radius:1.2rem;background:#0e091ce0;box-shadow:0 30px 80px #00000070,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.panel-heading span{color:#76f7ff;font-size:.62rem;font-weight:900;letter-spacing:.2em}.panel-heading h2{margin:.35rem 0;color:#f5f1ff;font-size:1.5rem}.panel-heading p,.screen-heading p{margin:0;color:#9f93b2;line-height:1.5}.join-panel label,.name-field{display:grid;gap:.55rem;color:#a99cba;font-size:.69rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}#auth-overlay input{width:100%;padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:.65rem;outline:none;color:#fff;background:#040209b8}#auth-overlay input:focus{border-color:#76f7ff;box-shadow:0 0 0 3px #76f7ff1a}#auth-overlay button{font:inherit;cursor:pointer;color:#f5f1ff}.primary{min-height:3.5rem;border:1px solid #76f7ff!important;border-radius:.65rem!important;color:#080510!important;background:#76f7ff!important;box-shadow:0 0 28px #76f7ff38;font-size:.76rem;font-weight:900;letter-spacing:.15em}.form-error{min-height:16px;color:#ff87aa;font-size:.72rem}.connection-line{display:flex;align-items:center;gap:8px;color:#9588aa;font-size:.69rem}.connection-line i{width:7px;height:7px;border-radius:50%;background:#76f7ff;box-shadow:0 0 12px #76f7ff}.auth-screen{position:relative;width:min(1120px,100%);display:flex;flex-direction:column;gap:22px}.screen-heading h2{margin:5px 0;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em}.selector-screen{min-height:min(720px,90vh);justify-content:center}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px}.character-card{min-height:255px;padding:0;overflow:hidden;display:flex;flex-direction:column;text-align:left;background:#0a0614e0;border:1px solid rgba(168,91,255,.3);border-radius:16px;transition:transform .15s,border-color .15s,box-shadow .15s}.character-card:hover{transform:translateY(-4px);border-color:#76f7ff;box-shadow:0 18px 40px #0008,0 0 0 1px #76f7ff33}.character-portrait{position:relative;height:165px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 65%,#31205a,transparent 66%),#090611}.character-portrait:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,#0a0614eb)}.character-portrait img{width:120px;height:140px;object-fit:contain;filter:drop-shadow(0 10px 18px #000)}.character-portrait span{position:absolute;z-index:1;right:10px;bottom:8px;padding:3px 7px;color:#76f7ff;background:#090611cc;border:1px solid #76f7ff55;border-radius:5px;font-size:10px;font-weight:900}.character-copy{display:flex;flex-direction:column;gap:4px;padding:13px}.character-copy strong{font-size:1rem}.character-copy span{color:#b7a9c9;font-size:.75rem;text-transform:capitalize}.character-copy small{color:#70647f;font-size:.65rem;text-transform:capitalize}.character-card.new{align-items:center;justify-content:center;gap:7px;text-align:center;border-style:dashed;background:#76f7ff06}.character-card.new b{color:#76f7ff;font-size:2.4rem;font-weight:300}.character-card.new span{color:#897c9b;font-size:.7rem}.creator-screen{padding:30px 0}.link-button{align-self:flex-start;padding:6px 0;border:0;background:none;color:#9588aa}.link-button:hover{color:#76f7ff}.create-layout{display:grid;grid-template-columns:minmax(280px,410px) minmax(360px,1fr);gap:24px}.hero-stage,.picker{padding:20px;background:#0e091ce0;border:1px solid rgba(168,91,255,.3);border-radius:16px;box-shadow:0 24px 55px #0006}.hero-stage{display:flex;flex-direction:column}.hero-preview{height:350px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 67%,rgba(118,247,255,.18),transparent 36%),radial-gradient(circle at center,#28164b,#090611 70%);border:1px solid #34205e;border-radius:12px;overflow:hidden}.hero-preview img{width:80%;height:88%;object-fit:contain;filter:drop-shadow(0 18px 25px #000)}.hero-summary{padding:16px 4px 0}.hero-summary span{color:#76f7ff;font-size:.65rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.hero-summary strong{display:block;margin-top:4px;font-size:1.4rem}.hero-summary p{margin:7px 0 0;color:#a99bb7;font-size:.82rem;line-height:1.5}.picker{display:flex;flex-direction:column}.picker-label{margin:18px 0 7px;color:#76f7ff;font-size:.65rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.pick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pick-card{min-height:112px;padding:12px;display:flex;flex-direction:column;gap:4px;text-align:left;background:#090514d1;border:1px solid rgba(168,91,255,.24);border-radius:10px}.pick-card:hover,.pick-card.selected{border-color:#76f7ff;transform:translateY(-2px);box-shadow:0 0 0 1px #76f7ff33,0 14px 25px #0005}.pick-card strong{font-size:.9rem}.pick-card span{color:#a99bb7;font-size:.68rem}.pick-card small{margin-top:5px;color:#746985;font-size:.61rem;line-height:1.35}.forge-button{margin-top:auto!important}.spinner{width:42px;height:42px;align-self:center;border:3px solid #38205f;border-top-color:#76f7ff;border-radius:50%;animation:spin .8s linear infinite}.muted{color:#9f93b2;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:850px){#auth-overlay{padding:16px}.auth-gate{grid-template-columns:1fr;width:min(500px,100%)}.gate-art{left:50%;top:-100px;width:500px;transform:translate(-50%) rotate(-7deg);opacity:.25}.gate-copy{text-align:center}.gate-copy h1{font-size:4.2rem}.gate-copy>p{margin:1.2rem auto}.create-layout{grid-template-columns:1fr}.hero-preview{height:260px}}@media(max-width:560px){.gate-copy h1{font-size:3.25rem}.gate-copy>p{font-size:.82rem}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-card{min-height:210px}.character-portrait{height:125px}.character-portrait img{width:90px;height:110px}.pick-row{grid-template-columns:1fr}.pick-card{min-height:auto}.creator-screen{padding-top:55px}}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;color:#e8e1f2;font-family:Inter,system-ui,sans-serif;-webkit-user-select:none;user-select:none}.panel{position:absolute;padding:8px 10px;background:#0b0815d1;border:1px solid #2e1465;border-radius:8px}.player-vitals{top:10px;left:10px;width:240px}.name-row{display:flex;justify-content:space-between;margin-bottom:5px}.bar{position:relative;height:14px;margin:4px 0;overflow:hidden;background:#120b25;border:1px solid #2e1465;border-radius:4px}.bar .fill{position:absolute;top:0;right:0;bottom:0;left:0}.bar .label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px}.hp .fill{background:linear-gradient(90deg,#ff4d6d,#ff8aa3)}.mana .fill{background:linear-gradient(90deg,#2b6cff,#6aa8ff)}.xp .fill{background:linear-gradient(90deg,#a654ff,#00e5ff)}.zone-label{top:10px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;text-align:center}.zone-label small{color:#8a7ca8}.minimap-panel{top:10px;right:10px;padding:4px;text-align:center}.minimap-panel canvas{display:block;width:160px;height:160px;image-rendering:pixelated}.minimap-panel small{color:#8a7ca8}.skillbar{position:absolute;bottom:14px;left:50%;display:flex;gap:8px;pointer-events:auto;transform:translate(-50%)}.skill-slot{position:relative;width:56px;height:56px;overflow:hidden;background:#120b25;border:2px solid #2e1465;border-radius:8px;color:#e8e1f2}.skill-slot.ultimate{border-color:#a654ff}.skill-slot img{width:80%;height:80%}.skill-slot kbd{position:absolute;top:2px;left:3px;color:#aaa;font-size:9px}.skill-slot small{position:absolute;right:2px;bottom:2px;color:#a654ff}.cooldown{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0b0815bf;font-size:18px;font-weight:700}.target-frame{top:74px;left:50%;width:240px;transform:translate(-50%)}.target-frame .enemy{color:#ff4d6d}.target-frame .player{color:#6aa8ff}.target-frame .npc{color:#a654ff}.interact-prompt{position:absolute;bottom:84px;left:50%;padding:6px 14px;transform:translate(-50%);background:#0b0815e6;border:1px solid #00e5ff;border-radius:6px}.interact-prompt kbd{margin-right:6px;color:#00e5ff}.downed-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle,#ff4d6d26,#0b0815bf 70%)}.downed-overlay strong{color:#ff4d6d;font-size:34px;letter-spacing:3px}.combat-text-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.combat-text{position:absolute;transform:translate(-50%,-50%);font-weight:800;text-shadow:0 1px 2px #000}@media(max-width:700px){.minimap-panel{display:none}.player-vitals{width:180px}.skillbar{gap:3px}.skill-slot{width:44px;height:44px}}.skill-slot{cursor:grab}.skill-slot:active{cursor:grabbing}.skill-slot[draggable=true]:hover{border-color:#00e5ff;box-shadow:0 0 12px #00e5ff44}.cast-bar{position:absolute;bottom:88px;left:50%;width:min(390px,72vw);padding:8px 10px;transform:translate(-50%);background:#0b0815f0;border:1px solid #6aa8ff;border-radius:8px;box-shadow:0 0 18px #2b6cff44}.cast-bar>div{display:flex;justify-content:space-between;margin-bottom:4px;font-size:12px}.cast-bar>div strong{color:#dceaff}.cast-bar>div span{color:#9fb8df;font-variant-numeric:tabular-nums}.cast-bar .bar{height:18px;margin:0}.cast-bar .cast-progress .fill{background:linear-gradient(90deg,#2b6cff,#8cecff)}.cast-bar.channel{border-color:#8cecff}.cast-bar.channel .cast-progress .fill{background:linear-gradient(90deg,#8cecff,#a654ff)}.combo-points{display:flex;align-items:center;gap:5px;margin:5px 0 2px}.combo-pip{width:14px;height:14px;border-radius:50%;background:#1a1330;border:1px solid #4a3b1f;box-shadow:inset 0 0 3px #000}.combo-pip.filled{background:radial-gradient(circle at 40% 35%,#fff2a8,#e7d14f 60%,#b89a1f);border-color:#f3e08a;box-shadow:0 0 6px #e7d14faa}.stealth-badge{margin-left:auto;padding:1px 7px;font-size:10px;letter-spacing:1px;color:#cfe6d0;background:#4a55688c;border:1px solid #7cfc0066;border-radius:10px;text-transform:uppercase}.loot-window,.vendor-window{position:absolute;top:120px;left:50%;transform:translate(-50%);min-width:230px;max-width:340px;pointer-events:auto;z-index:20;background:linear-gradient(145deg,#120b25fa,#1e0f39fa);border:1px solid #53309a;border-radius:12px;box-shadow:0 16px 50px #0009;padding:12px 14px}.window-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;border-bottom:1px solid #53309a;padding-bottom:7px}.window-header strong{color:#00e5ff;font-size:15px;font-weight:700}.window-close{background:none;border:none;color:#8a7ca8;cursor:pointer;font-size:16px;line-height:1}.window-close:hover{color:#00e5ff}.loot-rows{display:flex;flex-direction:column;gap:4px}.loot-row,.vendor-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 10px;background:#160d2d;border:1px solid #3d2175;border-radius:6px;color:#e8e1f2;cursor:pointer;font-size:12px;text-align:left}.loot-row:hover,.vendor-row:hover{border-color:#00e5ff;background:#1c1338}.vendor-row:disabled{opacity:.45;cursor:not-allowed}.loot-row .loot-icon{color:#a654ff}.loot-row.gold .coin,.loot-row.gold{color:#e7d14f}.loot-all{margin-top:8px;width:100%;padding:7px;background:linear-gradient(90deg,#6d28a8,#a654ff);border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600}.loot-empty{color:#8a7ca8;font-size:11px;text-align:center;padding:6px}.vendor-gold{color:#e7d14f;font-size:12px}.vendor-cols{display:flex;gap:10px}.vendor-col{flex:1;display:flex;flex-direction:column;gap:4px}.col-title{color:#00e5ff;font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.vendor-row .price{color:#e7d14f}.vendor-row .count{color:#8a7ca8}.aura-bar{position:absolute;top:182px;right:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-end;pointer-events:none}.aura-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:210px}.aura-tile{position:relative;width:34px;height:34px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0b0815eb;border:2px solid #2e1465;border-radius:6px;font-size:18px;box-shadow:0 2px 8px #00000080}.aura-tile.buff{border-color:#3fbf6f}.aura-tile.debuff{border-color:#ff4d6d}.aura-icon{line-height:1}.aura-sweep{position:absolute;top:0;left:0;right:0;background:#0000008c;pointer-events:none}.aura-time{position:absolute;right:2px;bottom:0;font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000}.skillbar{flex-wrap:wrap;justify-content:center;max-width:min(1060px,96vw)}.skillbar-wrap{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;align-items:stretch;gap:2px;pointer-events:auto;z-index:30}.skillbar-wrap.dragging{cursor:grabbing}.skillbar-grip{display:flex;align-items:center;padding:0 3px;color:#6a5a90;cursor:grab;font-size:16px;line-height:1;opacity:0;transition:opacity .12s;-webkit-user-select:none;user-select:none;touch-action:none}.skillbar-wrap:hover .skillbar-grip,.skillbar-wrap.dragging .skillbar-grip{opacity:1}.skillbar-grip:active{cursor:grabbing;color:#00e5ff}.skillbar{position:static;transform:none;bottom:auto;left:auto;display:grid;gap:6px;max-width:none;justify-content:center}.skill-slot{width:var(--slot-size,56px);height:var(--slot-size,56px)}.skill-slot.item-bind{border-color:#e7d14f}.skill-slot .slot-glyph{font-size:calc(var(--slot-size,56px)*.5);line-height:1;color:#00e5ff;text-shadow:0 0 7px currentColor}.skill-slot .slot-count{position:absolute;right:3px;bottom:1px;color:#fff;font-size:11px;font-weight:700;text-shadow:0 1px 3px #000}#dialogue-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:flex;align-items:flex-end;justify-content:center;padding:0 18px 92px;pointer-events:none;box-sizing:border-box;color:#e8e1f2;font-family:Inter,system-ui,sans-serif}.dialogue-box{width:min(720px,100%);padding:18px 20px;pointer-events:auto;background:linear-gradient(135deg,#0b0815f5,#180d30f5);border:1px solid #6b36c8;border-radius:12px;box-shadow:0 12px 45px #0008}.dialogue-speaker{margin-bottom:8px;color:#00e5ff;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dialogue-body{margin-bottom:14px;font-size:17px;line-height:1.5}.dialogue-choices{display:flex;flex-direction:column;gap:7px}.dialogue-choices button{padding:10px 12px;text-align:left;color:#e8e1f2;background:#160d2d;border:1px solid #3d2175;border-radius:7px}.dialogue-choices button:hover{border-color:#00e5ff}.dialogue-hint{text-align:right;color:#8a7ca8;font-size:10px}#gm-editor{position:fixed;top:10px;right:180px;z-index:40;width:220px;padding:12px;color:#e8e1f2;background:#120b25;border:1px solid #a654ff;border-radius:10px;font:12px Inter,system-ui,sans-serif}#gm-editor h3{margin:0 0 8px;color:#a654ff;font-size:12px}.editor-modes{display:flex;gap:4px}.editor-modes button{flex:1}.editor-modes .active{color:#00e5ff;border-color:#00e5ff}#gm-editor input,#gm-editor select,#gm-editor button{width:100%;box-sizing:border-box;margin:4px 0;padding:6px;color:#e8e1f2;background:#0b0815;border:1px solid #2e1465;border-radius:4px}.editor-apply{background:linear-gradient(90deg,#00e5ff,#a654ff)!important;color:#0b0815!important;font-weight:800}.editor-toast{min-height:12px;color:#ffd66b}#skilltree-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#0b0815b8;font-family:Inter,system-ui,sans-serif}.skilltree-box{width:min(720px,94vw);max-height:82vh;padding:20px;overflow:auto;color:#e8e1f2;background:#16101f;border:1px solid #2e1465;border-radius:14px}.skilltree-box h2{margin:0;color:#00e5ff}.skill-points{color:#a654ff;font-weight:700}.skilltree-box h3{color:#b83280;font-size:12px;text-transform:uppercase}.skilltree-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.skill-node{display:flex;flex-direction:column;gap:8px;padding:10px;background:#0b0815;border:1px solid #2e1465;border-radius:10px}.skill-node.allocated{border-color:#00e5ff}.skill-node small{color:#9c94b0}.skill-node button{padding:7px;color:#0b0815;background:linear-gradient(90deg,#00e5ff,#a654ff);border:0;border-radius:6px}.skill-node button:disabled{color:#7d7594;background:#2a2440}.skilltree-box footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;color:#7d7594;font-size:11px}.skilltree-box .respec{padding:6px 12px;color:#b83280;background:none;border:1px solid #b83280;border-radius:6px}#game-overlay-ui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;color:#e8e1f2;font-family:Inter,system-ui,sans-serif}.game-window,.party-frames,.player-context-menu,.duel-banner,.social-notice{pointer-events:auto;background:linear-gradient(145deg,#120b25fa,#1e0f39fa);border:1px solid #53309a;border-radius:12px;box-shadow:0 16px 50px #0009}.game-window header{display:flex;align-items:center;justify-content:space-between}.game-window h2,.game-window h3{margin:0;color:#00e5ff}.game-window button,.party-frames button,.player-context-menu button{padding:7px 10px;color:#e8e1f2;background:#160d2d;border:1px solid #3d2175;border-radius:6px;cursor:pointer}.game-window button:hover,.party-frames button:hover,.player-context-menu button:hover{border-color:#00e5ff}.inventory-window{position:absolute;top:50%;left:50%;width:min(820px,92vw);max-height:82vh;padding:18px;overflow:auto;transform:translate(-50%,-50%)}.inventory-layout{display:grid;grid-template-columns:220px 1fr;gap:18px}.inventory-layout h3{margin:14px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:1px}.equipment-slots{display:flex;flex-direction:column;gap:7px}.equipment-slot{min-height:58px;display:flex;flex-direction:column;text-align:left;text-transform:capitalize}.equipment-slot span,.equipment-slot small,.bag-item small{color:#8a7ca8;font-size:10px}.bag-grid{display:grid;grid-template-columns:repeat(5,minmax(76px,1fr));gap:7px}.bag-item{min-height:82px;padding:7px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.bag-item:disabled{cursor:default;opacity:.62}.bag-item.equippable{border-color:#6b36c8}.bag-item.empty{background:#0b0815;border:1px solid #241844;border-radius:6px}.item-glyph{color:#00e5ff;font-size:20px}.inventory-window footer{margin-top:14px;color:#8a7ca8;font-size:11px}.party-frames{position:absolute;top:110px;left:10px;width:235px;padding:8px}.party-frames>header{display:flex;justify-content:space-between;align-items:center}.party-frame{margin-top:7px;padding:7px;background:#0b0815;border:1px solid #2e1465;border-radius:7px}.party-frame>div{display:flex;align-items:center;gap:6px}.party-frame strong{font-size:12px}.party-frame small{margin-left:auto;color:#8a7ca8;font-size:9px}.party-frame button{padding:2px 5px;font-size:9px}.party-frames header button{padding:3px 7px;font-size:9px}.player-context-menu{position:absolute;width:180px;padding:8px;display:flex;flex-direction:column;gap:5px;transform:translate(4px,4px)}.player-context-menu>small{color:#8a7ca8}.player-context-menu button{text-align:left}.social-prompt{position:absolute;top:18%;left:50%;width:min(340px,88vw);padding:16px;transform:translate(-50%)}.social-prompt p{color:#b8accd}.social-prompt>div{display:flex;gap:8px}.social-prompt .accept{color:#07141a;background:linear-gradient(90deg,#00e5ff,#a654ff);font-weight:800}.inspect-window{position:absolute;top:50%;left:50%;width:330px;padding:16px;transform:translate(-50%,-50%)}.inspect-slot{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #2e1465;text-transform:capitalize}.inspect-slot span{color:#8a7ca8}.duel-banner{position:absolute;top:12px;left:50%;padding:8px 20px;transform:translate(-50%);color:#ff8aa3;border-color:#ff4d6d;font-weight:800;letter-spacing:1px}.social-notice{position:absolute;bottom:90px;left:50%;padding:9px 16px;transform:translate(-50%);color:#ffd66b}.game-window .bar,.party-frames .bar{position:relative;height:14px;margin:5px 0;overflow:hidden;background:#0b0815;border:1px solid #2e1465;border-radius:4px}.game-window .bar .fill,.party-frames .bar .fill{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#ff4d6d,#ff8aa3)}.game-window .bar .label,.party-frames .bar .label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:9px}.menu-hud{position:absolute;right:16px;bottom:16px;display:flex;gap:5px;pointer-events:auto;padding:6px;background:#0b0815e6;border:1px solid #2e1465;border-radius:10px}.menu-hud button{min-width:70px;padding:6px 8px;display:flex;align-items:center;gap:6px;color:#9c94b0;background:#160d2d;border:1px solid #342060;border-radius:6px;cursor:pointer}.menu-hud button.active,.menu-hud button:hover{color:#00e5ff;border-color:#00e5ff;box-shadow:0 0 10px #00e5ff22}.menu-hud kbd{padding:2px 5px;color:#0b0815;background:#a654ff;border-radius:3px;font-weight:900}.menu-hud button.active kbd{background:#00e5ff}.gold-display{margin-left:auto;margin-right:12px;color:#ffd66b;font-weight:800}.bag-window{width:min(760px,92vw)}.character-window,.skills-window,.map-window{position:absolute;top:50%;left:50%;width:min(720px,92vw);max-height:82vh;padding:18px;overflow:auto;transform:translate(-50%,-50%)}.character-window header small,.map-window header small{color:#8a7ca8;text-transform:capitalize}.character-layout{display:grid;grid-template-columns:200px 1fr 240px;gap:20px;align-items:start}.character-visual{display:flex;justify-content:center;align-items:center;height:380px;background:radial-gradient(circle,#2e1465,#0b0815 70%);border-radius:8px;border:1px solid #3d2175}.character-visual img{width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 0 10px rgba(0,229,255,.3))}.character-layout h3,.skills-window h3{margin:16px 0 8px;color:#b83280;font-size:11px;text-transform:uppercase;letter-spacing:1px}.equipment-column{display:flex;flex-direction:column;gap:6px}.equipment-slot{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:6px 10px;background:#0b0815;border:1px solid #3d2175;border-radius:4px;text-transform:capitalize;overflow:visible;position:relative}.equipment-slot strong{font-size:11px;color:#e8e1f2}.equipment-slot small{font-size:9px;color:#a654ff}.character-stats{margin-top:10px;padding:10px;background:#0b0815;border:1px solid #2e1465;border-radius:6px}.stat-row{display:flex;justify-content:space-between;padding:6px 2px;border-bottom:1px solid #21163c}.stat-row span{color:#9c94b0}.stat-row strong{color:#e8e1f2}.skills-window{width:min(800px,94vw)}.skill-currency{display:block;margin-top:4px;color:#a654ff}.skills-window .skilltree-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:10px}.skills-window .skill-node{display:flex;flex-direction:column;gap:8px;padding:12px;background:#0b0815;border:1px solid #2e1465;border-radius:9px}.skills-window .skill-node.allocated{border-color:#00e5ff;box-shadow:0 0 10px #00e5ff22}.skills-window .skill-node small{min-height:15px;color:#9c94b0}.skills-window .skill-node button:disabled{cursor:not-allowed;opacity:.45}.skills-window footer{display:flex;justify-content:flex-end;margin-top:16px}.skills-window .respec{color:#ff8aa3;border-color:#b83280}.empty-message{padding:30px;text-align:center;color:#8a7ca8}.map-window{width:min(820px,94vw)}.world-map{position:relative;height:min(620px,68vh);margin-top:14px;overflow:hidden;background:radial-gradient(circle at center,#241048,#090611 72%);border:1px solid #2e1465;border-radius:12px}.world-map svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.world-map line{stroke:#6b36c8;stroke-width:1.3;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.map-node{position:absolute;width:155px;padding:10px;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);text-align:center;background:#160d2d;border:1px solid #53309a;border-radius:10px}.map-node>span{color:#a654ff;font-size:24px}.map-node small{color:#786a98;font-size:8px}.map-node.current{border-color:#00e5ff;box-shadow:0 0 24px #00e5ff55}.map-node.current>span,.map-node.current strong{color:#00e5ff}.skills-help{margin:0 0 10px;color:#8a7ca8;font-size:12px}.skillbook-hotbar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.skillbook-slot{position:relative;min-width:0;height:74px;padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#8a7ca8;background:#0b0815;border:1px dashed #493477;border-radius:8px;cursor:pointer}.skillbook-slot.filled{color:#e8e1f2;border-style:solid;border-color:#6b36c8}.skillbook-slot:hover{border-color:#00e5ff}.skillbook-slot img{width:38px;height:38px}.skillbook-slot span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.skillbook-slot kbd{position:absolute;top:3px;left:4px;color:#8a7ca8;font-size:9px}.skill-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:9px}.skill-card{min-height:92px;padding:10px;display:grid;grid-template-columns:48px 1fr;gap:10px;background:#0b0815;border:1px solid #30204f;border-radius:9px}.skill-card.learned{border-color:#6b36c8;cursor:grab}.skill-card.learned:hover{border-color:#00e5ff}.skill-card.locked{filter:saturate(.25);opacity:.55}.skill-card.passive{border-color:#8051aa}.skill-card>img{width:48px;height:48px;border-radius:6px}.skill-card>div{min-width:0;display:flex;flex-direction:column}.skill-card strong{color:#e8e1f2}.skill-card small{margin-top:2px;color:#00e5ff;font-size:9px}.skill-card.passive small{color:#c58cff}.skill-card p{margin:6px 0;color:#9c94b0;font-size:11px;line-height:1.3}.skill-card em{margin-top:auto;color:#786a98;font-size:9px;font-style:normal}@media(max-width:680px){.inventory-layout,.character-layout{grid-template-columns:1fr}.bag-grid{grid-template-columns:repeat(4,1fr)}.party-frames{top:180px;width:190px}.menu-hud{right:8px;bottom:8px}.menu-hud button{min-width:auto}.menu-hud button span{display:none}.map-node{width:105px;padding:6px;font-size:10px}.map-node small{display:none}}.draggable-window{display:flex;flex-direction:column;overflow:hidden;max-height:84vh}.draggable-window.inventory-window,.draggable-window.character-window,.draggable-window.skills-window,.draggable-window.map-window,.draggable-window.inspect-window{padding:0;overflow:hidden}.draggable-window .window-header{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #53309a;background:linear-gradient(180deg,rgba(56,30,102,.55),transparent);cursor:grab;-webkit-user-select:none;user-select:none;flex:0 0 auto}.draggable-window .window-header:active{cursor:grabbing}.window-title{display:flex;flex-direction:column;min-width:0}.window-title h2{margin:0;font-size:16px;color:#00e5ff}.window-title small{color:#8a7ca8;font-size:11px;text-transform:capitalize}.window-meta{display:flex;align-items:center;gap:14px;margin-left:auto}.window-meta .bag-usage{color:#00e5ff;font-weight:700;font-size:12px}.window-meta .gold-display{margin:0;color:#ffd66b;font-weight:800}.window-header-actions{display:flex;gap:6px;margin-left:auto}.window-meta+.window-header-actions{margin-left:12px}.window-icon-btn{width:28px;height:28px;padding:0!important;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:#8a7ca8!important;background:transparent!important;border:1px solid transparent!important;border-radius:6px}.window-icon-btn:hover{color:#00e5ff!important;border-color:#3d2175!important}.window-icon-btn.window-close:hover{color:#ff8aa3!important;border-color:#ff4d6d!important}.window-body{flex:1 1 auto;overflow:auto;padding:16px}.window-resize{position:absolute;right:3px;bottom:3px;width:15px;height:15px;cursor:nwse-resize;border-right:2px solid #6b36c8;border-bottom:2px solid #6b36c8;border-bottom-right-radius:10px;opacity:.55}.window-resize:hover{opacity:1;border-color:#00e5ff}.bag-footer{margin-top:14px;color:#8a7ca8;font-size:11px;text-align:center}.floating-tooltip{position:fixed;z-index:1200;transform:translate(-50%,calc(-100% - 10px));pointer-events:none}.floating-tooltip .item-tooltip{display:flex;position:static;transform:none;inset:auto;width:250px}.character-layout{grid-template-columns:215px 1fr 215px}.character-center{display:flex;flex-direction:column;gap:14px}.equipment-slot{gap:10px;justify-content:flex-start}.equipment-slot .slot-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#00e5ff;background:#0b0815;border:1px solid #34245a;border-radius:6px;flex:0 0 auto;text-shadow:0 0 7px currentColor}.equipment-slot .slot-info{display:flex;flex-direction:column;min-width:0;text-align:left}.equipment-slot .slot-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-slot.filled{border-color:#a654ff}.equipment-slot.item-tier-2{border-color:#4d78c8}.equipment-slot.item-tier-3{border-color:#8d55d9}.equipment-slot.item-tier-4{border-color:#ffd66b}.character-stats{margin:0}.skillbook-slot img{width:38px;height:38px;filter:drop-shadow(0 0 5px rgba(0,229,255,.35))}.skill-card{grid-template-columns:44px 1fr}.skill-card-icon{width:44px;height:44px;border-radius:8px;align-self:start}.skill-card-body{min-width:0;display:flex;flex-direction:column}.skill-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.settings-window{width:min(560px,94vw)}.keybind-settings{display:flex;flex-direction:column;gap:16px}.keybind-section h3{margin:0 0 8px;color:#b83280;font-size:11px;text-transform:uppercase;letter-spacing:1px}.keybind-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}.keybind-row span{color:#c9bfe0;font-size:12px}.keybind-key{min-width:86px;padding:6px 10px!important;text-align:center;font-weight:700}.keybind-key.capturing{color:#00e5ff!important;border-color:#00e5ff!important;box-shadow:0 0 10px #00e5ff55}.keybind-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 20px}.keybind-reset{align-self:flex-start;color:#ff8aa3;border-color:#b83280}.settings-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #2e1465}.hotbar-settings{display:flex;flex-direction:column;gap:6px}.hotbar-settings .keybind-row span em{color:#8a7ca8;font-style:normal;font-size:11px}.hotbar-settings input[type=range]{width:170px;accent-color:#00e5ff;cursor:pointer}.hotbar-hint{color:#8a7ca8;font-size:11px}.skillbook-slot .slot-glyph{font-size:26px;color:#00e5ff;text-shadow:0 0 6px currentColor}h3 .hint{margin-left:8px;color:#8a7ca8;font-size:10px;font-weight:400;letter-spacing:0;text-transform:none}.talent-header{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px;flex-wrap:wrap;gap:8px}.talent-header h3{margin:0}.talent-tabs{display:flex;gap:6px}.talent-tab{padding:5px 12px!important;font-size:11px;color:#9c94b0!important}.talent-tab.active{color:#00e5ff!important;border-color:#00e5ff!important;box-shadow:0 0 8px #00e5ff33}.talent-locked{padding:26px;text-align:center;background:#0b0815;border:1px dashed #3d2175;border-radius:10px}.talent-locked strong{display:block;margin-bottom:6px;color:#a654ff}.talent-locked p{margin:0;color:#8a7ca8;font-size:12px}.skillbook-hotbar{grid-template-columns:repeat(8,1fr)}.skillbook-slot.item-bind{border-style:solid;border-color:#e7d14f}.bag-actionbar-title{margin:0 0 8px;color:#b83280;font-size:11px;text-transform:uppercase;letter-spacing:1px}
