  :root {
    --brand:#5a32a3; --brand-deep:#34195f; --brand-solid:#5a32a3; --brand-solid-deep:#34195f; --brand-soft:#efe9f8; --gold:#d99b2c; --gold-soft:#f7ecd4;
    --paper:#faf8fc; --card:#ffffff; --ink:#1c1626; --ink-soft:#4a4358; --muted:#7a7388;
    --line:#e6e1ee; --line-soft:#efecf5;
    --r:#cf4436; --r-bg:#fbe7e4; --y:#cf9526; --y-bg:#f8eecf; --g:#3f9b6b; --g-bg:#e0f0e7;
    --ok:#3f9b6b; --warn:#cf7326;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,Roboto,Helvetica,Arial,sans-serif;
    --serif:Georgia,"Times New Roman",serif;
    --shadow:0 1px 2px rgba(28,22,38,.06),0 8px 24px rgba(28,22,38,.06); --radius:10px;
  }
  @media (prefers-color-scheme:dark){:root{
    --brand:#b79bec;--brand-deep:#d7c8f5;--brand-soft:#241a3a;--gold:#e6b34d;--gold-soft:#33270f;
    --paper:#100c18;--card:#1a1424;--ink:#f0ecf7;--ink-soft:#c3bcd2;--muted:#948ca6;--line:#2c2338;--line-soft:#241c30;
    --r:#e2685a;--r-bg:#34191a;--y:#dda93f;--y-bg:#322611;--g:#59b381;--g-bg:#14291f;--ok:#59b381;--warn:#e0925a;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);}}
  :root[data-theme="dark"]{--brand:#b79bec;--brand-deep:#d7c8f5;--brand-soft:#241a3a;--gold:#e6b34d;--gold-soft:#33270f;
    --paper:#100c18;--card:#1a1424;--ink:#f0ecf7;--ink-soft:#c3bcd2;--muted:#948ca6;--line:#2c2338;--line-soft:#241c30;
    --r:#e2685a;--r-bg:#34191a;--y:#dda93f;--y-bg:#322611;--g:#59b381;--g-bg:#14291f;--ok:#59b381;--warn:#e0925a;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);}
  :root[data-theme="light"]{--brand:#5a32a3;--brand-deep:#34195f;--brand-soft:#efe9f8;--gold:#d99b2c;--gold-soft:#f7ecd4;
    --paper:#faf8fc;--card:#ffffff;--ink:#1c1626;--ink-soft:#4a4358;--muted:#7a7388;--line:#e6e1ee;--line-soft:#efecf5;
    --r:#cf4436;--r-bg:#fbe7e4;--y:#cf9526;--y-bg:#f8eecf;--g:#3f9b6b;--g-bg:#e0f0e7;--ok:#3f9b6b;--warn:#cf7326;
    --shadow:0 1px 2px rgba(28,22,38,.06),0 8px 24px rgba(28,22,38,.06);}

  *{box-sizing:border-box;} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4{text-wrap:balance;margin:0;} p{margin:0;} button{font-family:inherit;cursor:pointer;}
  input,textarea,select{font-family:inherit;} .tnum{font-variant-numeric:tabular-nums;}

  .wfbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.6rem 1.1rem;background:var(--brand-deep);color:#fff;border-bottom:2px solid var(--gold);}
  .wfbar .mark{font-weight:800;letter-spacing:-.01em;font-size:.95rem;display:flex;align-items:center;gap:.5rem;}
  .wfbar .mark .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);}
  .wftag{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(217,155,44,.5);padding:.15rem .45rem;border-radius:20px;}
  .views{display:flex;gap:.25rem;margin-left:auto;flex-wrap:wrap;}
  .views button{background:transparent;color:#d8cff0;border:1px solid transparent;padding:.35rem .7rem;border-radius:7px;font-size:.82rem;font-weight:600;}
  .views button:hover{color:#fff;background:rgba(255,255,255,.08);}
  .views button.on{color:var(--brand-deep);background:#fff;}
  .reset{background:transparent;border:1px solid rgba(255,255,255,.25);color:#d8cff0;font-size:.72rem;padding:.3rem .55rem;border-radius:6px;}

  .wrap{max-width:1180px;margin:0 auto;padding:1.4rem 1.1rem 4rem;}
  .screen{display:none;} .screen.active{display:block;}
  .eyebrow{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;}
  .caption{font-size:.8rem;color:var(--muted);}
  .screen-note{display:flex;gap:.6rem;align-items:flex-start;background:var(--brand-soft);border-left:3px solid var(--brand);padding:.7rem .9rem;border-radius:0 8px 8px 0;font-size:.86rem;color:var(--ink-soft);margin-bottom:1.3rem;}
  .screen-note b{color:var(--brand);}

  .ryg{display:inline-flex;gap:4px;} .ryg button{width:30px;height:30px;border-radius:7px;border:1.5px solid var(--line);background:var(--card);color:var(--muted);font-weight:800;font-size:.8rem;transition:all .12s;}
  .ryg button.r.on{background:var(--r-bg);border-color:var(--r);color:var(--r);} .ryg button.y.on{background:var(--y-bg);border-color:var(--y);color:var(--y);} .ryg button.g.on{background:var(--g-bg);border-color:var(--g);color:var(--g);}
  .ryg button:not(.on):hover{border-color:var(--brand);color:var(--brand);}
  .pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:20px;}
  .pill.ok{background:var(--g-bg);color:var(--g);} .pill.warn{background:var(--y-bg);color:var(--warn);} .pill.brand{background:var(--brand-soft);color:var(--brand);}
  .pill .d{width:6px;height:6px;border-radius:50%;background:currentColor;}

  /* gate */
  .gate-stage{min-height:66vh;display:grid;place-items:center;padding:2rem 0;}
  .gate{width:min(430px,100%);background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;}
  .gate-top{background:linear-gradient(140deg,#2c1552 0%,#4d2b8f 55%,#5f37ad 100%);color:#fff;padding:1.8rem 1.7rem 1.6rem;}
  .gate-top .eyebrow{color:var(--gold);} .gate-top h1{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;margin:.5rem 0 .1rem;}
  .gate-top .sub{color:#e7ddf7;font-family:var(--serif);font-style:italic;font-size:1rem;}
  .gate-top .rule{margin-top:1rem;font-size:.78rem;color:#d8cdf5;display:flex;gap:1.1rem;} .gate-top .rule b{color:#fff;}
  .gate-body{padding:1.5rem 1.7rem 1.8rem;}
  .express{display:flex;gap:.6rem;align-items:flex-start;background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:10px;padding:.7rem .8rem;font-size:.82rem;color:var(--ink-soft);} .express b{color:var(--ink);}
  .divider{display:flex;align-items:center;gap:.7rem;margin:1.2rem 0;color:var(--muted);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;} .divider::before,.divider::after{content:"";height:1px;background:var(--line);flex:1;}
  .field{margin-bottom:.8rem;} .field label{display:block;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:.3rem;}
  .field input{width:100%;padding:.6rem .7rem;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.92rem;}
  .field input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand);}
  .btn{background:var(--brand-solid);color:#fff;border:none;padding:.7rem 1rem;border-radius:8px;font-weight:700;font-size:.92rem;} .btn:hover{background:var(--brand-solid-deep);} .btn.wide{width:100%;} .btn.gold{background:var(--gold);color:#2a1e05;} .btn.ghost{background:var(--card);border:1.5px solid var(--line);color:var(--ink-soft);}

  /* workbook shell */
  .shell{display:grid;grid-template-columns:236px 1fr 240px;gap:1.1rem;align-items:start;}
  @media (max-width:1040px){.shell{grid-template-columns:1fr;} .rail,.heatrail{position:static !important;}}
  .rail{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;position:sticky;top:74px;max-height:calc(100vh - 90px);overflow:auto;}
  .who{display:flex;align-items:center;gap:.6rem;padding-bottom:.8rem;border-bottom:1px solid var(--line);margin-bottom:.8rem;}
  .who .av{width:34px;height:34px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.85rem;}
  .who .nm{font-weight:700;font-size:.84rem;} .who .co{font-size:.72rem;color:var(--muted);}
  .progress-lbl{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-bottom:.35rem;}
  .progress{height:6px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:1rem;} .progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--gold));transition:width .3s;}
  .arc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;}
  .arc li{display:flex;align-items:center;gap:.5rem;padding:.4rem .3rem;border-radius:6px;font-size:.79rem;color:var(--ink-soft);cursor:pointer;}
  .arc li:hover{background:var(--paper);}
  .arc li .ico{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:.58rem;font-weight:800;flex:none;border:1.5px solid var(--line);color:var(--muted);}
  .arc li.done .ico{background:var(--g);border-color:var(--g);color:#fff;}
  .arc li.now{background:var(--brand-soft);color:var(--brand);font-weight:700;} .arc li.now .ico{background:var(--brand);border-color:var(--brand);color:#fff;}
  .arc .wk{margin-left:auto;font-size:.62rem;color:var(--muted);}

  .sheet{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.6rem;box-shadow:var(--shadow);min-height:60vh;}
  .sect-head{display:flex;gap:.9rem;align-items:baseline;flex-wrap:wrap;} .sect-num{font-size:1.5rem;font-weight:800;color:var(--brand);letter-spacing:-.02em;} .sect-head h2{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;}
  .meta-row{display:flex;gap:.5rem;flex-wrap:wrap;margin:.9rem 0 1.1rem;} .meta{font-size:.72rem;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:.3rem .55rem;color:var(--ink-soft);} .meta b{color:var(--brand);}
  .intro{font-family:var(--serif);font-size:1rem;color:var(--ink-soft);border-bottom:1px solid var(--line-soft);padding-bottom:1.1rem;margin-bottom:1.2rem;} .intro em{color:var(--ink);}
  .block{margin-bottom:1.5rem;} .block-lbl{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:.6rem;} .block-sub{font-size:.83rem;color:var(--muted);margin:-.3rem 0 .7rem;font-style:italic;}
  textarea.ta{width:100%;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:.6rem .7rem;font-size:.9rem;resize:vertical;}
  textarea.ta:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand);}
  .check{display:flex;flex-direction:column;gap:.5rem;} .chk{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;cursor:pointer;} .chk .bx{width:19px;height:19px;border-radius:5px;border:2px solid var(--line);flex:none;display:grid;place-items:center;color:#fff;font-size:.7rem;} .chk.on .bx{background:var(--g);border-color:var(--g);} .chk b{color:var(--ink);}

  .cards{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;} @media(max-width:560px){.cards{grid-template-columns:1fr;}}
  .opt{border:1.5px solid var(--line);border-radius:9px;padding:.7rem .8rem;cursor:pointer;background:var(--card);} .opt:hover{border-color:var(--brand);} .opt.on{border-color:var(--brand);background:var(--brand-soft);}
  .opt .t{font-weight:800;font-size:.92rem;} .opt.on .t{color:var(--brand);} .opt .d{font-size:.78rem;color:var(--muted);margin-top:.15rem;}

  .heatrow{display:grid;grid-template-columns:1fr auto 92px;gap:.8rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--line-soft);} .heatrow .name{font-weight:600;font-size:.9rem;}
  .pct{display:flex;align-items:baseline;gap:2px;border-bottom:1.5px solid var(--line);} .pct input{width:44px;border:none;background:transparent;text-align:right;font-size:.9rem;color:var(--ink);} .pct input:focus{outline:none;} .pct span{color:var(--muted);font-size:.85rem;}

  table.grid{width:100%;border-collapse:collapse;font-size:.83rem;} table.grid th{text-align:left;font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:.4rem .5rem;border-bottom:1.5px solid var(--line);} table.grid td{padding:.3rem .4rem;border-bottom:1px solid var(--line-soft);vertical-align:top;} table.grid input,table.grid textarea{width:100%;border:none;background:transparent;font:inherit;color:var(--ink);padding:.25rem;} table.grid input:focus,table.grid textarea:focus{outline:1.5px solid var(--brand);border-radius:4px;} table.grid td.fixed{font-weight:600;color:var(--ink);background:var(--paper);}
  .ladder td.rygcell{width:104px;} .ladder td:first-child{width:36%;}

  .labelrows{display:flex;flex-direction:column;gap:1px;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
  .lr{display:grid;grid-template-columns:210px 1fr;gap:0;border-bottom:1px solid var(--line-soft);} .lr:last-child{border-bottom:none;} .lr .k{background:var(--paper);padding:.6rem .7rem;font-size:.8rem;color:var(--ink-soft);} .lr .k b{color:var(--brand);display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;} .lr .v{padding:.35rem;} .lr .v input{width:100%;border:none;background:transparent;font:inherit;color:var(--ink);padding:.3rem;} .lr .v input:focus{outline:1.5px solid var(--brand);border-radius:5px;}

  .rescore{display:flex;align-items:center;gap:.8rem;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:.7rem .9rem;flex-wrap:wrap;} .rescore .lbl{font-size:.82rem;font-weight:600;}
  .between{display:flex;gap:.6rem;background:var(--brand-soft);border-left:3px solid var(--gold);padding:.7rem .9rem;border-radius:0 8px 8px 0;font-size:.85rem;color:var(--ink-soft);} .between .eyebrow{color:var(--warn);}
  .noteblk{font-size:.82rem;color:var(--muted);font-style:italic;}
  .assess{display:flex;gap:.9rem;background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:11px;padding:1rem 1.1rem;}
  .assess-ic{width:34px;height:34px;border-radius:8px;background:var(--gold);color:#2a1e05;display:grid;place-items:center;font-weight:800;flex:none;}
  .assess-name{font-size:1.05rem;font-weight:800;letter-spacing:-.01em;margin:.1rem 0;} .assess-meta{font-size:.72rem;color:var(--warn);font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
  .assess-desc{font-size:.86rem;color:var(--ink-soft);margin:.5rem 0 .8rem;} .assess .btn{display:inline-block;text-decoration:none;} .assess-hint{display:block;font-size:.72rem;color:var(--muted);margin-top:.5rem;}
  .mixbar{display:flex;height:16px;border-radius:6px;overflow:hidden;margin-bottom:.9rem;border:1px solid var(--line);}
  .mixbar .seg-Random{background:var(--muted);} .mixbar .seg-Heroic{background:var(--r);} .mixbar .seg-Peacock{background:var(--y);} .mixbar .seg-Compounding{background:var(--g);}
  .orgmixrows{display:flex;flex-direction:column;gap:.4rem;}
  .orgrow{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;} .orgrow.dom{border-color:var(--brand);background:var(--brand-soft);}
  .orgrow .t{font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:.5rem;} .orgrow .d{font-size:.76rem;color:var(--muted);}
  .orgrow .op{display:flex;align-items:baseline;gap:2px;border-bottom:1.5px solid var(--line);} .orgrow .op input{width:40px;border:none;background:transparent;text-align:right;font:inherit;color:var(--ink);} .orgrow .op input:focus{outline:none;} .orgrow .op span{color:var(--muted);font-size:.82rem;}
  .setdom{border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);font-size:.74rem;font-weight:700;padding:.35rem .6rem;border-radius:6px;white-space:nowrap;} .orgrow.dom .setdom{background:var(--brand);border-color:var(--brand);color:#fff;}
  .defs{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;} @media(max-width:640px){.defs{grid-template-columns:1fr;}}
  .def{border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:0 8px 8px 0;padding:.6rem .7rem;background:var(--paper);} .def .dt{font-weight:800;font-size:.86rem;color:var(--brand);} .def .dd{font-size:.78rem;color:var(--ink-soft);margin-top:.2rem;}
  table.picchart thead th{background:var(--ink);color:#fff;border-bottom:none;width:33.33%;} table.picchart thead th:first-child{background:var(--r);} table.picchart td{vertical-align:top;font-size:.8rem;} .picchart .ghost td{color:var(--muted);font-style:italic;text-align:center;background:var(--paper);}
  .picbuild td{padding:.3rem;} .picta{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);padding:.5rem;font:inherit;font-size:.84rem;resize:vertical;} .picta:focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand);}
  .addrow{margin-top:.6rem;background:var(--card);border:1.5px dashed var(--brand);color:var(--brand);font-weight:700;font-size:.8rem;padding:.4rem .8rem;border-radius:7px;} .addrow:hover{background:var(--brand-soft);}
  .checkpoint{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:1rem 1.1rem;} .chkq-title{font-weight:800;font-size:.92rem;margin:.2rem 0 .8rem;}
  .chkq{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--line-soft);} .chkq:first-of-type{border-top:none;} .chkq-l{font-size:.85rem;color:var(--ink-soft);}
  .chips{display:flex;gap:.35rem;} .chip{border:1.5px solid var(--line);background:var(--card);color:var(--muted);font-size:.76rem;font-weight:600;padding:.3rem .6rem;border-radius:20px;} .chip:hover{border-color:var(--brand);color:var(--brand);} .chip.on{background:var(--brand);border-color:var(--brand);color:#fff;}
  .hm.cur span{color:var(--brand);font-weight:700;}
  .portfolio{display:flex;gap:.8rem;margin-bottom:1rem;} .pstat{flex:1;background:var(--brand-soft);border:1px solid var(--line);border-radius:9px;padding:.7rem .9rem;} .pn{font-size:1.5rem;font-weight:800;color:var(--brand);} .pl{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
  .pcw{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:5px;font-weight:800;font-size:.62rem;color:#fff;} .pcw[data-s="r"]{background:var(--r);} .pcw[data-s="y"]{background:var(--y);} .pcw[data-s="g"]{background:var(--g);} .pcw[data-s=""]{background:var(--line);color:var(--muted);} .pt{font-weight:600;}
  .trkbar{margin-bottom:1rem;} .trkbarlbl{font-size:.82rem;color:var(--ink-soft);margin-bottom:.35rem;} .trkbarlbl b{color:var(--brand);}
  .trkgrid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;} @media(max-width:700px){.trkgrid{grid-template-columns:1fr;}}
  .trklayer{border:1px solid var(--line);border-radius:9px;padding:.7rem .8rem;background:var(--card);} .trkhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.5rem;} .trkname{font-weight:700;font-size:.86rem;}
  .trkitem{display:flex;gap:.5rem;align-items:center;margin-bottom:.3rem;} .tbox{width:18px;height:18px;border-radius:5px;border:2px solid var(--line);flex:none;display:grid;place-items:center;color:#fff;font-size:.66rem;cursor:pointer;} .tbox.on{background:var(--g);border-color:var(--g);}
  .trkitem input{flex:1;border:none;border-bottom:1px solid var(--line-soft);background:transparent;font:inherit;font-size:.82rem;color:var(--ink);padding:.2rem 0;} .trkitem input:focus{outline:none;border-bottom-color:var(--brand);} .trkitem input.strike{text-decoration:line-through;color:var(--muted);}
  .trklayer .addrow{margin-top:.3rem;padding:.25rem .5rem;font-size:.72rem;}
  .orgtraj{display:flex;align-items:stretch;gap:.7rem;flex-wrap:wrap;} .ot-now,.ot-goal{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;font-size:.86rem;display:flex;flex-direction:column;justify-content:center;} .ot-now b{color:var(--brand);} .ot-goal{border-color:var(--g);background:var(--g-bg);} .ot-goal b{color:var(--g);} .ot-mix{font-size:.72rem;color:var(--muted);margin-top:.15rem;} .ot-lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:block;margin-bottom:.15rem;} .ot-now b{color:var(--brand);} .ot-arrow{align-self:center;color:var(--muted);font-weight:800;font-size:1.2rem;}
  .deliverable{display:flex;align-items:center;gap:.7rem;background:var(--brand-deep);color:#fff;border-radius:9px;padding:.8rem 1rem;cursor:pointer;} .deliverable .box{width:20px;height:20px;border-radius:5px;border:2px solid var(--gold);flex:none;display:grid;place-items:center;color:var(--brand-deep);font-weight:800;} .deliverable.on .box{background:var(--gold);} .deliverable .eyebrow{color:var(--gold);} .deliverable .txt{font-size:.88rem;font-weight:600;}

  .foot{display:flex;align-items:center;justify-content:space-between;margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--line-soft);} .saved{font-size:.76rem;color:var(--ok);display:flex;align-items:center;gap:.35rem;} .saved .d{width:6px;height:6px;border-radius:50%;background:var(--ok);}
  .navbtns{display:flex;gap:.5rem;} .navbtns button{border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);padding:.45rem .9rem;border-radius:7px;font-weight:600;font-size:.82rem;} .navbtns button.next{background:var(--brand);border-color:var(--brand);color:#fff;} .navbtns button:disabled{opacity:.4;cursor:default;}

  .heatrail{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;position:sticky;top:74px;}
  .heatrail h3{font-size:.95rem;font-weight:800;} .heatrail .sub{font-size:.74rem;color:var(--muted);margin:.15rem 0 .9rem;}
  .hmap{display:flex;flex-direction:column;gap:6px;} .hm{display:flex;align-items:center;gap:.5rem;font-size:.78rem;} .hm .swatch{width:22px;height:22px;border-radius:5px;flex:none;display:grid;place-items:center;font-weight:800;font-size:.62rem;color:#fff;transition:background .2s;} .hm .swatch[data-s="r"]{background:var(--r);} .hm .swatch[data-s="y"]{background:var(--y);} .hm .swatch[data-s="g"]{background:var(--g);} .hm span{color:var(--ink-soft);}
  .greening{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.74rem;color:var(--muted);} .greening b{color:var(--g);}

  /* diagnosis doc */
  .doc{background:linear-gradient(180deg,var(--card),var(--card));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-top:.4rem;}
  .doc-top{background:linear-gradient(135deg,var(--brand-deep),var(--brand));color:#fff;padding:1.5rem 1.7rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;} .doc-top .eyebrow{color:var(--gold);} .doc-top h3{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin-top:.3rem;} .doc-top .whofor{text-align:right;font-size:.76rem;color:#dccff5;} .doc-top .whofor b{color:#fff;display:block;font-size:.9rem;}
  .doc-body{padding:1.5rem 1.7rem;display:flex;flex-direction:column;gap:1.2rem;}
  .dx{border-left:3px solid var(--gold);background:var(--gold-soft);padding:.9rem 1.1rem;border-radius:0 9px 9px 0;} .dx .eyebrow{color:var(--warn);} .dx p{font-family:var(--serif);font-size:1rem;color:var(--ink);margin-top:.4rem;line-height:1.6;} .dx b{color:var(--brand);}
  .dxrow{display:grid;grid-template-columns:180px 1fr;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line-soft);} @media(max-width:600px){.dxrow{grid-template-columns:1fr;gap:.2rem;}}
  .dxrow .k{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;} .dxrow .v{font-size:.94rem;color:var(--ink);} .dxrow .v.lead{font-family:var(--serif);} .balegend{font-size:.72rem;color:var(--muted);margin-bottom:.4rem;}
  .ba{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;} @media(max-width:600px){.ba{grid-template-columns:1fr;}} .ba h4{font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;} .ba h4 b{color:var(--brand);} .baline{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.8rem;} .baline .sw{width:15px;height:15px;border-radius:4px;flex:none;} .sw.r{background:var(--r);} .sw.y{background:var(--y);} .sw.g{background:var(--g);}
  .doc-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.7rem;border-top:1px solid var(--line);background:var(--paper);flex-wrap:wrap;} .doc-foot .caption{max-width:60%;}

  /* facilitator + nudge reuse */
  .fac-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem;} .fac-head h2{font-size:1.4rem;font-weight:800;} .fac-head select{font:inherit;padding:.4rem .6rem;border:1.5px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);}
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.2rem;} @media(max-width:720px){.stats{grid-template-columns:repeat(2,1fr);}}
  .stat{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:.8rem .9rem;} .stat .n{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;} .stat .l{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;} .stat.pause{display:flex;align-items:center;justify-content:space-between;}
  .toggle{width:42px;height:24px;border-radius:20px;background:var(--g);position:relative;border:none;} .toggle::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;right:3px;}
  .panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:1.2rem;} .panel h3{font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:.9rem 1.1rem;border-bottom:1px solid var(--line);}
  .ftable{width:100%;border-collapse:collapse;font-size:.86rem;} .ftable th{text-align:left;font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:.55rem 1.1rem;border-bottom:1px solid var(--line);} .ftable td{padding:.65rem 1.1rem;border-bottom:1px solid var(--line-soft);} .ftable tr:last-child td{border-bottom:none;} .ftable .pname{font-weight:700;} .ftable .pco{color:var(--muted);font-size:.78rem;}
  .miniprog{height:5px;width:90px;background:var(--line);border-radius:3px;overflow:hidden;} .miniprog i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--gold));}
  .aggreds{padding:1.1rem;display:flex;gap:.7rem;align-items:flex-end;flex-wrap:wrap;} .aggreds .bar{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1;min-width:70px;} .aggreds .track{width:100%;height:90px;background:var(--paper);border-radius:6px;display:flex;align-items:flex-end;overflow:hidden;border:1px solid var(--line-soft);} .aggreds .fill{width:100%;background:linear-gradient(180deg,var(--r),color-mix(in srgb,var(--r) 60%,var(--y)));} .aggreds .cap{font-size:.68rem;color:var(--ink-soft);text-align:center;font-weight:600;} .aggreds .val{font-size:.72rem;color:var(--muted);}

  .inbox{max-width:620px;margin:0 auto;} .mail{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;} .mail-head{padding:1.1rem 1.4rem;border-bottom:1px solid var(--line);} .mail-head .subj{font-size:1.1rem;font-weight:800;letter-spacing:-.01em;margin-bottom:.5rem;} .mail-from{display:flex;align-items:center;gap:.6rem;font-size:.8rem;} .mail-from .av{width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.8rem;flex:none;} .mail-from .fr b{color:var(--ink);} .mail-from .fr span{color:var(--muted);}
  .mail-body{padding:1.4rem 1.5rem;font-size:.92rem;color:var(--ink-soft);display:flex;flex-direction:column;gap:.9rem;} .mail-body .hi{color:var(--ink);} .mail-body .flag{background:var(--r-bg);border-left:3px solid var(--r);padding:.6rem .8rem;border-radius:0 7px 7px 0;font-size:.88rem;color:var(--ink);} .mail-body .flag b{color:var(--r);} .mail-cta{align-self:flex-start;background:var(--brand);color:#fff;text-decoration:none;padding:.65rem 1.2rem;border-radius:8px;font-weight:700;font-size:.9rem;} .mail-sign{font-family:var(--serif);font-style:italic;color:var(--muted);} .mail-foot{padding:.8rem 1.5rem;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted);}
  .anno{margin-top:1.1rem;display:grid;gap:.5rem;} .anno .a{display:flex;gap:.55rem;align-items:flex-start;font-size:.82rem;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;} .anno .a .mk{color:var(--gold);font-weight:800;flex:none;}
