/* workstyle — §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="workstyle"] (§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="workstyle"]{--a1:var(--brand);--mint:var(--surface);--faint:var(--muted);--bg:var(--surface);--bg2:var(--surface-alt);--panel:var(--surface);--panel2:var(--surface-alt);--line:var(--hairline);--line2:var(--hairline);--accent:var(--brand);--good:var(--verdict-positive);--neutral:var(--verdict-caution);--poor:var(--verdict-risk);--track:var(--surface-alt);--r:var(--radius-card);--disp:var(--font-heading);--body:var(--ink);--navy:var(--heading);--teal:var(--brand)}
.ts-app[data-app="workstyle"], .ts-app[data-app="workstyle"] *{box-sizing:border-box;margin:0;padding:0}
.ts-app[data-app="workstyle"] .wrap{max-width:680px;margin:0 auto;padding:var(--space-24) var(--space-16) var(--space-64)}
.ts-app[data-app="workstyle"] .brand{display:flex;align-items:center;gap:var(--space-12);margin-bottom:var(--space-32)}
.ts-app[data-app="workstyle"] .brand .mark{width:36px;height:36px;flex:none}
.ts-app[data-app="workstyle"] .brand .mark{width:36px;height:auto;flex:none}
.ts-app[data-app="workstyle"] .brand .wm{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);color:var(--ink);letter-spacing:0.06em}
.ts-app[data-app="workstyle"] .brand .wm .ac{color:var(--teal)}
.ts-app[data-app="workstyle"] .eyebrow{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);letter-spacing:.09em;text-transform:uppercase;color:var(--teal);margin-bottom:var(--space-8)}
.ts-app[data-app="workstyle"] h2{font-family:var(--font-body);font-weight:700;font-size:var(--text-33);line-height:1.15;color:var(--navy);letter-spacing:-.01em;margin-bottom:var(--space-12)}
.ts-app[data-app="workstyle"] .lead{font-family:var(--font-body);font-size:var(--text-17);color:var(--muted);margin-bottom:var(--space-24)}
.ts-app[data-app="workstyle"] p{margin-bottom:var(--space-12)}
.ts-app[data-app="workstyle"] .meta-row{display:grid;grid-template-columns:1fr 1.15fr 1.35fr 1.65fr;gap:0;margin:0 0 var(--space-24);padding:0;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ts-app[data-app="workstyle"] .chip{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:76px;padding:var(--space-12) var(--space-16);font-family:var(--font-body);color:var(--ink);background:transparent;border:0;border-radius:0}
.ts-app[data-app="workstyle"] .chip+.chip{border-left:1px solid var(--line)}
.ts-app[data-app="workstyle"] .chip strong{font-family:var(--font-head);font-size:var(--text-21);font-weight:600;line-height:1.1;letter-spacing:-.01em;color:var(--heading)}
.ts-app[data-app="workstyle"] .chip span{font-size:var(--text-14);font-weight:500;line-height:1.35;color:var(--muted)}
@media(max-width:680px){.ts-app[data-app="workstyle"] .meta-row{grid-template-columns:1fr 1fr}.ts-app[data-app="workstyle"] .chip{min-height:70px;padding:var(--space-12)}.ts-app[data-app="workstyle"] .chip:nth-child(3){border-left:0}.ts-app[data-app="workstyle"] .chip:nth-child(n+3){border-top:1px solid var(--line)}}
.ts-app[data-app="workstyle"] .note{background:var(--panel2);border-left:3px solid var(--teal);border-radius:0 10px 10px 0;padding:var(--space-12) var(--space-16);margin:var(--space-16) 0;font-size:var(--text-14);color:var(--ink)}
.ts-app[data-app="workstyle"] .note b{font-family:var(--font-body);font-weight:600;color:var(--navy)}
.ts-app[data-app="workstyle"] .btn{font-family:var(--font-body);font-weight:600;font-size:var(--text-17);color:var(--surface);background:var(--teal);border:none;border-radius:var(--radius-card);padding:var(--space-16) var(--space-24);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-8);transition:filter .15s}
.ts-app[data-app="workstyle"] .btn:disabled{opacity:.55;cursor:default}
.ts-app[data-app="workstyle"] .btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--line);padding:var(--space-12) var(--space-16);font-size:var(--text-14)}
.ts-app[data-app="workstyle"] /* progress */
  .pbar{height:6px;background:var(--track);border-radius:var(--radius-card);overflow:hidden;margin-bottom:var(--space-8)}
.ts-app[data-app="workstyle"] .pfill{height:100%;background:var(--teal);border-radius:var(--radius-card);transition:width .25s}
.ts-app[data-app="workstyle"] .pmeta{display:flex;justify-content:space-between;font-family:var(--font-body);font-size:var(--text-14);color:var(--faint);margin-bottom:var(--space-32)}
.ts-app[data-app="workstyle"] /* question */
  .qcard{min-height:50vh;display:flex;flex-direction:column;justify-content:center}
.ts-app[data-app="workstyle"] .qnum{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);color:var(--teal);letter-spacing:.04em;margin-bottom:var(--space-12)}
.ts-app[data-app="workstyle"] .qstem{font-family:var(--font-body);font-weight:600;font-size:var(--text-26);line-height:1.25;color:var(--navy);margin-bottom:var(--space-4)}
.ts-app[data-app="workstyle"] .qhint{font-size:var(--text-14);color:var(--faint);margin-bottom:var(--space-24)}
.ts-app[data-app="workstyle"] .opts{display:flex;flex-direction:column;gap:var(--space-8)}
.ts-app[data-app="workstyle"] .opt{font-family:var(--font-body);font-size:var(--text-17);color:var(--ink);background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);cursor:pointer;text-align:left;display:flex;align-items:center;gap:var(--space-12);transition:border-color .12s,background .12s}
.ts-app[data-app="workstyle"] .opt:hover{border-color:var(--teal);background:var(--panel2)}
.ts-app[data-app="workstyle"] .opt .dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line2);flex:none}
.ts-app[data-app="workstyle"] .opt.sel{border-color:var(--teal);background:var(--panel2)}
.ts-app[data-app="workstyle"] .opt.sel .dot{border-color:var(--teal);background:var(--teal)}
.ts-app[data-app="workstyle"] .qfoot{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-24)}
.ts-app[data-app="workstyle"] /* email capture (soft, .ts-app[data-app="workstyle"] on results) + context */
  .capture{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-16) var(--space-24);margin:0 0 var(--space-24);background:var(--panel)}
.ts-app[data-app="workstyle"] .cap-h{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);color:var(--navy);margin-bottom:var(--space-4)}
.ts-app[data-app="workstyle"] .cap-sub{font-size:var(--text-14);color:var(--muted);line-height:1.55;margin-bottom:var(--space-12);max-width:62ch}
.ts-app[data-app="workstyle"] .field{width:100%;font-family:var(--font-body);font-size:var(--text-17);color:var(--ink);background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);margin-bottom:var(--space-12)}
.ts-app[data-app="workstyle"] .field:focus{outline:none;border-color:var(--teal)}
.ts-app[data-app="workstyle"] .ctx-grid{display:flex;flex-wrap:wrap;gap:var(--space-8);margin:var(--space-4) 0 var(--space-24)}
.ts-app[data-app="workstyle"] .ctx-opt{font-family:var(--font-body);font-size:var(--text-14);font-weight:500;color:var(--ink);background:var(--panel);border:1.5px solid var(--line);border-radius:var(--radius-pill);padding:var(--space-8) var(--space-16);cursor:pointer}
.ts-app[data-app="workstyle"] .ctx-opt.sel{border-color:var(--teal);background:var(--panel2);color:var(--navy)}
.ts-app[data-app="workstyle"] .ctx-label{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);color:var(--navy);margin:var(--space-16) 0 0}
.ts-app[data-app="workstyle"] .skip{font-family:var(--font-body);font-size:var(--text-14);color:var(--faint);text-decoration:underline;cursor:pointer;background:none;border:none}
.ts-app[data-app="workstyle"] /* results */
  .snap{margin:var(--space-8) 0 var(--space-24)}
.ts-app[data-app="workstyle"] .normnote{font-size:var(--text-14);color:var(--muted);margin:calc(var(--space-12) * -1) 0 var(--space-24);line-height:1.5}
.ts-app[data-app="workstyle"] .vflag{background:var(--panel2);border:1px solid var(--line);border-left:3px solid var(--neutral);border-radius:0 10px 10px 0;padding:var(--space-12) var(--space-16);font-size:var(--text-14);color:var(--ink);margin:0 0 var(--space-16);line-height:1.5}
.ts-app[data-app="workstyle"] .srow{display:flex;align-items:center;margin-bottom:var(--space-16)}
.ts-app[data-app="workstyle"] .sname{width:42%;font-family:var(--font-body);font-weight:600;font-size:var(--text-14);color:var(--ink)}
.ts-app[data-app="workstyle"] .sname small{display:block;font-weight:400;font-size:var(--text-14);color:var(--faint);margin-top:0}
.ts-app[data-app="workstyle"] .sbar{flex:1;height:13px;background:var(--track);border-radius:var(--radius-card);position:relative;overflow:hidden}
.ts-app[data-app="workstyle"] .sfill{position:absolute;left:0;top:0;bottom:0;border-radius:var(--radius-card)}
.ts-app[data-app="workstyle"] .smid{position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:color-mix(in srgb, var(--heading) 18%, transparent)}
.ts-app[data-app="workstyle"] .sval{width:74px;text-align:right;font-family:var(--font-body);font-weight:700;font-size:var(--text-14)}
.ts-app[data-app="workstyle"] .sval span{display:block;font-weight:500;font-size:var(--text-14)}
.ts-app[data-app="workstyle"] .reveal-card{background:var(--navy);color:var(--surface);border-radius:var(--radius-card);padding:var(--space-24);margin:var(--space-24) 0}
.ts-app[data-app="workstyle"] .reveal-card h3{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);margin-bottom:var(--space-8)}
.ts-app[data-app="workstyle"] .reveal-card p{color:var(--surface);font-size:var(--text-14);margin-bottom:var(--space-8)}
.ts-app[data-app="workstyle"] .reveal-card .btn{background:var(--surface);color:var(--navy);margin-top:var(--space-4)}
.ts-app[data-app="workstyle"] /* matched offers */
  .report-sent{background:var(--panel2);border:1px solid var(--line);border-left:3px solid var(--good);border-radius:0 10px 10px 0;padding:var(--space-12) var(--space-16);font-size:var(--text-14);color:var(--ink);margin:var(--space-4) 0 var(--space-4)}
.ts-app[data-app="workstyle"] .report-sent-txt{display:block}
.ts-app[data-app="workstyle"] .report-dl{display:inline-block;margin-top:var(--space-12);font-family:var(--font-body);font-weight:600;font-size:var(--text-14);color:var(--surface);background:var(--teal);border:none;border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);cursor:pointer;transition:background .15s}
.ts-app[data-app="workstyle"] .report-name-label{display:block;margin-top:var(--space-12);margin-bottom:var(--space-4);font-family:var(--font-body);font-weight:500;font-size:var(--text-14);color:var(--muted)}
.ts-app[data-app="workstyle"] .report-name-input{width:100%;max-width:320px;font-family:var(--font-body);font-size:var(--text-14);color:var(--navy);background:var(--surface);border:1.5px solid color-mix(in srgb, var(--surface) 25%, transparent);border-radius:var(--radius-card);padding:var(--space-12) var(--space-12);margin-bottom:var(--space-4)}
.ts-app[data-app="workstyle"] .report-name-input:focus{outline:none;border-color:var(--mint)}
.ts-app[data-app="workstyle"] .report-dl:hover{background:var(--brand-press)}
.ts-app[data-app="workstyle"] .report-dl-note{display:block;margin-top:var(--space-8);font-size:var(--text-14);color:var(--faint)}
.ts-app[data-app="workstyle"] .offers-intro{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin:var(--space-32) 0 var(--space-4)}
.ts-app[data-app="workstyle"] .offers-sub{font-style:italic;color:var(--muted);font-size:var(--text-14);margin-bottom:var(--space-16)}
.ts-app[data-app="workstyle"] .offer{border:1.5px solid var(--line);border-radius:var(--radius-card);padding:var(--space-16) var(--space-24);margin-bottom:var(--space-12);background:var(--panel);position:relative}
.ts-app[data-app="workstyle"] .offer.anchor{border-color:var(--teal)}
.ts-app[data-app="workstyle"] .offer-tag{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);letter-spacing:.07em;text-transform:uppercase;color:var(--teal);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-8)}
.ts-app[data-app="workstyle"] .offer-tag .pill{background:var(--mint);color:var(--navy);padding:0 var(--space-8);border-radius:var(--radius-pill);font-size:var(--text-14);letter-spacing:.04em}
.ts-app[data-app="workstyle"] .offer-name{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);color:var(--ink);margin-bottom:0;letter-spacing:-.01em}
.ts-app[data-app="workstyle"] .offer-tagline{font-family:var(--font-body);font-weight:500;font-size:var(--text-14);color:var(--teal);margin-bottom:var(--space-8)}
.ts-app[data-app="workstyle"] .offer-blurb{font-size:var(--text-14);color:var(--muted);line-height:1.5;margin-bottom:var(--space-12);max-width:30rem}
.ts-app[data-app="workstyle"] .offer-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);flex-wrap:wrap}
.ts-app[data-app="workstyle"] .offer-price{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);color:var(--navy)}
.ts-app[data-app="workstyle"] .offer-btn{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);color:var(--surface);background:var(--teal);border:none;border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-8)}
.ts-app[data-app="workstyle"] .offer.anchor .offer-btn{background:var(--teal)}
.ts-app[data-app="workstyle"] .offer-mini{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-12);flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);margin-bottom:var(--space-12);background:var(--panel)}
.ts-app[data-app="workstyle"] .offer-mini .mini-lead{font-size:var(--text-14);color:var(--muted);line-height:1.45;flex:1 1 20rem;min-width:0}
.ts-app[data-app="workstyle"] .offer-mini .mini-lead strong{font-family:var(--font-body);font-weight:700;color:var(--ink);font-size:var(--text-14);letter-spacing:-.01em}
.ts-app[data-app="workstyle"] .offer-mini .mini-lead .mini-tag{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);display:block;margin-bottom:var(--space-4)}
.ts-app[data-app="workstyle"] .offer-mini .mini-foot{display:flex;align-items:center;gap:var(--space-12);white-space:nowrap}
.ts-app[data-app="workstyle"] .offer-mini .offer-price{font-size:var(--text-14)}
.ts-app[data-app="workstyle"] .offer-mini a.mini-link{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);color:var(--teal);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-4)}
.ts-app[data-app="workstyle"] .offer-mini a.mini-link:hover{text-decoration:underline}
.ts-app[data-app="workstyle"] .debrief-card{color:var(--surface);border-radius:var(--radius-card);padding:var(--space-24) var(--space-24);margin:var(--space-16) 0 var(--space-8)}
.ts-app[data-app="workstyle"] .debrief-card .dt{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);letter-spacing:.07em;text-transform:uppercase;color:var(--mint);margin-bottom:var(--space-8)}
.ts-app[data-app="workstyle"] .debrief-card h3{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);margin-bottom:var(--space-8);color:var(--surface)}
.ts-app[data-app="workstyle"] .debrief-card p{color:var(--surface);font-size:var(--text-14);margin-bottom:var(--space-12);max-width:30rem}
.ts-app[data-app="workstyle"] .debrief-card .offer-btn{background:var(--mint);color:var(--navy)}
.ts-app[data-app="workstyle"] .hide{display:none}
.ts-app[data-app="workstyle"] .disc{font-size:var(--text-14);color:var(--faint);margin-top:var(--space-24);border-top:1px solid var(--line);padding-top:var(--space-12)}

/* §5 rule 7: static presentation lifted out of the application's own
   markup strings and given a home. 4 distinct bundle(s).
   These are ADDED class names — no existing class was renamed. */
.ts-app[data-app="workstyle"] .tsa-s01{color:var(--surface)}
.ts-app[data-app="workstyle"] .tsa-s02{border-top:1px solid color-mix(in srgb, var(--surface) 14%, transparent);margin:var(--space-16) 0 var(--space-12)}
.ts-app[data-app="workstyle"] .tsa-s03{margin-bottom:var(--space-12)}
.ts-app[data-app="workstyle"] .tsa-s04{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-12)}

/* §5 rule 7 / §9.5: static presentation lifted out of the application's own
   STATIC MARKUP (not its JS strings) and given a home. 7 distinct bundle(s).
   Transformed through the same app_migrate.transform_body the JS bundles use, so
   a declaration cannot enter through the HTML door on terms the JS door refuses. */
.ts-app[data-app="workstyle"] .tsa-h01{color:var(--muted);text-decoration:underline}
.ts-app[data-app="workstyle"] .tsa-h02{width:0%}
.ts-app[data-app="workstyle"] .tsa-h03{visibility:hidden}
.ts-app[data-app="workstyle"] .tsa-h04{font-family:var(--font-body);font-size:var(--text-14);color:var(--faint)}
.ts-app[data-app="workstyle"] .tsa-h05{margin-top:var(--space-8)}
.ts-app[data-app="workstyle"] .tsa-h06{font-size:var(--text-14);margin-top:var(--space-8);color:var(--faint)}
.ts-app[data-app="workstyle"] .tsa-h07{margin-top:var(--space-8)}

/* 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="workstyle"] [style*="--tsa-bg"]{background:var(--tsa-bg)}
.ts-app[data-app="workstyle"] [style*="--tsa-fg"]{color:var(--tsa-fg)}
.ts-app[data-app="workstyle"] [style*="--tsa-bd"]{border-color:var(--tsa-bd)}

/* -------------------------------------------------------------------------
   §11 / §12 / §13 CONFORMANCE, applied by the GENERATOR (R-WR15).
   These are RULINGS already made and already shipped on the `assessment`
   group, where they were applied by hand. Generating a new group without them
   reproduces the exact defects §11 and §12 were written to end, and no static
   check can see any of it. Bytes copied from assessment.css, scope substituted.
   ------------------------------------------------------------------------- */
/* §12 rule 2 — a nested wrapper may not re-declare the container's job. No
   second margin:0 auto, no second horizontal gutter. It may cap its WIDTH. */
.ts-app[data-app="workstyle"] .wrap{margin:0;padding-left:0;padding-right:0}
/* §11 — the app hero is the STANDFIRST and is subordinate to the page h1.
   R-WR11-F4: h1->h2 renamed the selector and carried --text-51 with it, so the
   subordinate heading rendered LARGER than the h1 it sits under. */
.ts-app[data-app="workstyle"] 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="workstyle"] h2.title{font-size:var(--text-21)}}
/* §11 slot 2 / §12 rule 2 — the dated PROOF STRIP and its .ts-app[data-app="workstyle"] STRIP form. */
.ts-app[data-app="workstyle"] .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="workstyle"] .fact{flex:1 1 200px;min-width:0}
.ts-app[data-app="workstyle"] .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="workstyle"] .fact span{display:block;margin-top:var(--space-8);font-size:var(--text-14);line-height:1.55;color:var(--muted)}
/* §11 slot 3 — the single framing line sits tight under the strip. */
.ts-app[data-app="workstyle"] .lede-why{margin-top:0}

/* R-WR18 (1) - the s14 collapse the stop resolver could not reach through
   `var(--navy)`. Both stops resolve to --heading in this sheet's own root. */
.ts-app[data-app="workstyle"] .debrief-card{background:var(--heading)}
/* R-WR18 (2) - s2: focus rings are brand green. Mint resolves to --surface here
   and the input's own background is --surface, so the live ring is invisible. */
.ts-app[data-app="workstyle"] .report-name-input:focus{border-color:var(--brand)}
/* R-WR18 (3) - the one mint use on this page that is NOT on dark. s2: chips take
   the alt surface and a hairline does the separation. */
.ts-app[data-app="workstyle"] .offer-tag .pill{background:var(--surface-alt);color:var(--heading);border:1px solid var(--hairline)}
