/* HUD · NAV · CTA · COMBAT BAR · SKILLS · QUICK · BOSS BAR */
#hud{position:fixed;left:0;right:0;top:0;z-index:10;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px calc(10px + var(--sar)) 14px calc(10px + var(--sal));padding-top:calc(8px + var(--sat));pointer-events:none;background:linear-gradient(180deg,rgba(12,6,26,.82),rgba(12,6,26,0))}
#hud>*{pointer-events:auto}
.hud-left{display:flex;gap:8px;align-items:center;min-width:0;flex:1 1 0}
.avatar{flex:none;width:56px;height:56px;padding:0;overflow:hidden;border-radius:50%;border:2px solid var(--cv-gold);background:radial-gradient(circle at 50% 35%,#4a2285,var(--cv-bg-void));box-shadow:0 0 0 3px rgba(184,108,255,.25),0 0 18px rgba(184,108,255,.55)}
.avatar canvas{width:100%;height:100%}
.hud-bars{width:min(32vw,250px);min-width:0}
.idline{font-size:13px;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden}.idline b{font-family:var(--cv-font-display);color:var(--cv-text);overflow:hidden;text-overflow:ellipsis}
.lvpill{font-family:var(--cv-font-num);font-weight:700;font-size:12px;padding:0 7px;border-radius:var(--cv-radius-pill);background:linear-gradient(180deg,var(--cv-lightgold),var(--cv-gold));color:var(--cv-ink-on-gold)}
.realm{display:flex;align-items:center;gap:4px;font-family:var(--cv-font-display);font-weight:800;font-size:12px;color:var(--cv-lightgold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 10px currentColor,0 1px 2px #000}
.pow{display:inline-flex;align-items:center;gap:2px;margin-left:6px;font-family:var(--cv-font-num);font-size:12px;color:#fff;opacity:.85}
.hud-mid{text-align:center;flex:0 1 auto;pointer-events:none!important}
.wave{font-family:var(--cv-font-display);font-weight:800;font-size:21px;letter-spacing:2px;color:var(--cv-lightgold);white-space:nowrap;text-shadow:0 0 14px rgba(184,108,255,.9),0 2px 3px #000}
.wave-sub{font-size:12px;color:#e8e0c8;white-space:nowrap;text-shadow:0 1px 2px #000}.wave-sub b{color:var(--cv-lightgold);font-size:14px}
.hud-right{display:flex;gap:5px;align-items:center;flex:1 1 0;justify-content:flex-end;flex-wrap:wrap}
.cur{display:flex;align-items:center;gap:5px;padding:3px 10px 3px 4px;border-radius:16px;font-family:var(--cv-font-num);font-weight:700;font-size:15px;white-space:nowrap;color:var(--cv-lightgold);background:var(--cv-bg-glass-strong);border:1px solid rgba(217,164,65,.4)}
.cur svg{width:18px;height:18px;flex:none}.cur.run{border-color:rgba(116,231,255,.7);box-shadow:var(--cv-glow-cyan)}
#bossBar{position:fixed;top:calc(74px + var(--sat));left:50%;transform:translateX(-50%);z-index:9;width:min(64vw,520px);display:flex;align-items:center;gap:8px;padding:5px 10px 6px 5px;pointer-events:none;border-radius:var(--cv-radius-md);background:linear-gradient(90deg,rgba(18,10,36,.92),rgba(58,15,30,.85));border:1px solid rgba(217,164,65,.55);box-shadow:0 0 20px rgba(216,58,88,.35)}
#bossPortrait{flex:none;width:42px;height:42px;border-radius:50%;overflow:hidden;border:2px solid var(--cv-gold);background:var(--cv-bg-void)}#bossPortrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
#bossBar .bw{flex:1;min-width:0}#bossBar .bn{font-family:var(--cv-font-display);font-weight:800;color:var(--cv-lightgold);text-shadow:0 0 8px var(--cv-crimson),0 1px 2px #000;font-size:13px;letter-spacing:1px}
.breakthrough-btn{position:fixed;left:50%;top:calc(108px + var(--sat));transform:translateX(-50%);z-index:11;display:flex;align-items:center;gap:6px;min-height:44px;padding:10px 26px;border-radius:30px;border:2px solid #fff4cc;font-family:var(--cv-font-display);font-weight:800;font-size:16px;color:var(--cv-ink-on-gold);background:linear-gradient(180deg,var(--cv-lightgold),var(--cv-gold));box-shadow:0 0 28px rgba(217,164,65,.8),0 0 60px rgba(184,108,255,.5)}
#homeCta{position:fixed;left:0;right:0;bottom:calc(var(--navh) + 18px + var(--sab));z-index:9;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}
#homeCta>*{pointer-events:auto}
.cta-row{display:flex;gap:10px;align-items:center}
.cta-primary{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;padding:14px 34px;border-radius:40px;border:2px solid #fff2b0;font-family:var(--cv-font-display);font-weight:800;font-size:clamp(18px,3.4vw,26px);letter-spacing:1px;color:var(--cv-ink-on-gold);background:linear-gradient(180deg,var(--cv-lightgold),var(--cv-gold) 55%,#9c6a18);box-shadow:0 0 34px rgba(217,164,65,.6),0 0 70px rgba(123,63,242,.45),0 6px 0 #5a3a0c}
.cta-primary:active{transform:translateY(3px);box-shadow:0 0 20px rgba(217,164,65,.6),0 3px 0 #5a3a0c}
.secondary-cta{min-height:54px;padding:0 20px;border-radius:40px;font-family:var(--cv-font-display);font-size:16px;background:linear-gradient(180deg,rgba(123,63,242,.75),rgba(58,23,104,.9));border:1px solid rgba(227,198,255,.6)}
#nav{position:fixed;left:0;right:0;bottom:0;z-index:12;display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:5px calc(6px + var(--sar)) calc(5px + var(--sab)) calc(6px + var(--sal));background:linear-gradient(0deg,rgba(12,6,26,.95),rgba(12,6,26,.6));border-top:1px solid rgba(217,164,65,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#nav button{position:relative;min-width:0;min-height:48px;height:var(--navh);max-height:60px;padding:0 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:16px;background:linear-gradient(160deg,rgba(58,23,104,.45),rgba(18,10,36,.6));border:1px solid rgba(184,108,255,.18)}
#nav button:hover,#nav button.on{border-color:rgba(217,164,65,.6);box-shadow:0 0 14px rgba(184,108,255,.45),inset 0 0 12px rgba(184,108,255,.2)}
#nav i{font-style:normal;line-height:1}#nav i svg{width:24px;height:24px;display:block}
#nav span{font-size:10.5px;font-weight:600;color:var(--cv-lightgold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#nav em{position:absolute;top:2px;right:6px;padding:0 5px;border-radius:9px;background:var(--cv-crimson);color:#fff;font-size:10px;font-style:normal;font-weight:800}#nav em:empty{display:none}
#nav button.locked{opacity:.55}#nav button .lk{display:none;position:absolute;top:4px;left:6px}#nav button.locked .lk{display:block}#nav button .lk svg{width:14px;height:14px}
#combatBar{position:fixed;left:0;right:0;bottom:0;z-index:12;display:flex;justify-content:space-between;align-items:flex-end;gap:8px;padding:0 calc(10px + var(--sar)) calc(10px + var(--sab)) calc(10px + var(--sal));pointer-events:none}
#combatBar>*{pointer-events:auto}
.cb-left{display:flex;gap:6px}.cb-right{display:flex;gap:8px;align-items:flex-end}
.tool{width:56px;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:16px;background:var(--cv-bg-glass-strong);border:1px solid rgba(184,108,255,.35)}
.tool span svg{width:24px;height:24px;display:block}.tool small{font-size:9.5px;color:var(--cv-lightgold);font-weight:600}.tool.on{border-color:var(--cv-lightgold);box-shadow:var(--cv-glow-gold)}
.autobtn{width:52px;height:44px;border-radius:12px;border:2px solid var(--cv-electric);background:rgba(18,10,36,.75);color:#d9b8ff;font-weight:800;font-size:11px}.autobtn.off{color:#ffb070;border-color:#ffb070}
#skills{display:flex;gap:8px}
.sk{--cd:0deg;--el:#FFE7A0;position:relative;width:64px;height:64px;padding:0;border:none;border-radius:50%;background:conic-gradient(rgba(10,5,22,.78) var(--cd),transparent 0),radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--el) 40%,#3a1a70),#1a0d33);box-shadow:inset 0 0 0 2px rgba(217,164,65,.45),0 0 10px rgba(0,0,0,.6)}
.sk.ready{box-shadow:inset 0 0 0 3px var(--cv-lightgold),0 0 18px color-mix(in srgb,var(--el) 70%,transparent)}
.sk .ic,.sk img.skicon{width:32px;height:32px;filter:drop-shadow(0 0 6px var(--el))}
.sk .cdn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--cv-font-num);font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 3px #000;pointer-events:none}
.sk .lv{position:absolute;bottom:-2px;right:-2px;min-width:20px;height:20px;padding:0 4px;border-radius:10px;background:#231342;border:1px solid var(--cv-gold);color:var(--cv-lightgold);font-size:10px;font-weight:800;line-height:18px}
.sk .tb{position:absolute;top:-8px;left:50%;transform:translateX(-50%);padding:0 5px;border-radius:6px;background:#231342;border:1px solid var(--cv-line);color:var(--cv-cyan);font-style:normal;font-size:8.5px;font-weight:800;white-space:nowrap}
.sk .tb.ult{color:var(--cv-ink-on-gold);background:linear-gradient(180deg,var(--cv-lightgold),var(--cv-gold));border-color:#fff0bf}
.sk.t-ultimate{width:74px;height:74px;box-shadow:inset 0 0 0 2px var(--cv-gold),0 0 18px rgba(217,164,65,.45)}
.sk.locked{filter:grayscale(1);opacity:.5}
#passiveChip{align-self:center;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--cv-radius-pill);background:var(--cv-bg-glass-strong);border:1px solid var(--cv-line);font-size:11px;font-weight:700;max-width:130px}
#quick{position:fixed;left:calc(10px + var(--sal));bottom:calc(76px + var(--sab));z-index:13;width:min(330px,calc(100vw - 20px));max-height:min(58vh,440px);display:flex;flex-direction:column;border-radius:16px;background:var(--cv-bg-panel);border:1px solid rgba(217,164,65,.45);box-shadow:0 0 24px rgba(0,0,0,.6);backdrop-filter:blur(4px);animation:slideup .18s}
.q-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--cv-line-soft)}.q-head b{color:var(--cv-lightgold);display:flex;gap:6px;align-items:center}.q-head small{color:var(--cv-muted);flex:1}
#quickList{overflow:auto;padding:6px;display:flex;flex-direction:column;gap:5px}
.qu{display:flex;align-items:center;gap:8px;min-height:46px;padding:4px 8px;text-align:left;border-radius:10px;background:rgba(58,23,104,.3);border:1px solid rgba(184,108,255,.25)}
.qu:not(:disabled):hover{border-color:var(--cv-electric)}.qu:not(:disabled):active{transform:scale(.98)}.qu:disabled{opacity:.45}
.qn{flex:1;font-size:13px;font-weight:600}.qn em{font-style:normal;color:var(--cv-lightgold);font-size:11px}.qn b,.qc{color:var(--cv-cyan)}.qn small{display:block;color:var(--cv-muted);font-size:11px;font-weight:400}
.qc{font-weight:800;font-size:13px;white-space:nowrap}
#quickFull{margin:6px}

/* ===== V3.1 HUD bars: label/value row ABOVE a separate track (text never sits on the fill, never clipped) ===== */
.hud-bars{width:min(34vw,260px);min-width:150px}
.hbar{margin-top:3px}
.hb-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px;line-height:1.15;min-width:0}
.hb-l{flex:none;font-family:var(--cv-font-num);font-weight:700;font-size:10.5px;letter-spacing:.6px;color:#e8dcff;text-shadow:0 1px 2px #000}
.hb-v{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-family:var(--cv-font-num);font-weight:700;font-size:11px;color:#fff;text-shadow:0 1px 2px #000;font-variant-numeric:tabular-nums}
.hb-track{position:relative;height:7px;margin-top:2px;border-radius:5px;background:rgba(10,5,22,.85);border:1px solid rgba(217,164,65,.35);box-shadow:inset 0 1px 3px rgba(0,0,0,.6);overflow:hidden}
.hb-track i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:5px;transition:width .15s;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.hbar.hp .hb-l{color:#ff9db0}.hbar.hp i{background:linear-gradient(90deg,#8e1330,var(--cv-crimson) 55%,#ff8fa8)}
.hbar.xp .hb-l{color:var(--cv-lightgold)}.hbar.xp i{background:linear-gradient(90deg,#9c6a18,var(--cv-gold),var(--cv-lightgold))}
.hbar.tv .hb-l{color:#d6b8ff}.hbar.tv i{background:linear-gradient(90deg,var(--cv-violet),var(--cv-electric) 55%,var(--cv-cyan))}
.hbar.tv.full i{background:linear-gradient(90deg,var(--cv-gold),var(--cv-lightgold),#fff);animation:glow 1s infinite alternate}.hbar.tv.full .hb-v{color:var(--cv-lightgold)}
