/* ============================================================================
   Continuum — Evidence-to-Outcome Career Operating Layer
   Design system: corporate-clean (Stripe/Linear lineage).
   Restraint: one indigo accent, hairline borders, generous whitespace,
   mono numerals for data (RER, ids, hashes) to signal evidence/engineering rigor.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&display=swap');

:root{
  /* neutrals */
  --bg:#f6f7f9; --surface:#ffffff; --surface-2:#fbfcfd;
  --ink:#0b1220; --body:#404a5c; --muted:#5c6675; --faint:#7a8494;
  --border:#e7eaef; --border-strong:#d6dbe3;
  /* brand */
  --brand:#4f46e5; --brand-ink:#4338ca; --brand-wash:#eef0fe; --brand-line:#dcdcfb;
  --meridian-a:#4f46e5; --meridian-b:#0ea5a4;
  /* semantic (paired with text labels, never colour alone) */
  --success:#047857; --success-wash:#e7f4ef;
  --warning:#b45309; --warning-wash:#fbf1e5;
  --attention:#c2410c; --attention-wash:#fbeee7;
  --verified:#4338ca; --verified-wash:#eef0fe;
  --stated:#64748b; --stated-wash:#eff1f4;
  --error:#dc2626; --error-wash:#fdecec;
  /* type */
  --sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  /* shape */
  --r-sm:7px; --r:10px; --r-lg:14px;
  --shadow-sm:0 1px 2px rgba(11,18,32,.04),0 1px 3px rgba(11,18,32,.06);
  --shadow:0 1px 2px rgba(11,18,32,.04),0 4px 16px rgba(11,18,32,.06);
  --shadow-lg:0 8px 40px rgba(11,18,32,.10);
  --sidebar-w:236px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--body);
  line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased;letter-spacing:-.006em}
h1,h2,h3,h4{color:var(--ink);font-weight:650;line-height:1.2;letter-spacing:-.02em;margin:0}
h1{font-size:1.9rem} h2{font-size:1.3rem} h3{font-size:1.02rem} h4{font-size:.9rem}
p{margin:.5rem 0}
a{color:var(--brand-ink);text-decoration:none}
a:hover{color:var(--brand)}
strong{color:var(--ink);font-weight:600}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.small{font-size:.82rem} .muted{color:var(--muted)} .faint{color:var(--faint)}
.eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink)}

/* ---------- Top bar ---------- */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;
  height:58px;padding:0 22px;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:9px;font-weight:680;color:var(--ink);font-size:1.02rem;letter-spacing:-.02em}
.brand .mark{width:28px;height:28px;
  background:url('/img/continuum/continuum-mark.png') center/contain no-repeat}
.brand-pill{font-size:.72rem;font-weight:500;color:var(--muted);padding:3px 9px;border:1px solid var(--border);
  border-radius:999px;background:var(--surface-2)}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}
.persona-tag{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;color:var(--body);
  padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}
.persona-tag .avatar{width:18px;height:18px;border-radius:50%;background:var(--brand-wash);
  color:var(--brand-ink);font-size:.62rem;font-weight:700;display:grid;place-items:center}
.btn-switch{font-size:.8rem;font-weight:550;color:var(--brand-ink);padding:6px 12px;border:1px solid var(--brand-line);
  border-radius:8px;background:var(--brand-wash)}
.btn-switch:hover{background:#e4e6fd}

/* ---------- App shell (workspace pages) ---------- */
.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:calc(100vh - 58px)}
.sidebar{border-right:1px solid var(--border);background:var(--surface);padding:20px 12px;min-width:210px;position:sticky;top:58px;
  height:calc(100vh - 58px);overflow-y:auto}
.side-label{font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);
  padding:0 12px;margin:4px 0 12px}
.side-link{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:11px;color:var(--body);
  font-size:.95rem;font-weight:500;margin-bottom:3px;transition:background .12s,color .12s,transform .12s}
.side-link:hover{background:var(--surface-2);color:var(--ink);transform:translateX(2px)}
.side-link.active{background:var(--brand-wash);color:var(--brand-ink);font-weight:700;
  box-shadow:inset 3px 0 0 var(--brand)}
.side-link .ic{width:18px;height:18px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  color:var(--faint);font-weight:700;transition:transform .12s,color .12s}
.side-link:hover .ic,.side-link.active .ic{color:var(--brand);transform:translateX(1px)}
.side-foot{margin-top:20px;padding:11px 12px;border-top:1px solid var(--border);font-size:.72rem;color:var(--faint)}
.main{padding:26px 30px 60px;max-width:940px}

/* marketing (public) pages */
.marketing{max-width:940px;margin:0 auto;padding:30px 24px 70px}

/* ---------- Demo strip ---------- */
.demostrip{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--body);
  padding:8px 22px;background:linear-gradient(90deg,var(--brand-wash),transparent 70%);
  border-bottom:1px solid var(--border)}
.demostrip .tag{font-weight:600;color:var(--brand-ink)}
.demostrip .dot-live{width:7px;height:7px;border-radius:50%;background:var(--meridian-b);
  box-shadow:0 0 0 3px rgba(14,165,164,.18)}

/* ---------- Page header (was .decision) ---------- */
.pagehead,.decision{margin:0 0 22px}
.pagehead h1,.decision h1,.decision h2{font-size:1.55rem;margin-bottom:6px}
.decision h2{font-size:1.55rem}
.pagehead .sub,.decision p{color:var(--muted);font-size:.92rem;margin:0;max-width:64ch}
.decision{padding:0;background:none;border:0}

/* ---------- Cards ---------- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:20px 22px;margin:16px 0;box-shadow:var(--shadow-sm)}
.card h3{margin-bottom:12px;font-size:.95rem}
.card > h3:first-child{margin-top:0}
.card-quiet{background:var(--surface-2)}

/* ---------- List rows (was .req-row) ---------- */
.req-row{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:13px 2px;border-bottom:1px solid var(--border)}
.req-row:last-child{border-bottom:0}
.req-row .lead{min-width:0}
.req-row strong{display:block;color:var(--ink);font-weight:600;font-size:.92rem}

/* ---------- Buttons ---------- */
.cta{display:inline-flex;align-items:center;gap:7px;background:var(--brand);color:#fff;
  padding:9px 16px;border-radius:9px;border:0;font:inherit;font-weight:560;font-size:.87rem;
  cursor:pointer;box-shadow:0 1px 2px rgba(79,70,229,.25);transition:background .12s,transform .04s}
.cta:hover{background:var(--brand-ink);color:#fff}
.cta:active{transform:translateY(1px)}
.cta.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm)}
.cta.secondary:hover{background:var(--surface-2);border-color:var(--faint)}
.cta + .cta{margin-left:8px}

/* ---------- Chips: evidence labels & gates ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;
  font-size:.76rem;font-weight:550;border:1px solid var(--border);background:var(--surface);color:var(--body);white-space:nowrap}
.chip .dot{width:7px;height:7px;border-radius:50%;background:var(--stated)}
.lbl-needs{background:var(--attention-wash);border-color:transparent;color:var(--attention)}   .lbl-needs .dot{background:var(--attention)}
.lbl-stated{background:var(--stated-wash);border-color:transparent;color:var(--stated)}          .lbl-stated .dot{background:var(--stated)}
.lbl-inferred{background:var(--verified-wash);border-color:transparent;color:#6b4fbb}            .lbl-inferred .dot{background:#6b4fbb}
.lbl-supported{background:var(--success-wash);border-color:transparent;color:var(--success)}     .lbl-supported .dot{background:var(--success)}
.lbl-verified{background:var(--verified-wash);border-color:transparent;color:var(--verified)}    .lbl-verified .dot{background:var(--verified)}
.gate-review_now{background:var(--success-wash);border-color:transparent;color:var(--success)}            .gate-review_now .dot{background:var(--success)}
.gate-review_with_questions{background:var(--warning-wash);border-color:transparent;color:var(--warning)} .gate-review_with_questions .dot{background:var(--warning)}
.gate-candidate_action_suggested{background:var(--attention-wash);border-color:transparent;color:var(--attention)} .gate-candidate_action_suggested .dot{background:var(--attention)}
.pill{display:inline-flex;align-items:center;padding:2px 9px;border-radius:6px;font-size:.72rem;font-weight:600;
  background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}
.pill.pill-quiet{border-style:dashed;color:var(--faint);font-weight:500}
.pill.critical{color:var(--attention);background:var(--attention-wash);border-color:transparent}
.pill.important{color:var(--warning);background:var(--warning-wash);border-color:transparent}
.pill.supporting{color:var(--stated);background:var(--stated-wash);border-color:transparent}

/* ---------- Sufficiency + coverage bar ---------- */
.suff{font-family:var(--mono);font-weight:600;color:var(--ink);font-size:.9rem;white-space:nowrap}
.bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden;margin-top:8px;width:150px}
.bar > span{display:block;height:100%;border-radius:999px;background:var(--brand)}
.bar.ok > span{background:var(--success)} .bar.warn > span{background:var(--warning)} .bar.low > span{background:var(--attention)}

/* ---------- Big stat (RER) ---------- */
.statwrap{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
.stat{font-family:var(--mono);font-size:2.6rem;font-weight:600;color:var(--ink);line-height:1;letter-spacing:-.03em}
.stat .unit{font-size:1.1rem;color:var(--muted)}
.stat-note{color:var(--muted);font-size:.82rem;max-width:40ch;padding-bottom:4px}

/* ---------- Timeline ---------- */
.timeline{list-style:none;padding:0;margin:6px 0 0}
.timeline li{position:relative;padding:0 0 18px 22px;border-left:2px solid var(--border)}
.timeline li:last-child{border-left-color:transparent;padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;
  background:var(--surface);border:2px solid var(--brand)}
.timeline li:first-child::before{background:var(--brand)}
.timeline strong{color:var(--ink);font-size:.9rem}

/* ---------- Tables ---------- */
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}
th{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600}
td{color:var(--body)} td:last-child{font-family:var(--mono);color:var(--ink)}

/* ---------- Empty / states ---------- */
.empty{border:1px dashed var(--border-strong);border-radius:var(--r);padding:34px 20px;text-align:center;
  color:var(--muted);background:var(--surface-2);font-size:.9rem}
.banner{border-radius:var(--r);padding:12px 15px;margin:14px 0;font-size:.86rem;border:1px solid var(--border)}
.banner.err{background:var(--error-wash);border-color:transparent;color:var(--error)}
.banner.ok{background:var(--success-wash);border-color:transparent;color:var(--success)}

/* ---------- Inputs ---------- */
input[type=text],input:not([type]){width:100%;padding:9px 12px;border:1px solid var(--border-strong);
  border-radius:8px;font:inherit;font-size:.88rem;background:var(--surface);margin:5px 0;color:var(--ink)}
input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash)}

/* ---------- Details ---------- */
details{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}
summary{cursor:pointer;font-size:.82rem;color:var(--brand-ink);font-weight:550}

/* ---------- Footer ---------- */
.foot{border-top:1px solid var(--border);padding:20px 24px;color:var(--faint);font-size:.78rem;text-align:center;background:var(--surface)}

/* ---------- Hero (landing) ---------- */
.cover-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,24,33,.55);backdrop-filter:blur(3px)}
.cover-modal[hidden]{display:none}
.cover-card{background:var(--surface);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.28);max-width:460px;width:100%;padding:44px 34px;text-align:center;animation:coverIn .28s ease-out}
@keyframes coverIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.cover-mark{display:block;width:64px;height:64px;margin:0 auto 18px;background:url('/img/continuum/continuum-mark.png') center/contain no-repeat}
.cover-name{font-size:2.1rem;letter-spacing:-.03em;line-height:1;font-weight:800}
.cover-desc{font-size:1rem;font-weight:600;color:var(--brand-ink);margin-top:9px}
.cover-line{font-size:1rem;color:var(--body);margin:16px auto 0;line-height:1.6}
.cover-card .cta{margin-top:24px}
@media (prefers-reduced-motion:reduce){.cover-card{animation:none}}
.hero{padding:46px 0 30px;border-bottom:1px solid var(--border);margin-bottom:30px;position:relative}
.hero h1{font-size:2.7rem;letter-spacing:-.035em;max-width:16ch;margin-bottom:14px}
.hero .lede{font-size:1.12rem;color:var(--body);max-width:56ch;margin-bottom:24px}
.hero .accent{background:linear-gradient(100deg,var(--meridian-a),var(--meridian-b));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0}
.principle{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-sm)}
.principle .n{font-family:var(--mono);font-size:.78rem;color:var(--brand-ink);font-weight:600}
.principle h4{margin:8px 0 5px;font-size:.95rem}
.principle p{margin:0;font-size:.85rem;color:var(--muted)}

/* ---------- Persona cards (demo switcher) ---------- */
.persona-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.persona-card{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--border);
  border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color .12s,transform .06s}
.persona-card:hover{border-color:var(--brand-line);transform:translateY(-1px)}
.persona-card .avatar{width:34px;height:34px;border-radius:9px;background:var(--brand-wash);color:var(--brand-ink);
  font-weight:700;font-size:.82rem;display:grid;place-items:center;flex:none}
.persona-card .who{min-width:0} .persona-card .who b{color:var(--ink);font-size:.9rem;display:block}
.persona-card .who span{font-size:.76rem;color:var(--muted)}

/* meridian svg wrapper */
.meridian-wrap{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:620px){.meridian-wrap{grid-template-columns:1.1fr .9fr;align-items:center}}

/* ---------- Responsive ---------- */
/* off-canvas drawer nav (mobile) */
.hamburger{display:none}
.drawer,.drawer-backdrop{display:none}
@media(max-width:820px){
  .shell{grid-template-columns:1fr}
  .sidebar{display:none}
  .main{padding:18px 14px 60px;max-width:100%}
  .principles{grid-template-columns:1fr}
  .hero h1{font-size:2rem}
  .pagehead h1,.decision h1,.decision h2{font-size:1.35rem}
  .topbar{gap:10px;padding:0 12px}
  .brand-pill{display:none}
  .persona-tag{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .stat{font-size:1.6rem}
  .kpi .v{font-size:1.6rem}
  .appcard .meta{gap:6px}
  .appcard .m + .m{padding-left:10px}

  .hamburger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;
    font-size:1.4rem;line-height:1;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;
    color:var(--ink);cursor:pointer;margin-right:2px}
  .hamburger:active{background:var(--brand-wash)}
  .drawer{display:block;position:fixed;top:0;left:0;bottom:0;width:80%;max-width:290px;z-index:60;
    background:var(--surface);border-right:1px solid var(--border);padding:14px 12px;
    transform:translateX(-100%);transition:transform .22s ease;overflow-y:auto;box-shadow:2px 0 24px rgba(20,20,40,.12)}
  .drawer.open{transform:translateX(0)}
  .drawer-backdrop{display:block;position:fixed;inset:0;z-index:55;background:rgba(20,20,40,.42)}
  .drawer-backdrop[hidden]{display:none}
  .drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:2px 4px}
  .drawer-close{width:34px;height:34px;border:none;background:transparent;font-size:1.6rem;line-height:1;color:var(--muted);cursor:pointer}
  .drawer .side-link{font-size:1rem;padding:13px 14px}
}
@media(max-width:420px){
  .persona-tag{display:none}
  .btn-switch{padding:6px 10px}
}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- Tabs (grouped sub-pages) ---- */
.tabbar{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.tab{appearance:none;border:1px solid var(--border,#e3e3ea);background:#fff;color:var(--ink,#1c1c28);
  padding:9px 16px;border-radius:12px 12px 0 0;font-weight:600;font-size:.92rem;cursor:pointer;border-bottom:none;position:relative;top:1px}
.tab[aria-selected="true"]{color:#fff;border-color:transparent}
.tab[data-accent="indigo"][aria-selected="true"]{background:#6C5CE7}
.tab[data-accent="teal"][aria-selected="true"]{background:#14B8A6}
.tab[data-accent="violet"][aria-selected="true"]{background:#a78bfa}
.tab[data-accent="gold"][aria-selected="true"]{background:#E0A400}
.tab[data-accent="rose"][aria-selected="true"]{background:#FB7185}
.tab[aria-selected="false"]:hover{background:var(--brand-wash,#f4f3ff)}
.tabpane[hidden]{display:none}
.tabpane{animation:fade .18s ease}
@keyframes fade{from{opacity:.4}to{opacity:1}}
@keyframes hintPulse{0%,100%{box-shadow:0 0 0 0 rgba(79,70,229,.45)}50%{box-shadow:0 0 0 7px rgba(79,70,229,0)}}
@keyframes hintBlink{0%,100%{opacity:1;transform:translateX(0)}50%{opacity:.35;transform:translateX(-4px)}}
.hint-pulse{animation:hintPulse 1.25s ease-out infinite;border-radius:8px}
.hint-arrow{display:inline-flex;align-items:center;color:var(--brand);font-weight:800;font-size:1.1rem;margin-right:6px;animation:hintBlink 1s ease-in-out infinite;vertical-align:middle;pointer-events:none}
@media (prefers-reduced-motion: reduce){.hint-pulse,.hint-arrow{animation:none}}

/* ---- Home explainer hero ---- */
.explain{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:6px}
.explain .step{border:1px solid var(--border,#e3e3ea);border-radius:14px;padding:16px;background:#fff}
.explain .step .n{width:26px;height:26px;border-radius:50%;background:var(--brand-wash,#f0eeff);color:#6C5CE7;
  display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}
.explain .step h4{margin:10px 0 4px;font-size:1rem}
.explain .step p{margin:0;color:var(--muted,#6a6a78);font-size:.9rem}
.qa-log{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.qa-q{align-self:flex-end;background:#6C5CE7;color:#fff;padding:8px 12px;border-radius:14px 14px 4px 14px;max-width:85%}
.qa-a{align-self:flex-start;background:var(--brand-wash,#f4f3ff);padding:8px 12px;border-radius:14px 14px 14px 4px;max-width:90%}

/* ---- Application status badges + card ---- */
.status{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid transparent}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}
.status.s-submitted{background:#eef2ff;color:#4f46e5}
.status.s-under_review{background:#fff7ed;color:#c2570c}
.status.s-clarification_requested{background:#fef2f2;color:#dc2626}
.status.s-interview{background:#ecfeff;color:#0e7490}
.status.s-offer{background:#ecfdf5;color:#059669}
.status.s-closed,.status.s-withdrawn,.status.s-not_selected{background:#f3f4f6;color:#6b7280}
.appcard{display:block;text-decoration:none;color:inherit;padding:16px 18px;border:1px solid var(--border);
  border-radius:14px;margin-bottom:10px;background:#fff;transition:box-shadow .12s,transform .12s}
.appcard:hover{box-shadow:0 4px 16px rgba(20,20,40,.07);transform:translateY(-1px)}
.appcard .top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.appcard .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.appcard .m{font-size:.82rem;color:var(--muted)}
.appcard .m b{color:var(--ink);font-weight:600}
.appcard .m .k{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:700}
.appcard .m + .m{padding-left:14px;border-left:1px solid var(--border)}

/* ---- Application card: company avatar + layout ---- */
.appcard .row{display:flex;gap:14px;align-items:flex-start}
.appcard .logo{width:46px;height:46px;flex:0 0 auto;border-radius:11px;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.05rem;color:#fff;letter-spacing:.02em}
.appcard .co{font-size:1.02rem;font-weight:700;color:var(--ink);margin-top:1px}
.appcard .role{font-size:.9rem;color:var(--muted);margin-top:1px}
.appcard .grow{flex:1;min-width:0}

/* ---- Employer dashboard ---- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:6px 0 4px}
.kpi{border:1px solid var(--border);border-radius:14px;padding:16px 18px;background:#fff}
.kpi .v{font-size:2rem;font-weight:800;line-height:1;color:var(--ink)}
.kpi .l{font-size:.8rem;color:var(--muted);margin-top:6px;font-weight:600}
.kpi.accent{background:linear-gradient(135deg,var(--brand-wash),#fff)}
.pipe{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.pipe .seg{flex:1;min-width:120px;border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#fff}
.pipe .seg .v{font-size:1.5rem;font-weight:800}
.pipe .seg .l{font-size:.78rem;color:var(--muted);font-weight:600;margin-top:2px}
.pipe .seg .bar{height:4px;border-radius:4px;margin-top:8px;background:currentColor;opacity:.85}
.pipe .p-submitted{color:#4f46e5}.pipe .p-under_review{color:#c2570c}
.pipe .p-clarification_requested{color:#dc2626}.pipe .p-offer{color:#059669}.pipe .p-closed{color:#6b7280}

/* ---- Global Mock/Live AI badge ---- */
.ai-badge{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid transparent}
.ai-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ai-badge.mock{background:#f3f4f6;color:#6b7280}
.ai-badge.live{background:#ecfdf5;color:#059669}
@media(max-width:520px){.ai-badge{display:none}}

/* ---- AI Coach chat ---- */
.chat{display:flex;flex-direction:column;gap:10px;max-height:52vh;overflow-y:auto;padding:4px 2px}
.chat .msg{display:flex;flex-direction:column;max-width:82%}
.chat .msg.me{align-self:flex-end;align-items:flex-end}
.chat .msg.coach{align-self:flex-start}
.chat .who{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}
.chat .bub{padding:10px 13px;border-radius:14px;font-size:.94rem;line-height:1.5;border:1px solid var(--border);background:var(--surface)}
.chat .msg.me .bub{background:#6C5CE7;border-color:#6C5CE7;color:#fff;border-bottom-right-radius:5px}
.chat .msg.coach .bub{border-bottom-left-radius:5px}
@media(max-width:640px){.chat .msg{max-width:94%}}

/* ---- Compact evidence rows (one action per row; details on demand) ---- */
.ev-row{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--border)}
.ev-main{flex:1;min-width:0}
.ev-text{font-size:.95rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ev-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:5px}
.ev-dots{display:inline-flex;gap:3px}
.ev-dots i{width:14px;height:5px;border-radius:3px;display:block;box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}
.ev-act{display:flex;gap:6px;align-items:center;flex-shrink:0}
.ev-more{position:relative}
.ev-more>summary{list-style:none;cursor:pointer;padding:4px 9px;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:.9rem}
.ev-more>summary::-webkit-details-marker{display:none}
.ev-pop{position:absolute;right:0;top:34px;z-index:20;width:290px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 10px 28px rgba(15,23,42,.14)}
@media(max-width:640px){.ev-row{align-items:flex-start}.ev-pop{position:static;width:auto;margin-top:8px;box-shadow:none}}

/* ---- Continuum printable profile ---- */
.cprofile{padding:26px 28px}
.cp-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;border-bottom:2px solid #0F172A;padding-bottom:12px}
.cp-name{font-size:1.7rem;font-weight:800;letter-spacing:-.01em}
.cp-sub{color:var(--muted);margin-top:2px}
.cp-brand{text-align:right}
.cp-brandname{font-weight:800;color:#6C5CE7}
.cp-brandsub{font-size:.72rem;color:var(--faint)}
.cp-stats{display:flex;gap:26px;flex-wrap:wrap;margin:14px 0 4px}
.cp-stats div{display:flex;flex-direction:column}
.cp-stats b{font-size:1.25rem}
.cp-stats span{font-size:.72rem;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
.cp-h{margin:20px 0 4px;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:#0F172A;border-bottom:1px solid var(--border);padding-bottom:4px}
.cp-note{margin:4px 0 8px}
.cp-p{margin:6px 0;line-height:1.55}
.cp-skills{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.cp-skill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:4px 11px;font-size:.86rem}
.cp-lv{font-style:normal;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:999px}
.cp-stated{background:#f3f4f6;color:#6b7280}
.cp-supported{background:#ecfdf5;color:#059669}
.cp-human_verified{background:#eef2ff;color:#4f46e5}
.cp-tv{font-style:normal;font-size:.66rem;color:#6C5CE7}
.cp-group{margin-top:10px}
.cp-field{font-weight:700;font-size:.86rem;color:var(--muted)}
.cp-ul{margin:5px 0 0;padding-left:18px}
.cp-ul li{margin:4px 0;line-height:1.55}
.cp-foot{margin-top:22px;padding-top:10px;border-top:1px solid var(--border);font-size:.74rem;color:var(--faint)}

@media print{
  .noprint,.topbar,.demostrip,.side,.foot,.drawer,.drawer-backdrop,.navtoggle{display:none !important}
  body{background:#fff}
  .shell,.main{display:block;padding:0;margin:0;max-width:none}
  .card{border:none;box-shadow:none;padding:0}
  .cprofile{padding:0}
  .cp-skill{border-color:#cbd5e1}
  a{text-decoration:none;color:inherit}
  @page{margin:16mm}
}

/* ---- Continuum profile: infographic band ---- */
.cp-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:16px 0 4px}
.cp-panel{border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}
.cp-donut{width:100%;max-width:170px;margin:0 auto;display:block}
.cp-legend{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--muted)}
.cp-legend span{display:flex;align-items:center;gap:7px}
.cp-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.cp-legend b{margin-left:auto;color:var(--ink)}
.cp-ptitle{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--body);font-weight:700}
.cp-bar{display:flex;align-items:center;gap:8px;font-size:.8rem}
.cp-blabel{width:92px;flex-shrink:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-btrack{flex:1;height:8px;border-radius:5px;background:#e4e8ee;overflow:hidden}
.cp-btrack i{display:block;height:100%;border-radius:5px}
.cp-bar b{width:22px;text-align:right;font-size:.78rem}
.cp-mini{margin-top:6px;font-size:.78rem;color:var(--muted)}
.cp-hn{font-size:.72rem;color:var(--faint);font-weight:600;margin-left:6px}
.cp-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}
.cp-skill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;padding:4px 11px;font-size:.84rem}
@media print{.cp-info{grid-template-columns:repeat(3,1fr)}.cp-panel{break-inside:avoid}}

/* ---- Profile: reading strip, skill groups, education ---- */
.cp-read{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin:16px 0 6px}
.cp-readmain{display:flex;flex-direction:column;gap:6px}
.cp-headline{font-size:1.12rem;font-weight:800;letter-spacing:-.01em}
.cp-str{font-size:.9rem;color:var(--muted);line-height:1.5}
.cp-next{border:1px solid var(--brand-line);background:var(--brand-wash);border-radius:14px;padding:13px;display:flex;flex-direction:column;gap:6px}
.cp-nextline{font-size:.83rem;line-height:1.5;color:var(--ink)}
.cp-sgroup{display:flex;gap:12px;align-items:baseline;padding:7px 0;border-top:1px solid var(--border)}
.cp-sfield{width:170px;flex-shrink:0;font-weight:700;font-size:.85rem;display:flex;align-items:center;gap:2px}
.cp-sline{flex:1;font-size:.88rem;line-height:1.55;color:var(--muted)}
.cp-edu{margin-top:4px}
.cp-eduline{font-size:.95rem;margin-bottom:6px}
.cp-course{display:flex;gap:10px;align-items:baseline;font-size:.85rem;color:var(--muted);line-height:1.55;margin:4px 0}
.cp-ctag{flex-shrink:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);width:120px}
@media(max-width:760px){.cp-read{grid-template-columns:1fr}.cp-sgroup{flex-direction:column;gap:2px}.cp-sfield{width:auto}.cp-ctag{width:auto}}
@media print{.cp-read{grid-template-columns:1fr}}

/* ---- Profile: narrative skills, course grid, structured experience ---- */
.cp-narr{display:flex;gap:14px;align-items:baseline;padding:8px 0;border-top:1px solid var(--border)}
.cp-nfield{width:168px;flex-shrink:0;font-size:.85rem;display:flex;align-items:center;gap:3px}
.cp-nsent{flex:1;margin:0;font-size:.9rem;line-height:1.6;color:var(--muted)}
.cp-cblock,.cp-xblock{margin-top:12px}
.cp-csub{font-size:.82rem;color:var(--muted);margin-bottom:5px;display:flex;align-items:center;gap:3px}
.cp-cgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:3px 16px}
.cp-cgrid li{font-size:.83rem;line-height:1.5;color:var(--muted);position:relative;padding-left:11px}
.cp-cgrid li::before{content:"·";position:absolute;left:2px;color:var(--faint)}
.cp-x{padding:6px 0 6px 12px;border-left:2px solid var(--border);margin:6px 0}
.cp-xlead{font-size:.9rem;line-height:1.5}
.cp-xrole{display:inline-block;font-weight:700;margin-right:6px}
.cp-xrole::after{content:" —";font-weight:400;color:var(--faint)}
.cp-xmeta{display:flex;gap:10px;flex-wrap:wrap;margin-top:3px;font-size:.78rem;color:var(--faint)}
.cp-xres{color:#059669;font-weight:600}
@media(max-width:760px){.cp-narr{flex-direction:column;gap:2px}.cp-nfield{width:auto}.cp-cgrid{grid-template-columns:1fr}}
@media print{.cp-cgrid{grid-template-columns:repeat(3,1fr)}.cp-x{break-inside:avoid}}

/* ---- Profile: professional summary, education outcomes, involvement ---- */
.cp-summary{font-size:.98rem;line-height:1.65;margin:6px 0 10px}
.cp-edurow{display:flex;gap:14px;align-items:baseline;padding:7px 0;border-top:1px solid var(--border)}
.cp-earea{width:180px;flex-shrink:0;font-size:.86rem}
.cp-eskills{flex:1;font-size:.86rem;line-height:1.55;color:var(--muted)}
.cp-xname{font-weight:600}
@media(max-width:760px){.cp-edurow{flex-direction:column;gap:2px}.cp-earea{width:auto}}

/* ---- Profile: EDGE lines, meridian panel, CV-style involvement blocks ---- */
.cp-mapwrap{align-items:center}
.cp-mapwrap svg{max-width:210px;margin:0 auto;display:block}
.cp-edge{margin:8px 0 10px;display:flex;flex-direction:column;gap:3px}
.cp-edgeline{font-size:.84rem;line-height:1.55;color:var(--muted);padding-left:12px;position:relative}
.cp-edgeline::before{content:"▪";position:absolute;left:0;color:#6C5CE7}
.cp-x{padding:8px 0 8px 12px;border-left:2px solid var(--border);margin:8px 0}
.cp-xrole{font-weight:700;font-size:.9rem}
.cp-xname{font-size:.9rem;line-height:1.45}
.cp-xmeta{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px;font-size:.78rem;color:var(--faint)}
.cp-xorg{font-weight:600;color:var(--muted)}
.cp-xres{margin-top:3px;font-size:.82rem;color:#059669;font-weight:600}
.cp-inline{display:inline}
.cp-inline>summary{display:inline;cursor:pointer;color:#6C5CE7;font-weight:600}
.cp-inline>summary::-webkit-details-marker{display:none}

/* ---- Profile: bare meridian + inline edit ---- */
.cp-mapwrap svg{max-width:100%;width:100%;height:auto}
.cp-mlegend{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:.74rem;color:var(--faint);margin-top:2px}
.cp-mlegend span{display:flex;align-items:center;gap:5px}
.cp-mdash{width:16px;height:0;border-top:2px dashed #4f46e5;display:inline-block}
.cp-mfill{width:14px;height:8px;background:rgba(14,165,164,.25);border:1.5px solid #047857;border-radius:2px;display:inline-block}
.cp-edit{display:inline-block;margin-top:4px;font-size:.76rem;color:#6C5CE7;font-weight:600;text-decoration:none}
.cp-edit:hover{text-decoration:underline}
.cp-posbox{border:1px dashed var(--border);border-radius:12px;padding:10px 12px}
.cp-posbox>summary{font-weight:600;color:#6C5CE7}

/* ---- Grouped sidebar ---- */
.side-subs{display:flex;flex-direction:column;gap:1px;margin:2px 0 8px 30px;padding-left:10px;border-left:1px solid var(--border)}
.side-sub{padding:6px 10px;border-radius:8px;font-size:.86rem;color:var(--muted);text-decoration:none}
.side-sub:hover{background:var(--surface-2);color:var(--ink)}
.side-sub.on{background:var(--brand-wash);color:#6C5CE7;font-weight:600}

/* ---- Candidate home: portal-style dashboard ---- */
.hero-next{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:14px}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.card-head h3{margin:0}
.jobrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);text-decoration:none;color:inherit}
.jobrow:first-of-type{border-top:none}
.jobmain{flex:1;min-width:0}
.jobtitle{font-weight:600;font-size:.94rem;line-height:1.35}
.rerchip{flex-shrink:0;font-weight:800;font-size:.86rem;color:#059669;background:#ecfdf5;border-radius:999px;padding:4px 11px}
a.jobrow:hover .jobtitle{color:#6C5CE7}
.tile{display:block;text-decoration:none;color:inherit;transition:border-color .15s}
.tile:hover{border-color:var(--brand-line)}
.tile-t{font-weight:700;margin-bottom:3px}
.cp-srcbox{border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:0 12px 12px 0;padding:13px 14px;margin-top:22px;background:var(--surface-1)}
.cp-srchint{border-left:3px solid #059669;padding:6px 10px;background:#ecfdf5;border-radius:0 8px 8px 0;margin-top:6px}
.done-t{color:var(--faint);text-decoration:line-through}

/* ---- Role page: requirement blocks ---- */
.rq{padding:14px 0;border-top:1px solid var(--border)}
.rq:first-of-type{border-top:none}
.rq-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.rq-name{font-weight:700;font-size:.98rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rq-level{display:flex;align-items:baseline;gap:8px;flex-shrink:0}
.rq-word{font-size:.8rem;font-weight:600;color:var(--muted)}
.rq-bar{margin:8px 0 6px;max-width:340px}
.rq-ev{font-size:.88rem;line-height:1.55;color:var(--ink)}
.rq-ev.muted{color:var(--faint)}
.rq-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.rq-cta{padding:5px 13px;flex-shrink:0}
@media(max-width:640px){.rq-bar{max-width:none}.rq-foot{align-items:flex-start;flex-direction:column;gap:8px}}
.chat-sep{display:flex;align-items:center;gap:10px;margin:6px 0;color:var(--faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.chat-sep::before,.chat-sep::after{content:"";flex:1;height:1px;background:var(--border)}

/* ---- Two-score card ---- */
.scorecard{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.sc-n{font-size:2rem;font-weight:800;line-height:1}
.sc-n.sc-dim{color:var(--muted)}
.sc-l{font-weight:700;font-size:.86rem;margin-top:2px}
.sc-h{font-size:.78rem;color:var(--faint);line-height:1.5;margin-top:3px}
.tier-badge{display:inline-block;margin-top:7px;font-size:.7rem;font-weight:700;padding:3px 12px;border-radius:999px;letter-spacing:.01em}
.tier-note{font-size:.78rem;color:var(--muted);line-height:1.45;margin-top:7px}
.donut{width:120px;height:120px;display:block;margin-bottom:6px}
.donut-n{font-size:1.75rem;font-weight:800;fill:var(--ink)}
.donut-n.donut-dim{fill:var(--muted)}

/* ---- Interview practice ---- */
.iv-q{font-size:1.06rem;font-weight:700;line-height:1.45}
.iv-model{border:1px solid var(--brand-line);background:var(--brand-wash);border-radius:12px;padding:12px}
.iv-model>summary{cursor:pointer;font-weight:600;color:#6C5CE7}
.iv-body{margin-top:9px;font-size:.92rem;line-height:1.65}
.iv-a:focus{outline:2px solid var(--brand-line);outline-offset:1px}

/* ---- Operator dashboard ---- */
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:14px}
.dbar{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;margin:1px 0;border:1px solid transparent;
      border-radius:8px;background:none;cursor:pointer;text-align:left;font:inherit;color:inherit}
.dbar:hover{background:var(--surface-2)}
.dbar.on{border-color:var(--brand-line);background:var(--brand-wash)}
.dbar-l{flex:0 0 40%;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dbar-t{flex:1;height:9px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.dbar-t i{display:block;height:100%;border-radius:5px}
.dbar b{width:34px;text-align:right;font-size:.84rem}
.funnel{margin:9px 0}
.funnel-h{display:flex;justify-content:space-between;font-size:.86rem;margin-bottom:4px}
.funnel-t{height:10px;border-radius:6px;background:#e4e8ee;overflow:hidden}
.funnel-t i{display:block;height:100%;border-radius:6px}
.tbl{width:100%;border-collapse:collapse;font-size:.88rem}
.tbl th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);
        padding:6px 8px;border-bottom:1px solid var(--border)}
.tbl td{padding:9px 8px;border-bottom:1px solid var(--border);vertical-align:middle}
.drow{cursor:pointer}
.drow:hover{background:var(--surface-2)}
.drow.on{background:var(--brand-wash)}
.kpi-link{text-decoration:none;color:inherit;transition:border-color .15s}
.kpi-link:hover{border-color:var(--brand-line)}
.tierpeek{margin-top:12px;padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.tier-row{display:flex;gap:10px;align-items:baseline;padding:3px 0;font-size:.86rem;flex-wrap:wrap}
.tier-n{flex:0 0 52px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-weight:700}
.tier-w{display:flex;gap:5px;flex-wrap:wrap}

/* ---- Chapter 1 and 10 surfaces ---- */
.jsurface{max-width:1040px;margin:0 auto;padding:28px 20px 48px}
.jeyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:700}
.jheadline{margin:6px 0 10px;font-size:2.1rem;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
.jlede{font-size:1.02rem;color:var(--body);max-width:62ch;margin:0 0 22px}

.jvoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:24px}
.jvoice{border:1px solid var(--border);border-left-width:3px;border-radius:var(--r);background:var(--surface);
        padding:14px 16px}
.jvoice.candidate{border-left-color:var(--meridian-b)}
.jvoice.employer{border-left-color:var(--warning)}
.jvoice.university{border-left-color:var(--success)}
.jvoice-who{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);font-weight:700}
.jvoice p{margin:7px 0 9px;font-size:1rem;color:var(--ink)}
.jvoice-gap{font-size:.8rem;color:var(--muted);border-top:1px solid var(--border);padding-top:7px}

.jloop{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;padding:15px;border:1px solid var(--border);
       border-radius:var(--r-lg);background:var(--surface-2);margin-bottom:26px}
.jloop-stage{flex:1;min-width:120px;display:flex;flex-direction:column;gap:2px;padding:9px 11px;
             background:var(--surface);border:1px solid var(--border);border-radius:var(--r)}
.jloop-stage strong{font-size:.88rem;color:var(--ink)}
.jloop-stage span{font-size:.75rem;color:var(--muted)}
.jloop-arrow{align-self:center;color:var(--faint);font-size:1rem}

.jfigure{margin:26px 0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);
         padding:12px;overflow:hidden}
.jfigure img{width:100%;height:auto;display:block;border-radius:var(--r)}
.jfigure figcaption{margin-top:9px;font-size:.8rem;color:var(--muted);line-height:1.55}

.jcommit{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:24px}
.jcommit-card{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:15px 16px}
.jcommit-card h3{margin:0 0 6px;font-size:.98rem;color:var(--brand-ink)}
.jcommit-card p{margin:0;font-size:.85rem;line-height:1.55;color:var(--body)}

.jchain{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;padding:15px;
        border:1px solid var(--brand-line);border-radius:var(--r-lg);background:var(--brand-wash);margin-bottom:20px}
.jchain-step{font-weight:600;font-size:.95rem;color:var(--brand-ink)}
.jchain-arrow{color:var(--brand);font-size:1.05rem}
.jclose{font-size:1.05rem;line-height:1.6;color:var(--ink);max-width:64ch;margin:0 0 22px}

.jcta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.jcta-row.wrap{gap:9px}
.jcta{display:inline-block;padding:9px 16px;border-radius:var(--r-sm);background:var(--brand);color:#fff;
      text-decoration:none;font-weight:600;font-size:.9rem;border:1px solid var(--brand)}
.jcta:hover{background:var(--brand-ink);color:#fff}
.jcta.ghost{background:var(--surface);color:var(--body);border-color:var(--border-strong)}
.jcta.ghost:hover{background:var(--brand-wash);color:var(--brand-ink);border-color:var(--brand-line)}
.jcta-note{font-size:.8rem;color:var(--muted);max-width:44ch}
.jcue{margin-top:26px;padding:9px 13px;border-left:3px solid var(--border-strong);background:var(--surface-2);
      font-size:.85rem;color:var(--muted);border-radius:0 var(--r-sm) var(--r-sm) 0}
.jcue span{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;color:var(--faint);
           margin-right:7px}

@media (max-width:820px){
  .jheadline{font-size:1.6rem}
  .jsurface{padding:20px 14px 36px}
}

/* ---- Chapter 2 & 3: provenance, evidence ladder, rewrite proof ---- */
.ai-provenance{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:9px}
.pill.notstored{background:var(--warning-wash);border-color:#f0dcc0;color:var(--warning);font-weight:600}

.ladder{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ladder-step{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--border);
             border-radius:var(--r);background:var(--surface-2)}
.ladder-n{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);
          font-size:.74rem;font-weight:600;background:var(--surface);border:1px solid var(--border-strong);
          color:var(--muted)}
.ladder-b{display:flex;flex-direction:column;gap:1px;flex:1}
.ladder-b strong{font-size:.9rem}
.ladder-step.past{opacity:.72}
.ladder-step.past .ladder-n{background:var(--success-wash);border-color:#bfe3d5;color:var(--success)}
.ladder-step.on{border-color:var(--brand-line);background:var(--brand-wash)}
.ladder-step.on .ladder-n{background:var(--brand);border-color:var(--brand);color:#fff}
.ladder-here{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-ink);
             border:1px solid var(--brand-line);border-radius:999px;padding:2px 8px;background:var(--surface)}

.ladder-proof{border-color:var(--brand-line)}
.lp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:11px;margin-top:9px}
.lp-h{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-weight:700;
      margin-bottom:4px}
.lp-box{padding:10px;border:1px solid var(--border);border-radius:var(--r);font-size:.9rem;line-height:1.5}
.lp-box.was{background:var(--surface-2);color:var(--muted)}
.lp-box.now{background:var(--brand-wash);border-color:var(--brand-line);color:var(--ink)}
.lp-verdict{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:.86rem}
.lp-up{color:var(--success);font-weight:600}
.lp-up::before{content:'▲ ';font-size:.7rem}
.lp-same{color:var(--body)}
.lp-same::before{content:'= ';font-weight:700;color:var(--muted)}

/* ---- Chapter 4: Atlas band on the candidate profile ---- */
.atlas-band{margin-top:20px;padding:15px 17px;border:1px solid var(--border);border-radius:var(--r-lg);
            background:var(--surface-2)}
.atlas-band h3{margin:0 0 5px;font-size:1rem;color:var(--ink)}
.atlas-tiers{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.atier{display:flex;align-items:center;gap:11px;padding:8px 11px;background:var(--surface);
       border:1px solid var(--border);border-radius:var(--r)}
.atier-n{flex:0 0 88px;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;
         color:var(--faint)}
.atier-b{display:flex;flex-direction:column;gap:1px}
.atier-b strong{font-size:.9rem}
.atier.cross{border-color:var(--brand-line);background:var(--brand-wash)}
.atier.cross .atier-n{color:var(--brand-ink)}
.atlas-total{margin-top:10px;font-size:.92rem;color:var(--body)}
.atlas-total strong{font-family:var(--mono);font-size:1.15rem;color:var(--ink)}
.atlas-honest{border-left:3px solid var(--border-strong);padding-left:9px;margin-top:9px}
.atlas-alt{margin-top:11px}
.atlas-alt summary{cursor:pointer;color:var(--brand-ink);font-weight:600}
.atlas-alt ul{margin:7px 0 0;padding-left:17px}
.atlas-alt li{margin-bottom:3px;line-height:1.5}

/* ---- Chapter 6: the two dimensions, and the deliberate absence on the employer side ---- */
.sc-note{grid-column:1/-1;margin:9px 0 0;font-size:.8rem;color:var(--muted);border-top:1px solid var(--border);
         padding-top:8px}
.card.no-score{border-color:var(--brand-line);background:var(--brand-wash)}
.card.no-score h3{margin-top:0;color:var(--brand-ink)}

/* ---- Chapter 7 & 8: stage rail, next action, growth provenance ---- */
.next-action{margin:11px 0 0;padding-top:9px;border-top:1px solid var(--border);font-size:.88rem;color:var(--body)}
.next-action span{display:block;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.stage-rail{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
.stage{flex:1;min-width:104px;display:flex;flex-direction:column;gap:5px;padding:9px 10px;
       border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2)}
.stage-dot{width:9px;height:9px;border-radius:50%;background:var(--border-strong)}
.stage-l{font-size:.8rem;color:var(--muted);line-height:1.3}
.stage.past{background:var(--success-wash);border-color:#cfe6dc}
.stage.past .stage-dot{background:var(--success)}
.stage.past .stage-l{color:var(--success)}
.stage.current{background:var(--brand-wash);border-color:var(--brand-line)}
.stage.current .stage-dot{background:var(--brand);box-shadow:0 0 0 3px var(--brand-line)}
.stage.current .stage-l{color:var(--brand-ink);font-weight:600}
.stage-now{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-ink)}
.prov{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-top:5px}
.prov-chip{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--border-strong);
           white-space:nowrap}
.prov-chip.fb{background:var(--warning-wash);border-color:#f0dcc0;color:var(--warning)}
.prov-chip.gap{background:var(--stated-wash);color:var(--stated)}

/* ---- Chapter 9: University Planning Insight ---- */
.dx{display:inline-block;margin-top:6px;font-size:.68rem;font-weight:700;letter-spacing:.04em;
    padding:2px 9px;border-radius:999px;border:1px solid var(--border-strong)}
.dx-exposure{background:var(--attention-wash);border-color:#f0cdb8;color:var(--attention)}
.dx-provability{background:var(--warning-wash);border-color:#f0dcc0;color:var(--warning)}
.dx-description{background:var(--stated-wash);color:var(--stated)}
.plan-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;
              border-top:1px solid var(--border)}
.plan-actions .small{max-width:46ch}
.boundary-note{margin-top:14px;border-color:var(--border-strong);background:var(--surface-2)}
@media print{
  .topbar,.demostrip,.sidebar,.drawer,.plan-actions,.foot{display:none !important}
  .shell{display:block}
  .card{break-inside:avoid;box-shadow:none}
}
.ch9-handoff{margin-top:14px;border-color:var(--brand-line);background:var(--brand-wash)}

/* ============================================================================
   Guided Judge Journey — contextual spotlight tour
   The panel sits BESIDE what it explains, never on top of it. The dim is light
   enough that a judge can still read the product underneath.
   ========================================================================== */
.tour-dim{position:fixed;inset:0;background:rgba(11,18,32,.22);z-index:9000;pointer-events:none}
.tour-target{position:relative;z-index:9001;border-radius:var(--r-lg);
  box-shadow:0 0 0 2px var(--brand),0 0 0 7px rgba(79,70,229,.16);background:var(--surface)}
body.tour-on{scroll-behavior:smooth}

.tour-pop{position:fixed;z-index:9002;width:344px;max-width:calc(100vw - 24px);max-height:300px;overflow:visible;
  background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);
  padding:14px 16px;box-shadow:0 12px 38px rgba(11,18,32,.18)}
.tour-pop.docked{top:76px;right:18px;left:auto}
/* Opening and closing get more room to breathe. They are still placed beside their target;
   only when there is no target at all do they centre. */
.tour-pop.wide{width:420px;padding:18px 20px;max-height:330px}
.tour-pop.wide h4{font-size:1.18rem}
.tour-pop.centred{top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}
.tour-pop.centred .tour-arrow{display:none}

/* Small pointer back to the target. */
.tour-arrow{position:absolute;width:10px;height:10px;background:var(--surface);
  border:1px solid var(--border-strong);transform:rotate(45deg);display:none}
.at-right .tour-arrow{display:block;left:-6px;top:var(--arrow-y,24px);margin-top:-5px;border-right:none;border-top:none}
.at-left  .tour-arrow{display:block;right:-6px;top:var(--arrow-y,24px);margin-top:-5px;border-left:none;border-bottom:none}
.at-top   .tour-arrow{display:block;bottom:-6px;left:var(--arrow-x,24px);margin-left:-5px;border-left:none;border-top:none}
.at-bottom .tour-arrow{display:block;top:-6px;left:var(--arrow-x,24px);margin-left:-5px;border-right:none;border-bottom:none}

.tour-pop .prog{font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;
  color:var(--brand-ink)}
.tour-pop .prog b{font-family:var(--mono);font-size:.72rem}
.tour-ext{margin-left:5px;padding:1px 7px;border-radius:999px;background:var(--stated-wash);
  color:var(--stated);letter-spacing:.04em;font-size:.62rem}
.tour-pop h4{margin:6px 0 0;font-size:1.02rem;line-height:1.28;color:var(--ink);letter-spacing:-.01em}
.tour-blurb{margin:6px 0 0;font-size:.845rem;line-height:1.5;color:var(--body)}
.tour-missing{margin:8px 0 0;padding:7px 9px;font-size:.79rem;line-height:1.45;color:var(--warning);
  background:var(--warning-wash);border:1px solid #f0dcc0;border-radius:var(--r-sm)}

.tour-do{margin:9px 0 0;font-size:.83rem;line-height:1.45;color:var(--ink);
  padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}
.tour-do span{display:block;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;
  color:var(--faint);margin-bottom:3px}
.tour-do.act{background:var(--brand-wash);border-color:var(--brand-line)}
.tour-do.act span{color:var(--brand-ink)}

.tour-status{margin:7px 0 0;font-size:.78rem;line-height:1.4}
.tour-status.waiting{color:var(--warning)}
.tour-status.done{color:var(--success)}
.tour-status.done::before{content:'\2713  ';font-weight:700}
.tour-status.optional{color:var(--muted)}

.tour-why{margin-top:9px}
.tour-why summary{cursor:pointer;font-size:.75rem;font-weight:600;color:var(--brand-ink)}
.tour-why-body{margin-top:6px;max-height:110px;overflow-y:auto}
.tour-why-body h5{margin:7px 0 3px;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--faint)}
.tour-why-body ul{margin:0;padding-left:16px}
.tour-why-body li{font-size:.78rem;line-height:1.45;color:var(--body);margin-bottom:2px}

.tour-actions{display:flex;align-items:center;gap:7px;margin-top:12px}
.tour-spacer{flex:1}
.tour-btn{font:inherit;font-size:.8rem;font-weight:600;padding:6px 12px;border-radius:var(--r-sm);
  border:1px solid var(--border-strong);background:var(--surface);color:var(--body);cursor:pointer;
  white-space:nowrap}
.tour-btn:hover{border-color:var(--brand-line);background:var(--brand-wash);color:var(--brand-ink)}
.tour-btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.tour-btn.primary:hover{background:var(--brand-ink);color:#fff}
.tour-btn.ghost{border-color:transparent;color:var(--muted)}
.tour-btn[disabled]{opacity:.6;cursor:not-allowed;font-size:.74rem}
.tour-btn.primary[disabled]{background:var(--surface-2);color:var(--muted);border-color:var(--border-strong)}
.tour-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* Mobile: a tidy bottom sheet that still leaves the target reachable above it. */
@media (max-width:700px){
  .tour-pop,.tour-pop.wide,.tour-pop.centred,.tour-pop.docked{position:fixed;left:0;right:0;bottom:0;top:auto;
    width:auto;max-width:none;transform:none;border-radius:var(--r-lg) var(--r-lg) 0 0;
    padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));max-height:52vh;overflow-y:auto;
    box-shadow:0 -8px 30px rgba(11,18,32,.20)}
  .tour-arrow{display:none !important}
  .tour-why-body{max-height:110px}
  .tour-actions{position:sticky;bottom:0;background:var(--surface);padding-top:8px}
}
@media (prefers-reduced-motion: reduce){
  body.tour-on{scroll-behavior:auto}
  .tour-target{box-shadow:0 0 0 2px var(--brand)}
}
@media print{ .tour-dim,.tour-pop{display:none !important} }

/* Exploratory mode: the single way back into the guided run. Deliberately small and out of the way. */
.tour-resume{position:fixed;right:16px;bottom:16px;z-index:8500;display:inline-block;
  padding:7px 13px;border-radius:999px;font-size:.79rem;font-weight:600;text-decoration:none;
  background:var(--surface);color:var(--brand-ink);border:1px solid var(--brand-line);
  box-shadow:0 3px 12px rgba(11,18,32,.12)}
.tour-resume:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.tour-resume:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media (max-width:600px){ .tour-resume{right:10px;bottom:10px;font-size:.75rem} }
@media print{ .tour-resume{display:none !important} }

/* Interactive guided demo: instruction line, gate status, demo CV loader. */
.tour-do{margin:8px 0 0;font-size:.85rem;line-height:1.5;color:var(--ink);
  padding:7px 9px;background:var(--brand-wash);border:1px solid var(--brand-line);border-radius:var(--r-sm)}
.tour-do span{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;
  color:var(--brand-ink);margin-bottom:2px}
.tour-status{margin:7px 0 0;font-size:.79rem;line-height:1.45}
.tour-status.waiting{color:var(--warning)}
.tour-status.done{color:var(--success)}
.tour-status.done::before{content:'\2713  ';font-weight:700}
.tour-status.optional{color:var(--muted)}
.tour-btn[disabled]{opacity:.55;cursor:not-allowed}
.tour-btn.primary[disabled]{background:var(--surface-2);color:var(--muted);border-color:var(--border-strong)}
.demo-cv-load{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:9px 0 11px;padding:10px 11px;
  border:1px dashed var(--border-strong);border-radius:var(--r);background:var(--surface-2)}
/* The dim must never hide the form the presenter has to fill in. */
.tour-dim{background:rgba(11,18,32,.42)}
.btn-switch.tour-start{border-color:var(--brand-line);background:var(--brand-wash);color:var(--brand-ink)}
.btn-switch.tour-start:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

/* Chapter 1 closing line: distinct, but clearly secondary to the headline. */
.jverdict{margin:22px 0 0;padding:12px 16px;font-size:1.02rem;line-height:1.5;color:var(--ink);
  background:var(--surface-2);border-left:3px solid var(--brand);border-radius:0 var(--r) var(--r) 0;
  max-width:64ch}
.jverdict strong{color:var(--brand-ink)}
@media (max-width:600px){ .jverdict{font-size:.94rem;padding:10px 13px;margin-top:16px} }
.tour-status.blocked{color:var(--attention);background:var(--attention-wash);border:1px solid #f0cdb8;
  border-radius:var(--r-sm);padding:7px 9px}

/* The role card shows resume readiness twice — once as the headline, once beside evidence depth.
   Without a frame that reads as a duplicated number, so the pair gets a title that says why. */
.scorecard .sc-title{grid-column:1/-1;margin:0;font-size:1rem;color:var(--ink)}
.scorecard .sc-lede{grid-column:1/-1;margin:4px 0 10px;font-size:.82rem;line-height:1.5;color:var(--muted)}

/* Atlas map: computed counts replace the force graph, whose DB-derived total contradicted the taxonomy. */
.atlas-counts .ac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:10px}
.atlas-counts .ac{padding:11px 13px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2)}
.atlas-counts .ac.total{border-color:var(--brand-line);background:var(--brand-wash)}
.atlas-counts .ac-n{font-family:var(--mono);font-size:1.6rem;font-weight:700;color:var(--ink);line-height:1}
.atlas-counts .ac.total .ac-n{color:var(--brand-ink)}
.atlas-counts .ac-l{margin-top:4px;font-size:.8rem;color:var(--body)}
.atlas-counts .ac-l span{display:block;font-size:.7rem;color:var(--faint);margin-top:2px}

/* Chapter 35 closing statement: prominent enough to be the last thing read, still clearly
   secondary to the headline above it. */
.jclose-final{margin-top:24px;padding:16px 20px;font-size:1.06rem;line-height:1.62;color:var(--ink);
  background:var(--surface-2);border-left:3px solid var(--brand);border-radius:0 var(--r-lg) var(--r-lg) 0;
  max-width:66ch}
@media (max-width:600px){ .jclose-final{font-size:.96rem;padding:13px 15px;margin-top:18px} }
.btn-switch.tour-reset{font:inherit;cursor:pointer;border-color:var(--border-strong);color:var(--muted);background:var(--surface)}
.btn-switch.tour-reset:hover{border-color:var(--attention);color:var(--attention);background:var(--attention-wash)}

/* ============================================================================
   How Continuum Works — visual system overview. One job per screen, lots of air.
   ========================================================================== */
.hiw{max-width:1080px;margin:0 auto;padding:34px 20px 56px}
.hiw-head{margin-bottom:30px}
.hiw-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--brand-ink)}
.hiw-h1{margin:8px 0 10px;font-size:2.25rem;line-height:1.12;letter-spacing:-.02em;color:var(--ink)}
.hiw-sub{margin:0;font-size:1.04rem;line-height:1.55;color:var(--body);max-width:60ch}

.hiw-panels{display:flex;flex-direction:column;gap:26px}
.hiw-panel{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);
  padding:20px 20px 16px;box-shadow:var(--shadow-sm)}
.hiw-panel-head h2{margin:0;font-size:1.2rem;line-height:1.25;color:var(--ink);letter-spacing:-.01em}
.hiw-label{margin:5px 0 0;font-size:.9rem;line-height:1.5;color:var(--muted);max-width:70ch}

.hiw-preview{display:block;width:100%;margin:16px 0 0;padding:0;cursor:zoom-in;
  border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);overflow:hidden}
.hiw-preview:hover{border-color:var(--brand-line)}
.hiw-preview:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.hiw-preview img{display:block;width:100%;height:auto}

.hiw-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:13px;padding-top:12px;border-top:1px solid var(--border)}
.hiw-caption{margin:0;font-size:.85rem;line-height:1.5;color:var(--muted);max-width:58ch}
.hiw-back{margin-top:32px}

.hiw-lb{position:fixed;inset:0;z-index:9500;background:rgba(11,18,32,.86);
  display:flex;flex-direction:column;padding:16px}
.hiw-lb[hidden]{display:none}
.hiw-lb-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  color:#fff;font-size:.95rem;padding:2px 4px 10px}
.hiw-lb-close{background:none;border:none;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;padding:0 6px}
.hiw-lb-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hiw-lb-body{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center}
.hiw-lb-body img{max-width:100%;height:auto;border-radius:var(--r);background:#fff}

@media (max-width:700px){
  .hiw{padding:24px 14px 40px}
  .hiw-h1{font-size:1.7rem}
  .hiw-panel{padding:15px 15px 12px}
  .hiw-foot{align-items:flex-start}
  .hiw-lb{padding:10px}
}
@media print{ .hiw-lb{display:none !important} }

/* ============================================================================
   Explore Continuum — seven questions, self-guided. Executive, not gamified.
   ========================================================================== */
.ex{max-width:1080px;margin:0 auto;padding:34px 20px 56px}
.ex-head{margin-bottom:28px}
.ex-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--brand-ink)}
.ex-h1{margin:8px 0 10px;font-size:2.25rem;line-height:1.12;letter-spacing:-.02em;color:var(--ink)}
.ex-sub{margin:0;font-size:1.02rem;line-height:1.55;color:var(--body);max-width:62ch}

.ex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));gap:18px}
.ex-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);
  background:var(--surface);padding:18px 19px 16px;box-shadow:var(--shadow-sm)}
.ex-card:hover{border-color:var(--brand-line)}
.ex-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.ex-n{font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.08em;color:var(--faint)}
.ex-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-sm);
  background:var(--brand-wash);color:var(--brand-ink)}
.ex-icon svg{width:18px;height:18px}
.ex-q{margin:0;font-size:1.04rem;line-height:1.3;color:var(--ink);letter-spacing:-.01em}
.ex-d{margin:7px 0 0;font-size:.85rem;line-height:1.55;color:var(--muted);flex:1}
.ex-cta{align-self:flex-start;margin-top:14px;font-size:.85rem;font-weight:600;text-decoration:none;
  color:var(--brand-ink);padding:6px 12px;border:1px solid var(--brand-line);border-radius:var(--r-sm);
  background:var(--brand-wash)}
.ex-cta:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.ex-cta:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.ex-strip{display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap;margin-top:30px;
  padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);
  font-size:.88rem;font-weight:600;color:var(--body)}
.ex-arrow{color:var(--faint);font-weight:400}

.tour-resume.explore-back{border-color:var(--border-strong);color:var(--body)}
.tour-resume.explore-back:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

@media (max-width:700px){
  .ex{padding:24px 14px 40px}
  .ex-h1{font-size:1.7rem}
  .ex-strip{font-size:.8rem;gap:8px}
}

/* ============================================================================
   View a Workspace — four perspectives, four real landings.
   ========================================================================== */
.ws{max-width:1080px;margin:0 auto;padding:34px 20px 56px}
.ws-head{margin-bottom:28px}
.ws-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--brand-ink)}
.ws-h1{margin:8px 0 10px;font-size:2.25rem;line-height:1.12;letter-spacing:-.02em;color:var(--ink)}
.ws-sub{margin:0;font-size:1.02rem;line-height:1.55;color:var(--body);max-width:62ch}

.ws-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.ws-card{display:flex;flex-direction:column;border:1px solid var(--border);border-left-width:3px;
  border-radius:var(--r-lg);background:var(--surface);padding:19px 20px 17px;box-shadow:var(--shadow-sm)}
.ws-card-top{display:flex;align-items:center;gap:11px}
.ws-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:var(--r-sm)}
.ws-icon svg{width:20px;height:20px}
.ws-title{margin:0;font-size:1.1rem;color:var(--ink);letter-spacing:-.01em}
.ws-desc{margin:10px 0 0;font-size:.88rem;line-height:1.55;color:var(--body)}

.ws-sees{margin-top:13px;padding-top:12px;border-top:1px solid var(--border);flex:1}
.ws-sees-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--faint)}
.ws-sees ul{margin:7px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:5px}
.ws-sees li{font-size:.75rem;padding:3px 9px;border-radius:999px;background:var(--surface-2);
  border:1px solid var(--border);color:var(--body)}

/* The limit matters more than the list, so it gets its own line rather than a footnote. */
.ws-boundary{margin:12px 0 0;padding:8px 11px;font-size:.79rem;line-height:1.5;
  border-radius:var(--r-sm);background:var(--surface-2);border-left:2px solid var(--border-strong);color:var(--muted)}
.ws-cta{align-self:flex-start;margin-top:14px;font-size:.86rem;font-weight:600;text-decoration:none;
  padding:7px 13px;border-radius:var(--r-sm);border:1px solid var(--brand);background:var(--brand);color:#fff}
.ws-cta:hover{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}
.ws-cta:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* Semantic colour, one accent per role, kept to the rail and the icon. */
.ws-candidate{border-left-color:var(--meridian-b)}
.ws-candidate .ws-icon{background:var(--brand-wash);color:var(--brand-ink)}
.ws-employer{border-left-color:var(--warning)}
.ws-employer .ws-icon{background:var(--warning-wash);color:var(--warning)}
.ws-university{border-left-color:var(--success)}
.ws-university .ws-icon{background:var(--success-wash);color:var(--success)}
.ws-operator{border-left-color:var(--attention)}
.ws-operator .ws-icon{background:var(--attention-wash);color:var(--attention)}

.ws-strip{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:30px;
  padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);
  font-size:.86rem;font-weight:600;color:var(--body)}
.ws-dot{color:var(--faint);font-weight:400}

@media (max-width:700px){
  .ws{padding:24px 14px 40px}
  .ws-h1{font-size:1.7rem}
  .ws-strip{font-size:.78rem;gap:7px}
}

/* ============================================================================
   Continuum Lens — question, answer, proof. Context lives here; evidence lives
   in the product; the return link brings the judge back to the answer.
   ========================================================================== */
.lens{max-width:920px;margin:0 auto;padding:30px 20px 56px}
.lens-top{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}
.lens-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--brand-ink)}
.lens-all{font-size:.82rem;font-weight:600;text-decoration:none;color:var(--muted)}
.lens-all:hover{color:var(--brand-ink)}
.lens-q{display:flex;align-items:flex-start;gap:13px;margin:12px 0 22px;font-size:1.95rem;line-height:1.18;
  letter-spacing:-.02em;color:var(--ink)}
.lens-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r);
  background:var(--brand-wash);color:var(--brand-ink);margin-top:3px}
.lens-icon svg{width:22px;height:22px}

.lens-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--faint);
  margin-bottom:5px}
.lens-answer{padding:16px 18px;border:1px solid var(--brand-line);border-radius:var(--r-lg);
  background:var(--brand-wash)}
.lens-answer p{margin:0;font-size:1.06rem;line-height:1.55;color:var(--ink)}
.lens-why{margin-top:16px;padding-left:14px;border-left:3px solid var(--border-strong)}
.lens-why p{margin:0;font-size:.92rem;line-height:1.6;color:var(--body);max-width:68ch}

.lens-proofs{margin-top:26px}
.lens-proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:14px;margin-top:9px}
.lens-proof{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);
  background:var(--surface);padding:15px 16px 13px;box-shadow:var(--shadow-sm)}
.lens-proof:hover{border-color:var(--brand-line)}
.lens-proof h3{margin:0;font-size:.98rem;line-height:1.3;color:var(--ink)}
.lens-look{margin:8px 0 0;font-size:.82rem;line-height:1.5;color:var(--muted);flex:1}
.lens-look span{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;
  color:var(--faint);margin-bottom:3px}
.lens-cta{align-self:flex-start;margin-top:12px;font-size:.83rem;font-weight:600;text-decoration:none;
  padding:6px 12px;border-radius:var(--r-sm);border:1px solid var(--brand);background:var(--brand);color:#fff}
.lens-cta:hover{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}
.lens-cta:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.lens-principle{margin:26px 0 0;padding:14px 18px;font-size:1rem;line-height:1.55;color:var(--ink);
  background:var(--surface-2);border-left:3px solid var(--brand);border-radius:0 var(--r) var(--r) 0;
  max-width:66ch;font-weight:600}
.lens-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:26px;padding-top:16px;border-top:1px solid var(--border)}
.lens-next{font-size:.9rem;font-weight:600;text-decoration:none;color:var(--brand-ink)}
.lens-next:hover{text-decoration:underline}
.lens-back{font-size:.84rem;text-decoration:none;color:var(--muted)}
.lens-back:hover{color:var(--brand-ink)}

/* The return pill carries the question, so it needs room for a sentence. */
.tour-resume.explore-back{max-width:min(420px,calc(100vw - 32px));white-space:normal;text-align:left;
  line-height:1.35;border-radius:var(--r-lg);padding:8px 13px}

@media (max-width:700px){
  .lens{padding:22px 14px 40px}
  .lens-q{font-size:1.5rem;gap:10px}
  .lens-icon{flex:0 0 32px;width:32px;height:32px}
  .lens-icon svg{width:18px;height:18px}
}

/* ============================================================================
   Workspace Overview — what a role's workspace is for, and its screens in order.
   ========================================================================== */
.wo{max-width:920px;margin:0 auto;padding:30px 20px 56px}
.wo-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--brand-ink)}
.wo-h1{margin:9px 0 10px;font-size:2rem;line-height:1.16;letter-spacing:-.02em;color:var(--ink)}
.wo-sub{margin:0;font-size:1rem;line-height:1.55;color:var(--body);max-width:66ch}
.wo-label{font-size:.63rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--faint);
  margin-bottom:6px}

.wo-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:24px}
.wo-helps,.wo-boundary{padding:15px 17px;border:1px solid var(--border);border-radius:var(--r-lg);
  background:var(--surface)}
.wo-boundary{background:var(--surface-2);border-left:3px solid var(--brand)}
.wo-helps ul{margin:0;padding-left:17px}
.wo-helps li{font-size:.87rem;line-height:1.55;color:var(--body);margin-bottom:4px}
.wo-boundary p{margin:0;font-size:.87rem;line-height:1.55;color:var(--ink);font-weight:600}

.wo-map{margin-top:28px}
.wo-stage{margin:16px 0 8px;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;
  color:var(--brand-ink)}
.wo-stage:first-of-type{margin-top:9px}
.wo-node{display:flex;align-items:flex-start;gap:13px;padding:14px 16px;margin-bottom:8px;
  border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}
.wo-node:hover{border-color:var(--brand-line)}
.wo-ico{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-sm);
  background:var(--brand-wash);color:var(--brand-ink)}
.wo-ico svg{width:19px;height:19px}
.wo-node-body{flex:1;min-width:0}
.wo-node-body h3{margin:0;font-size:.98rem;line-height:1.3;color:var(--ink)}
.wo-node-body p{margin:4px 0 0;font-size:.83rem;line-height:1.5;color:var(--muted)}
.wo-open{flex:0 0 auto;align-self:center;font-size:.82rem;font-weight:600;text-decoration:none;
  padding:6px 12px;border-radius:var(--r-sm);border:1px solid var(--brand);background:var(--brand);color:#fff}
.wo-open:hover{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}
.wo-open:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.wo-foot{margin-top:26px;padding-top:16px;border-top:1px solid var(--border)}

/* ---- Workspace Compass: a corner card, never a bar and never an overlay ---- */
.wc{position:fixed;right:16px;bottom:16px;z-index:8600;width:296px;max-width:calc(100vw - 32px);
  background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);
  padding:12px 14px;box-shadow:0 8px 26px rgba(11,18,32,.16)}
.wc-min{position:absolute;top:8px;right:9px;border:none;background:none;cursor:pointer;font-size:1.05rem;
  line-height:1;color:var(--muted);padding:2px 5px;border-radius:var(--r-sm)}
.wc-min:hover{background:var(--surface-2);color:var(--ink)}
.wc-min:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.wc-role{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--brand-ink);
  padding-right:22px}
.wc-focus{margin-top:7px;font-size:.92rem;font-weight:600;color:var(--ink);line-height:1.3}
.wc-focus span{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;
  color:var(--faint);margin-bottom:2px}
.wc-why{margin:6px 0 0;font-size:.79rem;line-height:1.45;color:var(--muted)}
.wc-actions{display:flex;flex-direction:column;gap:6px;margin-top:11px;padding-top:10px;
  border-top:1px solid var(--border)}
.wc-map,.wc-next{font-size:.8rem;font-weight:600;text-decoration:none;color:var(--brand-ink)}
.wc-map{color:var(--muted)}
.wc-map:hover,.wc-next:hover{text-decoration:underline;color:var(--brand-ink)}
.wc.is-min .wc-body{display:none}
.wc.is-min{width:auto;padding:8px 34px 8px 13px}

@media (max-width:700px){
  .wo{padding:22px 14px 40px}
  .wo-h1{font-size:1.6rem}
  .wo-cols{grid-template-columns:1fr}
  .wo-node{flex-wrap:wrap}
  .wo-open{width:100%;text-align:center;margin-top:8px}
  .wc{right:10px;bottom:10px;width:calc(100vw - 20px)}
}
@media print{ .wc{display:none !important} }
.wc-do{margin:8px 0 0;padding:8px 10px;font-size:.78rem;line-height:1.45;color:var(--ink);
  background:var(--brand-wash);border:1px solid var(--brand-line);border-radius:var(--r-sm)}
.wc-do span{display:block;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--brand-ink);margin-bottom:2px}
.wc-point{display:inline-block;margin-top:6px;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer;
  padding:4px 10px;border-radius:999px;border:1px solid var(--brand);background:var(--brand);color:#fff}
.wc-point:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.wc-point:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.wc-next.is-locked{opacity:.45;cursor:not-allowed}
.wc-next.is-locked:hover{text-decoration:none}
/* The ring the compass draws on the control it is pointing at. */
.wc-ping{position:relative;z-index:8500;border-radius:var(--r-sm);
  box-shadow:0 0 0 3px var(--brand),0 0 0 8px rgba(79,70,229,.22);animation:wcPing 1.1s ease-out 2}
@keyframes wcPing{0%{box-shadow:0 0 0 3px var(--brand),0 0 0 6px rgba(79,70,229,.30)}
  100%{box-shadow:0 0 0 3px var(--brand),0 0 0 13px rgba(79,70,229,0)}}
@media (prefers-reduced-motion: reduce){ .wc-ping{animation:none} }

/* ============================================================================
   Try Continuum Yourself — a self-service candidate session.
   ========================================================================== */
.try{max-width:820px;margin:0 auto;padding:34px 20px 56px}
.try-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--brand-ink)}
.try-h1{margin:9px 0 10px;font-size:2.2rem;line-height:1.14;letter-spacing:-.02em;color:var(--ink)}
.try-sub{margin:0;font-size:1.02rem;line-height:1.55;color:var(--body);max-width:64ch}
.try-form{margin-top:28px}
.try-name{padding:17px 18px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}
.try-name label{display:block;font-size:.88rem;font-weight:600;color:var(--ink);margin-bottom:6px}
.try-opt{font-weight:400;color:var(--faint)}
.try-name input{width:100%;max-width:360px;padding:9px 12px;font:inherit;font-size:.95rem;
  border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface)}
.try-name input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.try-help{margin:7px 0 0;font-size:.79rem;line-height:1.5;color:var(--muted);max-width:60ch}
.try-label{margin:24px 0 9px;font-size:.63rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;
  color:var(--faint)}
.try-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.try-opt-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-lg);
  background:var(--surface);padding:18px 19px 16px;box-shadow:var(--shadow-sm)}
.try-opt-card:hover{border-color:var(--brand-line)}
.try-opt-card h2{margin:0;font-size:1.08rem;color:var(--ink)}
.try-opt-card p{margin:8px 0 0;font-size:.86rem;line-height:1.55;color:var(--muted);flex:1}
.try-cta{align-self:flex-start;margin-top:14px;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;
  padding:8px 15px;border-radius:var(--r-sm);border:1px solid var(--brand);background:var(--brand);color:#fff}
.try-cta:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.try-cta.ghost{background:var(--surface);color:var(--brand-ink);border-color:var(--brand-line)}
.try-cta.ghost:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.try-cta:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.try-disclosure{margin:18px 0 0;padding:11px 14px;font-size:.82rem;line-height:1.55;color:var(--body);
  background:var(--surface-2);border-left:3px solid var(--border-strong);border-radius:0 var(--r) var(--r) 0;
  max-width:70ch}
.try-foot{margin-top:26px;padding-top:16px;border-top:1px solid var(--border)}

/* A line of identification, never a banner. */
.trystrip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 18px;
  background:var(--surface-2);border-bottom:1px solid var(--border);font-size:.8rem}
.trystrip-label{font-weight:600;color:var(--ink)}
.trystrip-reset{font:inherit;font-size:.76rem;background:none;border:none;cursor:pointer;padding:2px 4px;
  color:var(--muted);text-decoration:underline}
.trystrip-reset:hover{color:var(--attention)}
.trystrip-reset:focus-visible{outline:2px solid var(--brand);outline-offset:1px}

.entrycard{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin:26px auto 0;max-width:1040px;padding:18px 20px;border:1px solid var(--brand-line);
  border-radius:var(--r-lg);background:var(--brand-wash)}
.entrycard h3{margin:0;font-size:1.08rem;color:var(--ink)}
.entrycard p{margin:5px 0 0;font-size:.88rem;line-height:1.5;color:var(--body);max-width:64ch}

@media (max-width:700px){
  .try{padding:24px 14px 40px}
  .try-h1{font-size:1.7rem}
  .trystrip{padding:6px 12px}
  .entrycard .cta{width:100%;text-align:center}
}

/* Field picker: five, because five is what the demo can actually answer. */
.try-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}
.try-field{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;cursor:pointer;
  border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}
.try-field:hover{border-color:var(--brand-line)}
.try-field input{margin-top:3px;flex:0 0 auto;accent-color:var(--brand)}
.try-field:has(input:checked){border-color:var(--brand);background:var(--brand-wash)}
.try-field:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}
.try-field-ico{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-sm);
  background:var(--surface-2);color:var(--brand-ink)}
.try-field-ico svg{width:17px;height:17px}
.try-field-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.try-field-body strong{font-size:.92rem;color:var(--ink)}
.try-field-blurb{font-size:.79rem;line-height:1.45;color:var(--muted)}
.try-field-count{font-size:.7rem;font-weight:600;color:var(--brand-ink);margin-top:3px}
.try-field.is-empty{opacity:.5;cursor:not-allowed}
.try-field.is-empty .try-field-count{color:var(--faint)}
.try-note{margin:12px 0 0;padding:9px 12px;font-size:.83rem;color:var(--warning);
  background:var(--warning-wash);border:1px solid #f0dcc0;border-radius:var(--r-sm)}

/* After approving, say where the evidence went. An empty queue used to be a dead end. */
.whatnext{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  margin-top:16px;border-color:var(--brand-line);background:var(--brand-wash)}
.whatnext-body{flex:1;min-width:260px}
.whatnext-body h3{margin:0 0 5px;font-size:1rem;color:var(--ink)}
.whatnext-body p{max-width:64ch}
.whatnext-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
@media (max-width:700px){
  .whatnext-actions{align-items:stretch;width:100%}
  .whatnext-actions .cta{text-align:center}
}

/* A self-service visitor is both sides. Saying "waiting on the employer" and stopping there is a
   dead end when the employer is also them. */
.try-bothsides{margin:12px 0 0;padding:11px 14px;font-size:.86rem;line-height:1.55;color:var(--body);
  background:var(--brand-wash);border:1px solid var(--brand-line);border-radius:var(--r)}
.try-bothsides span{display:block;font-size:.62rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.08em;color:var(--brand-ink);margin-bottom:3px}
.try-bothsides .cta{display:inline-block;margin-top:9px}
.try-bothsides.mine{background:var(--warning-wash);border-color:#f0dcc0}
.try-bothsides.mine span{color:var(--warning)}
.askcard{border-color:var(--warning);background:var(--warning-wash)}
.asked{margin:0 0 12px;padding:11px 14px;background:var(--surface);border-left:3px solid var(--warning);
  border-radius:0 var(--r) var(--r) 0;font-size:.95rem;line-height:1.5;color:var(--ink)}
.asked span{display:block;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--warning);margin-bottom:4px}
