/* assessment — §5 APPLICATION SURFACE stylesheet.
   Generated by tools/gate/app_migrate.py from the live bytes.
   Every rule is a descendant of .ts-app[data-app="assessment"] (§5 rule 3, container scoping —
   NOT a prefix rule: these apps name their classes inside their own JS).
   Every value is a §2 token (§5 rule 2). 1 dark-scheme block(s)
   neutralised per §1.1. */
.ts-app[data-app="assessment"]{--a1:var(--brand);--a2:var(--heading);--a3:var(--brand-press);--a4:var(--muted);--a5:var(--brand);--bg:var(--surface);--bg2:var(--surface-alt);--panel:var(--surface);--panel2:var(--surface-alt);--line:var(--hairline);--line2:var(--hairline);--faint:var(--muted);--accent:var(--brand);--accent-dim:var(--brand);--biz:var(--heading);--trust:var(--brand);--risk:var(--muted);--good:var(--verdict-positive);--neutral:var(--verdict-caution);--poor:var(--verdict-risk);--pos:var(--verdict-positive);--neg:var(--verdict-risk);--r:var(--radius-card);--track-bg:var(--surface-alt);--mono:var(--font-body);--disp:var(--font-heading);--body:var(--ink);--logo-tile:var(--heading);--logo-check:var(--surface);--logo-step:var(--brand);--logo-word:var(--heading);--logo-accent:var(--brand);--gd-a:var(--verdict-positive);--gd-b:var(--verdict-caution);--gd-c:var(--verdict-caution);--gd-d:var(--verdict-risk);--st-strong:var(--verdict-positive);--st-established:var(--verdict-caution);--st-developing:var(--verdict-caution);--st-foundational:var(--verdict-risk)}
.ts-app[data-app="assessment"] .bg-layer, .ts-app[data-app="assessment"] .bg-grid, .ts-app[data-app="assessment"] .grain{display:none !important}
.ts-app[data-app="assessment"] .brand .mark{width:38px;height:38px;flex:none}
.ts-app[data-app="assessment"] .brand .wm{font-family:var(--font-body);font-weight:700;font-size:var(--text-21);color:var(--logo-word);letter-spacing:0.06em}
.ts-app[data-app="assessment"] .brand .wm .ac{color:var(--logo-word)}
.ts-app[data-app="assessment"] .m-tile{fill:var(--logo-tile)}
.ts-app[data-app="assessment"] .m-check{fill:none;stroke:var(--logo-check);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.ts-app[data-app="assessment"] .m-step{fill:var(--logo-step)}
.ts-app[data-app="assessment"] h2.title, .ts-app[data-app="assessment"] .verdict{text-transform:none}
.ts-app[data-app="assessment"] .eyebrow{color:var(--accent)}
.ts-app[data-app="assessment"] .eyebrow::before{background:var(--accent)}
.ts-app[data-app="assessment"], .ts-app[data-app="assessment"] *{box-sizing:border-box}
.ts-app[data-app="assessment"] .bg-layer{position:fixed;inset:0;z-index:0;pointer-events:none}
.ts-app[data-app="assessment"] .bg-layer .glow{position:absolute;width:60vw;height:60vw;border-radius:50%;opacity:.18}
.ts-app[data-app="assessment"] .bg-layer .g1{background:var(--heading);top:-20vw;right:-10vw}
.ts-app[data-app="assessment"] .bg-layer .g2{background:var(--heading);bottom:-25vw;left:-15vw;opacity:.22}
.ts-app[data-app="assessment"] .bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.12;background-size:64px 64px}
.ts-app[data-app="assessment"] .grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ts-app[data-app="assessment"] .wrap{position:relative;z-index:2;max-width:1000px;margin:0;padding:var(--space-32) 0 var(--space-96)}
.ts-app[data-app="assessment"] .brand{display:flex;align-items:center;gap:var(--space-12);text-decoration:none;color:inherit}
.ts-app[data-app="assessment"] .chevs{display:flex;gap:var(--space-4)}
.ts-app[data-app="assessment"] .chev{width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:11px solid var(--accent)}
.ts-app[data-app="assessment"] .chev:nth-child(2){opacity:.55}
.ts-app[data-app="assessment"] .chev:nth-child(3){opacity:.25}
.ts-app[data-app="assessment"] .brand .name{font-family:var(--font-body);font-size:var(--text-21);letter-spacing:0.06em;text-transform:uppercase;line-height:1}
.ts-app[data-app="assessment"] .brand .name span{color:var(--accent)}
.ts-app[data-app="assessment"] .event-tag{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line2);padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill)}
.ts-app[data-app="assessment"] .stage{animation:fadeUp .5s ease both}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:none}
}
.ts-app[data-app="assessment"] .eyebrow{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--accent-dim);margin:0 0 var(--space-12)}
.ts-app[data-app="assessment"] h2.title{font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;line-height:.95;margin:0 0 var(--space-16);font-size:var(--text-51)}
.ts-app[data-app="assessment"] h2.title .lo{color:var(--faint)}
.ts-app[data-app="assessment"] .lede{font-size:var(--text-17);color:var(--muted);max-width:64ch;margin:0 0 var(--space-24)}
.ts-app[data-app="assessment"] .lede strong{color:var(--ink);font-weight:700}
.ts-app[data-app="assessment"] .panel{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-24)}
.ts-app[data-app="assessment"] .axes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-12);margin:var(--space-24) 0}
@media(max-width:680px){
  .ts-app[data-app="assessment"] .axes{grid-template-columns:1fr}
}
.ts-app[data-app="assessment"] .axe{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);background:var(--panel)}
.ts-app[data-app="assessment"] .axe .dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:var(--space-8);vertical-align:middle}
.ts-app[data-app="assessment"] .axe h2{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;margin:0 0 var(--space-4);color:var(--ink)}
.ts-app[data-app="assessment"] .axe p{margin:0;font-size:var(--text-14);color:var(--muted);line-height:1.45}
.ts-app[data-app="assessment"] .btn{font-family:var(--font-body);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;font-size:var(--text-14);background:var(--accent);color:var(--surface);border:none;border-radius:var(--radius-pill);padding:var(--space-16) var(--space-32);cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s}
.ts-app[data-app="assessment"] .btn:hover{transform:translateY(-2px)}
.ts-app[data-app="assessment"] .btn:active{transform:translateY(0)}
.ts-app[data-app="assessment"] .btn[disabled]{background:var(--line2);color:var(--faint);cursor:not-allowed;transform:none}
.ts-app[data-app="assessment"] .btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--line2)}
.ts-app[data-app="assessment"] .actions{display:flex;gap:var(--space-12);align-items:center;flex-wrap:wrap;margin-top:var(--space-8)}
.ts-app[data-app="assessment"] .rail{display:flex;align-items:center;gap:var(--space-8);margin-bottom:var(--space-24);font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint)}
.ts-app[data-app="assessment"] .rail .seg{flex:1;height:4px;border-radius:var(--radius-card);background:var(--line)}
.ts-app[data-app="assessment"] .rail .seg.on{background:var(--accent)}
.ts-app[data-app="assessment"] .rail .lbl{white-space:nowrap}
.ts-app[data-app="assessment"] .board-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-12);flex-wrap:wrap;margin-bottom:var(--space-8)}
.ts-app[data-app="assessment"] .counter{font-family:var(--font-body);font-size:var(--text-41);line-height:1;letter-spacing:0.06em}
.ts-app[data-app="assessment"] .counter span{color:var(--accent)}
.ts-app[data-app="assessment"] .counter small{font-family:var(--font-body);font-size:var(--text-14);color:var(--muted);letter-spacing:0.06em;display:block;font-weight:600;margin-top:var(--space-4)}
.ts-app[data-app="assessment"] .reqs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);margin:var(--space-16) 0 var(--space-24)}
@media(max-width:720px){
  .ts-app[data-app="assessment"] .reqs{grid-template-columns:1fr}
}
.ts-app[data-app="assessment"] .req{position:relative;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16) var(--space-16);background:var(--panel);cursor:pointer;transition:border-color .15s, background .15s, transform .12s;overflow:hidden}
.ts-app[data-app="assessment"] .req:hover{border-color:var(--line2);transform:translateY(-2px)}
.ts-app[data-app="assessment"] .req.sel{border-color:var(--accent)}
.ts-app[data-app="assessment"] .req .rank{position:absolute;top:13px;right:13px;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:700;font-size:var(--text-14);color:var(--faint);transition:.15s}
.ts-app[data-app="assessment"] .req.sel .rank{background:var(--accent);color:var(--surface);border-color:var(--accent)}
.ts-app[data-app="assessment"] .req .rid{font-family:var(--font-body);font-size:var(--text-14);color:var(--faint);letter-spacing:0.06em}
.ts-app[data-app="assessment"] .req h4{margin:var(--space-4) 0 var(--space-8);font-size:var(--text-17);font-weight:800;letter-spacing:0.06em;max-width:86%}
.ts-app[data-app="assessment"] .meta{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-12);font-size:var(--text-14);color:var(--muted);margin-bottom:var(--space-8)}
.ts-app[data-app="assessment"] .meta b{color:var(--ink);font-weight:600}
.ts-app[data-app="assessment"] .stage-pill{display:inline-block;font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);border:1px solid var(--line2);color:var(--muted)}
.ts-app[data-app="assessment"] .note{font-size:var(--text-14);color:var(--muted);line-height:1.45;border-top:1px dashed var(--line2);padding-top:var(--space-8);margin-top:0}
.ts-app[data-app="assessment"] .badge{display:inline-flex;align-items:center;gap:var(--space-4);font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill)}
.ts-app[data-app="assessment"] .badge::before{content:"";width:7px;height:7px;border-radius:50%}
.ts-app[data-app="assessment"] .b-good{color:var(--good);background:color-mix(in srgb, var(--brand) 10%, transparent)}
.ts-app[data-app="assessment"] .b-good::before{background:var(--good)}
.ts-app[data-app="assessment"] .b-neutral{color:var(--neutral);background:color-mix(in srgb, var(--verdict-caution) 6%, transparent)}
.ts-app[data-app="assessment"] .b-neutral::before{background:var(--neutral)}
.ts-app[data-app="assessment"] .b-poor{color:var(--poor);background:color-mix(in srgb, var(--verdict-risk) 6%, transparent)}
.ts-app[data-app="assessment"] .b-poor::before{background:var(--poor)}
.ts-app[data-app="assessment"] .res{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);margin-bottom:var(--space-12);background:var(--panel);display:flex;gap:var(--space-16);align-items:flex-start}
.ts-app[data-app="assessment"] .res .tag{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);white-space:nowrap;margin-top:0}
.ts-app[data-app="assessment"] .tag.worked{color:var(--accent);background:color-mix(in srgb, var(--heading) 10%, transparent);border:1px solid color-mix(in srgb, var(--heading) 25%, transparent)}
.ts-app[data-app="assessment"] .tag.skipped{color:var(--faint);background:color-mix(in srgb, var(--heading) 4%, transparent);border:1px solid var(--line2)}
.ts-app[data-app="assessment"] .res .body h5{margin:0 0 var(--space-4);font-size:var(--text-14);font-weight:800}
.ts-app[data-app="assessment"] .res .body p{margin:0 0 var(--space-8);font-size:var(--text-14);color:var(--muted);line-height:1.45}
.ts-app[data-app="assessment"] .chips{display:flex;gap:var(--space-8);flex-wrap:wrap}
.ts-app[data-app="assessment"] .chip{font-family:var(--font-body);font-size:var(--text-14);font-weight:700;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);letter-spacing:0.06em;display:inline-flex;gap:var(--space-4);align-items:center}
.ts-app[data-app="assessment"] .chip .k{opacity:.6;font-weight:400}
.ts-app[data-app="assessment"] .chip.cp{color:var(--pos);background:color-mix(in srgb, var(--brand) 10%, transparent)}
.ts-app[data-app="assessment"] .chip.cn{color:var(--neg);background:color-mix(in srgb, var(--verdict-risk) 6%, transparent)}
.ts-app[data-app="assessment"] .chip.cz{color:var(--faint);background:color-mix(in srgb, var(--heading) 5%, transparent)}
.ts-app[data-app="assessment"] .scoreboard{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-12);margin-bottom:var(--space-24)}
@media(max-width:680px){
  .ts-app[data-app="assessment"] .scoreboard{grid-template-columns:1fr}
}
.ts-app[data-app="assessment"] .sb{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-12) var(--space-12);background:var(--panel)}
.ts-app[data-app="assessment"] .sb .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-8)}
.ts-app[data-app="assessment"] .sb .lab{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--muted)}
.ts-app[data-app="assessment"] .sb .val{font-family:var(--font-body);font-weight:700;font-size:var(--text-17)}
.ts-app[data-app="assessment"] .track{height:7px;border-radius:var(--radius-card);background:var(--track-bg);overflow:hidden;border:1px solid var(--line)}
.ts-app[data-app="assessment"] .fill{height:100%;width:0;border-radius:var(--radius-card);transition:width .8s cubic-bezier(.2,.7,.2,1)}
.ts-app[data-app="assessment"] .sc-num{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--accent-dim);margin-bottom:var(--space-8)}
.ts-app[data-app="assessment"] .sc-role{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);text-transform:uppercase;margin-bottom:var(--space-4)}
.ts-app[data-app="assessment"] .sc-prompt{font-size:var(--text-17);color:var(--ink);line-height:1.5;margin:0 0 var(--space-16);font-weight:500}
.ts-app[data-app="assessment"] .opts{display:flex;flex-direction:column;gap:var(--space-12)}
.ts-app[data-app="assessment"] .opt{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);cursor:pointer;transition:border-color .15s, background .15s, transform .12s, box-shadow .15s;display:flex;gap:var(--space-12);align-items:flex-start;color:var(--ink);font:inherit}
.ts-app[data-app="assessment"] .opt:hover{border-color:var(--accent);transform:translateX(3px)}
.ts-app[data-app="assessment"] .opt .key{font-family:var(--font-body);font-size:var(--text-17);color:var(--accent);line-height:1.2;min-width:18px}
.ts-app[data-app="assessment"] .opt .txt{font-size:var(--text-14);line-height:1.45}
.ts-app[data-app="assessment"] .opt.picked{border-color:var(--accent);opacity:1}
.ts-app[data-app="assessment"] .opt[disabled]{cursor:default}
.ts-app[data-app="assessment"] .opt[disabled]:not(.picked){opacity:.45}
.ts-app[data-app="assessment"] .opt[disabled]:hover{transform:none;border-color:var(--line)}
.ts-app[data-app="assessment"] .opt.picked:hover{transform:none}
.ts-app[data-app="assessment"] .outcome{margin-top:var(--space-16);border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);background:var(--bg2);animation:fadeUp .35s ease both}
.ts-app[data-app="assessment"] .outcome .oh{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);margin-bottom:var(--space-8)}
.ts-app[data-app="assessment"] .outcome p{margin:0 0 var(--space-12);font-size:var(--text-14);color:var(--muted);line-height:1.5}
.ts-app[data-app="assessment"] .card-final{border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-32) var(--space-24);position:relative;overflow:hidden}
.ts-app[data-app="assessment"] .verdict-eyebrow{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--accent-dim);margin-bottom:var(--space-8)}
.ts-app[data-app="assessment"] .verdict{font-family:var(--font-body);font-weight:700;text-transform:uppercase;line-height:.92;font-size:var(--text-51);margin:0}
.ts-app[data-app="assessment"] .verdict .accent{color:var(--tsa-band, var(--accent))}
.ts-app[data-app="assessment"] .verdict-sub{font-size:var(--text-17);color:var(--muted);margin:var(--space-8) 0 var(--space-4);max-width:56ch}
.ts-app[data-app="assessment"] .overall{display:flex;align-items:baseline;gap:var(--space-8);flex-wrap:wrap;margin:var(--space-16) 0 var(--space-8)}
.ts-app[data-app="assessment"] .overall .pctile{font-family:var(--font-body);font-weight:700;font-size:var(--text-14);letter-spacing:0.06em;color:var(--accent);background:color-mix(in srgb, var(--heading) 10%, transparent);border:1px solid color-mix(in srgb, var(--heading) 32%, transparent);padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);align-self:center;margin-left:var(--space-4)}
.ts-app[data-app="assessment"] .overall .pctile .est{font-weight:400;font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);margin-left:var(--space-4);text-transform:uppercase}
.ts-app[data-app="assessment"] .pctcap{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);margin:var(--space-4) 0 0}
.ts-app[data-app="assessment"] .share{margin-top:var(--space-24);border-top:1px solid var(--line);padding-top:var(--space-24)}
.ts-app[data-app="assessment"] .share h4{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);margin:0 0 var(--space-12)}
.ts-app[data-app="assessment"] .share-row{display:flex;gap:var(--space-8);flex-wrap:wrap}
.ts-app[data-app="assessment"] .sbtn{display:inline-flex;align-items:center;gap:var(--space-8);font-family:var(--font-body);font-weight:700;font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-12) var(--space-16);border-radius:var(--radius-pill);cursor:pointer;border:1px solid var(--line2);background:transparent;color:var(--ink);transition:transform .15s, border-color .15s, box-shadow .15s}
.ts-app[data-app="assessment"] .sbtn:hover{border-color:var(--accent);transform:translateY(-2px)}
.ts-app[data-app="assessment"] .sbtn.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}
.ts-app[data-app="assessment"] .sbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;flex:0 0 auto}
.ts-app[data-app="assessment"] .share-note{font-family:var(--font-body);font-size:var(--text-14);line-height:1.5;color:var(--faint);margin:var(--space-12) 0 0}
.ts-app[data-app="assessment"] .overall .big{font-family:var(--font-body);font-weight:700;font-size:var(--text-41);color:var(--ink)}
.ts-app[data-app="assessment"] .overall .of{font-family:var(--font-body);font-size:var(--text-14);color:var(--faint)}
.ts-app[data-app="assessment"] .bars{display:flex;flex-direction:column;gap:var(--space-16);margin:var(--space-24) 0 var(--space-8)}
.ts-app[data-app="assessment"] .bar .brow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-8)}
.ts-app[data-app="assessment"] .bar .bname{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;display:flex;align-items:center;gap:var(--space-8)}
.ts-app[data-app="assessment"] .bar .bname i{width:10px;height:10px;border-radius:50%;display:inline-block}
.ts-app[data-app="assessment"] .bar .bval{font-family:var(--font-body);font-weight:700;font-size:var(--text-17)}
.ts-app[data-app="assessment"] .track.lg{height:11px}
.ts-app[data-app="assessment"] .debrief{margin-top:var(--space-24);border-top:1px solid var(--line);padding-top:var(--space-24)}
.ts-app[data-app="assessment"] .debrief h4{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);margin:0 0 var(--space-12)}
.ts-app[data-app="assessment"] .db-line{display:flex;gap:var(--space-12);align-items:flex-start;margin-bottom:var(--space-12);font-size:var(--text-14);line-height:1.5}
.ts-app[data-app="assessment"] .db-line .pill{font-family:var(--font-body);font-size:var(--text-14);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);white-space:nowrap;margin-top:0;min-width:78px;text-align:center;flex:none}
.ts-app[data-app="assessment"] .pill.strength{color:var(--pos);background:color-mix(in srgb, var(--brand) 12%, transparent)}
.ts-app[data-app="assessment"] .pill.growth{color:var(--neutral);background:color-mix(in srgb, var(--verdict-caution) 6%, transparent)}
.ts-app[data-app="assessment"] .db-line span b{color:var(--ink);font-weight:700}
.ts-app[data-app="assessment"] .db-line span{color:var(--muted)}
.ts-app[data-app="assessment"] .cta{margin-top:var(--space-24);border:1px dashed var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-24);background:color-mix(in srgb, var(--heading) 3%, transparent)}
.ts-app[data-app="assessment"] .cta h4{font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;font-size:var(--text-21);margin:0 0 var(--space-8)}
.ts-app[data-app="assessment"] .cta p{margin:0 0 var(--space-12);color:var(--muted);font-size:var(--text-14);max-width:60ch}
.ts-app[data-app="assessment"] .cta .roles{display:flex;gap:var(--space-8);flex-wrap:wrap}
.ts-app[data-app="assessment"] .role-chip{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);border:1px solid var(--line2);color:var(--muted)}
.ts-app[data-app="assessment"] .role-chip.live{color:var(--accent);border-color:var(--accent)}
.ts-app[data-app="assessment"] .cta-side{margin-top:var(--space-12)}
.ts-app[data-app="assessment"] .gd-split .gd-side{margin-top:var(--space-12)}
@media(min-width:820px){
  .ts-app[data-app="assessment"] .cta-split{display:grid;grid-template-columns:1fr minmax(190px,300px);gap:var(--space-24);align-items:start}
  .ts-app[data-app="assessment"] .cta-split .cta-side{margin-top:0}
  .ts-app[data-app="assessment"] .gd-split{display:grid;grid-template-columns:1fr auto;gap:var(--space-24);align-items:center}
  .ts-app[data-app="assessment"] .gd-split .gd-side{margin-top:0;justify-self:end}
}
.ts-app[data-app="assessment"] .foot{margin-top:var(--space-48);padding-top:var(--space-32);border-top:1px solid var(--line2);font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);text-align:center}
.ts-app[data-app="assessment"] .foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-8) var(--space-24);margin-bottom:var(--space-24)}
.ts-app[data-app="assessment"] .foot-nav a{font-family:var(--font-body);font-size:var(--text-14);font-weight:500;letter-spacing:0.06em;color:var(--muted);text-decoration:none;transition:color .15s}
.ts-app[data-app="assessment"] .foot-nav a:hover{color:var(--ink)}
.ts-app[data-app="assessment"] .foot-tag{margin-bottom:var(--space-4)}
.ts-app[data-app="assessment"] .fineprint{font-size:var(--text-14);color:var(--faint);margin-top:var(--space-8);line-height:1.5;max-width:60ch;margin-left:auto;margin-right:auto}
.ts-app[data-app="assessment"] .foot-legal{word-break:break-word}
.ts-app[data-app="assessment"] .foot-legal a{color:inherit;text-decoration:underline;word-break:break-all}
.ts-app[data-app="assessment"] .foot-legal .sep{opacity:.5;margin:0 var(--space-4)}
@media (prefers-reduced-motion: reduce){
  .ts-app[data-app="assessment"], .ts-app[data-app="assessment"] *, .ts-app[data-app="assessment"] *::before, .ts-app[data-app="assessment"] *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}
.ts-app[data-app="assessment"] :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-card)}
.ts-app[data-app="assessment"] .opt:focus-visible, .ts-app[data-app="assessment"] .req:focus-visible, .ts-app[data-app="assessment"] .btn:focus-visible, .ts-app[data-app="assessment"] .sbtn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ts-app[data-app="assessment"], .ts-app[data-app="assessment"] *{text-transform:none!important}
.ts-app[data-app="assessment"] .eyebrow, .ts-app[data-app="assessment"] .verdict-eyebrow{text-transform:uppercase!important;color:var(--accent)!important}
.ts-app[data-app="assessment"] .eyebrow::before{background:var(--accent)!important}
.ts-app[data-app="assessment"] /* ---- HR-OS scorecard additions ---- */
  .brand .wm .ac{color:var(--logo-step)!important}
.ts-app[data-app="assessment"] .prog{display:flex;align-items:center;gap:var(--space-12);margin-bottom:var(--space-24);font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint)}
.ts-app[data-app="assessment"] .prog .ptrack{flex:1;height:5px;border-radius:var(--radius-card);background:var(--track-bg);border:1px solid var(--line);overflow:hidden}
.ts-app[data-app="assessment"] .prog .pfill{height:100%;width:0;border-radius:var(--radius-card);background:var(--accent);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.ts-app[data-app="assessment"] .areagrid{display:flex;flex-direction:column;gap:var(--space-12);margin:var(--space-24) 0 var(--space-4)}
.ts-app[data-app="assessment"] .arow{display:grid;grid-template-columns:auto 1fr;gap:var(--space-12);align-items:start;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);background:var(--panel)}
.ts-app[data-app="assessment"] .arow .aband{font-family:var(--font-body);font-size:var(--text-14);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:var(--space-4) var(--space-8);border-radius:var(--radius-pill);white-space:nowrap;align-self:start;min-width:92px;text-align:center}
.ts-app[data-app="assessment"] .arow .aname{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);font-weight:700;margin:0 0 var(--space-4)}
.ts-app[data-app="assessment"] .arow .aread{font-size:var(--text-14);color:var(--muted);line-height:1.45;margin:0}
.ts-app[data-app="assessment"] .ab-strong{color:var(--good);background:color-mix(in srgb, var(--brand) 12%, transparent)}
.ts-app[data-app="assessment"] .ab-established{color:var(--accent);background:color-mix(in srgb, var(--heading) 12%, transparent)}
.ts-app[data-app="assessment"] .ab-developing{color:var(--neutral);background:color-mix(in srgb, var(--verdict-caution) 6%, transparent)}
.ts-app[data-app="assessment"] .ab-foundational{color:var(--muted);background:color-mix(in srgb, var(--hairline) 14%, transparent)}
.ts-app[data-app="assessment"] h2.title{line-height:1.2;font-size:var(--text-26);text-transform:none;letter-spacing:normal;font-weight:600}
@media(max-width:480px){.ts-app[data-app="assessment"] h2.title{font-size:var(--text-21)}}
.ts-app[data-app="assessment"] h2.title .em{color:var(--accent)}
.ts-app[data-app="assessment"] .verdict .accent{color:var(--tsa-band, var(--accent))}
.ts-app[data-app="assessment"] .ladder{display:flex;gap:var(--space-8);margin:var(--space-16) 0 var(--space-4);flex-wrap:wrap}
.ts-app[data-app="assessment"] .lstep{flex:1;min-width:118px;text-align:center;border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-12) var(--space-8);background:var(--panel)}
.ts-app[data-app="assessment"] .lstep .ln{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);font-weight:700}
.ts-app[data-app="assessment"] .lstep.done{border-color:var(--line2);background:var(--panel2)}
.ts-app[data-app="assessment"] .lstep.done .ln{color:var(--muted)}
.ts-app[data-app="assessment"] .lstep.cur{background:var(--accent);border-color:var(--accent)}
.ts-app[data-app="assessment"] .lstep.cur .ln{color:var(--surface)}
.ts-app[data-app="assessment"] .lcap{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);margin:0 0 0}
.ts-app[data-app="assessment"] .lcap b{color:var(--ink)}
.ts-app[data-app="assessment"] .pill.opp{color:var(--accent);background:color-mix(in srgb, var(--heading) 12%, transparent)}
.ts-app[data-app="assessment"] /* progress fill: position the fill absolutely so its percentage width resolves against a
     definite containing block (a raw % width on a flex-item child resolves to 0 in some engines) */
  .prog .ptrack{position:relative}
.ts-app[data-app="assessment"] .prog .pfill{position:absolute;left:0;top:0;height:100%;width:0;border-radius:var(--radius-card);background:var(--accent);transition:width .45s cubic-bezier(.2,.7,.2,1)}
.ts-app[data-app="assessment"] .scope{margin-top:var(--space-24);border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);background:var(--bg2)}
.ts-app[data-app="assessment"] .scope .sh{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--faint);margin:0 0 var(--space-8)}
.ts-app[data-app="assessment"] .scope p{margin:0;font-size:var(--text-14);color:var(--muted);line-height:1.5}
.ts-app[data-app="assessment"] .routes{display:flex;flex-direction:column;gap:var(--space-12);margin-top:var(--space-16)}
.ts-app[data-app="assessment"] .route{display:grid;grid-template-columns:1fr auto;gap:var(--space-16);align-items:center;border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16)}
.ts-app[data-app="assessment"] .route.lead{border-color:var(--accent)}
.ts-app[data-app="assessment"] .route .rname{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);letter-spacing:0.06em;margin:0 0 var(--space-4);color:var(--ink)}
.ts-app[data-app="assessment"] .route .rwhy{margin:0;font-size:var(--text-14);color:var(--muted);line-height:1.45;max-width:52ch}
.ts-app[data-app="assessment"] .route .rtag{display:inline-block;font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-pill);padding:var(--space-4) var(--space-8);margin-bottom:var(--space-8)}
.ts-app[data-app="assessment"] .route .rside{justify-self:end}
.ts-app[data-app="assessment"] .route .soon{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);border:1px dashed var(--line2);border-radius:var(--radius-pill);padding:var(--space-12) var(--space-16);white-space:nowrap}
@media(max-width:620px){
  .ts-app[data-app="assessment"] .route{grid-template-columns:1fr}
  .ts-app[data-app="assessment"] .route .rside{justify-self:start;margin-top:var(--space-4)}
}
.ts-app[data-app="assessment"] .brand-link{text-decoration:none;color:inherit;display:inline-flex;align-items:center}
.ts-app[data-app="assessment"] a.btn, .ts-app[data-app="assessment"] .btn{text-decoration:none}
.ts-app[data-app="assessment"] .route-tag{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:var(--text-14);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:var(--space-4)}
.ts-app[data-app="assessment"] .route h5{font-family:var(--font-body);font-size:var(--text-14);margin:0 0 var(--space-4);color:var(--ink)}
@media (forced-colors: active){
  .ts-app[data-app="assessment"] .btn, .ts-app[data-app="assessment"] .sbtn, .ts-app[data-app="assessment"] .opt, .ts-app[data-app="assessment"] .req, .ts-app[data-app="assessment"] .share, .ts-app[data-app="assessment"] button{border:1px solid ButtonText}
  .ts-app[data-app="assessment"] .btn:focus-visible, .ts-app[data-app="assessment"] .sbtn:focus-visible, .ts-app[data-app="assessment"] .opt:focus-visible, .ts-app[data-app="assessment"] .req:focus-visible, .ts-app[data-app="assessment"] button:focus-visible, .ts-app[data-app="assessment"] a:focus-visible, .ts-app[data-app="assessment"] [tabindex]:focus-visible{outline:2px solid Highlight;outline-offset:2px}
  .ts-app[data-app="assessment"] .opt.picked, .ts-app[data-app="assessment"] .req.sel{border:2px solid Highlight}
}
.ts-app[data-app="assessment"] .tshr-share{display:inline-flex;align-items:center;gap:var(--space-8);font-family:var(--font-body);font-weight:600;font-size:var(--text-14);line-height:1;color:var(--surface);background:var(--brand);border:1px solid var(--brand);border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.ts-app[data-app="assessment"] .tshr-share:hover{background:var(--brand-press);border-color:var(--brand-press)}
.ts-app[data-app="assessment"] .tshr-share svg{width:15px;height:15px;flex:none}
.ts-app[data-app="assessment"] .tshr-share.is-done{background:var(--brand-press);border-color:var(--brand-press)}

/* §5 rule 7: static presentation lifted out of the application's own
   markup strings and given a home. 28 distinct bundle(s).
   These are ADDED class names — no existing class was renamed. */
.ts-app[data-app="assessment"] .tsa-s01{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint)}
.ts-app[data-app="assessment"] .tsa-s02{margin-top:var(--space-16)}
.ts-app[data-app="assessment"] .tsa-s03{background:var(--good);color:var(--surface)}
.ts-app[data-app="assessment"] .tsa-s04{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);vertical-align:middle}
.ts-app[data-app="assessment"] .tsa-s05{background:var(--trust);color:var(--surface)}
.ts-app[data-app="assessment"] .tsa-s06{border-style:solid;background:color-mix(in srgb, var(--heading) 3%, transparent)}
.ts-app[data-app="assessment"] .tsa-s07{text-decoration:none;display:inline-flex}
.ts-app[data-app="assessment"] .tsa-s08{margin-top:var(--space-24);border:1px solid var(--line2);border-radius:var(--radius-card);padding:var(--space-16) var(--space-24);background:color-mix(in srgb, var(--surface-alt) 4%, transparent)}
.ts-app[data-app="assessment"] .tsa-s09{font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;font-size:var(--text-21);margin:0 0 var(--space-4)}
.ts-app[data-app="assessment"] .tsa-s10{margin:0 0 var(--space-12);color:var(--muted);font-size:var(--text-14);max-width:60ch}
.ts-app[data-app="assessment"] .tsa-s11{display:flex;gap:var(--space-8);flex-wrap:wrap;align-items:center}
.ts-app[data-app="assessment"] .tsa-s12{flex:0 0 100%;font-weight:600;color:var(--ink)}
.ts-app[data-app="assessment"] .tsa-s13{flex:1;min-width:220px;font:inherit;font-size:var(--text-14);padding:var(--space-12) var(--space-16);border-radius:var(--radius-card);border:1.5px solid var(--line2);background:var(--surface);color:var(--heading)}
.ts-app[data-app="assessment"] .tsa-s14{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16);margin:var(--space-12) 0 0;font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);text-transform:uppercase}
.ts-app[data-app="assessment"] .tsa-s15{margin:var(--space-12) 0 0;color:var(--faint);font-size:var(--text-14);line-height:1.4;max-width:60ch}
.ts-app[data-app="assessment"] .tsa-s16{color:var(--muted);text-decoration:underline}
.ts-app[data-app="assessment"] .tsa-s17{font-family:var(--font-body);font-size:var(--text-14);color:var(--faint);margin:var(--space-8) 0 0}
.ts-app[data-app="assessment"] .tsa-s18{margin-top:var(--space-24);border:1px solid var(--good,var(--verdict-positive));border-radius:var(--radius-card);padding:var(--space-24) var(--space-24);background:color-mix(in srgb, var(--verdict-positive) 6%, transparent)}
.ts-app[data-app="assessment"] .tsa-s19{display:flex;align-items:flex-start;gap:var(--space-12)}
.ts-app[data-app="assessment"] .tsa-s20{flex:none;width:30px;height:30px;border-radius:50%;background:var(--good,var(--verdict-positive));display:inline-flex;align-items:center;justify-content:center;margin-top:0}
.ts-app[data-app="assessment"] .tsa-s21{font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;font-size:var(--text-21);margin:0 0 var(--space-4);color:var(--ink)}
.ts-app[data-app="assessment"] .tsa-s22{margin:0;color:var(--body,var(--muted));font-size:var(--text-14);line-height:1.55}
.ts-app[data-app="assessment"] .tsa-s23{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-12)}
.ts-app[data-app="assessment"] .tsa-s24{border-style:solid;background:color-mix(in srgb, var(--brand) 4%, transparent)}
.ts-app[data-app="assessment"] .tsa-s25{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;color:var(--faint);text-transform:uppercase;margin-bottom:var(--space-12)}
.ts-app[data-app="assessment"] .tsa-s26{color:var(--accent)}
.ts-app[data-app="assessment"] .tsa-s27{margin:var(--space-12) 0 0;font-size:var(--text-14);color:var(--muted)}
.ts-app[data-app="assessment"] .tsa-s28{font-weight:400;font-size:var(--text-14);color:var(--muted)}

/* Runtime custom properties written by the application in place of colour
   literals (§5 rule 7's named mechanism: setProperty, never a literal). */
.ts-app[data-app="assessment"] [style*="--tsa-bg"]{background:var(--tsa-bg)}
.ts-app[data-app="assessment"] [style*="--tsa-fg"]{color:var(--tsa-fg)}
.ts-app[data-app="assessment"] [style*="--tsa-bd"]{border-color:var(--tsa-bd)}

/* R-WR12: the dated proof strip (s7.2) that replaces the intro prose wall. */
.ts-app[data-app="assessment"] .facts{display:flex;flex-wrap:wrap;gap:var(--space-24);margin:var(--space-24) 0 var(--space-24);padding:var(--space-24) 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.ts-app[data-app="assessment"] .fact{flex:1 1 200px;min-width:0}
.ts-app[data-app="assessment"] .fact b{display:block;font-family:var(--font-head);font-size:var(--text-33);font-weight:600;line-height:1.2;letter-spacing:-0.01em;color:var(--heading)}
.ts-app[data-app="assessment"] .fact span{display:block;margin-top:var(--space-8);font-size:var(--text-14);line-height:1.55;color:var(--muted)}
.ts-app[data-app="assessment"] .lede-why{margin-top:0}
