/* Pathcast report flow (/start/). Styles only; the script in app.js is shared with the content engine and untouched here. */
.app{max-width:820px;margin:0 auto;padding:clamp(24px,5vh,56px) var(--edge) 120px}
.app .ar{display:none}
.app .eyebrow{display:block;font-size:14px;color:var(--mute);margin-bottom:12px}
.app h1{font-size:clamp(34px,4.8vw,56px);line-height:1;margin:0 0 16px}
.app .lede{color:var(--ink-2);max-width:56ch;margin:0;font-size:18px}
.app .small{font-size:14.5px;color:var(--mute)}
.progress{display:flex;gap:6px;margin:0 0 34px;padding:0;list-style:none}
.progress li{flex:1;display:flex;flex-direction:column;gap:8px;font-family:var(--sans);font-size:13px;color:var(--mute)}
.progress li i{height:3px;border-radius:2px;background:var(--line)}
.progress li.done i,.progress li.on i{background:var(--clay)}
.progress li.on{color:var(--ink);font-weight:500}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:28px}
.app button.btn,.app button.btn-2{font-family:var(--sans)}
.app button:disabled{opacity:.4;cursor:not-allowed}

/* role search */
.search{position:relative;margin-top:28px}
.search input,.field input,.field textarea{width:100%;font:inherit;font-size:18px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:16px;padding:16px 18px}
.search input:focus,.field input:focus,.field textarea:focus{outline:2px solid var(--ink);outline-offset:0;border-color:transparent}
.hits{margin-top:8px;display:flex;flex-direction:column;gap:4px}
.hit{display:flex;justify-content:space-between;gap:12px;align-items:baseline;text-align:left;background:#F5F6F8;border:1px solid transparent;border-radius:14px;padding:12px 16px;font:inherit;color:var(--ink);cursor:pointer}
.hit:hover,.hit:focus-visible{border-color:var(--ink)}
.hit small{color:var(--mute);font-size:13px;white-space:nowrap}
.cats{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.cat{background:#F5F6F8;border-radius:18px;padding:18px 20px}
.cat:nth-child(5n+1){background:var(--peach)}.cat:nth-child(5n+2){background:var(--sky)}.cat:nth-child(5n+3){background:var(--butter)}.cat:nth-child(5n+4){background:var(--sage)}
.cat h3{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink-2);margin:0 0 8px}
.cat button{display:block;background:none;border:0;padding:4px 0;font:inherit;font-size:16px;color:var(--ink);cursor:pointer;text-align:left}
.cat button:hover{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px;text-underline-offset:3px}
.miss{margin-top:32px;padding:24px;border-radius:24px;background:#2B3344;color:var(--cream)}
.miss .small{color:rgba(251,250,247,.7)}
.miss .field input{background:rgba(255,255,255,.1);color:var(--cream)}
.miss .btn-2{border-color:var(--cream);color:var(--cream)}
.miss .btn-2:hover{background:var(--cream);color:var(--ink)}
.miss h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:0 0 6px;color:var(--cream)}
.miss .field{margin-top:12px}

/* choices */
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:28px}
.choice{text-align:left;background:#F5F6F8;border:1px solid transparent;border-radius:18px;padding:18px 20px;font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:4px}
.choice b{font-weight:500}
.choice small{color:var(--mute);font-size:14px;line-height:1.45}
.choice:hover{border-color:var(--ink)}
.choice{transition:background .15s,border-color .15s,transform .15s var(--in)}
.choice:hover{border-color:var(--ink);transform:translateY(-1px)}
.choice[aria-pressed="true"]{background:var(--sky);border-color:var(--clay);box-shadow:inset 0 0 0 1px var(--clay)}
.choice[aria-pressed="true"] b{color:var(--clay-deep)}
.choice[aria-pressed="true"] small{color:var(--ink-2)}
.choice[aria-pressed="true"]::after{content:"Your pick";align-self:flex-start;margin-top:8px;font:500 12.5px/1 var(--sans);letter-spacing:.02em;color:#fff;background:var(--clay);padding:5px 9px;border-radius:999px}

/* task chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chip{display:inline-flex;align-items:center;gap:8px;background:#F5F6F8;border:1px solid transparent;border-radius:999px;padding:7px 8px 7px 16px;font-size:15px}
.chip button{background:var(--cream);border:0;border-radius:50%;width:24px;height:24px;cursor:pointer;color:var(--mute);font-size:16px;line-height:1}
.chip button:hover{color:var(--ink)}
.chip.off{opacity:.4;text-decoration:line-through}
.chip.off button{transform:rotate(45deg)}

.field{margin-top:22px}
.field label{display:block;font-weight:500;margin-bottom:8px}
.field textarea{min-height:100px;resize:vertical;font-size:17px}

/* dials */
.dials{margin-top:24px;background:#F5F6F8;border-radius:24px;padding:6px 22px}
.dial{padding:18px 0;border-bottom:1px solid var(--line)}
.dial-h{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.dial-h b{font-weight:500}
.dial-h span{font-family:var(--sans);font-size:13px;color:var(--ink)}
.dial p{margin:4px 0 8px;font-size:14px;color:var(--mute)}
.dial input{width:100%}
.ends{display:flex;justify-content:space-between;font-family:var(--sans);font-size:13.5px;color:var(--mute)}
.presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:22px}
.preset{font:500 14px/1 var(--sans);background:transparent;border:1px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer;color:var(--ink-2)}
.preset[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--cream)}
/* Pace result. Segment fills are their own tokens: the brand's --keep/--warm/--hot
   are text colours and sit too close together to be read as adjacent chart marks. */
:root{--seg-keep:#237A55;--seg-warm:#E8A317;--seg-hot:#B83A2B}
.result{margin-top:18px;padding:24px 26px;border-radius:22px;background:#F7F8FA}
.result-k{margin:0;font-family:var(--serif);font-size:clamp(24px,3vw,32px);line-height:1.12;letter-spacing:-.01em;color:var(--ink)}
.result-sub{margin:6px 0 0;font-size:14px;color:var(--mute)}
/* Forty hour-blocks, one per hour of the week */
.hours{display:grid;grid-template-columns:repeat(40,minmax(0,1fr));gap:3px;margin:18px 0 0}
.hb{display:block;aspect-ratio:1/1.5;border-radius:3px;transition:background-color .35s var(--in)}
.hb-keep,.hrow .hr-keep .n::before{background:var(--seg-keep)}
.hb-warm,.hrow .hr-warm .n::before{background:var(--seg-warm)}
.hb-hot,.hrow .hr-hot .n::before{background:var(--seg-hot)}
.hrow{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 22px}
.hrow li{display:flex;gap:12px;align-items:flex-start}
.hrow .n{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;padding-top:12px;min-width:44px}
.hrow .n::before{content:"";position:absolute;top:0;left:0;width:22px;height:5px;border-radius:3px}
.hrow .n b{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1;color:var(--ink)}
.hrow .n small{font-size:13.5px;color:var(--mute);margin-top:2px}
.hrow .d{display:flex;flex-direction:column;gap:3px;padding-top:12px}
.hrow .d b{font-weight:500;font-size:15.5px;color:var(--ink)}
.hrow .d small{font-size:13.5px;line-height:1.4;color:var(--ink-2)}
/* Junior hiring: a three-step scale, this role's step marked */
.hire{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}
.hk{font-size:14px;color:var(--ink-2)}
.hsteps{list-style:none;margin:0;padding:3px;display:flex;gap:3px;background:#E9ECF0;border-radius:999px}
.hsteps li{font:500 13px/1 var(--sans);padding:8px 13px;border-radius:999px;color:var(--mute)}
.hsteps li.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(21,23,28,.12)}
.hsteps li.on.s0::before,.hsteps li.on.s1::before,.hsteps li.on.s2::before{content:"";display:inline-block;width:7px;height:7px;border-radius:999px;margin-right:7px;vertical-align:1px}
.hsteps li.on.s0::before{background:var(--seg-keep)}
.hsteps li.on.s1::before{background:var(--seg-warm)}
.hsteps li.on.s2::before{background:var(--seg-hot)}
@media(max-width:700px){
  .result{padding:20px 18px}
  .hours{grid-template-columns:repeat(20,minmax(0,1fr));gap:3px}
  .hrow{grid-template-columns:1fr;gap:12px}
  .hrow .n b{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.hb{transition:none}}
.v.hot{color:#B9452C}.v.warm{color:var(--clay)}.v.keep{color:var(--moss)}

/* report */
.rep h1{font-size:clamp(32px,4.8vw,56px)}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.pill{font-family:var(--sans);font-size:13.5px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--mute)}
.rsec{margin-top:14px;padding:clamp(20px,2.6vw,32px);border-radius:24px;background:#F5F6F8}
.rsec:nth-of-type(4n+1){background:var(--peach)}.rsec:nth-of-type(4n+2){background:var(--sky)}.rsec:nth-of-type(4n+3){background:var(--butter)}.rsec:nth-of-type(4n){background:var(--sage)}
.rsec .rsec{background:transparent;padding:0}
.rsec h2{font-size:clamp(28px,3vw,40px);margin:0 0 12px}
.rsec > p{color:var(--ink-2)}
.verdict{margin-top:4px}



.verdict p{margin:0 0 12px;color:var(--ink-2);font-size:18px;line-height:1.55}
.verdict p:last-child{margin-bottom:0}

.alert{border-radius:18px;padding:20px 22px;background:#fff}
.alert h3{margin:0 0 8px;font-size:20px;font-weight:500}
.alert ul{margin:0;padding-left:20px}
.alert li{margin:6px 0;color:var(--ink-2)}
.alert .cav{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:14px;color:var(--mute)}
.vol{border-top:1px solid var(--line);padding:18px 0 4px}
.vol.dom{border-top:3px solid var(--amber)}
.vol .lvl{font-family:var(--sans);font-size:13.5px;color:var(--clay)}
.vol table{width:100%;border-collapse:collapse;margin-top:12px;font-size:15px}
.vol td{padding:9px 0;border-top:1px solid var(--line);vertical-align:top}
.vol td:first-child{width:34%;padding-right:14px;font-weight:500}
.list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.li{padding:14px 0;display:grid;grid-template-columns:1fr 1.3fr;gap:16px;border-bottom:1px solid var(--line)}
.li b{font-weight:500}
.li span{color:var(--ink-2);font-size:15px}
@media(max-width:600px){.li{grid-template-columns:1fr;gap:4px}}
.pattern{margin-top:14px;color:var(--ink-2)}
.grp{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:26px 0 8px;border-bottom:1px solid var(--line)}
.grp:first-child{padding-top:6px}
.grp .gl{display:flex;flex-direction:column;gap:2px}
.grp .gl b{font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:-.01em;color:var(--ink)}
.grp .gl small{font-size:13px;color:var(--mute);font-weight:400}
.grp .gs{font-size:13.5px;white-space:nowrap}
.grp.keep .gs{color:var(--seg-keep)}.grp.warm .gs{color:#9A6B10}.grp.hot .gs{color:var(--seg-hot)}
.task{padding:11px 0;display:grid;grid-template-columns:1fr 46px 120px;gap:14px;align-items:center;font-size:15px;line-height:1.45;border-bottom:1px solid var(--line)}
.task .tl{color:var(--ink)}
.task .sh{font-family:var(--sans);font-size:13px;color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums}
.track{height:8px;border-radius:999px;background:#E9ECF0;overflow:hidden}
.track i{display:block;height:100%;border-radius:999px}
.track i.f-keep{background:var(--seg-keep)}
.track i.f-warm{background:var(--seg-warm)}
.track i.f-hot{background:var(--seg-hot)}
.lede2{margin:0 0 10px;font-size:16.5px;line-height:1.6;color:var(--ink-2);max-width:580px}
@media(max-width:520px){.task{grid-template-columns:1fr 40px 64px;gap:10px;font-size:14.5px}.grp .gl b{font-size:18px}.grp .gl small{display:none}}
.inline-dials{margin-top:18px}
.inline-dials>summary{cursor:pointer;font-weight:500;text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px;text-underline-offset:3px}
.decline{border-top:1px solid var(--line);padding:16px 0}
.decline:first-of-type{border-top:0}
.decline h3{font-size:20px;font-weight:500;margin:0 0 6px}
.decline p{margin:0;color:var(--ink-2)}
.forks{display:flex;gap:6px;margin:16px 0}
.fork{font:500 14px/1 var(--sans);background:transparent;border:1px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer;color:var(--ink-2)}
.fork[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--cream)}
.future p{margin:0 0 12px;color:var(--ink-2)}
.tuesday{border-left:3px solid var(--amber);padding:6px 0 6px 20px;font-family:var(--serif);font-size:20px;line-height:1.45;color:var(--ink-2)}
.tuesday .eyebrow{margin-bottom:8px}
.move{background:rgba(255,255,255,.7);border-radius:18px;padding:20px;margin-top:10px}
.move.rec{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.move-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.move h3{font-size:22px;font-weight:500;margin:0}
.rank{font-family:var(--sans);font-size:13.5px;color:var(--mute);white-space:nowrap}
.move.rec .rank{color:var(--clay)}
.move dl{margin:14px 0 0;display:grid;grid-template-columns:130px 1fr;gap:8px 14px;font-size:15px}
.move dt{color:var(--mute);font-size:13.5px}
.move dd{margin:0;color:var(--ink-2)}
@media(max-width:560px){.move dl{grid-template-columns:1fr}.move dd{margin-bottom:6px}}
.frame{margin-top:6px;color:var(--ink-2)}
.wk{background:rgba(255,255,255,.7);border-radius:14px;margin-top:8px;padding:0 16px}
.wk>summary{list-style:none;cursor:pointer;padding:14px 0;display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center}
.wk>summary::-webkit-details-marker{display:none}
.wk>summary .n{font-family:var(--sans);font-size:13.5px;color:var(--clay)}
.wk>summary .t{font-weight:500}
.wk>summary .c{color:var(--mute);font-size:13px}
.wk .body{padding:0 0 16px 64px}
@media(max-width:560px){.wk .body{padding-left:0}}
.sess{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:15px}
.sess .d{font-family:var(--sans);font-size:13.5px;color:var(--mute);padding-top:3px}
.sess .p{display:block;color:var(--mute);font-size:13.5px;margin-top:2px}
.behind{font-size:14px;color:var(--mute);margin-top:8px}
.plannote{border-left:3px solid var(--amber);padding:4px 0 4px 18px;color:var(--ink-2);font-size:15.5px;margin:14px 0}
.res{width:100%;border-collapse:collapse;font-size:14.5px}
.res th{text-align:left;font-family:var(--sans);font-size:13.5px;color:var(--mute);font-weight:400;padding:8px 10px 8px 0;border-bottom:1px solid var(--ink)}
.res td{padding:10px 10px 10px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.res td b{color:var(--ink);font-weight:500}
.st{font-family:var(--sans);font-size:13px;padding:2px 8px;border-radius:999px;white-space:nowrap;border:1px solid currentColor}
.st.ok{color:var(--moss)}.st.no{color:var(--clay)}
.app .tw{overflow-x:auto}
@media(max-width:580px){.res .hide-s{display:none}}
.sigs{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:600px){.sigs{grid-template-columns:1fr}}
.sig{padding-top:14px}
.sig.f{border-top:3px solid #B9452C}.sig.s{border-top:3px solid var(--moss)}
.sig h3{font-size:18px;font-weight:500;margin:0 0 8px}
.sig ul,.wrong ul{margin:0;padding-left:18px}
.sig li,.wrong li{margin:6px 0;font-size:15px;color:var(--ink-2)}
.endbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:48px;padding-top:28px;border-top:1px solid var(--ink)}
.priv{margin-top:18px;font-size:14px;color:var(--mute)}
.live{color:var(--mute);font-style:italic}
@media print{.nav,footer,.endbar,.inline-dials,.consent,.progress,.cvbar,.jump{display:none!important}.wk .body{display:block!important}.app{padding:0}}

.verdict details.more{margin:8px 0 0}
.verdict details.more > p{font-size:17px}
.jump{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.jump a{font-family:var(--sans);font-size:14px;padding:8px 14px;border-radius:999px;background:#F5F6F8;color:#15171C;text-decoration:none}
.jump a:hover{background:#1F3C8F;color:#fff}

/* résumé */
.sr{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.link{background:none;border:0;padding:0;font:500 15px/1.4 var(--sans);color:var(--clay);cursor:pointer;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.link:hover{color:var(--clay-deep)}
.cv-in{margin-top:28px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.drop{position:relative;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;min-height:200px;padding:28px;border-radius:24px;background:var(--sky);border:2px dashed rgba(31,60,143,.35);cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.drop.over,.drop:focus-within{border-color:var(--clay);background:#D2DEF4}
.drop b{font:500 20px/1.3 var(--sans);color:var(--ink)}
.drop .small{color:var(--ink-2)}
.drop-ic{color:var(--clay);margin-bottom:4px}
.paste{align-self:stretch}
.paste textarea{width:100%;min-height:180px;font:inherit;font-size:15px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:16px;padding:14px 16px;resize:vertical}
.paste textarea:focus{outline:2px solid var(--ink)}
.row.tight{margin-top:12px}
.cv-msg{margin:0;font-size:15px;color:var(--ink-2)}
.cv-msg:empty{display:none}
.cv-msg.bad{color:#9A3A24}
.or{display:flex;align-items:center;gap:14px;margin:40px 0 6px;color:var(--mute);font-size:14px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.lab{margin:0}
.browse{margin-top:22px}
.browse>summary{cursor:pointer;font:500 15px/1.4 var(--sans);color:var(--clay);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;list-style:none}
.browse>summary::-webkit-details-marker{display:none}
.browse .cats{margin-top:18px}

.cvbar{margin-top:22px;padding:14px 18px;border-radius:18px;background:#F5F6F8;display:flex;flex-direction:column;gap:10px}
.cvbar.none{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;font-size:15px;color:var(--ink-2)}
.cvbar.open{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}
.cvbar-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.cv-name{display:inline-flex;align-items:center;gap:8px;min-width:0}
.cv-name svg{width:20px;height:20px;color:var(--clay);flex:none}
.cv-name b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32ch}
.cv-acts{margin-left:auto;display:inline-flex;gap:16px}
.cvbar .cv-in{margin-top:0}
.cvbar .drop{min-height:120px;padding:18px}
.cvbar .small{margin:0}
.cv-hint{margin:0;font-size:15px;color:var(--ink-2)}

/* step 2 */
.ck{margin-top:36px}
.ck h2{font-size:clamp(24px,2.6vw,30px);margin:0 0 12px}
.ck-role{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-radius:18px;background:var(--sky)}
.ck-role>div{display:flex;flex-direction:column;gap:2px}
.ck-role b{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.15}
.change{margin-top:10px}
.change .search{margin-top:10px}
.alts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.alt{font:500 14px/1 var(--sans);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer;color:var(--ink)}
.alt:hover{border-color:var(--ink)}
.ck .choices{margin-top:0}
.ck .chips{margin-top:12px}
.chip.cv{background:var(--sky)}
.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--clay);flex:none;margin-left:-4px}

/* step 3 */
.choices.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:580px){.choices.three{grid-template-columns:1fr}}
.fine{margin-top:18px}
.fine>summary{cursor:pointer;font:500 15px/1.4 var(--sans);color:var(--clay);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}


/* report: in short */
.short{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:10px;margin-top:22px}
@media(max-width:1080px){.short{grid-template-columns:1fr 1fr}.short .sh-m{grid-column:1 / -1}}
@media(max-width:560px){.short{grid-template-columns:1fr 1fr}.short>*:nth-child(3){grid-column:1 / -1}}
.short>*{border-radius:20px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;background:var(--sky);color:var(--ink);text-decoration:none}
.short>*:nth-child(2){background:var(--butter)}
.short>*:nth-child(3){background:#EFF1F4}
.short .sh-m{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.short .sh-m:hover{box-shadow:inset 0 0 0 2px var(--clay)}
.short .k{font-family:var(--sans);font-size:13.5px;color:var(--mute)}
.short .sh-n b{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.6vw,38px);line-height:1.1}
.short .sh-n b.keep{color:var(--moss)}
.short .sh-m b{font-weight:500;font-size:19px;line-height:1.3}
.short .s{font-size:13px;color:var(--mute)}
.short .sh-m .s{color:var(--clay)}
@media(max-width:700px){.short{grid-template-columns:1fr 1fr}.short .sh-m{grid-column:1/-1}}
.oncv{display:inline-block;margin-left:8px;font:500 12.5px/1 var(--sans);color:var(--clay);border:1px solid currentColor;border-radius:999px;padding:3px 7px;vertical-align:2px}
.cvhas{margin:12px 0 0;font-size:14.5px;color:var(--ink-2)}
.cvhas b{font-weight:500;color:var(--clay)}


/* ===== flow v4 (Oct 11): one decision per screen, sticky action bar ===== */
.actbar{position:sticky;bottom:0;z-index:20;margin:36px calc(-1 * var(--edge)) -120px;padding:12px var(--edge) calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.actbar-in{display:flex;align-items:center;gap:14px}
.actbar .btn{margin-left:auto;min-width:150px}
.actnote{font-size:14px;color:var(--mute)}
.back{background:none;border:0;padding:8px 4px;font:500 15px/1 var(--sans);color:var(--ink-2);cursor:pointer}
.back:hover{color:var(--ink)}
@media(max-width:520px){.actbar .btn{min-width:0;flex:1;max-width:220px}}
.app{padding-bottom:120px}
.choices.sits{grid-template-columns:1fr 1fr;margin-top:14px}
@media(max-width:520px){.choices.sits{grid-template-columns:1fr}}
.ck-role{margin-top:28px}
.ck-role b{font-size:26px}

/* the week: a plain checklist, the whole row is the target */
.tasks{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line)}
.trow{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start;padding:15px 2px;border-bottom:1px solid var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent}
.trow:hover .tick{border-color:var(--ink)}
.tick{width:24px;height:24px;margin-top:1px;border-radius:7px;border:1.5px solid var(--ink);background:var(--ink);position:relative}
.tick::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.trow input:focus-visible + .tick{outline:2px solid var(--clay);outline-offset:3px}
.tlab{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;margin:0;text-align:left}
.tm{font-size:17px;line-height:1.35;color:var(--ink)}
.td{font-size:14.5px;line-height:1.4;color:var(--mute)}
.trow .oncv{margin:4px 0 0;align-self:flex-start}
.trow.off .tick{background:#fff;border-color:rgba(21,23,28,.35)}
.trow.off .tick::after{display:none}
.trow.off .tm,.trow.off .td{color:rgba(21,23,28,.4);text-decoration:line-through;text-decoration-color:rgba(21,23,28,.25)}
.warn{color:#9A3A24!important;min-height:1em}
.warn:empty{display:none}

/* ===== plan page: summary on top, then tabs ===== */
.rep h1{margin-bottom:6px}
.short .sh-m{font:inherit;text-align:left;border:0;cursor:pointer}
.tabs{position:sticky;top:0;z-index:15;display:flex;gap:4px;margin:28px calc(-1 * var(--edge)) 0;padding:10px var(--edge);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
/* When the strip scrolls, say so: the last tabs hold the calendar and the weekly email. */
.tabs.has-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),rgba(0,0,0,.15));mask-image:linear-gradient(90deg,#000 calc(100% - 44px),rgba(0,0,0,.15))}
.tabs.has-more.has-prev{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.15),#000 36px,#000 calc(100% - 44px),rgba(0,0,0,.15));mask-image:linear-gradient(90deg,rgba(0,0,0,.15),#000 36px,#000 calc(100% - 44px),rgba(0,0,0,.15))}
.tabwrap{position:relative}
.tabwrap .more-hint{position:absolute;right:2px;top:50%;transform:translateY(-50%);z-index:16;pointer-events:none;font:600 15px/1 var(--sans);color:var(--ink-2);opacity:0;transition:opacity .2s}
.tabs.has-more+.more-hint{opacity:1}
.tabs button{flex:none;font:500 14.5px/1 var(--sans);padding:14px 16px;border-radius:999px;border:0;background:transparent;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.tabs button:hover{background:#F5F6F8;color:var(--ink)}
.tabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.panel{display:none;padding-top:26px}
.panel.on{display:block;animation:pin .35s var(--in)}
@keyframes pin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.panel.on{animation:none}}
.ph{font-size:clamp(28px,3.4vw,40px);margin:0 0 10px}
.block{margin-top:36px}
.block h2{font-size:clamp(24px,2.8vw,32px);margin:0 0 10px}
.todo{margin:6px 0 10px;padding-left:22px}
.todo li{margin:10px 0;color:var(--ink-2)}
.todo li b{color:var(--ink);font-weight:500}
.folds{border-top:1px solid var(--line);margin-top:12px}
.fold{border-bottom:1px solid var(--line)}
.fold>summary{list-style:none;cursor:pointer;padding:16px 34px 16px 0;position:relative;font-weight:500;font-size:17px;line-height:1.35}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary::after{content:"+";position:absolute;right:4px;top:13px;font:300 24px/1 var(--sans);color:var(--clay)}
.fold[open]>summary::after{content:"–"}
.fold>p,.fold>div,.fold>ul{margin:0 0 16px;color:var(--ink-2);font-size:16px}
.fold.lg>summary{font-family:var(--serif);font-weight:400;font-size:24px;padding:18px 34px 18px 0}
.fold.lg>summary::after{top:18px}
.fold .oncv{margin-left:8px}
.nextp{margin-top:40px;display:flex;justify-content:flex-end}
@media(max-width:520px){.nextp .btn{width:100%}}

/* moves as cards that open */
details.move{display:block;margin-top:10px;padding:0;background:#F5F6F8;border-radius:18px}
details.move.rec{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
details.move>summary{list-style:none;cursor:pointer;padding:18px 44px 18px 20px;position:relative;display:flex;flex-direction:column;gap:4px}
details.move>summary::-webkit-details-marker{display:none}
details.move>summary::after{content:"+";position:absolute;right:18px;top:18px;font:300 24px/1 var(--sans);color:var(--clay)}
details.move[open]>summary::after{content:"–"}
details.move .rank{font-size:13.5px}
details.move .mt{font-size:20px;font-weight:500;line-height:1.3}
details.move .mr{font-size:14px;color:var(--mute)}
details.move dl{margin:0;padding:0 20px 18px}
details.move .cvhas{padding:0 20px 18px;margin:0}

.weeks{margin-top:18px}
.weeks .wk{background:#F5F6F8}
.courses{border-top:1px solid var(--line)}
.course{padding:14px 0;border-bottom:1px solid var(--line)}
.co-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.co-h b{font-weight:500}
.course p{margin:4px 0 0;font-size:15px;color:var(--ink-2)}
.course .co-m{color:var(--mute);font-size:14px}
.wrong{padding-left:20px}
.meta{margin-top:28px}
.endbar{align-items:center;gap:12px 18px}
.rate{margin-top:28px}
@media print{.tabs,.nextp,.actbar,.rate{display:none!important}.panel{display:block!important;padding-top:12px}.rep details>*{display:block}}


/* ===== start tab, saved plans (Oct 11) ===== */
.cta-start .btn{white-space:nowrap}
.cta-start{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin-top:16px}
@media(max-width:520px){.cta-start .btn{flex:1}}
.first{margin-top:16px;padding:20px;border-radius:20px;background:var(--sky)}
.first .k{font-family:var(--sans);font-size:13px;color:var(--clay)}
.f-t{margin:8px 0 4px;font-size:19px;line-height:1.4;font-weight:500;color:var(--ink)}
.f-p{margin:0;font-size:15px;color:var(--ink-2)}
.f-done{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:15px;cursor:pointer}
.f-done input{width:20px;height:20px;accent-color:var(--ink)}
.block.step{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.step h3{font-size:22px;font-weight:500;margin:0 0 6px}
.step .btn{margin-top:14px}
.cal{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.cal label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--mute);flex:1;min-width:140px}
.cal select,.cal input{font:inherit;font-size:16px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:14px;padding:12px 14px;width:100%}
.cal select:focus,.cal input:focus,.mail input:focus{outline:2px solid var(--ink)}
.mail{margin-top:14px}
.mail-row{display:flex;gap:8px;flex-wrap:wrap}
.mail-row input[type=email]{flex:1;min-width:0;font:inherit;font-size:17px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:999px;padding:13px 18px}
.mail-row .btn{margin-top:0}
@media(max-width:520px){.mail-row{flex-direction:column}.mail-row input[type=email]{flex:none;width:100%}}
.mail .small:empty{display:none}
.fine-print{margin-top:12px}
.fine-print a{color:var(--clay)}
.acts{display:flex;gap:18px;flex-wrap:wrap}
.link.danger{color:#9A3A24}
/* session ticks in the 13 weeks tab */
.sess{grid-template-columns:24px 44px 1fr;cursor:pointer;align-items:start}
.sess .tick{width:22px;height:22px;border-radius:6px;background:#fff;border:1.5px solid rgba(21,23,28,.35);margin-top:1px}
.sess .tick::after{display:none}
.sess.done .tick{background:var(--moss);border-color:var(--moss)}
.sess.done .tick::after{display:block;left:6px;top:2px;width:6px;height:11px}
.sess.done > span:last-child{color:var(--mute);text-decoration:line-through;text-decoration-color:rgba(21,23,28,.25)}
.sess input:focus-visible + .tick{outline:2px solid var(--clay);outline-offset:2px}
@media print{.cta-start,#p-start{display:none!important}}


/* ===== the coach (Oct 11) ===== */
.coach .q{font-size:19px;font-weight:500;margin:6px 0 10px;color:var(--ink)}
.ans{display:flex;flex-wrap:wrap;gap:8px}
.app .btn-2.sm,.app .btn.sm{padding:11px 16px;font-size:15px;margin-top:0}
.coach-reply b{display:block;font-size:18px;font-weight:500;margin-top:6px}
.coach-reply p{margin:4px 0 0;color:var(--ink-2);font-size:15.5px}
.coach-reply:empty{display:none}
.more-room{margin-top:14px}
.more-room>summary{cursor:pointer;font:500 15px/1.4 var(--sans);color:var(--clay);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.more-room .row{margin-top:8px}
.why{margin-top:22px}
.why blockquote{margin:0 0 8px;padding-left:16px;border-left:3px solid var(--amber);font-family:var(--serif);font-size:22px;line-height:1.35;color:var(--ink)}
.why .mail-row input{flex:1;min-width:0;font:inherit;font-size:16px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:999px;padding:12px 18px}
.why .mail-row .btn-2{margin-top:0}
.partner{margin-top:26px;padding:18px 20px;border-radius:20px;background:#F5F6F8}
.partner h4{margin:0 0 6px;font-size:18px;font-weight:500}
.pt-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.pt-row input{flex:1;min-width:150px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 16px}
.pt-row input:focus,.why input:focus,.why-in input:focus{outline:2px solid var(--ink)}
.pt-form .small:empty{display:none}
.why-in{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13.5px;color:var(--mute)}
.why-in input{font:inherit;font-size:16px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:999px;padding:12px 18px}
.ans[hidden],.coach .q[hidden],.app .row[hidden]{display:none}

.rep .asof{margin:-6px 0 20px;color:var(--mute)}
.rep .sh-n b.warm{color:var(--warm)}

/* ---- 13-week plan: a rail for shape, months for rhythm ---- */
.rail-w{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 6px}
.rail{display:flex;gap:3px;flex:1;min-width:220px}
.rail .rk{flex:1;height:10px;border-radius:3px;background:#E4E8ED;position:relative}
.rail .rk.part{background:linear-gradient(90deg,var(--seg-keep) 50%,#E4E8ED 50%)}
.rail .rk.full{background:var(--seg-keep)}
.rail .rk.now{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--clay)}
.rail-n{font-size:13px;color:var(--mute);white-space:nowrap}
.mon{margin-top:26px}
.mon-h{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.mon-h h3{margin:0;font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:-.01em}
.mon-h span{font-size:13px;color:var(--mute)}
.wk .t .out{display:block;font-size:13px;color:var(--mute);margin-top:3px}
.wk.now>summary{background:var(--sky)}
.wk.now>summary .n{color:var(--clay-deep);font-weight:500}
@media(max-width:560px){.rail .rk{height:8px}.mon-h{gap:4px}.wk .t .out{font-size:13.5px}}

/* The action that follows the numbers, given its own weight. */
.nextmove{display:block;width:100%;text-align:left;margin-top:10px;padding:18px 22px;border-radius:22px;
  background:#fff;border:0;box-shadow:inset 0 0 0 1.5px var(--ink);font:inherit;color:var(--ink);cursor:pointer;
  transition:box-shadow .15s,transform .15s var(--in)}
.nextmove:hover{box-shadow:inset 0 0 0 1.5px var(--clay);transform:translateY(-1px)}
.nextmove .k{display:block;font-size:13.5px;color:var(--mute)}
.nextmove b{display:block;font-weight:500;font-size:clamp(17px,2vw,20px);line-height:1.25;margin:3px 0 6px}
.nextmove .s{font-size:14px;color:var(--clay)}
.wk[open] .t .out{display:none}

/* Long-form report prose. This used to inherit a 59px display serif with
   line-height 1 from the site-wide `.big`, which made it unreadable. */
.fold>p,.fold>div,.fold>ul,.fold>ol{font-family:var(--sans);font-size:16.5px;line-height:1.62;color:var(--ink-2);max-width:580px}
.fold>p{margin:0 0 15px}
.fold>p:last-child{margin-bottom:18px}
.fold>p>b,.fold>p>strong{color:var(--ink);font-weight:500}
.fold .decline p,.fold .decline h4{max-width:580px}
.rep .block>p,.rep .panel>p{max-width:580px}

/* Instructions people have to act on, rather than fine print. */
.rep .block.step>p.small{font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:580px}
.rep .block.step>h3{margin-bottom:4px}
.rep .first .f-p{font-size:15.5px;line-height:1.6;color:var(--ink-2)}

/* AI roles tab and the weekly AI session */
.nextmove.ai{background:#F5F6F8;box-shadow:none}
.nextmove.ai:hover{box-shadow:inset 0 0 0 1.5px var(--clay)}
.aitag{display:inline-block;margin-right:8px;font:500 12.5px/1 var(--sans);color:var(--clay);background:var(--sky);border-radius:999px;padding:4px 8px;vertical-align:1px}
.sess.ai{background:linear-gradient(90deg,rgba(220,230,247,.45),rgba(220,230,247,0) 70%);border-radius:0 0 10px 10px}
.co-a{font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.co-a:hover{text-decoration-color:var(--clay)}
.fold p b{font-weight:500}
.aiweek{background:#F5F6F8;border-radius:18px;padding:18px 20px}
.aiweek h2{margin-top:0}

/* AI roles: your path card, group chips, horizon and fit tags, the training steps */
.aipick{margin-top:18px;padding:20px 22px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.aipick .k{display:block;font-size:13.5px;color:var(--mute)}
.aipick>b{display:block;font-weight:500;font-size:clamp(20px,2.4vw,26px);line-height:1.25;margin:4px 0 8px}
.aipick p{margin:10px 0 0;color:var(--ink-2)}
.aipick .row{margin-top:14px}
.pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pill{display:inline-block;font:500 12px/1 var(--sans);border-radius:999px;padding:5px 9px;white-space:nowrap}
.pill.h-now{background:#DCEFE4;color:#1D5E40}
.pill.h-emerging{background:#F7EBC8;color:#6B4E07}
.pill.h-next{background:var(--sky);color:var(--clay-deep)}
.pill.f-strong{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}
.pill.f-good{box-shadow:inset 0 0 0 1px rgba(21,23,28,.4);color:var(--ink-2)}
.pill.f-stretch{box-shadow:inset 0 0 0 1px var(--line);color:var(--mute)}
.pill.mine{background:var(--clay);color:#fff}
.pills .mr{font-size:13.5px;color:var(--mute);margin-left:4px}
.hzkey{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--mute)}
.hzkey li{display:flex;gap:8px;align-items:center}
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chip{all:unset;cursor:pointer;flex:0 0 auto;font:500 14px/1 var(--sans);padding:10px 14px;border-radius:999px;background:#F5F6F8;color:var(--ink-2)}
.chip:hover{box-shadow:inset 0 0 0 1.5px var(--clay)}
.chip[aria-selected=true]{background:var(--ink);color:#fff}
.chip:focus-visible{outline:2px solid var(--clay);outline-offset:2px}
.ailist>.small{margin:4px 0 4px}
details.airole .pills{margin-top:4px}
.aitrain{padding:4px 20px 20px}
.aitrain h3{font-size:18px;font-weight:500;margin:6px 0 10px}
.aipath{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.aipath>li{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.aipath .st-k{font-size:13.5px;color:var(--clay);padding-top:3px}
.aipath p{margin:3px 0 0;font-size:15px;color:var(--ink-2)}
.aipath .co-m{color:var(--mute);font-size:14px}
.ap-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.need{flex:0 0 auto;font:500 12.5px/1 var(--sans);border-radius:999px;padding:4px 8px}
.need.required{background:var(--ink);color:#fff}
.need.optional{box-shadow:inset 0 0 0 1px var(--line);color:var(--mute)}
.aitrain .tot{margin:10px 0 0}
.aiweeks{margin-top:12px}
.aiweeks>summary{cursor:pointer;color:var(--clay);font-size:15px}
.aiweeks ol{margin:10px 0 0;padding-left:28px;font-size:15px;color:var(--ink-2)}
.aiweeks li{margin:0 0 8px}
.aiweeks .p{display:block;color:var(--mute);font-size:13.5px}
.aitrain .row{margin-top:16px}
@media(max-width:560px){.aipath>li{grid-template-columns:1fr;gap:4px}.aitrain{padding:4px 16px 18px}}

.tail{border-bottom:1px solid var(--line)}
.tail>summary{list-style:none;cursor:pointer;padding:12px 0;font-size:14px;color:var(--clay)}
.tail>summary::-webkit-details-marker{display:none}
.tail>summary::before{content:"+ ";font-weight:500}
.tail[open]>summary::before{content:"– "}
.tail .task:last-child{border-bottom:0}
.app .watch{margin:14px 0 0}
/* Where your field is heading, on the Moves tab (ol-) */
.ol{margin-top:22px;padding:22px;border-radius:18px;background:#EEF2FA}
.ol-h{margin:0;font-size:20px;font-weight:500}
.ol-lead{margin:10px 0 0;font-size:16px;color:var(--ink-2)}
.ol-stat{margin:12px 0 0;font-size:15px;color:var(--ink-2)}.ol-stat b{font-size:22px;color:#1F3C8F;font-weight:600}
.ol-k{margin:16px 0 6px;font-size:13.5px;color:var(--mute)}
.ol-grow{margin:0;padding-left:1.2em;font-size:15px;color:var(--ink-2)}.ol-grow li{margin:0 0 6px}.ol-grow b{color:var(--ink)}
.ol-more{margin:14px 0 0;font-size:15px}.ol-more a{color:#1F3C8F}
.ol-truth{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.ol-truth .ol-k{margin-top:0}
.ol-ev{margin:10px 0 0;font-size:14px;color:var(--ink-2)}.ol-ev a{color:#1F3C8F}
.ol-do{margin:12px 0 0;font-size:15px;color:var(--ink)}
#learn .co-h a{color:var(--ink);text-decoration:none}#learn .co-h a:hover{text-decoration:underline}
/* The hard truth at the top of the Summary (ol-top) */
.ol-top{background:#FBEADD;margin-top:18px}
.ol-top .ol-truth{padding-bottom:0;margin-bottom:0;border:0}
/* Report, Oct 16 restructure: plain answer, compact shortcuts, hiring line, urgent block, start area in Plan */
.rep .answer{font-size:clamp(18px,2.2vw,21px);line-height:1.4;margin:12px 0 4px;color:var(--ink);max-width:40ch}
.nextrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px}
.nextrow .nextmove{margin-top:0;padding:14px 18px;border-radius:18px}
.nextrow .nextmove b{font-size:17px;margin:2px 0 4px}
@media(max-width:600px){.nextrow{gap:8px}.nextrow .nextmove{padding:12px 16px}.nextrow .nextmove .s{display:none}
  .rep .hrow small{display:none}.rep .result.hrs{padding:18px}.rep .result-sub{display:none}}
.hire-line{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.hire-line b{font-weight:500;color:var(--ink)}
.block.urgent{background:#FBEADD;border-radius:18px;padding:20px 22px;margin-top:18px}
.block.urgent h2{margin-top:0}
.startwrap{padding-bottom:12px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.vol-n{margin:10px 0 0}
@media(max-width:600px){
  .nextrow{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .nextrow .nextmove{flex:0 0 78%;scroll-snap-align:start}
  .nextrow .nextmove b{font-size:16px}
  .rep .hours{grid-template-columns:repeat(40,minmax(0,1fr));gap:2px}
  .tabs [role=tab]{padding-left:12px;padding-right:12px}
}
a.hit{text-decoration:none}
.hit.guide{background:#DCE6F7;flex-direction:column;align-items:flex-start;gap:2px}
.hit.guide span{font-weight:500}.hit.guide small,.hit.near small{white-space:normal;text-align:left}
.hit.near{flex-direction:column;align-items:flex-start;gap:2px}
.aitag.xtag{background:#E4EDE3;color:#2F5A3A}
.askmgr ul{margin:12px 0 0;padding-left:1.2em;display:grid;gap:8px}
.askmgr li::marker{color:var(--clay)}
.ol.ol-top{margin-bottom:20px}
.hits-note{margin:6px 0 2px}

/* ===== calm report (Oct 17) ===== */
/* full header on Summary; one slim line on the other tabs */
.rep-mini{display:none}
.rep.compact .rep-head{display:none}
.rep.compact .rep-mini{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:6px 0 0}
.rep.compact .rep-mini .eyebrow{margin:0}
.rep.compact .rep-mini b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.6vw,28px);letter-spacing:-.01em}
.rep.compact .tabs{margin-top:14px}
/* the star bar shows once, at the end of the plan */
.rep:not(.tab-plan) .rate{display:none}
/* situation box: calm, first, short */
.block.sitbox{background:var(--sky);border-radius:20px;padding:20px 22px;margin-top:18px}
.block.sitbox h2{margin-top:0}
.block.sitbox .sit-lead{margin:4px 0 12px;font-size:17px;color:var(--ink)}
.block.sitbox ol.todo{margin:0}
.block.sitbox details.more{margin:6px 0 0}
.block.urgent{background:var(--sky)}
/* the hard truth inside the report */
.rep .ht{margin-top:22px}
.block.field .ol-lead{margin:6px 0 4px;color:var(--ink-2)}
.block.field .ol-lead .src-a{font-size:13.5px;color:var(--mute)}
.block.field .stat{background:var(--sage);border-radius:18px;padding:16px 18px;margin-top:12px}
.block.field .stat p{font-size:15px}
.block.field .stat a{color:var(--ink-2);font-size:13.5px}
.block.field .ol-grow{margin:6px 0 0;padding-left:1.1em;display:grid;gap:8px}
/* plan tab */
.how p{font-size:15px;color:var(--ink-2);margin:0 0 8px}
.mon.w0 .wk{border:1.5px solid var(--clay)}
.mon.w0 .body{padding-top:8px}
.block.extras .folds{margin-top:6px}
.block.extras .fold>div,.block.extras .fold>ol,.block.extras .fold>p{margin-bottom:16px}
.learnbody .courses{margin-top:6px}
.aitag.xtag.httag{background:var(--peach);color:#7A3B22}
/* more options under every tab, quietly */
details.endmore{margin:28px 0 8px}
details.endmore .endbar{margin-top:10px}
/* plan B: the full list folded */
details.aiall>summary{margin-top:8px}
.move details.more{margin:4px 0 10px}
.move details.more dl{margin-top:8px}
/* months fold; the current one is open */
details.mon-f{border-top:1px solid var(--line);padding-top:4px;margin-top:6px}
details.mon-f>summary{list-style:none;cursor:pointer;position:relative;padding-right:34px}
details.mon-f>summary::-webkit-details-marker{display:none}
details.mon-f>summary::after{content:"+";position:absolute;right:4px;top:6px;font:300 26px/1 var(--sans);color:var(--clay)}
details.mon-f[open]>summary::after{content:"\2013"}
/* shortcut cards under the header: stacked rows on a phone, no cut-off carousel */
@media(max-width:600px){
  .nextrow{display:grid!important;grid-template-columns:1fr;gap:8px;overflow:visible!important;margin-right:0!important;padding-right:0!important}
  .nextrow .nextmove{min-width:0!important;width:100%;flex:none}
}
.wa-grid.one .wa-h{display:none}
@media(max-width:600px){
  .choices.three{gap:8px}
  .choices.three .choice{padding:12px 16px}
  .choices.three .choice small{font-size:13px;margin-top:2px}
  .choices.three .choice .pick,.choices.three .choice .badge{margin-top:6px}
  .lede{margin-bottom:16px}
}
.st.adv{color:var(--mute,#5B6270)}

/* ===== One type scale for the plan (readability pass) =====
   Serif (Instrument Serif) only for page and section titles and big numbers.
   Everything you read is Geist: body 16.5px, secondary 15px, tags 13px minimum. */
.rep{--t-body:16.5px;--t-sec:15px;--t-tag:13px;--c-body:#22252B;--c-sec:#4A4D55}
.rep :is(p,li,dd,td){font-size:var(--t-body);line-height:1.55;color:var(--c-body)}
.rep :is(h3,h4){font-family:var(--sans);font-weight:600;font-size:18px;line-height:1.35;letter-spacing:0;color:var(--ink)}
.rep .stat-n,.rep .wkhrs b,.rep .hrs-big{font-family:var(--serif)}
.rep .eyebrow{font-family:var(--sans);font-size:var(--t-sec);letter-spacing:0;color:var(--c-sec)}
.rep .future p,.rep .tuesday p{font-family:var(--sans);font-size:var(--t-body);line-height:1.6}
/* secondary text: labels, meta lines, sources, outputs, durations */
.rep :is(.small,.co-m,.behind,.asof,.mr,.rank,.k,.rail-n,.ht-k,.src,.src-a,.lvl,.gs,dt,small),
.rep .sess .d,.rep .sess .p,.rep .aiweeks .p,.rep .wk>summary .c,.rep .task .sh,
.rep details.srcs li,.rep details.srcs>summary{font-size:var(--t-sec);line-height:1.45;color:var(--c-sec)}
.rep .st-k,.rep .wk>summary .n{font-size:var(--t-sec)}
.rep dt{font-weight:500}
/* tags and pills */
.rep :is(.pill,.need,.aitag,.st){font-size:var(--t-tag);font-weight:500;letter-spacing:0}
.rep .chip,.rep .preset{font-size:15px}
/* week-by-week labels that were set in the display serif at small sizes */
.rep .wk3 b,.rep .split b{font-family:var(--sans);font-weight:600;font-size:16px}
.rep .grp .gl b{font-family:var(--sans);font-weight:600;font-size:17px}
.rep .result-k{font-family:var(--sans);font-weight:500;font-size:17px;letter-spacing:0}
.rep .mon-h span,.rep details.move .rank,.rep .block.field .ol-lead .src-a{font-size:var(--t-sec)}
.rep .ht .ht-do b{font-size:14px;font-weight:600}
.rep p button.link{display:inline;padding:0;vertical-align:baseline}
.rep details.move>details.more{margin:0 20px 14px}
.rep details.move>details.more>dl{padding:0}
/* Before week 1: no week label and no durations, so no empty columns */
.rep .mon.w0 .wk .body{padding-left:20px;padding-right:20px}
.rep .mon.w0 .sess{grid-template-columns:24px 1fr}
.rep .mon.w0 .sess .d:empty{display:none}
/* Plan A and Plan B: one line on how they fit, two cards side by side, a key above the weeks. */
.rep .abline{margin:16px 0 0;font-size:var(--t-body);color:var(--c-body);max-width:62ch}
.rep .nextrow.two{grid-template-columns:1fr 1fr}
@media(max-width:600px){.rep .nextrow.two{display:grid!important;grid-template-columns:1fr;gap:8px;overflow:visible}.rep .nextrow.two .nextmove{flex:none;width:100%}.rep .nextrow.two .nextmove .s{display:inline}}
.rep .abkey{margin:14px 0 18px;padding:14px 18px;border-radius:16px;background:#F5F6F8}
.rep .abkey p{margin:0;font-size:var(--t-sec);line-height:1.5}
.rep .abkey p+p{margin-top:8px}
.rep .abkey button.link{display:inline;padding:0;vertical-align:baseline;font-size:inherit}
.rep .others{margin-top:28px}
.rep .others>h2{font-family:var(--sans);font-weight:600;font-size:19px}
/* Plan A/B marks inside the plan builder */
.rep .nextmove .k{display:flex;align-items:center;font-size:14px;color:var(--c-sec)}
.rep .nextmove .k .abi{width:28px;height:28px;margin-right:10px}
.rep .nextrow.two .nextmove.pa{box-shadow:inset 0 0 0 1.5px var(--ab-a);background:#F3F8F2}
.rep .nextrow.two .nextmove.ai{box-shadow:inset 0 0 0 1.5px var(--ab-b);background:#F2F5FC}
.rep .tabs [role=tab] .abb{width:18px;height:18px;font-size:10.5px;margin-right:6px;vertical-align:1px}
.rep .tabs [role=tab][aria-selected=true] .abb{box-shadow:0 0 0 1.5px #fff}
.rep .ph.abh{display:flex;align-items:center}
.rep .abkey p{display:block}
.rep .abkey .abb{margin-right:6px}
.rep .sess .abb{width:18px;height:18px;font-size:10.5px;margin-right:8px;vertical-align:1px}
.rep .sess.ai .aitag{display:none}
.rep details.move.rec{box-shadow:inset 0 0 0 2px var(--ab-a)}
.rep details.move.airole.rec,.rep .aipick{box-shadow:inset 0 0 0 2px var(--ab-b)}
.rep details.move.rec .rank{color:var(--ab-a);font-weight:600}
.rep details.move.airole.rec .rank{color:var(--ab-b)}
/* The 13-week strip: one row per plan, one cell per week, one dot per session. */
.rep .abstrip{margin-top:14px;padding:14px 16px 12px;border-radius:18px;background:#F5F6F8}
.rep .ab-weeks,.rep .ab-lane{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:8px}
.rep .ab-lane{margin-top:6px}
.rep .ab-ll{display:flex;align-items:center;font:600 13.5px/1 var(--sans);color:var(--c-body)}
.rep .ab-ll .abb{width:18px;height:18px;font-size:10.5px;margin-right:6px}
.rep .ab-cells{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:3px}
.rep .ab-wn{font:500 11.5px/1 var(--sans);color:var(--c-sec);text-align:center}
.rep .ab-c{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:2px;height:30px;border-radius:7px;padding:3px}
.rep .ab-la .ab-c{background:var(--ab-a-bg)}
.rep .ab-lb .ab-c{background:var(--ab-b-bg)}
.rep .ab-c i{display:block;width:6px;height:6px;border-radius:999px}
.rep .ab-la .ab-c i{background:var(--ab-a)}
.rep .ab-lb .ab-c i{background:var(--ab-b)}
.rep .ab-lb .ab-c.basics{background:#EEF2FA;box-shadow:inset 0 0 0 1px #C9D5EE}
.rep .ab-lb .ab-c.basics i{background:#7D93C6}
.rep .ab-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0 86px;font-size:13.5px;color:var(--c-sec)}
.rep .ab-legend span{display:inline-flex;align-items:center}
.rep .ab-legend .lg{display:inline-block;width:12px;height:12px;border-radius:4px;background:var(--ab-b-bg);margin-right:6px}
.rep .ab-legend .lg.basics{background:#EEF2FA;box-shadow:inset 0 0 0 1px #C9D5EE}
@media(max-width:600px){.rep .ab-weeks,.rep .ab-lane{grid-template-columns:62px 1fr;gap:6px}.rep .ab-cells{gap:2px}.rep .ab-c{height:26px;padding:2px}.rep .ab-c i{width:4px;height:4px}.rep .ab-legend{margin-left:0}.rep .abstrip{padding:12px 10px}}
/* Top of the plan: two plans, the strip, time, one first step. */
.rep .ab-h2{font-family:var(--sans);font-weight:600;font-size:19px;margin:26px 0 0}
.rep .abline{margin-top:6px}
.rep .abtime{margin:12px 0 0;font-size:var(--t-body);color:var(--c-body)}
.rep .abtime b{font-weight:600}
.rep .startcard{margin-top:18px;padding:18px 20px;border-radius:20px;background:#FBF3E4;box-shadow:inset 0 0 0 1.5px #E9CF9C}
.rep .startcard .k{display:block;font:600 13.5px/1 var(--sans);letter-spacing:.02em;color:#8A5A12;margin-bottom:8px}
.rep .startcard .sc-t{margin:0;font-size:17px;line-height:1.45}
.rep .startcard .sc-m{margin:6px 0 0;font-size:var(--t-sec);color:var(--c-sec)}
.rep .startcard .row{margin-top:12px}
.rep .w0later{margin:8px 0 4px}
.rep .w0later ul{margin:6px 0 0;padding-left:18px}
.rep .w0later li{margin:6px 0;font-size:var(--t-sec)}
@media(max-width:600px){.rep .tabs [role=tab]{padding-left:11px;padding-right:11px}}
@media(max-width:600px){.rep .ab-weeks,.rep .ab-lane{grid-template-columns:24px 1fr}.rep .ab-ll{font-size:0}.rep .ab-ll .abb{margin-right:0}.rep .ab-legend{font-size:13px}}
@media(max-width:600px){.rep .tabs [role=tab]{padding-left:9px;padding-right:9px;font-size:14px}.rep .tabs [role=tab] .abb{margin-right:4px}}
/* share card and "Was this useful?" */
.share-card{margin-top:28px}
.share-card .sc-img{display:block;width:100%;max-width:560px;height:auto;aspect-ratio:1200/630;border-radius:14px;box-shadow:0 0 0 1px rgba(21,23,28,.12);margin:12px 0 14px}
.share-card .row.tight{flex-wrap:wrap;align-items:center}
.useful{margin-top:22px;padding-top:18px;border-top:1px solid rgba(21,23,28,.1)}
.useful .u-q{font-family:var(--serif);font-size:24px;line-height:1.15;margin:0 0 10px}
@media print{.share-card{display:none!important}}
