:root{--ground:#111314;--panel:#1D211F;--card:#2B302A;--ink:#F5ECC2;--ink-2:#D6D0B0;--muted:#928C76;--copper:#BB7125;--field:#B5DECC;--rule:rgba(245,236,194,.16);--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:Arial,"Helvetica Neue",sans-serif}
*{box-sizing:border-box}html{background:var(--ground);scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.5 var(--sans);background:radial-gradient(72rem 45rem at 110% 6%,rgba(187,113,37,.11),transparent 70%),radial-gradient(60rem 42rem at -12% 72%,rgba(181,222,204,.09),transparent 68%),var(--ground);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--field);outline-offset:3px}.tool-shell{width:min(1440px,100%);margin:0 auto;padding:0 clamp(20px,5vw,80px)}
.tool-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:center;gap:9px}.brand-mark{display:block;width:42px;height:auto;flex:none}.brand b{font-size:20px;letter-spacing:-.04em}.brand span,.mono,.eyebrow{font:10px var(--mono);letter-spacing:.2em;text-transform:uppercase}.brand span{color:var(--muted)}.brand .brand-sub{margin-left:2px}.tool-nav{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.tool-nav a{border:1px solid var(--rule);border-radius:999px;padding:9px 13px;color:var(--ink);font:10px var(--mono);letter-spacing:.15em;text-transform:uppercase;transition:.2s}.tool-nav a:hover,.tool-nav a[aria-current="page"]{background:var(--copper);border-color:var(--copper);color:var(--ground)}
.tool-hero{padding:clamp(52px,8vw,104px) 0 clamp(36px,6vw,72px);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:32px;align-items:end}.eyebrow{margin:0;color:var(--copper)}h1{margin:14px 0 0;font-size:clamp(52px,8vw,116px);line-height:.82;letter-spacing:-.075em;text-transform:lowercase}h1 em{font-style:normal;color:var(--copper)}.tool-hero p:last-child{margin:0;max-width:46ch;color:var(--ink-2);font-size:clamp(16px,1.6vw,20px);line-height:1.55}
main{padding:clamp(42px,6vw,82px) 0}.planner{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);gap:18px;align-items:start}.panel{border:1px solid var(--rule);border-radius:18px;background:linear-gradient(145deg,rgba(43,48,42,.92),rgba(20,23,22,.84));padding:clamp(20px,3vw,34px)}.panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 22px}.panel-title h2{margin:0;font-size:clamp(24px,3vw,38px);line-height:.9;letter-spacing:-.05em;text-transform:lowercase}.panel-title span{color:var(--muted);font:9px var(--mono);letter-spacing:.16em;text-transform:uppercase}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field label{color:var(--ink-2);font:10px var(--mono);letter-spacing:.15em;text-transform:uppercase}.field .sub{font:12px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}input,select{width:100%;min-height:48px;border:1px solid var(--rule);border-radius:10px;background:rgba(9,11,10,.46);color:var(--ink);padding:10px 12px}select option{background:#1d211f;color:var(--ink)}.toggles{display:grid;gap:10px;margin-top:18px}.toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--rule);border-radius:11px;background:rgba(0,0,0,.1)}.toggle b{display:block;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.toggle small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.toggle input{appearance:none;width:36px;min-height:auto;height:21px;margin:0;border-radius:999px;padding:2px;background:rgba(245,236,194,.18);border:0;transition:.2s}.toggle input::after{content:"";display:block;width:17px;height:17px;border-radius:50%;background:var(--ink);transition:.2s}.toggle input:checked{background:var(--field)}.toggle input:checked::after{transform:translateX(15px);background:var(--ground)}.choice-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.choice-row button,.preset{border:1px solid var(--rule);border-radius:999px;background:transparent;padding:10px 13px;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:.2s}.choice-row button:hover,.choice-row button.on,.preset:hover{border-color:var(--copper);background:var(--copper);color:var(--ground)}.divider{height:1px;background:var(--rule);margin:22px 0}.hint{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.hint b{color:var(--field)}
.result{position:sticky;top:16px}.result .panel{border-color:rgba(187,113,37,.65)}.result-top{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:24px}.result-top h2{margin:4px 0 0;font-size:clamp(32px,4.8vw,58px);line-height:.82;letter-spacing:-.065em;text-transform:lowercase}.result-top .pill{padding:6px 8px;border:1px solid var(--rule);color:var(--field);font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.stat{min-height:94px;padding:15px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.stat b{display:block;font-size:clamp(21px,2.8vw,32px);line-height:1;letter-spacing:-.045em;word-break:break-word}.stat span{display:block;margin-top:9px;color:var(--muted);font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase}.stat.time b{color:var(--field)}.stat.power b{color:var(--copper)}.result-note{margin:18px 0 0;color:var(--ink-2);font-size:13px;line-height:1.55}.result-note b{color:var(--field)}.steps{margin:18px 0 0;border-top:1px solid var(--rule);padding-top:16px}.steps summary{cursor:pointer;color:var(--ink-2);font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.steps ul{margin:12px 0 0;padding-left:18px;color:var(--muted);font:12px/1.6 var(--mono)}
.callout{margin:18px 0 0;border-left:2px solid var(--copper);padding:16px 18px;background:rgba(187,113,37,.08);color:var(--ink-2);font-size:13px;line-height:1.55}.callout strong{color:var(--ink)}.callout.good{border-left-color:var(--field);background:rgba(181,222,204,.08)}.callout.warn{border-left-color:#e28264;background:rgba(226,130,100,.09)}.callout ul{margin:8px 0 0;padding-left:18px}.section-rule{margin:clamp(52px,8vw,92px) 0 28px;padding-top:26px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:24px;align-items:end}.section-rule h2{margin:8px 0 0;font-size:clamp(30px,4vw,56px);line-height:.88;letter-spacing:-.06em;text-transform:lowercase}.section-rule p{max-width:42ch;margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.academy-controls{margin-bottom:18px}.academy-controls .field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.academy-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.academy-actions button{border:1px solid var(--rule);padding:10px 12px;background:transparent;color:var(--ink-2);font:10px var(--mono);letter-spacing:.11em;text-transform:uppercase}.academy-actions button:hover{border-color:var(--field);color:var(--field)}.node-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tree{--tree:#b5decc;border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:rgba(29,33,31,.65)}.tree[data-class="lan"]{--tree:#d9b26d}.tree[data-class="mks"]{--tree:#d67857}.tree summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;cursor:pointer;list-style:none}.tree summary::-webkit-details-marker{display:none}.tree-title{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.04em}.tree-title::before{content:"";display:block;width:10px;height:10px;background:var(--tree);box-shadow:0 0 12px color-mix(in srgb,var(--tree),transparent 35%)}.tree summary small{color:var(--muted);font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase}.node-list{border-top:1px solid var(--rule)}.node-era{padding:11px 16px 7px;color:var(--copper);font:9px var(--mono);letter-spacing:.15em;text-transform:uppercase;background:rgba(187,113,37,.08)}.node-row{display:grid;grid-template-columns:minmax(0,1fr) 62px 12px 62px;gap:7px;align-items:center;padding:11px 14px;border-top:1px solid rgba(245,236,194,.09)}.node-row:first-child{border-top:0}.node-row .node-name{min-width:0;color:var(--ink-2);font-size:12px;line-height:1.2}.node-row .node-name small{display:block;margin-top:3px;color:var(--muted);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.node-row select{min-height:33px;padding:4px 7px;text-align:center;border-radius:7px;font:12px var(--mono)}.node-row .arrow{color:var(--muted);text-align:center}.node-row.is-active .node-name{color:var(--ink)}.node-row.is-gated{background:rgba(226,130,100,.06)}.node-row.is-gated .node-name small{color:#e9a287}.tree-foot{padding:12px 16px;border-top:1px solid var(--rule);color:var(--muted);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.tree-foot b{color:var(--tree)}
.t12-roadmap{margin-bottom:18px}.t12-roadmap .panel-title{align-items:end}.t12-roadmap .panel-title>div{min-width:0}.roadmap-assumption{max-width:82ch;margin:0 0 22px;color:var(--ink-2);font-size:14px;line-height:1.55}.roadmap-lanes{display:grid;gap:10px}.roadmap-lane{--lane:#b5decc;border:1px solid var(--rule);border-left:3px solid var(--lane);border-radius:12px;padding:15px;background:rgba(0,0,0,.1)}.roadmap-lane[data-class="lan"]{--lane:#d9b26d}.roadmap-lane[data-class="mks"]{--lane:#d67857}.roadmap-lane-top{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.roadmap-lane-top h3{margin:0;font-size:20px;line-height:1;letter-spacing:-.04em}.roadmap-lane-top span{color:var(--lane);font:9px var(--mono);letter-spacing:.11em;text-transform:uppercase}.roadmap-path{display:flex;gap:7px;align-items:stretch;margin-top:13px;overflow-x:auto;padding-bottom:2px}.roadmap-node{position:relative;display:block;flex:1 0 128px;min-height:58px;padding:9px 22px 9px 10px;border:1px solid rgba(245,236,194,.13);border-radius:8px;background:rgba(255,255,255,.025);color:var(--ink-2);font-size:11px;line-height:1.2}.roadmap-node::after{content:"→";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--lane);font-size:14px}.roadmap-node:last-child::after{display:none}.roadmap-node b{display:block;margin-top:5px;color:var(--lane);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.roadmap-finish{display:grid;place-items:center;flex:0 0 112px;min-height:58px;padding:9px;border:1px solid var(--lane);border-radius:8px;background:color-mix(in srgb,var(--lane),transparent 93%);color:var(--ink);font:11px/1.2 var(--mono);letter-spacing:.04em;text-align:center;text-transform:uppercase}.roadmap-lane-cost{margin:11px 0 0;color:var(--muted);font:10px var(--mono);letter-spacing:.05em}.roadmap-lane-cost b{color:var(--ink-2);font-weight:600}.roadmap-total{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:18px;align-items:center;margin-top:14px;padding:19px;border:1px solid rgba(187,113,37,.62);border-radius:12px;background:rgba(187,113,37,.08)}.roadmap-total h3{margin:7px 0 0;font-size:clamp(26px,3.4vw,42px);line-height:.88;letter-spacing:-.06em;text-transform:lowercase}.roadmap-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.roadmap-metrics span{padding:9px;border-top:1px solid rgba(245,236,194,.16);color:var(--muted);font:9px var(--mono);letter-spacing:.07em;text-transform:uppercase}.roadmap-metrics b{display:block;margin-bottom:4px;color:var(--ink);font-size:16px;letter-spacing:-.04em;text-transform:none}
.academy-guide{display:grid;gap:18px}.academy-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr);gap:18px;align-items:start}.academy-steps{display:grid;gap:28px}.guide-step{position:relative;padding-top:2px}.guide-step+.guide-step{padding-top:28px;border-top:1px solid var(--rule)}.step-kicker{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--copper);font:10px var(--mono);letter-spacing:.15em;text-transform:uppercase}.step-kicker b{display:grid;place-items:center;width:21px;height:21px;border:1px solid currentColor;border-radius:50%;font:10px var(--mono)}.guide-step h3{margin:0;font-size:clamp(24px,3vw,36px);line-height:.95;letter-spacing:-.05em;text-transform:lowercase}.guide-copy{max-width:58ch;margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.academy-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}.academy-tab{min-height:62px;border:1px solid var(--rule);border-radius:11px;background:rgba(0,0,0,.12);color:var(--ink-2);text-align:left;padding:12px 13px;transition:.18s}.academy-tab b{display:block;font-size:16px;letter-spacing:-.03em}.academy-tab span{display:block;margin-top:3px;color:var(--muted);font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase}.academy-tab:hover,.academy-tab.on{border-color:var(--field);background:rgba(181,222,204,.1);color:var(--ink)}.academy-tab.on span{color:var(--field)}.scan-drop{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;margin-top:18px;padding:18px;border:1px dashed rgba(181,222,204,.65);border-radius:12px;background:rgba(181,222,204,.045);cursor:pointer;transition:.2s}.scan-drop:hover,.scan-drop.is-over{border-style:solid;background:rgba(181,222,204,.1)}.scan-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--field);border-radius:50%;color:var(--field);font-size:22px;line-height:1}.scan-drop b{display:block;color:var(--ink-2);font:12px var(--mono);letter-spacing:.08em;text-transform:uppercase}.scan-drop small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45}.scan-preview{display:block;width:100%;max-height:235px;object-fit:contain;object-position:left;border:1px solid var(--rule);border-radius:10px;margin-top:14px;background:rgba(0,0,0,.22)}.scan-status{min-height:1.5em;margin:11px 0 0;color:var(--muted);font:12px/1.5 var(--sans)}.scan-status.is-busy{color:var(--field)}.scan-review{margin-top:14px;padding:14px;border:1px solid rgba(181,222,204,.32);border-radius:10px;background:rgba(181,222,204,.06)}.scan-review b{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.scan-review ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0;padding:0;list-style:none}.scan-review li{padding:7px 8px;border:1px solid var(--rule);border-radius:7px;color:var(--ink-2);font-size:12px}.scan-review li span{color:var(--field);font-family:var(--mono)}.scan-apply{border:1px solid var(--field);border-radius:999px;background:var(--field);color:var(--ground);padding:10px 13px;font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.scan-apply:hover{filter:brightness(1.08)}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.goal-card{min-height:144px;border:1px solid var(--rule);border-radius:12px;background:rgba(0,0,0,.12);padding:15px;text-align:left;transition:.18s}.goal-card:hover,.goal-card.on{border-color:var(--copper);background:rgba(187,113,37,.1)}.goal-card b{display:block;font-size:18px;line-height:1;letter-spacing:-.04em}.goal-card span{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.4}.goal-card small{display:block;margin-top:12px;color:var(--copper);font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.plan-state{min-height:1.5em;margin:12px 0 0;color:var(--field);font-size:13px}.academy-buffs{margin-top:18px;border-top:1px solid var(--rule);padding-top:18px}.academy-buffs summary,.advanced-tree summary{cursor:pointer;list-style:none;color:var(--ink-2);font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.academy-buffs summary::-webkit-details-marker,.advanced-tree summary::-webkit-details-marker{display:none}.academy-buffs summary::after,.advanced-tree summary::after{content:"+";float:right;color:var(--copper);font-size:16px;line-height:.6}.academy-buffs[open] summary::after,.advanced-tree[open] summary::after{content:"–"}.academy-buffs .field-grid{margin-top:18px}.advanced-tree{margin-top:18px;border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:rgba(29,33,31,.5)}.advanced-tree>summary{padding:18px}.advanced-tree>summary span{display:block;margin-top:5px;color:var(--muted);font:12px/1.45 var(--sans);letter-spacing:0;text-transform:none}.advanced-inner{border-top:1px solid var(--rule)}.advanced-era{padding:12px 16px 8px;color:var(--copper);font:9px var(--mono);letter-spacing:.15em;text-transform:uppercase;background:rgba(187,113,37,.08)}.advanced-node{display:grid;grid-template-columns:minmax(0,1fr) 68px 12px 68px;gap:8px;align-items:center;padding:11px 15px;border-top:1px solid rgba(245,236,194,.09)}.advanced-node.is-active{background:rgba(181,222,204,.045)}.advanced-node.is-gated{background:rgba(226,130,100,.07)}.advanced-node-name{min-width:0;color:var(--ink-2);font-size:13px;line-height:1.25}.advanced-node-name small{display:block;margin-top:4px;color:var(--muted);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.advanced-node.is-gated .advanced-node-name small{color:#e9a287}.advanced-node select{min-height:35px;padding:4px 7px;text-align:center;border-radius:7px;font:12px var(--mono)}.advanced-arrow{color:var(--muted);text-align:center}.advanced-actions{display:flex;gap:8px;flex-wrap:wrap;padding:15px;border-top:1px solid var(--rule)}.advanced-actions button{border:1px solid var(--rule);background:transparent;padding:9px 11px;color:var(--ink-2);font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.advanced-actions button:hover{border-color:var(--field);color:var(--field)}.plan-roster{margin:18px 0 0;padding-top:15px;border-top:1px solid var(--rule)}.plan-roster h3{margin:0;color:var(--muted);font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase}.plan-roster ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 0;padding:0;list-style:none}.plan-roster li{padding:8px;border:1px solid var(--rule);border-radius:7px;color:var(--muted);font:10px var(--mono);letter-spacing:.05em}.plan-roster li b{display:block;color:var(--ink-2);font-size:12px;letter-spacing:0}.plan-roster li.on{border-color:var(--field)}.plan-roster li.on b{color:var(--field)}
.site-foot{padding:28px 0 44px;margin-top:56px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font:10px var(--mono);letter-spacing:.15em;text-transform:uppercase}
@media(max-width:980px){.planner,.academy-layout{grid-template-columns:1fr}.result{position:static}.node-grid{grid-template-columns:1fr}.academy-controls .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-total{grid-template-columns:1fr}}
@media(max-width:640px){.tool-head{padding:18px 0;align-items:flex-start}.brand{gap:7px}.brand-mark{width:36px}.brand .brand-sub{display:none}.tool-nav{gap:6px}.tool-nav a{padding:8px 9px;font-size:9px}.tool-hero{grid-template-columns:1fr;padding-top:50px}.field-grid,.academy-controls .field-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.node-row{grid-template-columns:minmax(0,1fr) 54px 10px 54px;padding:10px}.node-row .node-name{font-size:11.5px}.panel{border-radius:14px;padding:20px}.result-top h2{font-size:45px}.academy-tabs,.goal-grid{grid-template-columns:1fr}.advanced-node{grid-template-columns:minmax(0,1fr) 56px 10px 56px;padding:10px}.advanced-node-name{font-size:12px}.plan-roster ul{grid-template-columns:1fr}.academy-layout{gap:14px}.t12-roadmap .panel-title{align-items:flex-start}.roadmap-lane{padding:13px}.roadmap-lane-top{align-items:flex-start;flex-direction:column;gap:5px}.roadmap-node{flex-basis:114px}.roadmap-finish{flex-basis:104px}.roadmap-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}}
