@import url('/site/icons.css');
:root{color-scheme:dark;--bg:#0a090c;--panel:#141218;--raised:#1b1821;--line:#29252e;--text:#e7e2eb;--muted:#96909e;--purple:#c19ad8;--gold:#d8b768;--green:#52c9ac}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}a{color:inherit;text-decoration:none}button,.button{border:1px solid var(--line);border-radius:7px;background:var(--raised);color:var(--text);padding:9px 17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{border-color:#7d618d;background:#25202e}button:disabled{opacity:.5;cursor:default}.primary{background:var(--purple);color:#201126;border-color:var(--purple);font-weight:650}.primary:hover{background:#d4b0e8}.quiet{background:transparent}.purple{color:var(--purple)}.muted,small{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{font-size:38px;line-height:1.15}h2{font-size:28px;margin-bottom:8px}h3{font-size:16px}input,select,textarea{color:var(--text);background:#0f0d12;border:1px solid var(--line);border-radius:6px;padding:10px 12px;max-width:100%}textarea{width:100%;resize:vertical;min-height:130px}label{display:block;color:var(--muted);font-size:12px}label input,label select{display:block;width:100%;margin-top:6px}.header{height:82px;display:flex;align-items:center;gap:30px;padding:0 max(28px,calc((100vw - 1320px)/2));border-bottom:1px solid var(--line);background:#0b0a0d}.brand{font-size:23px;letter-spacing:-.8px;font-weight:750;display:inline-flex;align-items:center;white-space:nowrap}.brand-symbol{font:60px/1 Georgia;color:var(--purple);margin-right:10px;transform:rotate(-12deg)}.header nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:13px;color:#bcb5c5}.header nav a:hover{color:var(--purple)}.game-label{font-size:10px;letter-spacing:1px;color:#8e7474;white-space:nowrap}.game-label span{color:var(--muted);margin-left:8px}#mobile-menu{display:none}.season-strip{padding:9px max(28px,calc((100vw - 1264px)/2));background:#100d16;display:flex;align-items:center;gap:12px;color:var(--purple);font-size:11px;letter-spacing:1.2px;border-bottom:1px solid #211b2a}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px #3bbf8d60}.strip-divider{color:#504256}.strip-right{margin-left:auto;color:#716b78;font-size:9px}.container{max-width:1264px;margin:auto;padding:48px 24px}.hero{max-width:890px;padding:86px 24px 62px;margin:auto;text-align:center}.eyebrow{color:var(--purple);letter-spacing:2.3px;font-size:10px;font-weight:650;text-transform:uppercase;margin-bottom:18px}.hero h1{font-size:65px;font-weight:700;letter-spacing:-2.4px;margin-bottom:22px}.hero h1 span{color:var(--purple)}.hero .lead{max-width:650px;margin:0 auto 12px;color:#b6aebb;font-size:17px;line-height:1.85}.hero .muted{font-size:13px}.search-launch{max-width:565px;margin:27px auto 23px;padding:15px 17px;border-radius:10px;background:#151218;border:1px solid #332b3b;text-align:left;display:flex;width:100%;color:#948c9c;font-size:14px}.search-launch kbd{margin-left:auto;font-size:11px;border:1px solid #3c3542;padding:1px 6px;border-radius:4px}.hero-actions{display:flex;justify-content:center;gap:12px}.stat-strip{display:grid;grid-template-columns:1fr 1fr 1.35fr;max-width:980px;margin:auto;border-block:1px solid var(--line);padding:25px 0;text-align:center}.stat-strip div+div{border-left:1px solid var(--line)}.stat-strip b{display:block;font:24px Georgia;color:var(--purple)}.stat-strip .gold{color:var(--gold)}.stat-strip .blue{color:#8bbce7}.stat-strip small{display:block;font-size:9px;letter-spacing:1.5px;margin-top:7px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.section-head a{font-size:12px;color:var(--purple)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.build-card{border:1px solid var(--line);border-radius:11px;background:var(--panel);overflow:hidden;display:block;text-align:left;padding:0;transition:transform .18s,border-color .18s}.build-card:hover{transform:translateY(-3px);border-color:#665173}.card-art{height:170px;position:relative;background:#211825 center 34%/cover}.art-warlock{background-image:linear-gradient(0deg,#141218,transparent 70%),url('/site/media/key-warlock.webp')}.art-necromancer{background-image:linear-gradient(0deg,#141218,transparent 70%),url('/site/media/key-necromancer.webp')}.art-rogue{background-image:linear-gradient(0deg,#141218,transparent 70%),url('/site/media/key-rogue.webp')}.art-sorcerer{background-image:linear-gradient(0deg,#141218,transparent 70%),url('/site/media/key-sorcerer.webp')}.card-art>img{position:absolute;bottom:12px;left:20px;width:48px;height:48px;object-fit:contain}.card-content{padding:17px 20px 21px}.card-content h3{color:var(--purple);margin-bottom:6px;font-size:16px}.card-content p{font-size:12px;color:var(--muted);margin-bottom:14px}.badge{font:10px 'Segoe UI',sans-serif;display:inline-block;border:1px solid #38313e;border-radius:20px;padding:4px 9px;letter-spacing:.3px;color:#bdb3c6;background:#211c29}.badge.gold{color:var(--gold);border-color:#4d402b;background:#251f16}.badges{display:flex;gap:6px;flex-wrap:wrap}.class-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}.class-card{display:flex;flex-direction:column;gap:9px;padding:23px 8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;font-size:11px}.class-card img{height:45px;width:45px;object-fit:contain}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tool-card{border:1px solid var(--line);border-radius:10px;padding:25px;background:linear-gradient(140deg,#1a1520,#100e13)}.tool-card>span{font-size:26px;color:var(--purple)}.tool-card h3{margin-top:15px}.tool-card p{font-size:13px;color:var(--muted)}.cta{margin:58px 0 8px;text-align:center;border:1px solid #362c42;border-radius:12px;padding:48px;background:radial-gradient(ellipse at top,#25192d,transparent 85%)}.cta h2{font-size:34px}.cta p{color:var(--muted);margin:15px auto 25px;max-width:580px}.footer{border-top:1px solid var(--line);padding:48px max(28px,calc((100vw - 1216px)/2)) 25px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;margin-top:50px}.footer p{color:var(--muted);font-size:12px;margin-top:10px}.footer b{font-size:10px;letter-spacing:1.5px;color:#b5a8bf;display:block;margin-bottom:15px}.footer>div>a:not(.brand){font-size:12px;color:var(--muted);display:block;margin:9px 0}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:#726a7c;display:flex;justify-content:space-between;gap:30px}.toolbar{display:flex;gap:12px;margin:22px 0;flex-wrap:wrap}.toolbar input{flex:1;min-width:180px}.tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid var(--line);padding-bottom:10px;margin:24px 0}.tabs button{background:transparent;border:0;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:1px;white-space:nowrap;padding:11px 17px}.tabs button.active{background:#241b2d;color:var(--purple);box-shadow:inset 0 -2px var(--purple);border-radius:6px 6px 0 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:25px;margin-bottom:18px}.build-header{padding:30px 32px;border-top:4px solid #745686;background:radial-gradient(ellipse at right,#271d30,transparent),var(--panel);border-radius:10px 10px 0 0}.build-heading{display:flex;gap:22px;align-items:center}.build-heading>img{width:62px;height:62px;object-fit:contain}.build-heading h1{font-size:34px;margin:5px 0 15px}.build-heading input{font-size:29px;font-family:Georgia;width:100%;border-color:transparent;background:transparent;padding:3px 0;margin-bottom:10px}.grow{flex:1;min-width:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.owner-line{display:flex;align-items:center;justify-content:space-between;margin-top:24px;color:var(--muted);font-size:12px}.owner-line b{color:#d0c4da}.build-layout{max-width:1216px;margin:auto}.gear-stage{display:grid;grid-template-columns:1fr 180px 1fr;gap:20px;padding:12px 0 26px}.gear-column{display:flex;flex-direction:column;gap:10px}.gear-slot{display:flex;gap:14px;align-items:center;text-align:left;padding:10px;background:#100e14;min-height:83px;width:100%}.gear-slot small{display:block;letter-spacing:1px;font-size:9px;margin-bottom:3px}.gear-slot strong{font-size:13px;color:#cabcda}.item-icon{width:48px;height:60px;object-fit:contain;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#5b4a68;font:30px Georgia;background-position:center;background-repeat:no-repeat;background-size:contain}.sigil{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#8a718d;letter-spacing:3px;font:12px Georgia}.sigil img{width:138px;height:170px;object-fit:contain;opacity:.55}.actionbar{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.actionbar button{min-height:90px;padding:12px 5px;display:flex;flex-direction:column;font-size:11px}.actionbar small{font-size:9px}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.catalog-entry{padding:14px;text-align:left;justify-content:flex-start;gap:12px;background:#151219;min-height:98px;overflow:hidden}.catalog-entry>span:last-child{min-width:0}.catalog-entry strong{font-size:12px;display:block}.catalog-entry small{font-size:10px;display:block;margin-top:5px}.catalog-entry .item-icon{height:48px;width:40px}.selection{border-color:#ab83c5;background:#2a2034}.empty{padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}.empty h3{color:var(--text)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .wide{grid-column:1/-1}.section-note{margin-top:20px}.scope-note{font-size:11px;color:#8f8399;border-left:2px solid #625073;padding-left:12px;margin:18px 0}.skill-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.skill-row{background:#18131e;border:1px solid var(--line);border-radius:6px;padding:13px}.skill-row header{display:flex;align-items:center;gap:9px;margin-bottom:9px}.skill-row strong{font-size:12px;flex:1}.skill-row button{padding:2px 9px}.skill-row p{font-size:11px;color:var(--muted);max-height:48px;overflow:hidden;margin:8px 0}.skill-row .rank{color:var(--gold);min-width:34px;text-align:center}.tree-viewport{height:660px;background:radial-gradient(#221a28,#100c15);border:1px solid var(--line);overflow:hidden;touch-action:none;border-radius:8px;position:relative;cursor:grab}.tree-viewport svg{width:100%;height:100%;display:block}.tree-edge{stroke:#534457;stroke-width:15}.tree-node{cursor:pointer}.tree-node circle{fill:#181320;stroke:#796584;stroke-width:8}.tree-node.invested circle{fill:#634071;stroke:#e1b6f6}.tree-node text{fill:#d6c9de;font:42px 'Segoe UI';pointer-events:none}.tree-node .rank-label{fill:#f5d995;font-size:43px}.tree-node.hub circle{fill:#38283c;stroke:#968081}.board-map{height:650px}.board-map .tree-edge{stroke-width:2}.board-map .tree-node circle{stroke-width:1.5}.board-map .tree-node text{font-size:5px}.board-map .rare circle{stroke:#d1b54a}.board-map .legendary circle{stroke:#ec9c45}.board-map .glyph circle{stroke:#dc7c9e}.board-map .invested circle{fill:#c196db;stroke:white}.tree-tools{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.tree-tools select{flex:1}.fine{font-size:11px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 280px;gap:20px}.chosen-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.chosen-list button{font-size:11px}.board-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.prose{white-space:pre-wrap;color:#b7adbf;font-size:13px}.pagination{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:24px}.pagination span{color:var(--muted);font-size:12px}dialog{background:#141019;color:var(--text);border:1px solid #4b3759;border-radius:12px;width:min(1060px,94vw);max-height:88vh;padding:32px}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.modal-close{float:right;padding:2px 10px;font-size:24px}.modal-head{padding-right:35px}.modal-head h2{font-size:27px;margin-bottom:12px}#modal-body>.toolbar{position:sticky;top:-32px;background:#141019;padding:15px 0;z-index:2}.record-fields{display:grid;grid-template-columns:140px 1fr;gap:8px;font-size:12px}.record-fields dt{color:var(--muted)}.record-fields dd{margin:0;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0b080f;padding:15px;border-radius:6px;max-height:350px;overflow:auto;font:11px/1.6 Consolas,monospace}.login{max-width:390px;margin:20px auto}.login label{margin-bottom:15px}.login .primary{width:100%}.login h2{margin-bottom:24px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 22px;background:#30213c;border:1px solid #775488;border-radius:7px;z-index:30;max-width:90vw;font-size:13px}#tip{position:fixed;max-width:350px;max-height:380px;overflow:auto;background:#170f1e;border:1px solid #8d649e;border-radius:8px;padding:20px;z-index:25;pointer-events:none;box-shadow:0 15px 45px #0009}#tip h3{color:var(--purple);margin-bottom:10px}#tip p{font-size:12px;white-space:pre-wrap}.variant-switch{margin:18px 0;display:flex;gap:10px;align-items:center}.variant-switch label{flex:1}.loading{min-height:360px;display:grid;place-items:center;color:var(--muted)}.error{color:#f2a4ae}button:focus-visible,a:focus-visible{outline:2px solid var(--purple)}[hidden]{display:none!important}.margin-top{margin-top:50px}.detail-buttons{display:flex;gap:10px;margin:18px 0}.legend{display:flex;gap:15px;font-size:10px;color:var(--muted)}.minor{font-size:11px}.recipe-raw{max-height:240px;overflow:auto} .class-card.active{border-color:var(--purple);background:#2b2033}
@media(min-width:1500px){.hero{padding-top:100px}.hero h1{font-size:72px}}
@media(max-width:1000px){.header{gap:18px;padding-inline:22px}.header nav{gap:15px}.game-label{display:none}.cards,.catalog-grid,.skill-list{grid-template-columns:repeat(2,1fr)}.class-grid{grid-template-columns:repeat(4,1fr)}.gear-stage{grid-template-columns:1fr 100px 1fr}.sigil img{width:90px}.split{grid-template-columns:1fr}.hero h1{font-size:57px}}
@media(max-width:680px){.header{height:68px;padding-inline:16px;gap:10px}.brand{font-size:19px}.brand-symbol{font-size:46px}.header nav{display:none;position:absolute;top:68px;left:0;right:0;padding:20px;background:#18111f;z-index:20;flex-wrap:wrap}.header nav.open{display:flex}.header #account-button{margin-left:auto;font-size:11px;padding:7px 10px}#mobile-menu{display:block;padding:5px 10px}.season-strip{padding-inline:16px;font-size:9px;gap:8px}.strip-right{display:none}.hero{padding:55px 20px 36px}.hero h1{font-size:42px;letter-spacing:-1.5px}.hero .lead{font-size:14px}.hero-actions{gap:8px;flex-wrap:wrap}.hero-actions .button{font-size:12px}.stat-strip{margin:0 18px;padding:20px 0;grid-template-columns:1fr 1fr}.stat-strip div:last-child{grid-column:1/-1;border:0;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.stat-strip b{font-size:21px}.container{padding:34px 17px}.cards,.tools-grid,.catalog-grid,.skill-list{grid-template-columns:1fr}.class-grid{gap:8px}.class-card{font-size:9px;padding:15px 5px}.class-card img{width:33px;height:33px}.section-head h2{font-size:25px}.section-head p{font-size:11px}.cta{padding:35px 18px}.cta h2{font-size:28px}.footer{padding:30px 20px;grid-template-columns:1fr 1fr}.footer>div:first-child{grid-column:1/-1}.footer-bottom{display:block;font-size:9px}.footer-bottom span{display:block;margin-top:8px}.build-header{padding:20px 17px}.build-heading{gap:12px;flex-wrap:wrap}.build-heading>img{width:43px;height:50px}.build-heading .actions{width:100%}.build-heading h1{font-size:26px}.build-heading input{font-size:24px}.panel{padding:17px}.gear-stage{grid-template-columns:1fr 1fr;gap:10px}.sigil{display:none}.gear-slot{gap:6px;padding:8px;min-height:80px}.gear-slot .item-icon{width:30px;height:43px}.gear-slot strong{font-size:10px}.gear-slot small{font-size:8px}.actionbar{grid-template-columns:repeat(3,1fr)}.actionbar button{min-height:75px}.owner-line{font-size:10px;gap:10px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.tree-viewport{height:520px}.toolbar{gap:7px}.toolbar select{max-width:48%}dialog{padding:22px;width:95vw}.tabs button{padding:10px 12px}.record-fields{grid-template-columns:100px 1fr}.variant-switch{flex-wrap:wrap}.hero h1 .purple{display:block}}
.modifier-row{display:flex;gap:10px;align-items:center;margin:10px 0}.modifier-row>button:first-child{flex:1;text-align:left;justify-content:flex-start;font-size:12px}.modifier-row>input{width:120px}.modifier-row label{display:flex;align-items:center;gap:5px}.modifier-row label input{width:auto;margin:0}.tree-node.selection circle{stroke:#fff7a5;stroke-width:15}.modifier-row+label{margin-top:15px}@media(max-width:680px){.modifier-row{flex-wrap:wrap}.modifier-row>button:first-child{flex-basis:100%}}
.analysis-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.analysis-metrics .panel{padding:20px}.analysis-metrics small{font-size:9px;letter-spacing:1px}.analysis-metrics strong{display:block;font:30px Georgia;color:var(--purple);margin-top:12px}.analysis-metrics strong span{font:14px 'Segoe UI';color:var(--muted)}.analysis-issues article{border-left:2px solid var(--gold);padding:12px 16px;margin:12px 0;background:#1c1720}.analysis-issues article>strong{font-size:13px;font-weight:500}.analysis-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.analysis-links button{font-size:10px;padding:5px 9px}.analysis-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.analysis-board-grid article{border:1px solid var(--line);padding:18px;border-radius:7px}.stat-detail,.skill-formula{border:1px solid var(--line);border-radius:6px;padding:15px;margin:10px 0}.stat-detail summary,.skill-formula summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px}.stat-detail summary strong{color:var(--purple);font-size:20px;white-space:nowrap}.stat-detail summary small{display:block;font-size:9px;overflow-wrap:anywhere}.stat-detail li{color:var(--muted);font-size:12px;margin:5px 0}.stat-detail li b{color:var(--text)}details>summary{cursor:pointer}.skill-formula summary span{font-size:11px;color:var(--muted);white-space:nowrap}.formula-value{border-top:1px solid var(--line);padding:14px 0;margin-top:15px}.formula-value>div{display:flex;justify-content:space-between;gap:16px;font-size:12px}.formula-value b{color:var(--purple)}.formula-value code{display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere;padding-top:8px}.attachment-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;background:#1c1721;border-radius:6px;margin-bottom:15px}.attachment-row p{margin:4px 0;font-size:12px}.attachment-row small{font-size:9px;letter-spacing:1px}.attachment-row button{font-size:11px}#connection-form select{width:100%}@media(max-width:680px){.analysis-metrics{grid-template-columns:1fr 1fr}.analysis-board-grid{grid-template-columns:1fr}.analysis-metrics .panel{padding:15px}.formula-value>div{flex-wrap:wrap}.attachment-row{flex-wrap:wrap}.stat-detail summary{gap:10px}.analysis-metrics strong{font-size:26px}}
