:root{--ink:#17191f;--muted:#616875;--line:#dfe3e8;--paper:#fff;--wash:#f3f7f5;--green:#176b4d;--green2:#0f5139;--mint:#dcefe6;--yellow:#f1c75b;--blue:#345f8a;--red:#9f3f35;--font:'Noto Sans SC',sans-serif;--display:'IBM Plex Sans SC','Noto Sans SC',sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);line-height:1.65}.goal-wrap{width:min(1040px,calc(100% - 40px));margin:0 auto}.goal-intake{min-height:calc(100vh - 64px);display:grid;align-items:center;background:linear-gradient(90deg,#f3f7f5 0 51%,#fff 51%);border-bottom:1px solid var(--line)}.intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding:64px 0}.intake-copy h1,.route-head h1{font-family:var(--display);letter-spacing:0}.intake-copy h1{max-width:500px;margin:14px 0 18px;font-size:52px;line-height:1.12;font-weight:700}.intake-copy p{max-width:430px;margin:0;color:var(--muted);font-size:18px}.route-label{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:12px;font-weight:700}.route-label:before{content:'';width:24px;height:3px;background:var(--yellow)}.goal-form{padding:12px 0}.goal-form fieldset{margin:0 0 28px;padding:0;border:0}.goal-form legend{margin-bottom:12px;font-size:15px;font-weight:700}.goal-form legend small{color:var(--muted);font-weight:400}.segment{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:7px;overflow:hidden}.segment label+label{border-left:1px solid var(--line)}.segment input{position:absolute;opacity:0}.segment span{display:grid;place-items:center;min-height:46px;background:#fff;cursor:pointer}.segment input:checked+span{background:var(--green);color:#fff;font-weight:700}.segment input:focus-visible+span{outline:3px solid rgba(23,107,77,.25);outline-offset:-3px}.upcoming{display:block;margin-top:10px;color:var(--muted);font-size:13px}select{width:100%;height:48px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:inherit}.goal-primary{min-height:48px;padding:0 20px;border:0;border-radius:7px;background:var(--green);color:#fff;font:inherit;font-weight:700;cursor:pointer}.goal-primary:hover{background:var(--green2)}.goal-primary:focus-visible,.goal-edit:focus-visible,select:focus-visible{outline:3px solid rgba(23,107,77,.22);outline-offset:2px}.goal-primary:disabled{opacity:.5;cursor:default}.form-error{min-height:22px;margin:10px 0 0;color:var(--red);font-size:13px}.route-band{min-height:calc(100vh - 64px);padding:54px 0 72px;background:#fbfcfc}.route-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding-bottom:24px;border-bottom:1px solid var(--line)}.route-head h1{margin:8px 0 0;font-size:34px;line-height:1.2}.route-progress{text-align:right;color:var(--muted);font-size:12px}.route-progress b{display:block;color:var(--ink);font-family:var(--display);font-size:30px}.route-progress .sufficiency{display:inline-block;margin-top:4px;color:var(--blue)}.route-rail{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:0;margin-top:34px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}.route-column{min-width:0;padding:26px}.route-column+.route-column{border-left:1px solid var(--line)}.route-column>span{display:block;margin-bottom:18px;color:var(--muted);font:700 11px/1 var(--display);text-transform:uppercase}.route-column.is-now{background:var(--wash);box-shadow:inset 4px 0 var(--green)}.topic{padding:14px 0;border-top:1px solid var(--line)}.topic:first-of-type{padding-top:0;border-top:0}.topic h2,.topic h3{margin:0;font-size:18px}.topic h3{font-size:15px}.topic p{margin:7px 0 0;color:var(--muted);font-size:13px}.reason-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.reason-list span{padding:4px 7px;background:#fff;border:1px solid #d7e4dd;border-radius:4px;color:var(--green2);font-size:11px}.mastery-line{height:4px;margin-top:14px;background:#dfe6e2}.mastery-line i{display:block;height:100%;background:var(--green)}.route-actions{display:flex;align-items:center;gap:14px;margin-top:26px}.route-actions p{margin:0;color:var(--muted);font-size:13px}.route-actions .goal-primary{text-decoration:none;display:inline-flex;align-items:center}.goal-edit{min-height:42px;margin-left:auto;padding:0;border:0;background:transparent;color:var(--green);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.secondary-link{color:var(--green);font-size:13px;font-weight:700}.deferred{margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}.deferred summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:700}.deferred-list{display:flex;gap:18px;margin-top:15px}.deferred-item{flex:1;padding-left:13px;border-left:3px solid #d9a29c}.deferred-item b{display:block;font-size:14px}.deferred-item span{color:var(--muted);font-size:12px}
@media(max-width:760px){.goal-wrap{width:min(100% - 28px,620px)}.goal-intake{background:linear-gradient(#f3f7f5 0 38%,#fff 38%)}.intake-grid{grid-template-columns:1fr;gap:52px;padding:38px 0 52px}.intake-copy h1{font-size:38px}.intake-copy p{font-size:16px}.route-head{align-items:stretch;flex-direction:column;gap:16px}.route-head h1{font-size:27px}.route-progress{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;text-align:left}.route-progress b{font-size:24px}.route-progress .sufficiency{margin-top:0}.route-rail{grid-template-columns:1fr}.route-column+.route-column{border-left:0;border-top:1px solid var(--line)}.route-actions{align-items:stretch;flex-direction:column}.route-actions .goal-primary{justify-content:center;width:100%}.goal-edit{align-self:flex-start;margin-left:0}.deferred-list{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Evidence dashboard: the route remains the primary action, while this lower
   band makes real practice history and data-qualified scenarios scannable. */
.route-insights{margin-top:58px;padding-top:34px;border-top:1px solid var(--line)}
.insights-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.insights-head h2{margin:9px 0 7px;font:700 28px/1.25 var(--display);letter-spacing:0}
.insights-head p{max-width:620px;margin:0;color:var(--muted);font-size:14px}
.insights-sufficiency{flex:0 0 auto;padding:7px 10px;border:1px solid #d7e4dd;border-radius:4px;color:var(--green2);font-size:12px;font-weight:700;background:#fff}
.insight-summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}
.insight-stat{padding:15px 18px;min-width:0}
.insight-stat+.insight-stat{border-left:1px solid var(--line)}
.insight-stat b{display:block;font:700 24px/1.2 var(--display);font-variant-numeric:tabular-nums}
.insight-stat span{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.insight-stat small{display:block;margin-top:6px;color:var(--blue);font-size:11px;line-height:1.45}
.insight-charts{display:grid;grid-template-columns:1.35fr 1fr;gap:14px}
.insight-panel{min-width:0;margin:0;padding:18px 18px 14px;border:1px solid var(--line);border-radius:7px;background:#fff}
.insight-panel figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.insight-panel figcaption strong{font-size:14px}
.insight-panel figcaption span{color:var(--muted);font-size:11px}
.chart-wrap{min-height:210px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.chart-wrap svg{display:block;width:100%;height:auto;max-height:228px}
.chart-grid-line{stroke:#edf0ee;stroke-width:1}
.chart-axis-label{fill:#8b938e;font:10px var(--font)}
.chart-axis-future{fill:#587565}
.chart-current{fill:none;stroke:var(--green);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.chart-current-dot{fill:#fff;stroke:var(--green);stroke-width:2}
.chart-projection{fill:none;stroke:#799b8c;stroke-width:2;stroke-dasharray:5 5;stroke-linecap:round}
.chart-projection-dot{fill:#fff;stroke:#799b8c;stroke-width:1.5}
.chart-today{stroke:#d1d9d4;stroke-width:1;stroke-dasharray:3 4}
.chart-bar-basic{fill:#75b79a}.chart-bar-medium{fill:#d2a94b}
.chart-empty{width:100%;padding:44px 18px;text-align:center;border:1px dashed #d7e4dd;color:var(--muted);font-size:13px;line-height:1.7}
.chart-empty strong{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}
.chart-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px;color:var(--muted);font-size:11px}
.chart-legend span:not(.legend-projection){display:inline-block;width:18px;height:3px;border-radius:2px}
.chart-legend .legend-current{background:var(--green)}
.chart-legend .legend-projection{width:18px;height:0;border-top:2px dashed #799b8c}
.chart-legend .legend-basic{background:#75b79a}.chart-legend .legend-medium{background:#d2a94b}
.insight-note{margin-top:14px;padding:11px 13px;border-left:3px solid var(--blue);background:#f6f9fb;color:var(--muted);font-size:12px;line-height:1.6}
.insight-note strong{color:var(--ink)}
@media(max-width:760px){
  .route-insights{margin-top:42px;padding-top:28px}
  .insights-head{align-items:stretch;flex-direction:column;gap:12px}
  .insights-head h2{font-size:23px}
  .insights-sufficiency{align-self:flex-start}
  .insight-charts{grid-template-columns:1fr}
}
@media(max-width:480px){
  .insight-summary{grid-template-columns:1fr}
  .insight-stat{padding:12px 14px}
  .insight-stat+.insight-stat{border-left:0;border-top:1px solid var(--line)}
  .insight-panel{padding:15px 11px 12px}
  .insight-panel figcaption{display:block}
  .insight-panel figcaption span{display:block;margin-top:2px}
}
