:root{color-scheme:dark;--bg:#0b1118;--panel:#121c27;--line:#263443;--text:#dbe5ed;--muted:#8fa1b2;--gold:#d9b978;--cyan:#70ddd8;--purple:#b797ef;--radius:12px;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.8}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,svg [tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button{background:transparent;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 12px}button:hover{border-color:var(--cyan);color:var(--cyan)}.skip{position:absolute;top:-60px;z-index:99;background:var(--panel);padding:10px}.skip:focus{top:0}.sidebar{position:fixed;inset:0 auto 0 0;width:218px;padding:32px 22px;background:#0e1620;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.brand{font-size:16px;font-weight:800;letter-spacing:.6px;color:var(--text)}.brand span{color:var(--cyan)}.brand small{display:block;font-weight:400;font-size:12px;letter-spacing:2px;color:var(--muted);margin-top:8px}.side-label{font-size:11px;color:var(--muted);letter-spacing:2px;margin:50px 0 14px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;gap:15px;padding:10px 8px;border-radius:6px;color:#617a8c;font-size:11px}.sidebar nav a span{color:var(--muted);font-size:14px}.sidebar nav a:hover,.sidebar nav a.current{background:#192938;text-decoration:none}.sidebar nav a.current span{color:var(--cyan)}.campaign-link{margin-top:36px;font-size:12px}.side-note{color:#728696;font-size:11px;margin-top:auto;padding-top:24px}main{margin-left:218px;max-width:1550px;padding:0 42px 30px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}.topbar a{font-size:12px}.hero{position:relative;padding:54px 0 0;overflow:hidden}.eyebrow{font-size:11px;letter-spacing:2.4px;color:var(--cyan);font-weight:600}.dot{display:inline-block;width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 14px #70ddd8;margin-right:8px}h1{font-size:clamp(32px,3.6vw,52px);letter-spacing:-1px;line-height:1.25;margin:22px 0}h1 span{display:block;color:var(--gold);font-size:.62em;letter-spacing:0;margin-top:14px}h2{font-size:27px;line-height:1.4;margin:9px 0 0;letter-spacing:.1px}h3{font-size:18px;line-height:1.5;margin:0 0 12px}h4{margin:10px 0;color:var(--gold)}p{margin:12px 0;color:#b0c1cf}.hero-copy{max-width:610px;position:relative;z-index:1}.hero-actions{display:flex;gap:12px;margin:27px 0 36px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border-radius:7px;border:1px solid #37505e;color:var(--text);font-size:13px}.button.primary{background:var(--cyan);border-color:var(--cyan);color:#092022;font-weight:700}.button:hover{filter:brightness(1.1);text-decoration:none}.hero-mark{position:absolute;right:5%;top:40px;width:245px;height:235px;opacity:.65;pointer-events:none}.hero-mark .orbit{position:absolute;border:1px solid #436a6d;border-radius:50%;inset:17px;transform:rotate(-28deg)}.hero-mark .orbit.two{inset:37px;border-style:dashed;transform:rotate(30deg)}.crystal{position:absolute;inset:43px 75px 37px;clip-path:polygon(50% 0,100% 31%,70% 100%,0 70%,5% 34%);background:linear-gradient(125deg,#b5f8f3 0%,#4d919b 28%,#254b67 29%,#183146 65%,#71dfd8 66%,#183146 100%);filter:drop-shadow(0 0 20px #70ddd8)}.hero-mark span{position:absolute;bottom:3px;width:100%;text-align:center;color:var(--cyan);letter-spacing:5px;font-size:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0;position:relative;background:var(--bg)}.stats>div{padding:0 24px;border-right:1px solid var(--line)}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats strong{display:block;font-size:28px;line-height:1.3;font-weight:600}.stats strong small{font-size:13px;margin-left:7px;font-weight:400;color:var(--muted)}.stats span{color:var(--muted);font-size:12px}.notice{margin:26px 0;padding:17px 20px;background:#172127;border:1px solid #3b493a;border-left:3px solid var(--gold);color:#b9c5c9;font-size:13px;border-radius:0 8px 8px 0}.notice.compact{margin:18px 0}section:not(.hero){margin-top:60px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.pill{display:inline-flex;border:1px solid #35484e;background:#18272d;color:#a9c8c7;border-radius:5px;padding:4px 9px;font-size:11px;white-space:nowrap}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.steps-grid article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.steps-grid b{font-size:24px;font-weight:400;color:var(--gold)}.steps-grid h3{font-size:16px;margin-top:12px}.steps-grid p{font-size:13px;margin-bottom:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-top:20px}.panel ol{padding-left:20px;color:#b0c1cf}.panel li{padding:5px 0}.muted{font-size:12px;color:var(--muted)}.text-button{padding:0;border:0;color:var(--cyan);border-radius:0;text-align:left;line-height:inherit}.text-button:hover{text-decoration:underline}.block{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.tree-shell{border:1px solid #3b4d5d;border-radius:var(--radius);overflow:hidden;margin-top:22px;background:#0e1721}.tree-toolbar{padding:12px;display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;background:#17222e;border-bottom:1px solid var(--line)}.segmented{display:flex;gap:4px;padding:3px;background:#0d1720;border:1px solid var(--line);border-radius:7px;max-width:100%}.segmented button{border-color:transparent;font-size:12px;padding:7px 10px;white-space:nowrap}.segmented button[aria-pressed=true]{background:#254047;color:var(--cyan);border-color:#3a6468}.tree-tools{display:flex;gap:5px}.tree-tools button{font-size:12px}.tree-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:560px}.tree-canvas{position:relative;background:radial-gradient(ellipse at 50% 50%,#152839, #0a111a 80%);overflow:hidden;min-height:560px}.tree-canvas:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#657e8224 1px,transparent 1px);background-size:24px 24px}#passive-tree{width:100%;height:560px;display:block;position:relative;touch-action:none;cursor:grab}#passive-tree:active{cursor:grabbing}.tree-edge{stroke:#2d3948;stroke-width:12;fill:none}.tree-node{cursor:pointer}.tree-node circle{stroke:#576779;stroke-width:12;fill:#14212e}.tree-node.allocated circle{fill:#d9b978;stroke:#f0d9a9}.tree-node.allocated.staff circle{fill:#3d9f9f;stroke:#81ede3}.tree-node.allocated.bow circle{fill:#78639d;stroke:#ccabea}.tree-node.inactive circle{opacity:.24;fill:#23303b;stroke:#64717d}.tree-node.selected circle{stroke:#fff;stroke-width:28;filter:drop-shadow(0 0 22px #c9f3eb)}.tree-node text{font-size:108px;fill:#dce6ed;paint-order:stroke;stroke:#0b1118;stroke-width:22px;pointer-events:none;text-anchor:middle}.tree-legend{position:absolute;bottom:18px;left:17px;display:flex;gap:13px;font-size:10px;background:#0b1118de;padding:7px 10px;border-radius:4px;pointer-events:none}.legend:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:var(--gold)}.legend.staff:before{background:var(--cyan)}.legend.bow:before{background:var(--purple)}.legend.dim:before{background:#495664}.tree-status{position:absolute;top:12px;left:14px;font-size:11px;color:var(--muted);pointer-events:none}.tree-inspector{border-left:1px solid var(--line);padding:18px;background:#121d28;font-size:13px}.tree-inspector label{font-size:12px;color:var(--muted)}input{border:1px solid #344c5d;border-radius:6px;background:#0c1620;color:var(--text);padding:9px 11px;max-width:100%;width:100%}.tree-inspector input{margin:8px 0}.node-results{max-height:140px;overflow:auto;margin-bottom:10px}.node-results button{display:block;width:100%;text-align:left;border:0;border-radius:2px;padding:5px 7px;font-size:12px}.node-results button:hover{background:#203540}#node-detail{border-top:1px solid var(--line);padding-top:17px}#node-detail h3{margin:7px 0;font-size:20px}#node-detail ul{padding-left:17px;font-size:13px;color:var(--text)}#node-detail .eyebrow{font-size:10px;letter-spacing:1px}.tree-instructions .panel{margin-top:18px}summary{cursor:pointer;color:var(--gold);font-size:13px;padding:3px 0}details[open]>summary{margin-bottom:13px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th,td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--gold);font-weight:500;background:#152432}td{color:#bcccd8}th:nth-child(2),td:nth-child(2){white-space:nowrap}.skill-filters{width:max-content;margin:24px 0 18px}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.skill-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;display:flex;flex-direction:column}.skill-top{display:flex;gap:13px;align-items:center;padding:20px 20px 16px}.skill-number{color:var(--gold);font-size:22px;font-weight:300}.skill-top h3{margin:0;font-size:19px}.skill-top h3 a{color:var(--text)}.skill-top small{color:var(--muted);font-size:11px}.skill-top>.pill{margin-left:auto}.binding{padding:9px 20px;background:#192a35;display:flex;gap:10px;align-items:center;font-size:11px}.binding span{color:var(--muted)}.binding strong{font-weight:500;color:var(--cyan);font-size:12px}.binding small{margin-left:auto;color:var(--muted)}.gem-chain{padding:12px 20px}.gem{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid #26344380}.gem:last-child{border:0}.gem-dot{display:block;flex:0 0 9px;width:9px;height:12px;background:#447e8d;clip-path:polygon(50% 0,100% 30%,80% 85%,50% 100%,0 60%,0 30%)}.main-gem .gem-dot{background:var(--cyan)}.active-gem .gem-dot{background:var(--gold)}.gem a{font-size:13px;color:#c1dadd}.gem small{display:block;font-size:10px;color:var(--muted);line-height:1.5}.copy-icon{padding:2px 6px;font-size:10px;border-color:#31434e;color:#819caa;flex-shrink:0;margin-left:auto;min-height:24px}.skill-note{margin:auto 0 0;padding:15px 20px;background:#0f1821;color:#9bafbd;font-size:12px}.spirit-panel{border-color:#4f5a42}.spirit-panel .two-col{gap:24px}.spirit-panel strong{color:var(--gold)}.gear-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gear-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:19px;display:flex;flex-direction:column;min-width:0}.gear-slot{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;margin-bottom:12px}.gear-slot span{font-size:10px;color:#b0867c}.gear-card h3,.jewel-card h3{margin:0 0 3px}.gear-card h3 a{color:#d5dba2}.gear-card.unique h3 a,.jewel-card h3 a{color:var(--gold)}.item-stats{display:flex;flex-wrap:wrap;gap:5px 13px;padding:12px 0;margin:9px 0 0;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.item-stats strong{color:var(--text);font-size:13px}.gear-advice{font-size:12px;color:#b2c3d0;margin:0 0 16px}.runes{display:grid;gap:3px;background:#0c1720;border-left:2px solid #3f6e70;padding:10px;font-size:11px;margin-bottom:16px}.runes strong{font-size:10px;font-weight:400;color:var(--muted);margin-bottom:4px}.gear-card details{margin-top:auto;border-top:1px solid var(--line);padding-top:11px}.mod-list{list-style:none;padding:0;margin:10px 0 0}.mod-list li{display:flex;gap:8px;align-items:flex-start;border-bottom:1px solid #26344380;padding:7px 0;font-size:12px;line-height:1.6}.mod-list li:last-child{border:0}.mod-list a{color:#9eb6e2}.mod-list .conditional a{color:#728494}.jewel-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.jewel-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:21px}.jewel-card p{font-size:12px}.jewel-card .mod-list{border-top:1px solid var(--line);padding-top:9px}.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:center;margin:26px 0}.flow article{border:1px solid #375360;border-radius:var(--radius);background:linear-gradient(145deg,#172b36,#111b28);padding:22px;align-self:stretch}.flow b{font-size:11px;color:var(--cyan)}.flow h3{font-size:16px;margin:10px 0}.flow p{font-size:12px;margin-bottom:0}.flow>span{color:var(--gold);font-size:22px}.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.calc-fields label{font-size:12px;color:var(--muted)}.calc-fields input{margin-top:6px}output{display:block;border:1px solid #355758;border-radius:8px;background:#152c32;padding:20px;color:var(--cyan);font-size:22px}.download-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.download-grid a{display:block;border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--panel)}.download-grid strong{font-size:14px;font-weight:500;display:block}.download-grid span{font-size:11px;color:var(--muted)}code{background:#0b141d;border:1px solid #2a3a48;padding:2px 4px;border-radius:3px;font-size:.83em;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);margin-top:48px;padding:24px 0;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:15px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:9px 20px;background:#d2f5ed;color:#153c36;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;z-index:20;transition:opacity .2s}#toast.visible{opacity:1}[hidden]{display:none!important}
@media(min-width:1700px){main{margin-inline:auto;padding-left:260px;max-width:1750px}}@media(max-width:1280px){main{padding:0 25px 25px}.sidebar{width:195px;padding:25px 16px}main{margin-left:195px}.gear-grid{grid-template-columns:1fr 1fr}.tree-body{grid-template-columns:minmax(0,1fr) 245px}.hero-mark{right:0;opacity:.32}.hero-copy{max-width:520px}.steps-grid{grid-template-columns:1fr 1fr}}@media(max-width:920px){.sidebar{position:relative;width:100%;padding:17px 22px;border-right:0;border-bottom:1px solid var(--line)}.brand small,.side-label,.side-note,.campaign-link{display:none}.sidebar nav{display:flex;overflow-x:auto;margin-top:13px;gap:6px}.sidebar nav a{white-space:nowrap;gap:6px;padding:5px 8px}.sidebar nav a span{font-size:12px}main{margin-left:0;padding:0 22px 25px}.topbar{height:58px}.tree-body{grid-template-columns:minmax(0,1fr) 230px}.tree-inspector{padding:13px}.stats strong{font-size:24px}.hero{padding-top:35px}.hero-mark{opacity:.4;right:15px;top:22px;width:210px;height:220px}}@media(max-width:640px){body{font-size:14px}main{padding:0 16px 24px}.topbar{font-size:10px}.topbar a{font-size:10px}.hero-mark{opacity:.2;right:-35px;top:25px}.hero-copy{max-width:90%;font-size:13px}h1{font-size:36px}h2{font-size:24px}.hero-actions{gap:9px}.button{font-size:12px;padding:9px 12px}.stats{grid-template-columns:1fr 1fr;row-gap:18px}.stats>div{padding:0 13px}.stats>div:nth-child(3){padding-left:0}.stats>div:nth-child(2){border:0}.stats span{font-size:11px}.notice{font-size:12px;padding:13px 15px}.section-heading{align-items:flex-start;flex-direction:column;gap:10px}.steps-grid{gap:10px}.steps-grid article{padding:16px}.steps-grid h3{font-size:14px}.steps-grid p{font-size:12px}section:not(.hero){margin-top:43px}.two-col,.skills-grid,.gear-grid,.jewel-grid,.download-grid{grid-template-columns:1fr}.panel{padding:19px}.tree-toolbar{padding:9px;gap:8px}.segmented button{padding:6px 9px;font-size:11px}.tree-body{grid-template-columns:1fr}.tree-canvas{min-height:430px}#passive-tree{height:430px}.tree-inspector{border-left:0;border-top:1px solid var(--line);padding:17px}.node-results{max-height:108px}.tree-legend{bottom:12px;font-size:9px;gap:10px}.tree-tools button{font-size:11px}.tree-status{font-size:10px}.skill-top{padding:17px}.skill-top h3{font-size:18px}.binding{padding:9px 17px}.skill-top>.pill{font-size:10px}.gem-chain{padding:10px 17px}.flow{grid-template-columns:1fr;gap:10px}.flow>span{text-align:center;transform:rotate(90deg);line-height:1}.flow article{padding:18px}.calc-fields{gap:10px}output{font-size:20px}footer{flex-direction:column;gap:6px}.tree-inspector #node-detail{min-height:160px}.copy-icon{min-width:34px;min-height:28px}th,td{padding:10px;min-width:80px}.spirit-panel .two-col{gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.section-heading:has(> .eyebrow){display:block}
