.talent-tree-viz{--node-size:48px;--node-gap:10px;--bg:#f8f9fa;--panel-bg:#fff;--panel-border:#e5e7eb;--accent:#6b7280;--accent-strong:#374151;--text:#111827;--text-muted:#6b7280;--text-dim:#9ca3af;--tooltip-bg:#fff;--tooltip-border:#d1d5db;--node-bg:#0000000f;--node-border:#d1d5db;--node-hover:#9ca3af;--branch-combat:#d97706;--branch-defense:#0284c7;--branch-utility:#059669;--branch-bg-combat:#d9770614;--branch-bg-defense:#0284c714;--branch-bg-utility:#05966914}@media (prefers-color-scheme:dark){.talent-tree-viz{--bg:#0f1115;--panel-bg:#1a1d26;--panel-border:#ffffff1f;--accent:#9ca3af;--accent-strong:#e5e7eb;--text:#e8eaed;--text-muted:#9ca3af;--text-dim:#6b7280;--tooltip-bg:#1f2937;--tooltip-border:#ffffff26;--node-bg:#00000059;--node-border:#fff3;--node-hover:#d1d5db;--branch-combat:#f59e0b;--branch-defense:#38bdf8;--branch-utility:#34d399;--branch-bg-combat:#f59e0b1f;--branch-bg-defense:#38bdf81f;--branch-bg-utility:#34d3991f}}.talent-tree-viz{background:var(--bg);color:var(--text);box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;overflow:hidden}.talent-tree-viz *{box-sizing:border-box}.talent-tree-viz .container{width:100%;min-width:0;max-width:1100px;margin:0 auto;padding:1rem .75rem 1.25rem;overflow-x:hidden}@media (min-width:641px){.talent-tree-embed-wrapper,.talent-tree-embed-wrapper .talent-tree-embed-inner,.talent-tree-embed-wrapper .talent-tree-viz,.talent-tree-viz .container{overflow:visible}}@media (max-width:640px){.talent-tree-viz{--node-size:40px;--node-gap:8px}.talent-tree-viz .node-wrap:hover .tooltip{visibility:hidden;opacity:0}.talent-tree-viz .container{padding:.75rem .5rem 1rem}.talent-tree-viz .foundation-section,.talent-tree-viz .foundation-label{text-align:left}.talent-tree-viz .foundation-row{justify-content:flex-start}.talent-tree-viz .tree-title{text-align:left;word-wrap:break-word;overflow-wrap:break-word;font-size:.8rem}.talent-tree-viz .tree-panel{min-height:320px;padding:.75rem .5rem}.talent-tree-viz .tier-block{padding:.5rem .6rem}.talent-tree-viz .tier-row{justify-content:flex-start}.talent-tree-viz .tree-content{align-items:flex-start}.talent-tree-viz .tier-badge,.talent-tree-viz .other-section,.talent-tree-viz .other-label{text-align:left}.talent-tree-viz .other-row{justify-content:flex-start}.talent-tree-viz .node-wrap .tooltip{max-width:min(280px,85vw)}.talent-tree-viz .node-wrap.tooltip-open .tooltip{max-height:min(70vh,400px);position:fixed;inset:50% auto auto 50%;overflow-y:auto;transform:translate(-50%,-50%)}.talent-tree-viz .node-wrap.tooltip-open .tooltip:after{display:none}.talent-tree-viz.has-tooltip-open .node-wrap.tooltip-open .tooltip{visibility:hidden;pointer-events:none}.talent-tree-viz .talent-tooltip-backdrop{z-index:99;background:0 0;position:fixed;inset:0}}.talent-tree-viz.talent-tooltip-desktop-portal{z-index:9999;pointer-events:none;width:260px;max-width:min(260px,90vw);position:fixed}.talent-tree-viz.talent-tooltip-desktop-portal .talent-tooltip-desktop-content{pointer-events:auto;background:var(--tooltip-bg);border:1px solid var(--tooltip-border);color:var(--text);text-align:left;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;border-radius:8px;padding:10px 12px;font-size:.78rem;line-height:1.45;box-shadow:0 4px 12px #00000026}.talent-tree-viz.talent-tooltip-desktop-portal .talent-tooltip-desktop-content .tt-name{color:var(--accent-strong);margin-bottom:6px;font-size:.9rem;font-weight:600;line-height:1.3}.talent-tree-viz.talent-tooltip-desktop-portal .talent-tooltip-desktop-content .tt-tier{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:6px;font-size:.68rem}.talent-tree-viz.talent-tooltip-desktop-portal .talent-tooltip-desktop-content .tt-effect{color:var(--text-muted);border-bottom:1px solid var(--tooltip-border);margin-bottom:8px;padding-bottom:8px;line-height:1.45}.talent-tree-viz.talent-tooltip-desktop-portal .talent-tooltip-desktop-content .tt-prereq-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:4px;font-size:.68rem}.talent-tree-viz.talent-tooltip-desktop-portal .talent-tooltip-desktop-content .tt-req{color:var(--text-muted);overflow-wrap:break-word;word-break:break-word;margin-bottom:6px;font-size:.76rem;line-height:1.5}.talent-tree-viz.talent-tooltip-desktop-portal .talent-tooltip-desktop-content .tt-req ul{margin:0;padding-left:1.1em;list-style-type:disc}.talent-tree-viz.talent-tooltip-desktop-portal .talent-tooltip-desktop-content .tt-cost{color:var(--text-dim);margin-top:6px;font-size:.7rem}.talent-tree-viz.talent-tooltip-mobile-portal{z-index:9999;pointer-events:none;position:fixed;inset:0}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-backdrop{pointer-events:auto}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-modal{pointer-events:auto;z-index:10000;background:var(--tooltip-bg);border:1px solid var(--tooltip-border);width:260px;max-width:min(280px,85vw);max-height:min(70vh,400px);color:var(--text);text-align:left;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;border-radius:8px;padding:10px 44px 10px 12px;font-size:.78rem;line-height:1.45;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000026}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex;position:absolute;top:8px;right:8px}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-close:hover{color:var(--text);background:var(--node-bg)}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-modal .tt-name{color:var(--accent-strong);margin-bottom:6px;font-size:.9rem;font-weight:600;line-height:1.3}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-modal .tt-tier{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:6px;font-size:.68rem}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-modal .tt-effect{color:var(--text-muted);border-bottom:1px solid var(--tooltip-border);margin-bottom:8px;padding-bottom:8px;line-height:1.45}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-modal .tt-prereq-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:4px;font-size:.68rem}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-modal .tt-req{color:var(--text-muted);overflow-wrap:break-word;word-break:break-word;margin-bottom:6px;font-size:.76rem;line-height:1.5}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-modal .tt-req ul{margin:0;padding-left:1.1em;list-style-type:disc}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-modal .tt-req li{margin-bottom:2px}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-modal .tt-req li:last-child{margin-bottom:0}.talent-tree-viz.talent-tooltip-mobile-portal .talent-tooltip-mobile-modal .tt-cost{color:var(--text-dim);margin-top:6px;font-size:.7rem}.talent-tree-viz .foundation-section{text-align:center;margin-bottom:1.25rem;padding-top:0}.talent-tree-viz .foundation-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem;font-size:.7rem}.talent-tree-viz .foundation-row{flex-wrap:wrap;justify-content:center;gap:12px;display:inline-flex}.talent-tree-viz .foundation-row .node-wrap{min-height:calc(var(--node-size) + 24px);padding-bottom:20px}.talent-tree-viz .foundation-section .node .rank{font-size:.65rem}.talent-tree-viz .trees{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:0;display:grid}@media (max-width:900px){.talent-tree-viz .trees{grid-template-columns:1fr}}.talent-tree-viz .tree-panel{border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:10px;min-height:400px;padding:1rem;position:relative;overflow:visible}.talent-tree-viz .tree-panel.combat{border-left:3px solid var(--branch-combat);background:var(--branch-bg-combat)}.talent-tree-viz .tree-panel.defense{border-left:3px solid var(--branch-defense);background:var(--branch-bg-defense)}.talent-tree-viz .tree-panel.utility{border-left:3px solid var(--branch-utility);background:var(--branch-bg-utility)}.talent-tree-viz .tree-panel.combat .tree-title{color:var(--branch-combat)}.talent-tree-viz .tree-panel.defense .tree-title{color:var(--branch-defense)}.talent-tree-viz .tree-panel.utility .tree-title{color:var(--branch-utility)}.talent-tree-viz .tree-title{text-align:center;color:var(--accent-strong);letter-spacing:.02em;margin-top:0;margin-bottom:.75rem;font-size:.85rem;font-weight:600;line-height:1.3}.talent-tree-viz .tree-content{flex-direction:column;align-items:center;gap:0;display:flex}.talent-tree-viz .tier-block{background:var(--node-bg);border-radius:8px;margin-bottom:1rem;padding:.75rem .9rem}.talent-tree-viz .tier-row{justify-content:center;gap:var(--node-gap);flex-wrap:wrap;margin-bottom:10px;display:flex;position:relative}.talent-tree-viz .tier-row:last-child{margin-bottom:0}.talent-tree-viz .tier-connector{background:var(--accent);opacity:.4;width:1px;min-height:12px;margin:0 auto 8px}.talent-tree-viz .tier-connector.wide{width:50%;max-width:100px;height:1px;min-height:1px}.talent-tree-viz .node-wrap{min-height:calc(var(--node-size) + 20px);flex-direction:column;align-items:center;padding-bottom:18px;display:inline-flex;position:relative}.talent-tree-viz .node{width:var(--node-size);height:var(--node-size);border:1px solid var(--node-border);background:var(--panel-bg);cursor:default;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex;position:relative}.talent-tree-viz .node:hover{border-color:var(--node-hover);background:var(--node-bg)}.talent-tree-viz .node .icon{background-image:url(/docs/icons/skill0000.png);background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:5px;width:100%;height:100%}.talent-tree-viz .node .rank{color:var(--text-muted);white-space:nowrap;margin-top:4px;font-size:.65rem;line-height:1.2;position:absolute;top:100%;left:50%;transform:translate(-50%)}.talent-tree-viz .node.ultimate{border-width:1px;border-color:var(--accent);width:54px;height:54px}.talent-tree-viz .node.ultimate:hover{border-color:var(--accent-strong);background:var(--node-bg)}.talent-tree-viz .node.ultimate .ultimate-badge{z-index:2;letter-spacing:.04em;color:var(--tooltip-bg);background:var(--accent-strong);border-radius:3px;padding:2px 4px;font-size:.5rem;font-weight:600;line-height:1.2;position:absolute;top:-5px;right:-5px}.talent-tree-viz .node-wrap:has(.node.ultimate){min-height:78px;padding-bottom:22px}.talent-tree-viz .node-wrap:has(.node.ultimate) .rank{margin-top:4px}.talent-tree-viz .node-wrap .tooltip{visibility:hidden;opacity:0;z-index:100;background:var(--tooltip-bg);border:1px solid var(--tooltip-border);width:260px;max-width:min(260px,90vw);color:var(--text);text-align:left;pointer-events:none;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;border-radius:8px;padding:10px 12px;font-size:.78rem;line-height:1.45;transition:opacity .12s,visibility .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.talent-tree-viz .foundation-section .node-wrap .tooltip{top:calc(100% + 8px);bottom:auto}.talent-tree-viz .foundation-section .node-wrap .tooltip:after{border-top-color:#0000;border-bottom-color:var(--tooltip-border);top:auto;bottom:100%}.talent-tree-viz .node-wrap:hover .tooltip,.talent-tree-viz .node-wrap.tooltip-open .tooltip{visibility:visible;opacity:1}.talent-tree-viz .node-wrap .tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--tooltip-border);margin-left:-5px;position:absolute;top:100%;left:50%}.talent-tree-viz .tooltip .tt-name{color:var(--accent-strong);margin-bottom:6px;font-size:.9rem;font-weight:600;line-height:1.3}.talent-tree-viz .tooltip .tt-tier{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:6px;font-size:.68rem}.talent-tree-viz .tooltip .tt-effect{color:var(--text-muted);border-bottom:1px solid var(--tooltip-border);margin-bottom:8px;padding-bottom:8px;line-height:1.45}.talent-tree-viz .tooltip .tt-prereq-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:4px;font-size:.68rem}.talent-tree-viz .tooltip .tt-req{color:var(--text-muted);overflow-wrap:break-word;word-break:break-word;margin-bottom:6px;font-size:.76rem;line-height:1.5}.talent-tree-viz .tooltip .tt-req ul{margin:0;padding-left:1.1em;list-style-type:disc}.talent-tree-viz .tooltip .tt-req li{margin-bottom:2px}.talent-tree-viz .tooltip .tt-req li:last-child{margin-bottom:0}.talent-tree-viz .tooltip .tt-cost{color:var(--text-dim);margin-top:6px;font-size:.7rem}.talent-tree-viz .tier-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);text-align:center;margin-bottom:6px;font-size:.65rem}.talent-tree-viz .other-section{text-align:center;margin-top:1.5rem}.talent-tree-viz .other-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.6rem;font-size:.7rem}.talent-tree-viz .other-row{gap:var(--node-gap);flex-wrap:wrap;justify-content:center;padding-bottom:18px;display:inline-flex}.talent-tree-viz .other-section .node{border-style:dashed}.talent-tree-viz .other-section .node-wrap{padding-bottom:18px}
