:root{
  --bg:#05080f; --bg2:#070c16;
  --p1:#0d1626; --p2:#0b1220; --line:#1c2a45; --line2:#16223a;
  --tx:#e8eef9; --mut:#8b9cb8; --mut2:#5c6c88;
  --acc:#22d3ee; --acc2:#a78bfa; --accInk:#04202a;
  --ok:#34d399; --warn:#fbbf24; --bad:#fb7185;
  --mono:"Cascadia Code",Consolas,ui-monospace,"SF Mono",monospace;
  --sans:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
button,input,select{font:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.skip{position:fixed;left:12px;top:12px;z-index:1000;transform:translateY(-160%);background:var(--acc);color:var(--accInk);padding:9px 14px;border-radius:8px;font-weight:700}
.skip:focus{transform:none}
.status{position:fixed;right:20px;bottom:20px;z-index:1000;max-width:min(360px,calc(100vw - 40px));padding:11px 15px;border:1px solid var(--line);border-radius:11px;background:#0d1728f2;color:var(--tx);box-shadow:0 10px 30px #0008;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}
.status.on{opacity:1;transform:none}
*{scrollbar-width:thin;scrollbar-color:#22304e #0a0f1a}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0a0f1a}
::-webkit-scrollbar-thumb{background:#22304e;border-radius:5px;border:2px solid #0a0f1a}
::-webkit-scrollbar-thumb:hover{background:#33436a}
body{
  background:var(--bg); color:var(--tx); font-family:var(--sans);
  font-size:15px; line-height:1.5; min-height:100vh;
  background-image:
    radial-gradient(1100px 520px at 80% -10%, color-mix(in srgb, var(--acc) 6%, transparent), transparent 62%),
    radial-gradient(800px 460px at -10% 110%, color-mix(in srgb, var(--acc2) 4%, transparent), transparent 64%);
  background-size:100% 100%,100% 100%;
  background-attachment:fixed;
}
::selection{background:color-mix(in srgb,var(--acc) 35%, transparent)}
#app{display:grid;grid-template-columns:244px 1fr;min-height:100vh}

/* ── sidebar ─────────────────────────────── */
#side{
  border-right:1px solid var(--line2);
  background:linear-gradient(180deg,#080e1a 0%,#060a13 100%);
  padding:22px 14px; display:flex; flex-direction:column; gap:8px;
  position:sticky; top:0; height:100vh; overflow-y:auto; scrollbar-width:thin;
}
.logo{display:flex;align-items:center;gap:11px;padding:3px 8px 20px}
.logo .mark{
  width:36px;height:36px;border-radius:10px;flex:none;
  background:conic-gradient(from 210deg, var(--acc), var(--acc2), var(--acc));
  display:grid;place-items:center;color:#04111a;font:800 19px var(--mono);
  box-shadow:0 0 18px color-mix(in srgb,var(--acc) 40%,transparent);
}
.logo .t1{font-weight:700;font-size:16px;letter-spacing:.01em}
.logo .t2{font:600 9.5px var(--mono);letter-spacing:.34em;color:var(--acc);margin-top:2px}
.nav{display:flex;flex-direction:column;gap:3px}
.nav-group{padding:13px 11px 4px;color:var(--mut2);font:700 9px var(--mono);letter-spacing:.22em}
.nav button{
  display:flex;align-items:center;gap:12px;width:100%;
  background:none;border:0;color:var(--mut);font:500 14.5px var(--sans);
  padding:9px 11px;border-radius:9px;cursor:pointer;text-align:left;position:relative;
}
.nav button svg{width:19px;height:19px;flex:none;opacity:.85}
.nav button:hover{color:var(--tx);background:#0d1626}
.nav button.on{color:#fff;background:color-mix(in srgb,var(--acc) 10%,#0c1524)}
.nav button.on::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--acc)}
.nav .n{margin-left:auto;font:600 10px var(--mono);color:var(--mut2)}
.side-foot{margin-top:auto;padding:18px 4px 0;display:grid;grid-template-columns:1fr;gap:6px;border-top:1px solid var(--line2)}
.side-tools-label{font:600 9.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mut2);padding:0 6px 4px}
.side-foot button{
  background:#0a111e;border:1px solid var(--line2);color:var(--mut);
  font:500 12.5px var(--sans);padding:9px 10px;border-radius:9px;cursor:pointer;
  display:flex;align-items:center;justify-content:flex-start;gap:9px;
}
.side-foot button:hover{color:var(--tx);border-color:var(--line)}
.side-foot svg{width:14px;height:14px}

/* ── main / header ───────────────────────── */
#main{padding:34px 42px 64px;max-width:1240px;width:100%;margin:0 auto;min-width:0}
.hdr{display:flex;align-items:flex-start;gap:20px;margin-bottom:24px}
.hdr .date{font:600 12px var(--mono);letter-spacing:.32em;color:var(--acc);text-transform:uppercase}
.hdr h1{font-size:clamp(27px,3.5vw,38px);font-weight:750;letter-spacing:-.02em;margin-top:5px}
.hdr .right{margin-left:auto;display:flex;align-items:center;gap:22px;flex:none}
.clock .t{font:600 30px var(--mono);letter-spacing:.04em;text-align:right}
.clock .z{font:500 9.5px var(--mono);letter-spacing:.3em;color:var(--mut2);text-align:right;margin-top:3px}
.ring{position:relative;width:86px;height:86px;flex:none}
.ring svg{transform:rotate(-90deg)}
.ring .pc{position:absolute;inset:0;display:grid;place-items:center;font:700 15px var(--mono)}
.ring .cap{position:absolute;left:50%;transform:translateX(-50%);bottom:-16px;white-space:nowrap;font:600 8.5px var(--mono);letter-spacing:.24em;color:var(--mut2)}

/* ── shared bits ─────────────────────────── */
.mlab{font:600 10.5px var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--mut2)}
.mlab .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acc);margin-right:9px;box-shadow:0 0 9px var(--acc);vertical-align:1px}
.panel{background:linear-gradient(180deg,color-mix(in srgb,var(--p1) 88%,var(--bg)),var(--p2));border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0}
.panel h3{font-size:17px;font-weight:700;letter-spacing:-.01em;margin-bottom:4px}
.panel .hint{color:var(--mut);font-size:13.5px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
.sec{display:none;animation:fade .25s ease}
.sec.on{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.stack{display:flex;flex-direction:column;gap:14px}
.tag{display:inline-flex;align-items:center;gap:7px;background:#0a1322;border:1px solid var(--line2);color:var(--mut);font:500 11.5px var(--mono);padding:5px 12px;border-radius:999px;letter-spacing:.04em}
.tag.hi{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}
.tag.hi i{width:7px;height:7px;border-radius:50%;background:var(--bad);box-shadow:0 0 8px var(--bad)}
.tag.acc{color:var(--acc)}
.tag.ok{color:var(--ok)}
.btn{background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 92%,#fff),var(--acc));color:var(--accInk);border:0;font:650 13.5px var(--sans);padding:11px 20px;border-radius:11px;cursor:pointer;letter-spacing:.01em}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:#0a1322;color:var(--tx);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--mut2);filter:none}
.btn.sm{padding:7px 13px;font-size:12.5px;border-radius:9px}
.callout{border-left:3px solid var(--acc);background:color-mix(in srgb,var(--acc) 6%,#0a1220);border-radius:0 12px 12px 0;padding:14px 18px;font-size:13.8px;color:#c7d3e6}
.callout.warn{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 6%,#0a1220)}
.callout.bad{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 7%,#0a1220)}
.callout.ok{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 6%,#0a1220)}
.callout b{color:var(--tx)}
.q{font-style:italic;color:#cfdaeb}

/* checklist */
.ck{display:flex;gap:13px;align-items:flex-start;padding:9px 4px;border-radius:10px;cursor:pointer;user-select:none}
.ck:hover{background:#0c1526}
.ck .box{width:22px;height:22px;flex:none;border-radius:50%;border:2px solid #33436a;margin-top:1px;display:grid;place-items:center;transition:all .15s;color:#04111a}
.ck .box svg{width:13px;height:13px;opacity:0}
.ck.on .box{background:var(--acc);border-color:var(--acc);box-shadow:0 0 10px color-mix(in srgb,var(--acc) 55%,transparent)}
.ck.on .box svg{opacity:1}
.ck .lb{font-size:14.5px;color:#d4deee}
.ck.on .lb{color:var(--mut);text-decoration:line-through;text-decoration-color:#3a4a68}
.ckhead{display:flex;justify-content:space-between;align-items:baseline;margin:2px 0 6px}
.ckhead .cnt{font:700 12px var(--mono);color:var(--acc);letter-spacing:.1em}

/* priority card */
.prio{
  position:relative;border-radius:16px;padding:26px 28px;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--acc) 26%,var(--line));
  background:
    radial-gradient(600px 300px at 85% 0%, color-mix(in srgb,var(--acc2) 13%,transparent), transparent 70%),
    radial-gradient(700px 380px at 0% 100%, color-mix(in srgb,var(--acc) 10%,transparent), transparent 70%),
    linear-gradient(180deg,#0e1830,#0b1322);
}
.prio .br{position:absolute;width:26px;height:26px;border:2px solid var(--acc);opacity:.85}
.prio .br.tl{top:14px;left:14px;border-right:0;border-bottom:0}
.prio .br.tr{top:14px;right:14px;border-left:0;border-bottom:0}
.prio h2{font-size:clamp(22px,2.6vw,31px);font-weight:750;letter-spacing:-.015em;margin:16px 0 10px}
.prio .desc{color:var(--mut);max-width:70ch;font-size:14.5px}
.prio .cta{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}

/* stat tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:11px}
.tile{background:linear-gradient(180deg,var(--p1),var(--p2));border:1px solid var(--line);border-radius:12px;padding:14px 15px}
.tile .v{font:700 21px var(--mono);letter-spacing:-.01em;margin-top:8px}
.tile .s{font-size:11.5px;color:var(--mut2);margin-top:3px}
.tile.a .v{color:var(--acc)} .tile.w .v{color:var(--warn)} .tile.b .v{color:var(--bad)} .tile.g .v{color:var(--ok)}

/* gates */
.gates{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.gate{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:linear-gradient(180deg,var(--p1),var(--p2));display:flex;align-items:center;gap:16px}
.gate .d{font:800 30px var(--mono);color:var(--acc);line-height:1}
.gate .d small{display:block;font:600 8.5px var(--mono);letter-spacing:.26em;color:var(--mut2);margin-top:5px}
.gate .l{font-weight:650;font-size:13.5px}
.gate .dt{font:500 10.5px var(--mono);color:var(--mut2);letter-spacing:.08em;margin-top:3px}
.gate.past .d{color:var(--ok)}

/* tables */
.tblwrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px}
.tbl th{font:600 10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mut2);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line2);color:#cbd6e8}
.tbl td.num,.tbl th.num{text-align:right;font-family:var(--mono);font-size:12.8px}
.tbl tr:last-child td{border-bottom:0}
.tbl .em{color:var(--tx);font-weight:600}
.tbl.apps{min-width:1350px}
.inline-edit{width:100%;min-width:110px;background:#09111e;border:1px solid transparent;border-radius:7px;color:var(--tx);padding:6px 8px}
.inline-edit:hover,.inline-edit:focus{border-color:var(--line)}

/* inputs */
.field label{display:block;font:600 10px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mut2);margin-bottom:6px}
.field input,.field select{
  width:100%;background:#0a1322;border:1px solid var(--line);border-radius:10px;color:var(--tx);
  font:600 14px var(--mono);padding:9px 12px;outline:none;
}
.field input:focus,.field select:focus{border-color:var(--acc)}
.field select{font-family:var(--sans);font-weight:500}
.formgrid{display:grid;grid-template-columns:minmax(220px,2fr) auto;gap:10px;align-items:end}
.formgrid.wide{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.formgrid .btn{min-height:39px}
.review-list{display:grid;gap:10px;margin-top:16px}
.review{border:1px solid var(--line2);border-radius:12px;padding:14px;background:#09111e}
.review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.review h4{font-size:14px;margin-bottom:6px}.review p{color:var(--mut);font-size:13px;margin-top:4px}.review p b{color:var(--tx)}
.strategy-kpis .tile .v{font-size:18px}
.step-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.step-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--acc) 12%,#09111e);border:1px solid color-mix(in srgb,var(--acc) 30%,var(--line));color:var(--acc);font:700 12px var(--mono);flex:none}.step-title>div{min-width:0;flex:1}.step-title h3{margin:0}.step-title .hint{margin-top:2px}
.budget-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.budget-group{border:1px solid var(--line2);border-radius:11px;background:#09111e;padding:14px}.budget-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.budget-total{display:flex;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line2);color:var(--mut);font-size:12px}.budget-total b{color:var(--acc);font:700 13px var(--mono)}
.family-support-head{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:end}.family-total{border:1px solid color-mix(in srgb,var(--ok) 35%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--ok) 5%,#09111e);padding:14px}.family-total span,.family-total b,.family-total small{display:block}.family-total span{font:700 9px var(--mono);letter-spacing:.14em;color:var(--mut2)}.family-total b{font:750 24px var(--mono);color:var(--ok);margin-top:7px}.family-total small{color:var(--mut);font-size:10.5px;margin-top:3px}.family-fields{grid-template-columns:repeat(4,1fr)}
.strategy-matrix{margin:0 -4px}.strategy-matrix .tbl{min-width:1480px}.strategy-matrix th{white-space:nowrap}.strategy-matrix td{vertical-align:top}.matrix-input,.money-edit input,.money-edit select{background:#09111e;border:1px solid var(--line2);border-radius:7px;color:var(--tx);padding:6px 7px;font-size:12px;outline:none}.matrix-input:focus,.money-edit input:focus,.money-edit select:focus{border-color:var(--acc)}.matrix-input.name{width:145px}.matrix-input.job{width:210px}.matrix-input.num{width:100px;text-align:right;font-family:var(--mono)}.money-edit{display:flex;gap:4px}.money-edit input{width:92px;text-align:right;font-family:var(--mono)}.money-edit select{width:62px}.matrix-note{display:block;margin-top:4px;color:var(--mut2);font-size:10.5px;line-height:1.25;max-width:210px}.matrix-note.pos,.strategy-matrix td.pos{color:var(--ok)}.matrix-note.neg,.strategy-matrix td.neg{color:var(--bad)}.strategy-matrix td.tight{color:var(--warn)}
.scenario-status{display:inline-flex;border-radius:999px;padding:5px 8px;font:700 9px var(--mono);letter-spacing:.08em;white-space:nowrap}.scenario-status.v-ok{background:color-mix(in srgb,var(--ok) 13%,#09111e);color:var(--ok)}.scenario-status.v-warn{background:color-mix(in srgb,var(--warn) 13%,#09111e);color:var(--warn)}.scenario-status.v-bad{background:color-mix(in srgb,var(--bad) 13%,#09111e);color:var(--bad)}
.formula{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.formula span,.formula b{padding:7px 9px;border:1px solid var(--line2);border-radius:8px;background:#09111e;color:#cbd6e8;font-size:11.5px}.formula i{color:var(--mut2);font-style:normal;font:700 13px var(--mono)}.formula b{border-color:color-mix(in srgb,var(--acc) 30%,var(--line));color:var(--acc)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;outline:none;background:#182540}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:19px;height:19px;border-radius:50%;background:var(--acc);border:3px solid #062430;box-shadow:0 0 10px color-mix(in srgb,var(--acc) 60%,transparent);cursor:pointer}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--acc);border:3px solid #062430;cursor:pointer}
.rline{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.rline .rv{font:700 16px var(--mono);color:var(--acc)}

/* progress bars (metrics) */
.pb{margin-bottom:13px}
.pb .t{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mut);margin-bottom:5px}
.pb .t b{color:var(--tx);font-family:var(--mono)}
.pb .tr{height:7px;background:#141f34;border-radius:4px;overflow:hidden}
.pb .tr i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:4px;transition:width .3s}
.pb.done .tr i{background:var(--ok)}

/* verdict */
.verdict{border-radius:14px;padding:18px 20px;border:1px solid var(--line)}
.verdict .vt{font:800 17px var(--mono);letter-spacing:.06em}
.verdict.v-bad{border-color:color-mix(in srgb,var(--bad) 40%,transparent);background:color-mix(in srgb,var(--bad) 7%,#0b1220)}
.verdict.v-bad .vt{color:var(--bad)}
.verdict.v-warn{border-color:color-mix(in srgb,var(--warn) 35%,transparent);background:color-mix(in srgb,var(--warn) 6%,#0b1220)}
.verdict.v-warn .vt{color:var(--warn)}
.verdict.v-ok{border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 7%,#0b1220)}
.verdict.v-ok .vt{color:var(--ok)}
.verdict.v-acc{border-color:color-mix(in srgb,var(--acc) 40%,transparent);background:color-mix(in srgb,var(--acc) 7%,#0b1220)}
.verdict.v-acc .vt{color:var(--acc)}

/* chart */
.chart-wrap{position:relative}
.chart-wrap svg{display:block;width:100%;height:auto}
.tip{
  position:absolute;pointer-events:none;background:#0d1728f2;border:1px solid var(--line);
  border-radius:10px;padding:9px 12px;font:500 12px var(--mono);display:none;z-index:5;min-width:150px;
  box-shadow:0 8px 24px #0009;
}
.tip .th{color:var(--mut2);font-size:10.5px;letter-spacing:.08em;margin-bottom:6px}
.tip .r{display:flex;align-items:center;gap:8px;margin-top:3px}
.tip .sw{width:10px;height:3px;border-radius:2px;flex:none}
.tip .nm{color:var(--mut);flex:1}
.tip .vl{color:var(--tx)}
.legend{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:10px}
.lg{display:inline-flex;align-items:center;gap:8px;background:#0a1322;border:1px solid var(--line2);border-radius:999px;padding:5px 13px;font:500 12px var(--mono);color:var(--mut);cursor:pointer;user-select:none}
.lg .sw{width:16px;height:3px;border-radius:2px}
.lg.off{opacity:.38}
.lg.fixed{cursor:default}

/* risks */
.risk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.risk{border:1px solid var(--line);border-radius:12px;padding:14px 15px;background:linear-gradient(180deg,var(--p1),var(--p2));min-width:0}
.risk-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.risk-title{display:flex;align-items:center;gap:9px;min-width:0}.risk-id{font:700 8.5px var(--mono);letter-spacing:.14em;color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 28%,var(--line));border-radius:999px;padding:3px 6px;flex:none}
.risk h4{font-size:14px;font-weight:680;line-height:1.3}
.risk-details{margin-top:10px;border-top:1px solid var(--line2);padding-top:8px}
.risk-details summary{cursor:pointer;color:var(--mut);font:600 11px var(--mono);letter-spacing:.06em;list-style:none;display:flex;align-items:center;gap:7px;user-select:none}
.risk-details summary::-webkit-details-marker{display:none}.risk-details summary::before{content:"+";display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#101b2e;color:var(--acc);font-size:13px}.risk-details[open] summary::before{content:"−"}.risk-details[open] summary{color:var(--tx)}
.risk-main{padding-top:12px}
.risk-prompt{padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--acc) 5%,#09111e);border:1px solid var(--line2)}
.risk-prompt b,.risk-why b,.risk .w b,.risk .r b{display:block;font:650 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px}
.risk-prompt b{color:var(--acc)}.risk-prompt p{color:#cbd6e8;font-size:13.5px}
.risk-why,.risk .w,.risk .r{font-size:13px;color:var(--mut);margin-top:12px}.risk-why b{color:var(--mut2)}
.risk .w{padding-top:11px;border-top:1px solid var(--line2)}.risk .w b{color:var(--warn)}
.risk .r{padding:12px 14px;border-left:3px solid var(--ok);background:color-mix(in srgb,var(--ok) 4%,#09111e);border-radius:0 9px 9px 0}.risk .r b{color:var(--ok)}
.risk p{max-width:92ch}
.st{border:0;border-radius:999px;font:700 9.5px var(--mono);letter-spacing:.12em;padding:6px 10px;cursor:pointer;flex:none}
.st.s0{background:color-mix(in srgb,var(--ok) 14%,#0a1322);color:var(--ok)}
.st.s1{background:color-mix(in srgb,var(--warn) 14%,#0a1322);color:var(--warn)}
.st.s2{background:color-mix(in srgb,var(--bad) 16%,#0a1322);color:var(--bad)}

/* roadmap */
.tl{position:relative;padding-left:26px}
.tl::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--acc),var(--acc2),var(--line))}
.tlc{position:relative;margin-bottom:16px}
.tlc::before{content:"";position:absolute;left:-25px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:3px solid var(--mut2)}
.tlc.now::before{border-color:var(--acc);box-shadow:0 0 12px var(--acc)}
.tlc.past::before{border-color:var(--ok)}
.tlhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tlhead .when{font:700 13px var(--mono);letter-spacing:.14em;color:var(--acc)}
.tlc.past .tlhead .when{color:var(--ok)}
.badge{font:700 9px var(--mono);letter-spacing:.2em;padding:4px 10px;border-radius:999px}
.badge.now{background:color-mix(in srgb,var(--acc) 18%,transparent);color:var(--acc)}
.badge.cond{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}
.badge.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}
.badge.def{background:#182540;color:var(--mut)}

/* scorecard */
.crit{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line2)}
.crit:last-child{border-bottom:0}
.crit .cl{font-size:13.5px;color:#cbd6e8}
.seg{display:flex;gap:5px}
.seg button{width:34px;height:30px;border-radius:8px;border:1px solid var(--line);background:#0a1322;color:var(--mut);font:700 13px var(--mono);cursor:pointer}
.seg button.on{background:var(--acc);border-color:var(--acc);color:var(--accInk)}

/* apps table */
.apps td{vertical-align:middle}
.apps select{background:#0a1322;border:1px solid var(--line2);color:var(--tx);border-radius:8px;font:500 12px var(--sans);padding:5px 8px}
.lane{font:700 9.5px var(--mono);letter-spacing:.12em;padding:4px 9px;border-radius:999px}
.lane.core{background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--acc)}
.lane.sel{background:color-mix(in srgb,var(--acc2) 18%,transparent);color:var(--acc2)}
.lane.str{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}
.del{background:none;border:0;color:var(--mut2);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:8px}
.del:hover{color:var(--bad);background:#141f34}
.mix{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#141f34}
.mix i{height:100%}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:#0a1322;border:1px solid var(--line2);border-radius:9px;padding:6px 12px;font-size:12.5px;color:#c2cfe3}

/* career route builder */
.career-page{max-width:1220px}.career-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:8px 2px 4px}.career-hero .subt{max-width:72ch;margin:7px 0 0}.eyebrow,.option-kicker,.economic-card>span,.result-rationale span,.career-thesis span{font:700 9.5px var(--mono);letter-spacing:.17em;color:var(--acc);text-transform:uppercase}.career-thesis{min-width:290px;border-left:2px solid var(--acc);padding:8px 0 8px 15px}.career-thesis b,.career-thesis small{display:block}.career-thesis b{margin-top:5px;font-size:14px}.career-thesis small{margin-top:3px;color:var(--mut);font-size:11.5px}
.profile-head{display:grid;grid-template-columns:1fr minmax(300px,.9fr);gap:22px;align-items:start}.profile-head .step-title{margin-bottom:0}.probability-method{border-left:2px solid var(--warn);padding:6px 0 6px 13px}.probability-method b,.probability-method span{display:block}.probability-method b{color:var(--warn);font-size:12px}.probability-method span{color:var(--mut);font-size:11.5px;line-height:1.45;margin-top:3px}.profile-factor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.profile-factor{appearance:none;text-align:left;border:1px solid var(--line2);border-radius:10px;background:#09111e;color:var(--tx);padding:11px 12px;cursor:pointer}.profile-factor:hover{border-color:var(--acc)}.profile-factor span,.profile-factor b,.profile-factor small{display:block}.profile-factor span{font-size:12.5px;font-weight:650}.profile-factor b{font:700 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-top:5px}.profile-factor small{font-size:10.5px;color:var(--mut);line-height:1.35;margin-top:4px}.profile-factor.level-2{border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.profile-factor.level-2 b{color:var(--ok)}.profile-factor.level-1{border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}.profile-factor.level-1 b{color:var(--warn)}.profile-factor.level-0{opacity:.72}.profile-factor.level-0 b{color:var(--bad)}.profile-proof{margin-top:12px;border-top:1px solid var(--line2);padding-top:10px}.profile-proof summary{cursor:pointer;color:var(--acc);font-size:11.5px;font-weight:650}.profile-proof>div{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;margin-top:10px}.profile-proof p{color:var(--mut);font-size:11.5px;line-height:1.45}.profile-proof p b{color:#cbd6e8}
.application-volume{margin-top:14px;border:1px solid var(--line2);border-radius:11px;background:#09111e;padding:13px 15px}.application-volume .rline{margin-bottom:10px}.volume-scale{display:flex;justify-content:space-between;color:var(--mut2);font:600 9px var(--mono);margin-top:7px}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.company-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.career-option{appearance:none;text-align:left;color:var(--tx);background:#09111e;border:1px solid var(--line2);border-radius:11px;padding:14px;cursor:pointer;min-width:0;transition:border-color .14s,background .14s,transform .14s}.career-option:hover{border-color:color-mix(in srgb,var(--acc) 45%,var(--line));transform:translateY(-1px)}.career-option.selected{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,#09111e);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 16%,transparent)}.career-option b,.career-option small{display:block}.career-option b{font:680 14px var(--sans);margin-top:7px;line-height:1.25}.career-option small{font:400 11.5px var(--sans);color:var(--mut);line-height:1.4;margin-top:5px}.success-mini{display:block;border-top:1px solid var(--line2);margin-top:10px;padding-top:8px;color:var(--mut);font:650 9.5px var(--mono);letter-spacing:.04em}.success-mini strong{display:inline!important;color:var(--ok);font-size:13px!important;margin:0!important}.funnel-mini{display:block;color:var(--mut2);font:600 9px var(--mono);line-height:1.4;margin-top:4px}.success-frame{display:block;margin-top:6px;color:#aebcd1;font-size:10.5px;line-height:1.4}.role-option{min-height:225px}.route-option{min-height:238px}.company-option{min-height:215px}.company-city{display:inline-flex;border-radius:999px;padding:3px 7px;background:#142039;color:var(--mut);font:700 9px var(--mono);letter-spacing:.08em}.company-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--mut2);font:600 10px var(--mono);margin:-3px 0 11px}.company-summary b{color:var(--acc);font-size:14px}.package-choice{display:flex;align-items:center;gap:16px;margin-top:13px}.package-choice>span{min-width:115px;color:var(--mut2);font:650 9px var(--mono);letter-spacing:.12em}.package-choice>div{display:flex;gap:7px;flex:1}.package-option{flex:1;appearance:none;text-align:left;border:1px solid var(--line2);border-radius:9px;background:#09111e;color:var(--tx);padding:9px 11px;cursor:pointer}.package-option.selected{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,#09111e)}.package-option b,.package-option small{display:block}.package-option b{font-size:12px}.package-option small{color:var(--mut);font-size:10.5px;margin-top:2px}.route-reality{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:12px;padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--warn) 5%,#09111e);border:1px solid color-mix(in srgb,var(--warn) 22%,var(--line2));font-size:12.5px}.route-reality b{color:var(--warn)}.route-reality span{color:var(--mut);line-height:1.5}
.career-result{border:1px solid color-mix(in srgb,var(--acc) 42%,var(--line));border-radius:16px;background:radial-gradient(800px 330px at 100% 0,color-mix(in srgb,var(--acc2) 9%,transparent),transparent 60%),linear-gradient(180deg,#0e1830,#0a1322);padding:22px}.result-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.result-top h3{font-size:24px;margin-top:5px}.result-top p{color:var(--mut);font-size:14px;margin-top:3px}.route-pill{border:1px solid color-mix(in srgb,var(--acc) 35%,var(--line));border-radius:999px;padding:6px 10px;color:var(--acc);font:650 10px var(--mono);letter-spacing:.06em}.salary-display{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0 12px;padding:18px;border:1px solid var(--line2);border-radius:12px;background:#09111e}.salary-display span,.salary-display strong,.salary-display small{display:block}.salary-display span{font:650 10px var(--mono);letter-spacing:.13em;color:var(--mut2);text-transform:uppercase}.salary-display strong{font:750 clamp(21px,3vw,30px) var(--mono);color:var(--acc);margin-top:6px}.salary-display small{color:var(--mut);margin-top:4px}.career-economics{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px;margin:12px 0}.economic-card{border:1px solid var(--line2);background:#09111e;border-radius:11px;padding:14px}.economic-card b{display:block;font:700 18px var(--mono);margin:8px 0 5px}.economic-card small{display:block;color:var(--mut);line-height:1.4}.rent-edit{display:flex;align-items:center;gap:7px;margin:7px 0}.rent-edit input{width:130px;background:#0d1829;border:1px solid var(--line);border-radius:8px;color:var(--tx);padding:7px 9px;font:700 17px var(--mono);outline:none}.rent-edit input:focus{border-color:var(--acc)}.rent-edit em{font:650 11px var(--mono);color:var(--mut);font-style:normal}.ratio-track{height:5px;border-radius:5px;background:#182540;overflow:hidden;margin:8px 0}.ratio-track i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--ok),var(--warn),var(--bad))}.result-rationale{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:17px 2px}.result-rationale p{color:#c3cfe1;font-size:13px;line-height:1.55;margin-top:5px}.career-actions{display:flex;gap:9px;flex-wrap:wrap}.source-note{border-top:1px solid var(--line2);padding-top:13px;margin-top:16px;color:var(--mut2);font-size:11px;line-height:1.5}.portfolio-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.portfolio-mix{width:260px}.portfolio-mix small{display:block;text-align:right;color:var(--mut2);font:600 10px var(--mono);margin-top:5px}.career-review{font-size:12px!important;color:var(--mut)!important;max-width:270px}.empty-state{border:1px dashed var(--line);border-radius:10px;padding:18px;color:var(--mut);text-align:center}.nested-fold{margin-top:14px;border-top:1px solid var(--line2);padding-top:12px}.nested-fold>summary{cursor:pointer;color:var(--acc);font-weight:650;margin-bottom:12px}.scorecard-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;margin-top:10px}.score-result{display:flex;gap:12px;align-items:center;margin-top:15px}.score-result .verdict{flex:1;padding:13px 15px}
.career-cv-sample{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.cv-sample-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.cv-sample-head>div>span{color:var(--acc);font:700 10px var(--mono);letter-spacing:.12em}.cv-sample-head h3{font-size:21px;margin:6px 0 3px}.cv-sample-head p{color:var(--mut);font-size:12px}.cv-actions{display:flex;gap:8px;flex-wrap:wrap}.cv-caution{display:flex;gap:12px;align-items:center;margin:15px 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warn) 42%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--warn) 7%,#09111e);font-size:11px;color:var(--mut)}.cv-caution b{color:var(--warn);white-space:nowrap;font:750 10px var(--mono);letter-spacing:.06em}.cv-paper{padding:clamp(22px,4vw,42px);border-radius:10px;background:#f8fafc;color:#172033;box-shadow:0 18px 48px rgba(0,0,0,.24)}.cv-paper header{display:flex;justify-content:space-between;gap:24px;padding-bottom:15px;border-bottom:2px solid #23334f}.cv-paper h4{font-size:25px;letter-spacing:.03em}.cv-paper header strong{display:block;margin-top:4px;color:#345b79;font-size:13px}.cv-paper header p{text-align:right;color:#536176;font-size:11px;line-height:1.55}.cv-paper section{margin-top:17px}.cv-paper h5{margin-bottom:7px;color:#345b79;font:800 10px var(--mono);letter-spacing:.14em}.cv-paper h6{margin:11px 0 5px;font-size:12px}.cv-paper h6 span{float:right;color:#788499;font-weight:500}.cv-paper p,.cv-paper li{font-size:11px;line-height:1.52}.cv-paper ul{margin:4px 0 0;padding-left:18px}.cv-paper li+li{margin-top:4px}.cv-keywords{color:#3f4f66;font-weight:650}.cv-two{display:grid;grid-template-columns:1fr 1fr;gap:28px}.cv-tailor{margin-top:10px;color:var(--mut2);font-size:11px;line-height:1.5}
.entry-probability{display:grid;grid-template-columns:220px 1fr;gap:14px;margin:19px 0 12px}.probability-score{border:1px solid color-mix(in srgb,var(--ok) 35%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--ok) 5%,#09111e);padding:15px}.probability-score span,.probability-score strong,.probability-score b,.probability-score small{display:block}.probability-score span{font:700 9px var(--mono);letter-spacing:.13em;color:var(--mut2)}.probability-score strong{font:800 42px var(--mono);color:var(--ok);line-height:1;margin-top:8px}.probability-score b{font:700 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ok);margin-top:5px}.probability-score small{color:var(--mut);font-size:10.5px;margin-top:5px}.probability-path{display:flex;align-items:stretch;gap:7px}.probability-path>div{flex:1;border:1px solid var(--line2);border-radius:10px;background:#09111e;padding:13px;display:flex;flex-direction:column;justify-content:center}.probability-path>div.active{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 6%,#09111e)}.probability-path span,.probability-path b{display:block}.probability-path span{font:650 8.5px var(--mono);letter-spacing:.1em;color:var(--mut2);line-height:1.35}.probability-path b{font:750 23px var(--mono);margin-top:5px}.probability-path i{align-self:center;color:var(--mut2);font-style:normal}.success-playbook{border:1px solid var(--line2);border-radius:12px;background:#09111e;padding:16px 18px;margin-bottom:16px}.playbook-title span,.playbook-title b{display:block}.playbook-title span{font:700 9px var(--mono);letter-spacing:.15em;color:var(--acc)}.playbook-title b{font-size:14px;margin-top:4px}.success-playbook ol{margin:12px 0 0 18px;display:grid;grid-template-columns:1fr 1fr;gap:9px 24px}.success-playbook li{color:var(--mut);font-size:12px;line-height:1.5;padding-left:3px}.success-playbook li b{color:#cbd6e8}
.application-matrix{border:1px solid var(--line2);border-radius:12px;background:#09111e;padding:15px 17px;margin:12px 0 16px}.matrix-heading{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:10px}.matrix-heading span,.matrix-heading b{display:block}.matrix-heading span{font:700 9px var(--mono);letter-spacing:.15em;color:var(--acc)}.matrix-heading b{font-size:13px;margin-top:3px}.matrix-heading small{max-width:420px;color:var(--mut2);font-size:10.5px;line-height:1.4}.application-matrix .tbl{min-width:760px}.application-matrix .selected-row{background:color-mix(in srgb,var(--acc) 7%,transparent)}.application-matrix .selected-row td{border-color:color-mix(in srgb,var(--acc) 18%,var(--line2))}

/* Asia-first decision tools */
.career-workspace-head{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(440px,1.3fr);gap:20px;align-items:end;padding:17px 18px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 7%,var(--p1)),var(--p2))}.career-workspace-copy>span{color:var(--acc);font:750 9px var(--mono);letter-spacing:.2em}.career-workspace-copy h2{margin-top:4px;font-size:20px}.career-workspace-copy p{margin-top:3px;color:var(--mut);font-size:11.5px}.career-workspace-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.career-workspace-tabs button{appearance:none;min-width:0;text-align:left;padding:11px 12px;border:1px solid var(--line2);border-radius:10px;background:#091321;color:var(--mut);cursor:pointer}.career-workspace-tabs button:hover,.career-workspace-tabs button.active{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,#091321);color:var(--tx)}.career-workspace-tabs span,.career-workspace-tabs b{display:block}.career-workspace-tabs span{color:var(--acc);font:750 9px var(--mono);letter-spacing:.12em}.career-workspace-tabs b{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:550}.ops-register{margin-top:2px}.ops-register .portfolio-head h2{margin-top:4px}
.career-ops{margin:18px 0 20px;padding:20px;border:1px solid color-mix(in srgb,var(--acc) 36%,var(--line));border-radius:16px;background:radial-gradient(720px 280px at 100% 0,color-mix(in srgb,var(--acc2) 9%,transparent),transparent 62%),#07101d;box-shadow:0 18px 44px rgba(0,0,0,.18)}
.ops-top,.fork-head,.location-hero,.strategy-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.ops-prompt{font:700 10px var(--mono);letter-spacing:.12em;color:var(--ok);text-transform:uppercase}.ops-top h3,.fork-head h3,.location-hero h2,.strategy-hero h2{margin-top:5px}.ops-top p,.fork-head p,.location-hero p,.strategy-hero p{max-width:70ch;color:var(--mut);font-size:12px;line-height:1.5;margin-top:5px}.ops-state,.strategy-current{min-width:210px;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:#0a1423}.ops-state span,.ops-state b,.strategy-current span,.strategy-current b{display:block}.ops-state span,.strategy-current span{font:700 9px var(--mono);letter-spacing:.12em;color:var(--mut2);text-transform:uppercase}.ops-state b,.strategy-current b{margin-top:4px;color:var(--acc);font-size:12px}
.ops-markets{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:16px 0}.ops-market{appearance:none;border:1px solid var(--line2);border-radius:9px;background:#091321;color:var(--mut);padding:9px 6px;font:700 10px var(--mono);cursor:pointer}.ops-market b,.ops-market span{display:block}.ops-market span{margin-top:4px;color:var(--mut2);font-size:8px}.ops-market:hover,.ops-market.selected{border-color:var(--acc);color:var(--acc);background:color-mix(in srgb,var(--acc) 7%,#091321)}
.ops-console{display:grid;grid-template-columns:auto minmax(170px,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:#050b14}.ops-caret{color:var(--ok);font:800 13px var(--mono)}.ops-console input{width:100%;border:0;outline:0;background:transparent;color:#dce8fa;font:600 12px var(--mono)}.ops-command{padding:7px 3px;color:var(--mut2);font:600 10px var(--mono);overflow-wrap:anywhere}.ops-actions{display:flex;gap:7px;flex-wrap:wrap;margin:3px 0 15px}.ops-reality{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.ops-reality>div{padding:12px;border:1px solid var(--line2);border-radius:10px;background:#091321}.ops-reality span,.ops-reality p{display:block}.ops-reality span{color:var(--warn);font:700 9px var(--mono);letter-spacing:.1em}.ops-reality p{margin-top:5px;color:var(--mut);font-size:11.5px;line-height:1.45}.ops-result-head{display:flex;justify-content:space-between;gap:12px;color:var(--mut2);font:700 9px var(--mono);letter-spacing:.11em;text-transform:uppercase;margin:13px 2px 7px}.ops-result-head span,.ops-result-head b{display:block}.ops-result-head b{margin-top:4px;color:#c9d5e7}.ops-result-head small{max-width:430px;line-height:1.4}.ops-results{display:flex;flex-direction:column;gap:7px}.ops-result{display:grid;grid-template-columns:38px minmax(210px,1.2fr) 90px auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line2);border-radius:10px;background:#091321}.ops-rank{color:var(--acc);font:750 17px var(--mono)}.ops-result-main span,.ops-result-main h3,.ops-result-main p,.ops-fit strong,.ops-fit span{display:block}.ops-result-main span{color:var(--mut2);font:700 9px var(--mono)}.ops-result-main h3{margin-top:3px;font-size:13px}.ops-result-main p{margin-top:3px;color:var(--mut);font-size:10.5px;line-height:1.35}.ops-fit strong{color:var(--ok);font:800 22px var(--mono)}.ops-fit span{margin-top:2px;color:var(--mut2);font:700 8px var(--mono)}.ops-result-actions{display:flex;align-items:center;gap:8px}.ops-result-actions button{border:1px solid var(--line2);border-radius:7px;background:#0d192a;color:var(--tx);padding:6px 8px;cursor:pointer}.ops-auth{margin-top:12px;color:var(--mut2);font-size:10.5px;line-height:1.5}
.location-hero,.strategy-hero,.fork-head{margin-bottom:16px}.location-order{min-width:230px;padding:11px 13px;border:1px solid var(--line2);border-radius:10px;background:#091321}.location-order span,.location-order b,.location-order small{display:block}.location-order span{color:var(--mut2);font:700 9px var(--mono);letter-spacing:.1em}.location-order b{margin-top:4px;color:var(--acc);font:750 14px var(--mono)}.location-order small{margin-top:4px;color:var(--mut);font-size:10px}.market-gate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.market-gate{padding:15px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--p1),var(--p2))}.market-gate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.market-gate-head>div span,.market-gate-head>div h3,.market-gate-head>div small{display:block}.market-gate-head>div span{color:var(--acc);font:700 8px var(--mono);letter-spacing:.08em}.market-gate-head h3{margin-top:3px;font-size:15px}.market-gate-head small{margin-top:2px;color:var(--mut);font-size:10px}.market-thesis{margin:8px 0 10px;color:#c5d1e4;font-size:12px;line-height:1.45}.market-rules{display:grid;grid-template-columns:1fr 1fr;gap:8px}.market-rules>div{padding:9px;border-radius:8px;background:#091321}.market-rules b,.market-rules p{display:block}.market-rules b{font:700 9px var(--mono);letter-spacing:.09em}.market-rules .go b{color:var(--ok)}.market-rules .nogo b{color:var(--bad)}.market-rules p{margin-top:4px;color:var(--mut);font-size:10.5px;line-height:1.4}.market-auth{margin-top:9px;color:var(--mut2);font-size:10.5px;line-height:1.45}.market-auth b,.market-auth p{display:block}.market-auth b{color:var(--warn);font:700 8.5px var(--mono);letter-spacing:.08em}.market-auth p{margin:4px 0}.fallback-head{margin:22px 0 10px;padding-top:17px;border-top:1px solid var(--line)}.fallback-head>span{color:var(--acc);font:700 9px var(--mono);letter-spacing:.1em}.fallback-head h2{margin-top:5px}.fallback-head p{max-width:80ch;margin-top:4px;color:var(--mut);font-size:12px;line-height:1.5}
.march-fork{margin:18px 0;padding:18px;border:1px solid color-mix(in srgb,var(--acc) 33%,var(--line));border-radius:15px;background:radial-gradient(620px 230px at 50% 0,color-mix(in srgb,var(--acc) 7%,transparent),transparent 66%),#0a1322}.fork-head>div>span{color:var(--acc);font:700 9px var(--mono);letter-spacing:.1em}.march-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.march-route{padding:16px;border:1px solid var(--line2);border-radius:12px;background:#091321}.march-route.recommended{border-color:var(--acc);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 16%,transparent)}.march-route header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.march-route header span,.march-route header h3,.march-route header>b{display:block}.march-route header span{color:var(--acc);font:700 9px var(--mono);letter-spacing:.08em}.march-route header h3{margin-top:4px;font-size:14px}.march-route header>b{color:var(--ok);font:700 8px var(--mono);letter-spacing:.08em}.march-gate{margin-top:11px;padding:9px 10px;border-radius:8px;background:#0d192a;color:#c8d5e8;font-size:11px;line-height:1.45}.march-gate strong{display:block;color:var(--warn);font:700 8px var(--mono);letter-spacing:.08em}.march-gate p{margin-top:3px}.march-months{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}.march-months>div{padding:9px;border:1px solid var(--line2);border-radius:8px}.march-months span,.march-months p{display:block}.march-months span{color:var(--acc);font:700 9px var(--mono)}.march-months p{margin-top:4px;color:var(--mut);font-size:10.5px;line-height:1.4}
.strategy-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0 20px}.strategy-step{display:grid;grid-template-rows:auto 1fr auto;padding:12px;border:1px solid var(--line2);border-radius:10px;background:#091321}.strategy-step.complete{border-color:color-mix(in srgb,var(--ok) 35%,var(--line2))}.strategy-step>span{display:block;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--acc) 13%,#0a1322);color:var(--acc);font:750 10px/24px var(--mono);text-align:center}.strategy-step b{display:block;margin-top:8px;font-size:11.5px}.strategy-step p{margin-top:4px;color:var(--mut);font-size:10.5px;line-height:1.4}.strategy-step button{align-self:end;margin-top:10px;border:0;background:transparent;color:var(--acc);font:700 10px var(--mono);text-align:left;cursor:pointer}.strategy-current small{display:block;margin-top:4px;color:var(--mut);font-size:10px}

/* life meter */
.meter{height:14px;border-radius:7px;background:#141f34;overflow:hidden;position:relative}
.meter i{display:block;height:100%;transition:width .3s;border-radius:7px}
.zone{display:flex;justify-content:space-between;font:500 10px var(--mono);letter-spacing:.1em;color:var(--mut2);margin-top:6px}

details.fold{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,var(--p1),var(--p2))}
details.fold summary{cursor:pointer;padding:16px 20px;font-weight:650;font-size:14.5px;list-style:none;display:flex;align-items:center;gap:10px}
details.fold summary::before{content:"▸";color:var(--acc);transition:transform .15s}
details.fold[open] summary::before{transform:rotate(90deg)}
details.fold .inner{padding:0 20px 18px;color:var(--mut);font-size:13.8px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.num-ol{counter-reset:n;list-style:none;display:flex;flex-direction:column;gap:8px}
.num-ol li{counter-increment:n;display:flex;gap:12px;font-size:13.8px;color:#cbd6e8}
.num-ol li::before{content:counter(n,decimal-leading-zero);font:700 12px var(--mono);color:var(--acc);margin-top:2px}
.plain{list-style:none;display:flex;flex-direction:column;gap:7px}
.plain li{display:flex;gap:10px;font-size:13.8px;color:#cbd6e8}
.plain li::before{content:"›";color:var(--acc2);font-weight:700}
.footnote{font-size:11.5px;color:var(--mut2);margin-top:10px}
.secgap{height:22px}
h2.st-title{font-size:21px;font-weight:750;letter-spacing:-.015em;margin:4px 0 2px}
.subt{color:var(--mut);font-size:13.5px;margin-bottom:16px}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
.linkrow{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line2);font-size:13.5px}
.linkrow:last-child{border-bottom:0}
.linkrow .lt{color:#cbd6e8;flex:1}
@media (max-width:1020px){
  #app{grid-template-columns:1fr}
  #side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:14px}
  .logo{padding:0 6px}
  .nav{flex-direction:row;flex-wrap:wrap}
  .side-foot{margin-top:0;padding:0;border-top:0;display:flex;gap:6px;flex-wrap:wrap}.side-tools-label{display:none}.side-foot button{justify-content:center}
  #main{padding:22px 18px 60px}
  .hdr{flex-direction:column}
  .hdr .right{margin-left:0}
  .gates,.two,.g2,.g3,.risk-grid,.budget-grid{grid-template-columns:1fr}
  .role-grid,.company-grid{grid-template-columns:repeat(2,1fr)}.career-economics{grid-template-columns:1fr}.scorecard-grid{grid-template-columns:1fr}.profile-head,.entry-probability,.family-support-head{grid-template-columns:1fr}.success-playbook ol{grid-template-columns:1fr}.family-fields{grid-template-columns:repeat(2,1fr)}
  .career-workspace-head{grid-template-columns:1fr}.ops-markets{grid-template-columns:repeat(4,1fr)}.ops-reality,.market-gate-grid,.march-route-grid{grid-template-columns:1fr}.strategy-steps{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:620px){
  #side{display:block;padding:12px;position:sticky;top:0;z-index:20}
  .logo{padding:0 4px 10px}.logo .mark{width:34px;height:34px;border-radius:10px}
  .nav{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}.nav button{width:auto;white-space:nowrap;padding:8px 10px}.nav .n,.nav-group{display:none}
  .side-foot{display:grid;grid-template-columns:repeat(3,1fr);margin-top:9px}.side-foot button{font-size:11px;padding:8px 6px}.side-foot button svg{width:15px;height:15px}#main{padding:18px 12px 48px}.hdr .right{width:100%;justify-content:space-between}
  .clock .t{font-size:24px}.panel{padding:17px}.prio{padding:24px 20px}.ring{transform:scale(.9)}
  .career-hero,.salary-display,.portfolio-head{align-items:stretch;flex-direction:column}.career-thesis{min-width:0}.route-grid,.role-grid,.company-grid,.result-rationale,.profile-factor-grid,.profile-proof>div,.family-fields{grid-template-columns:1fr}.route-option,.role-option,.company-option{min-height:0}.package-choice{align-items:stretch;flex-direction:column;gap:7px}.package-choice>div{flex-direction:column}.result-top{flex-direction:column}.route-pill{align-self:flex-start}.career-result{padding:17px}.portfolio-mix{width:100%}.probability-path{flex-direction:column}.probability-path i{transform:rotate(90deg)}.company-summary,.matrix-heading,.cv-sample-head,.cv-paper header{align-items:flex-start;flex-direction:column}.cv-paper header p{text-align:left}.cv-two{grid-template-columns:1fr}.cv-caution{align-items:flex-start;flex-direction:column}
  .career-workspace-head{padding:14px}.career-workspace-tabs{grid-template-columns:1fr}.career-ops{padding:15px}.ops-top,.fork-head,.location-hero,.strategy-hero{flex-direction:column}.ops-state,.strategy-current{min-width:0;width:100%}.ops-markets{grid-template-columns:repeat(2,1fr)}.ops-console{grid-template-columns:1fr}.ops-caret,.ops-command{display:none}.ops-result{grid-template-columns:32px 1fr}.ops-fit{grid-column:2}.ops-result-actions{grid-column:2}.market-rules,.march-months{grid-template-columns:1fr}.strategy-steps{grid-template-columns:1fr 1fr}.strategy-step:last-child{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Shared portal navigation */
.master-home-link{position:fixed;right:18px;bottom:18px;z-index:9999;padding:10px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(8,16,29,.88);color:#d9f9fc;text-decoration:none;font:700 12px/1 system-ui,sans-serif;letter-spacing:.04em;box-shadow:0 10px 30px rgba(0,0,0,.3);backdrop-filter:blur(12px)}
.master-home-link:hover{transform:translateY(-2px);border-color:rgba(53,214,232,.5)}
