.budget-badge{font-size:.8rem;font-family:var(--font-display);color:var(--green-soft);background:#10b9811f;border:1px solid #14532d;border-radius:8px;padding:.3rem .7rem}.budget-badge.over{color:var(--red-soft);background:#ef444426;border-color:#7f1d1d}
.attrtree{flex-direction:column;gap:.4rem;display:flex}.attrtree .stage{width:100%;max-width:780px;margin:0 auto;position:relative}.attrtree .svg{width:100%;height:auto;display:block}.attrtree .edge{stroke:#223048;stroke-width:10px;stroke-linecap:round}.attrtree .edge.open{stroke:#2d3d59}.attrtree .edge.active{stroke:var(--accent);opacity:.8}.attrtree .extra .ring{fill:#0e1524;stroke:#223048;stroke-width:4px}.attrtree .extra .icon{opacity:.3;pointer-events:none}.attrtree .node{cursor:pointer}.attrtree .node .ring{fill:#131c2e;stroke:#33415a;stroke-width:4px;transition:stroke .12s}.attrtree .node.locked .ring{fill:#0e1524;stroke:#223048}.attrtree .node.active .ring{stroke:var(--accent)}.attrtree .node.maxed .ring{stroke-width:6px;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 70%, transparent))}.attrtree .node:hover .ring{stroke:color-mix(in srgb, var(--accent) 70%, #33415a)}.attrtree .halo{fill:none;stroke:color-mix(in srgb, var(--accent) 50%, transparent);stroke-width:3px;stroke-dasharray:8 8}.attrtree .icon{pointer-events:none;opacity:.78}.attrtree .node.active .icon{opacity:1}.attrtree .node.locked .icon{opacity:.3}.attrtree .abbr{text-anchor:middle;font-family:var(--font-display);fill:#cbd5e1;pointer-events:none;font-size:22px}.attrtree .node.locked .abbr{fill:#4b5a72}.attrtree .lvl{text-anchor:middle;font-family:var(--font-display);fill:var(--text-mute);pointer-events:none;font-size:26px}.attrtree .node.active .lvl{fill:var(--text-soft)}.attrtree .node.locked .lvl{fill:#3d4a61}.attrtree .pop{z-index:5;border:1px solid #33415a;width:230px;padding:.6rem .75rem;position:absolute;box-shadow:0 8px 24px #0000008c}.attrtree .pname{color:#e5e7eb;font-size:.9rem;font-weight:600}.attrtree .pmeta{color:var(--text-mute);margin:.1rem 0 .3rem;font-size:.74rem}.attrtree .preq{color:var(--text-dim);margin-bottom:.4rem;font-size:.76rem}.attrtree .preq.bad{color:var(--red-soft)}.attrtree .tstepper{align-items:center;gap:.5rem;display:flex}.attrtree .tstepper button{color:#cbd5e1;background:#182234;border:1px solid #273449;border-radius:7px;width:34px;height:30px;font-size:1rem;line-height:1}.attrtree .tstepper button:hover{color:#e5e7eb;background:#22304a}.attrtree .tstepper .lvlnum{text-align:center;color:#fff;font-family:var(--font-display);flex:1;font-size:.92rem}.attrtree .thint{color:var(--text-mute);text-align:center;margin:0;font-size:.75rem}
.hh h2{font-size:1.35rem}.hh h3{font-size:1.15rem}.hh .sub{color:var(--text-dim);margin:0 0 1rem;font-size:.85rem}.hh .warn{color:var(--red-soft);margin:0 0 .8rem;font-size:.82rem}.hh .headrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.35rem;display:flex}.hh.overview{flex-wrap:wrap;align-items:flex-start;gap:1.25rem;display:flex}.hh.overview>:first-child{flex:1;min-width:320px}.hh .rail{flex-direction:column;flex:0 0 300px;gap:1rem;min-width:280px;display:flex}@media (max-width:720px){.hh .rail{flex-basis:100%}}.hh .cardhead{align-items:center;gap:.7rem;padding:1rem 1.1rem .4rem 1.4rem;display:flex}.hh .cardtitle{font-family:var(--font-display);color:#fff;font-size:1.35rem}.hh .headright{align-items:center;gap:.55rem;margin-left:auto;display:flex}.hh .hlvl{text-align:center;background:#1e293b;border:1px solid #334155;border-radius:9px;padding:.25rem .6rem;line-height:1.05}.hh .hlvllab{color:#94a3b8;letter-spacing:1px;font-size:.6rem}.hh .hlvlval{color:#fff;font-size:1.05rem;font-weight:700}.hh .refresh{color:#cbd5e1;background:#1e293b;border:1px solid #334155;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.hh .actions{gap:.4rem;padding:.35rem 1.1rem .8rem 1.4rem;display:flex;overflow-x:auto}.hh .act{color:#94a3b8;background:#182234;border:1px solid #273449;border-radius:8px;flex:none;justify-content:center;align-items:center;width:38px;height:34px;display:flex}.hh .act:hover{color:#e5e7eb;background:#22304a}.hh .divider{background:var(--border);height:1px;margin:0 1.1rem}.hh .sect{padding:1rem 1.1rem 0 1.4rem}.hh .sect.last{padding-bottom:1.3rem;padding-right:1.4rem}.hh .secthead{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.hh .run{color:var(--text-mute);font-size:.8rem;font-family:var(--font-sans)}.hh .statgrid{grid-template-columns:1fr 1fr;gap:.65rem 1.1rem;display:grid}.hh .stattile{padding:.7rem .8rem}.hh .statlab{color:var(--text-dim);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.hh .statval{align-items:baseline;gap:.4rem;margin-top:.25rem;display:flex}.hh .statval .big{color:#fff;letter-spacing:.5px;font-size:1.5rem;font-weight:800}.hh .statsub{color:var(--text-mute);font-size:.75rem}.hh .lootcol{flex-direction:column;gap:.6rem;display:flex}.hh .lootrow{align-items:center;gap:.9rem;padding:.6rem .9rem;display:flex}.hh .looticon{object-fit:contain;filter:drop-shadow(0 2px 4px #00000080);width:42px;height:42px}.hh .lootvals{text-align:center;flex:1;justify-content:space-around;display:flex}.hh .lootv{font-size:1.25rem;font-weight:800}.hh .lootcap{color:var(--text-mute);font-size:.72rem}.hh .bossgrid{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.hh .bosstile{padding:.75rem .8rem}.hh .bossval{color:#fff;margin:.2rem 0 .5rem;font-size:1.5rem;font-weight:800}.hh .bar{background:#1c2740;border-radius:6px;height:6px;overflow:hidden}.hh .railtitle{font-family:var(--font-display);color:#fff;margin-bottom:.6rem}.hh .flab{color:var(--text-dim);margin-bottom:.25rem;font-size:.75rem;display:block}.hh .full{width:100%;margin-bottom:.7rem}.hh .mt{margin-top:.2rem}.hh .err{color:var(--red-soft);margin:.5rem 0 0;font-size:.8rem}.hh .hint{color:var(--text-dim);margin:0 0 .6rem;font-size:.8rem;line-height:1.5}.hh .hint b{color:#cbd5e1}.hh .mirrorchips{flex-wrap:wrap;gap:.4rem;display:flex}.hh .mchip{color:#94a3b8;background:#182234;border:1px solid #273449;border-radius:6px;padding:.2rem .5rem;font-size:.72rem}.hh .rows{flex-direction:column;gap:.5rem;display:flex}.hh .gridrow{grid-template-columns:1.4fr 1fr auto;align-items:center;gap:.8rem;padding:.6rem .85rem;display:grid}.hh .rowname{color:#e5e7eb;font-size:.92rem;font-weight:600}.hh .roweff{color:var(--text-mute);font-size:.75rem}.hh .lvlbox{align-items:center;gap:.5rem;display:flex}.hh .numsm{text-align:center;width:4rem;padding:.4rem}.hh .stepbtn{color:#cbd5e1;background:#182234;border:1px solid #273449;border-radius:7px;flex:none;width:30px;height:28px;font-size:1rem;line-height:1}.hh .stepbtn:active{background:#22304a}.hh .max{color:var(--text-mute);font-size:.8rem;font-family:var(--font-display)}.hh .talentgrid{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.hh .talentcard{flex-direction:column;gap:.55rem;padding:.75rem .85rem;display:flex}.hh .talentcard.locked{opacity:.55}.hh .talenthead{align-items:center;gap:.45rem;display:flex}.hh .talenticon{object-fit:contain;width:22px;height:22px}.hh .talentcard.locked .talenticon{opacity:.45}.hh .talentname{font-size:.9rem;font-weight:600}.hh .pips{flex-wrap:wrap;gap:3px;display:flex}.hh .pip{border-radius:3px;flex:10px;min-width:8px;max-width:22px;height:6px}.hh .path{letter-spacing:1px;font-size:.8rem}.hh .headtools{align-items:center;gap:.6rem;display:flex}.hh .viewtoggle{border:1px solid #273449;border-radius:8px;display:flex;overflow:hidden}.hh .viewtoggle button{color:#94a3b8;background:#182234;border:0;justify-content:center;align-items:center;width:36px;height:30px;display:flex}.hh .viewtoggle button.on{color:var(--accent);background:#22304a}.hh .attrgrid{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.hh .attrcard{padding:.7rem .8rem}.hh .attrname{color:#e5e7eb;margin-bottom:.15rem;font-size:.88rem;font-weight:600}.hh .attreff{color:var(--text-mute);margin-bottom:.55rem;font-size:.74rem}.hh .stepper{align-items:center;gap:.5rem;display:flex}.hh .stepper.spaced,.hh .stepper.wide{justify-content:space-between}.hh .stepper button{color:#cbd5e1;background:#182234;border:1px solid #273449;border-radius:7px;flex:none;width:30px;height:28px;font-size:1rem;line-height:1}.hh .stepper button:disabled{opacity:.4;cursor:not-allowed}.hh .stepper .lvlnum{text-align:center;color:#fff;font-family:var(--font-display);flex:1;font-size:.9rem}@media (max-width:900px){.hh .talentgrid,.hh .attrgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.hh .talentgrid,.hh .attrgrid{grid-template-columns:1fr}}.hh .tworow{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}
