
:root{--bg:#0a0c12;--surface:#11141e;--surface2:#191d2b;--surface3:#202538;--border:#303448;--borderhi:#464656;--text:#f1eee8;--muted:#aba9b8;--gold:#dfba6a;--gold2:#b98a3e;--violet:#b28bf5;--purple:#875cc7;--cyan:#87ddd2;--green:#75d9ab;--red:#e98e96;--radius:17px;--shadow:0 18px 65px rgba(0,0,0,.32)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% -15%,#2a2147 0,transparent 41%),radial-gradient(ellipse at -20% 9%,#123b38 0,transparent 25%),var(--bg);color:var(--text);font:14.7px/1.6 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}::selection{background:#7260a7;color:white}.app{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1700px;margin:auto;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--border);background:linear-gradient(170deg,rgba(20,22,35,.99),rgba(10,12,18,.98));padding:23px 17px;z-index:3}.brand{display:flex;align-items:center;gap:12px;padding:7px 8px 23px;border-bottom:1px solid var(--border)}.brandicon{display:grid;place-items:center;width:47px;height:47px;border:1px solid #8669ae;border-radius:15px;background:linear-gradient(145deg,#332149,#15232e);box-shadow:0 0 35px #6d449d35}.brandicon svg{width:32px;height:32px}.brand small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-weight:800}.brand strong{font-family:Georgia,serif;font-size:21px}.navlabel{font-size:10px;text-transform:uppercase;color:#8f8ba0;font-weight:800;letter-spacing:2px;margin:25px 13px 9px}.nav a{display:flex;gap:11px;align-items:center;color:#bdb9c6;padding:10px 13px;border-radius:10px;margin:2px 0;font-weight:550}.nav a:hover,.nav a.active{background:linear-gradient(90deg,#423154ba,#231e2e60);color:var(--text);text-decoration:none}.nav .symbol{display:inline-grid;place-items:center;width:22px;color:var(--gold);font-size:15px}.sidebar-note{margin-top:28px;padding:13px;background:#192024;border:1px solid #315249;border-radius:12px;font-size:11px;color:#b6d0c5}.sidebar-note b{color:#9fe4c4}.main{min-width:0;padding:0 3.7vw 90px}.hero{position:relative;padding:48px 40px 43px;margin:0 -3.7vw 31px;overflow:hidden;border-bottom:1px solid #65517a;background:radial-gradient(ellipse at 80% 12%,#49336570 0,transparent 37%),radial-gradient(ellipse at 45% 110%,#19605945 0,transparent 38%),linear-gradient(112deg,#17121f 0%,#1d1a2e 53%,#0c1420 100%)}.hero:before{content:"";position:absolute;right:-30px;top:-95px;width:570px;height:570px;background:repeating-conic-gradient(from 15deg,#66418318 0 13deg,transparent 13deg 37deg);clip-path:circle(42%);opacity:.5}.hero .inner{position:relative;max-width:1190px;margin:auto}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:2.7px;text-transform:uppercase;font-weight:800}.hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(35px,4vw,64px);line-height:1.08;letter-spacing:-1.7px;margin:14px 0 14px;max-width:850px}.hero h1 span{color:#cfb4ff}.hero p{color:#c4bfd1;max-width:770px;font-size:16px}.hero-foot{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.tag{border:1px solid #5d4a64;padding:5px 12px;border-radius:99px;color:#e9d4fa;background:#36284255;font-size:12px}.tag.live{border-color:#376959;color:#a3e8c8;background:#153d3050}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:24px}.btn{color:var(--text);border:1px solid #54516b;border-radius:10px;background:#282338;padding:9px 14px;font-size:13px;font-weight:650;transition:.2s}.btn:hover{background:#38314a;text-decoration:none}.btn.primary{background:linear-gradient(130deg,#9570cb,#67419b);border-color:#bd9def;color:white}.btn.subtle{background:transparent;border-color:var(--border);color:var(--muted)}.section{max-width:1200px;margin:39px auto 0;scroll-margin-top:25px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;flex-wrap:wrap;margin-bottom:17px}.section h2{font-family:Georgia,serif;font-size:32px;font-weight:500;margin:0;line-height:1.22}.section h2 small{font-family:system-ui;color:var(--gold);font-size:12px;letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:6px;font-weight:700}.section-sub{color:var(--muted);max-width:800px;margin:8px 0 0}.card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(170deg,rgba(27,29,42,.94),rgba(17,20,30,.96));box-shadow:0 7px 25px #00000017;overflow:hidden}.card-pad{padding:23px}.grid{display:grid;gap:16px}.col4{grid-template-columns:repeat(4,minmax(0,1fr))}.col3{grid-template-columns:repeat(3,minmax(0,1fr))}.col2{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{padding:20px 18px;position:relative;min-height:145px}.tile:after{content:"";position:absolute;right:16px;top:15px;width:27px;height:27px;border:1px solid #ffffff12;border-radius:50%;background:radial-gradient(circle,#ae91e01a,transparent)}.tile small,.kicker{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1.1px;font-weight:750}.tile strong{font-size:26px;display:block;line-height:1.3;margin-top:8px;color:var(--gold);font-family:Georgia,serif;font-weight:500}.tile span{color:#c3c1cd;font-size:12px;display:block;margin-top:8px}.level-control{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.level-num{width:95px;background:#121721;border:1px solid #75639b;color:#fff;border-radius:10px;font-size:29px;text-align:center;padding:4px 6px;font-weight:800}.slider{appearance:none;-webkit-appearance:none;width:100%;height:8px;border-radius:30px;background:linear-gradient(90deg,#8c6cc0,#553f7b);outline:0;margin:21px 0 10px}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;border:4px solid #efd09a;background:#241732;box-shadow:0 0 0 4px #8d6dbb77;cursor:pointer}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.info{border:1px solid #5a4933;background:#2c241a;border-radius:12px;padding:15px 17px;color:#efdbb1}.info.green{background:#142d2c;border-color:#32615a;color:#b4e8d4}.info.red{background:#321e27;border-color:#754456;color:#efb9be}.info strong{color:var(--gold)}.muted{color:var(--muted)}.small{font-size:12px}.pill{display:inline-block;font-size:11px;color:#efdcba;border:1px solid #80663e;background:#4b382015;border-radius:99px;padding:3px 9px;vertical-align:middle}.progress{height:9px;border-radius:10px;background:#303044;overflow:hidden;margin-top:8px}.progress div{height:100%;background:linear-gradient(90deg,#8c68d3,#82dcc8);border-radius:10px;transition:width .2s}.route-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:16px}.route-list{display:grid;gap:10px}.route-card{display:grid;grid-template-columns:86px 1fr auto;align-items:start;gap:16px;padding:16px 15px;border:1px solid #343746;border-radius:13px;background:#131824;cursor:pointer;transition:.15s}.route-card:hover{border-color:#866f9e;background:#1c1d30}.route-card.active{border-color:#b496d7;background:linear-gradient(90deg,#352642,#171c28)}.route-level{font-size:20px;color:var(--gold);font-family:Georgia,serif;padding-top:3px}.route-card h4{margin:0 0 3px;font-size:15px;font-weight:750}.route-card p{margin:0;color:var(--muted);font-size:12px}.route-card .arrow{font-size:22px;color:#a184c2}.route-detail{position:sticky;top:18px;align-self:start}.route-detail h3{font-family:Georgia,serif;font-size:27px;color:var(--gold);font-weight:500;margin:6px 0}.route-detail ul{padding-left:20px}.route-detail li{padding:4px 0}.route-check{display:flex;align-items:center;gap:12px;margin:13px 0 0}.route-check input{accent-color:#a583d1;width:19px;height:19px}.route-maplinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.minitabs{display:flex;gap:8px;flex-wrap:wrap}.minitabs button{border:1px solid var(--border);background:#171926;color:var(--muted);padding:7px 12px;border-radius:9px}.minitabs button.active{background:#413055;color:#fff;border-color:#8c6ab8}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.55fr);gap:16px}.map-frame{padding:12px;min-height:460px;background:linear-gradient(135deg,#132c35,#16192a 56%,#0d1c24)}.map-frame svg{display:block;width:100%;height:auto;min-height:420px}.map-details{padding:22px}.map-details h3{color:var(--gold);font-size:24px;font-family:Georgia,serif;font-weight:500;margin:6px 0}.map-details .coord{background:#0e141c;border:1px solid #334854;padding:7px 10px;border-radius:7px;font-size:12px;color:#b7d8d2}.map-anchor{cursor:pointer;transition:opacity .15s}.map-anchor:hover circle{stroke:#fff;stroke-width:3}.map-anchor text{pointer-events:none;font-size:13px;font-weight:700;fill:#fff}.map-anchor circle{fill:#6d518e;stroke:#f1d1a0;stroke-width:2}.map-anchor.current circle{fill:#287e70;stroke:#b2ffdb;stroke-width:3}.tree-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.8fr);gap:16px}.trees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.talent-column{border:1px solid #414056;border-radius:13px;background:linear-gradient(180deg,#292038,#161923);padding:14px 11px}.talent-column.demo{background:linear-gradient(180deg,#182d39,#151924)}.talent-column.dest{background:linear-gradient(180deg,#38251c,#151924)}.talent-column h3{font-family:Georgia,serif;font-size:22px;font-weight:500;margin:3px 4px 0}.talent-total{color:var(--gold);font-size:13px;margin:0 4px 12px}.talent-node{position:relative;display:block;width:100%;border:1px solid #4c465c;background:#151521cc;color:var(--muted);border-radius:10px;padding:10px 9px;text-align:left;margin:8px 0;min-height:67px}.talent-node .rank{display:inline-grid;place-items:center;float:right;font-weight:800;border:1px solid #5d5372;border-radius:5px;padding:1px 5px;color:#c6abd8;font-size:11px}.talent-node b{display:block;color:#e4dce8;font-size:12px;line-height:1.35;margin-right:34px}.talent-node small{color:#9b93a9;font-size:10px}.talent-node.unlocked{border-color:#a182d1;background:#372a4e}.talent-node.unlocked .rank{color:#fce0a1;border-color:#c2a162}.talent-node.next{box-shadow:0 0 0 1px #bfa074,0 0 20px #9e86502b}.talent-node:focus{outline:2px solid #ecd0a5}.talent-detail{padding:22px;position:sticky;top:18px;align-self:start}.talent-detail h3{font-family:Georgia,serif;font-size:27px;margin:6px 0}.talent-plan{max-height:380px;overflow:auto;border-top:1px solid var(--border);margin-top:13px;padding-top:8px}.talent-plan-row{display:flex;gap:11px;padding:9px 8px;border-radius:9px;align-items:center;font-size:12px}.talent-plan-row.selected{background:#4f4166}.talent-plan-row.past{color:#b4c1ad}.talent-plan-row .lv{min-width:32px;color:var(--gold);font-weight:800}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table td,.data-table th{border-bottom:1px solid #373b4a;padding:11px 10px;text-align:left}.data-table th{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:1px;background:#212131}.data-table tr:hover td{background:#22243655}.data-table td:first-child{color:#e6c88b;font-weight:700}.table-wrap{overflow:auto}.skillbox{border:1px solid #3d3e51;border-radius:14px;background:#151a25;padding:18px}.skillbox h3{font-family:Georgia,serif;font-size:22px;font-weight:500;margin:0 0 9px}.skillbox ol{padding-left:24px;margin:12px 0 0}.skillbox li{padding:5px 0}.skillbox li b{color:#dfc6ff}.pet-card{border:1px solid var(--border);border-radius:14px;background:linear-gradient(130deg,#202134,#141b25);padding:20px;display:grid;grid-template-columns:60px 1fr;gap:13px}.pet-avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:14px;background:linear-gradient(145deg,#50376a,#1c3b3f);border:1px solid #735a9b;font-size:27px}.pet-card h3{font-size:17px;margin:0}.pet-card p{color:var(--muted);margin:6px 0;font-size:12px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-item{padding:12px 14px;border:1px solid #383a4d;border-radius:10px;background:#151925;display:flex;align-items:start;gap:12px}.check-item input{width:18px;height:18px;accent-color:#9f80d5;margin-top:2px;flex-shrink:0}.check-item label{cursor:pointer}.check-item.done{border-color:#3a6556;background:#193027}.check-item.done label{text-decoration:line-through;color:#8cae9d}.sources{display:grid;gap:10px}.sources a{display:flex;justify-content:space-between;gap:20px;padding:14px 17px;border:1px solid var(--border);border-radius:10px;color:#c2dfd9;background:#161b26}.sources a:after{content:"↗";font-size:19px;color:var(--gold)}.foot{text-align:center;color:#8d8b9d;font-size:12px;padding:42px 10px 10px}.screenshot-marker{font-size:10px;color:#b8a1d7;font-weight:750;letter-spacing:1.2px;text-transform:uppercase}.filterline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filterline input,.filterline select{background:#141825;border:1px solid #47445b;color:#fff;border-radius:9px;padding:9px 12px;max-width:240px}.toast{position:fixed;right:25px;bottom:25px;background:#273c34;color:#c4f4d9;border:1px solid #5cbb90;padding:12px 17px;border-radius:12px;box-shadow:var(--shadow);z-index:9;display:none}.kbd{font-family:ui-monospace,Consolas,monospace;color:#fff;background:#373144;padding:2px 6px;border-radius:5px;font-size:12px}.mobile-bar{display:none}.list-soft{padding-left:20px}.list-soft li{margin:7px 0}.note-marker{margin-top:8px;font-size:11px;color:#b7b0ba}.tiny-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px}
@media(max-width:1100px){.col4{grid-template-columns:repeat(2,minmax(0,1fr))}.route-layout,.map-layout,.tree-layout{grid-template-columns:1fr}.route-detail,.talent-detail{position:static}.main{padding-left:25px;padding-right:25px}.hero{margin-left:-25px;margin-right:-25px}}@media(max-width:780px){.app{display:block}.sidebar{height:auto;position:relative;padding:12px 15px;border-bottom:1px solid var(--border)}.brand{padding:4px 0 10px}.brand small{font-size:9px}.nav{display:flex;overflow-x:auto;gap:4px;padding:4px 0;scrollbar-width:none}.navlabel,.sidebar-note{display:none}.nav a{padding:7px 10px;white-space:nowrap;font-size:12px}.main{padding:0 17px 70px}.hero{margin:0 -17px 24px;padding:32px 20px}.hero h1{font-size:36px}.section{margin-top:32px}.section h2{font-size:27px}.col3,.col2{grid-template-columns:1fr}.trees{grid-template-columns:1fr}.talent-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 9px}.talent-column h3,.talent-column .talent-total{grid-column:1/-1}.talent-node{margin:0}.check-grid{grid-template-columns:1fr}.route-card{grid-template-columns:64px 1fr auto;gap:10px}.route-level{font-size:17px}}@media(max-width:440px){.col4{grid-template-columns:1fr 1fr}.tile{padding:15px 12px;min-height:135px}.tile strong{font-size:19px}.section h2{font-size:25px}.level-control{grid-template-columns:1fr auto}.route-card{grid-template-columns:56px 1fr auto}.route-card h4{font-size:13px}.talent-column{grid-template-columns:1fr}.grid{gap:10px}}@media print{body{background:#fff;color:#111}.sidebar,.hero .toolbar,.btn,.filterline,.route-check{display:none!important}.app{display:block}.main{padding:0}.hero{background:#f3f2f5;color:#141414;margin:0}.hero h1{color:#141414}.hero p{color:#444}.card,.skillbox,.pet-card{color:#222;background:#fff;box-shadow:none;break-inside:avoid}.section{break-inside:avoid}.section h2{color:#111}.route-detail{position:static}.map-frame{display:none}a{color:#222}.talent-column{background:white!important}}

.storage-warning{color:#ffd3a0;border-color:#a06b37}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.info,.talent-node,.talent-column,.check-item,.route-card,.coord{background:white!important;color:#111!important;border-color:#aaa!important}.muted,.small,.talent-node b,.talent-node small,.route-card p,.hero h1 span{color:#333!important}.section-sub{color:#333}.toast{display:none!important}h3,h4,strong,b{color:#111!important}}
