/* quiz — §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="quiz"] (§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). 5 dark-scheme block(s)
   neutralised per §1.1. */
.ts-app[data-app="quiz"]{--body:var(--ink);--blue:var(--heading);--deep:var(--heading);--green:var(--brand);--pale:var(--surface-alt);--hair:var(--hairline);--white:var(--surface);--paleg:var(--surface-alt);--card-bg:var(--surface);--page-bg:var(--surface);--line-soft:var(--hairline);--caution-bg:var(--surface-alt);--caution-border:var(--hairline);--caution-text:var(--verdict-caution);--chip-bg:var(--surface-alt);--chip-border:var(--hairline);--logo-tile:var(--heading);--logo-check:var(--surface);--logo-step:var(--brand);--logo-word:var(--heading);--logo-accent:var(--brand);--nav-bg:color-mix(in srgb, var(--surface) 90%, transparent);--nav-border:var(--hairline);--input-bg:var(--surface);--input-color:var(--heading);--shadow:0 10px 30px color-mix(in srgb, var(--heading) 8%, transparent);--shadow-lift:0 18px 44px color-mix(in srgb, var(--heading) 10%, transparent)}
.ts-app[data-app="quiz"], .ts-app[data-app="quiz"] *{box-sizing:border-box}
.ts-app[data-app="quiz"] .wrap{max-width:1040px;margin:0 auto;padding:var(--space-24) var(--space-16) var(--space-64)}
.ts-app[data-app="quiz"] h2, .ts-app[data-app="quiz"] h3{font-family:var(--font-body);color:var(--ink);margin:0;line-height:1.2}
.ts-app[data-app="quiz"] .hero{text-align:center;max-width:66ch;margin:0 auto var(--space-8)}
.ts-app[data-app="quiz"] .hero h2{font-size:var(--text-33);margin-bottom:var(--space-12)}
.ts-app[data-app="quiz"] .hero p{margin:0;font-size:var(--text-17)}
.ts-app[data-app="quiz"] .grp{margin-top:var(--space-32)}
.ts-app[data-app="quiz"] .grp-head{display:flex;align-items:flex-start;gap:var(--space-12);margin-bottom:var(--space-16)}
.ts-app[data-app="quiz"] .grp-ic{width:40px;height:40px;border-radius:var(--radius-card);background:var(--card-bg);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;color:var(--green);flex:none}
.ts-app[data-app="quiz"] .grp-ic svg{width:21px;height:21px}
.ts-app[data-app="quiz"] .grp-head h2{font-size:var(--text-21)}
.ts-app[data-app="quiz"] .grp-sub{margin:0 0 0;font-size:var(--text-14);color:var(--muted)}
.ts-app[data-app="quiz"] .grp-n{margin-left:auto;font-family:var(--font-body);font-weight:600;font-size:var(--text-14);color:var(--muted);background:var(--card-bg);border:1px solid var(--hair);border-radius:var(--radius-card);padding:var(--space-4) var(--space-12);white-space:nowrap}
.ts-app[data-app="quiz"] .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-16)}
@media(max-width:820px){
  .ts-app[data-app="quiz"] .cards{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .ts-app[data-app="quiz"] .cards{grid-template-columns:1fr}
}
.ts-app[data-app="quiz"] .ccard{background:var(--card-bg);border:1px solid var(--hair);border-radius:var(--radius-card);padding:var(--space-24);display:flex;flex-direction:column}
.ts-app[data-app="quiz"] .ccard h3{font-size:var(--text-17);margin-bottom:var(--space-4)}
.ts-app[data-app="quiz"] .ccard p{font-size:var(--text-14);margin:0 0 var(--space-16);flex:1}
.ts-app[data-app="quiz"] .open{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);color:var(--surface);background:var(--heading);text-decoration:none;text-align:center;padding:var(--space-12) var(--space-12);border-radius:var(--radius-card);transition:background .15s}
.ts-app[data-app="quiz"] .open:hover{background:var(--heading)}
.ts-app[data-app="quiz"] .depth{font-size:var(--text-14);color:var(--muted);margin-top:var(--space-8);text-align:center}
.ts-app[data-app="quiz"] .depth a{color:var(--green);font-weight:600;text-decoration:none}
.ts-app[data-app="quiz"] .depth a:hover{text-decoration:underline}
.ts-app[data-app="quiz"] .split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-top:var(--space-48)}
@media(max-width:680px){
  .ts-app[data-app="quiz"] .split{grid-template-columns:1fr}
}
.ts-app[data-app="quiz"] .panel{background:var(--card-bg);border:1px solid var(--hair);border-radius:var(--radius-card);padding:var(--space-24)}
.ts-app[data-app="quiz"] .panel h2{font-size:var(--text-17);margin-bottom:var(--space-8)}
.ts-app[data-app="quiz"] .panel p{font-size:var(--text-14);margin:0}
.ts-app[data-app="quiz"] .panel .tag{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:var(--space-8)}
.ts-app[data-app="quiz"] .free .tag{color:var(--blue)}
.ts-app[data-app="quiz"] .paid .tag{color:var(--green)}
.ts-app[data-app="quiz"] .cta{background:var(--heading);color:var(--surface);border-radius:var(--radius-card);padding:var(--space-24) var(--space-24);margin-top:var(--space-32);text-align:center}
.ts-app[data-app="quiz"] .cta h2{color:var(--surface);font-size:var(--text-21);margin-bottom:var(--space-8)}
.ts-app[data-app="quiz"] .cta p{color:var(--surface);font-size:var(--text-14);max-width:60ch;margin:0 auto var(--space-16)}
.ts-app[data-app="quiz"] /* ===== Site chrome (matches the production product pages) ===== */
  .cw{max-width:1140px;margin:0 auto;padding-left:var(--space-24);padding-right:var(--space-24)}
.ts-app[data-app="quiz"] a{color:var(--deep);text-decoration:none}
.ts-app[data-app="quiz"] .skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--card-bg);color:var(--deep);font-family:var(--font-body);font-weight:600;font-size:var(--text-14);padding:var(--space-8) var(--space-16);border-radius:0 0 10px 0;border:1px solid var(--hair)}
.ts-app[data-app="quiz"] .skip:focus{left:0}
.ts-app[data-app="quiz"] a:focus-visible, .ts-app[data-app="quiz"] button:focus-visible, .ts-app[data-app="quiz"] summary:focus-visible, .ts-app[data-app="quiz"] input:focus-visible, .ts-app[data-app="quiz"] select:focus-visible{outline:2.5px solid var(--blue);outline-offset:2px;border-radius:var(--radius-card)}
@media(prefers-reduced-motion:reduce){
  .ts-app[data-app="quiz"], .ts-app[data-app="quiz"] *{animation:none!important;transition:none!important}
}
.ts-app[data-app="quiz"] .sbrand{display:inline-flex;align-items:center;gap:var(--space-12)}
.ts-app[data-app="quiz"] .sbrand .mark{width:36px;height:36px;flex:none}
.ts-app[data-app="quiz"] .sbrand .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="quiz"] .sbrand .wm .ac{color:var(--logo-accent)}
.ts-app[data-app="quiz"] .m-tile{fill:var(--logo-tile)}
.ts-app[data-app="quiz"] .m-check{fill:none;stroke:var(--logo-check);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.ts-app[data-app="quiz"] .m-step{fill:var(--logo-step)}
.ts-app[data-app="quiz"] header.nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);border-bottom:1px solid var(--nav-border)}
.ts-app[data-app="quiz"] .nav-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.ts-app[data-app="quiz"] .nav-links{display:flex;align-items:center;gap:var(--space-24)}
.ts-app[data-app="quiz"] .nav-links a{font-family:var(--font-body);font-weight:500;font-size:var(--text-14);color:var(--ink);opacity:.82}
.ts-app[data-app="quiz"] .nav-links a:hover{opacity:1;color:var(--deep)}
.ts-app[data-app="quiz"] .nav-cta{display:flex;align-items:center;gap:var(--space-12)}
.ts-app[data-app="quiz"] .menu-btn{display:none;background:none;border:0;cursor:pointer;padding:var(--space-8);color:var(--ink)}
.ts-app[data-app="quiz"] .mobile-menu{display:none;border-top:1px solid var(--nav-border);background:var(--card-bg)}
.ts-app[data-app="quiz"] .mm-acc{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:0;border-bottom:1px solid var(--nav-border);cursor:pointer;font-family:var(--font-body);font-weight:700;font-size:var(--text-14);letter-spacing:0.06em;color:var(--ink);padding:var(--space-16) var(--space-24);text-align:left}
.ts-app[data-app="quiz"] .mm-chev{width:18px;height:18px;flex:0 0 auto;color:var(--muted);transition:transform .2s}
.ts-app[data-app="quiz"] .mm-acc[aria-expanded="true"] .mm-chev{transform:rotate(180deg)}
.ts-app[data-app="quiz"] .mm-acc[aria-expanded="true"]{color:var(--blue)}
.ts-app[data-app="quiz"] .mm-sec{display:flex;flex-direction:column;background:var(--pale)}
.ts-app[data-app="quiz"] .mm-sec[hidden]{display:none}
.ts-app[data-app="quiz"] .mm-sec a{padding:var(--space-12) var(--space-24) var(--space-12) var(--space-32);font-size:var(--text-14)}
.ts-app[data-app="quiz"] .mobile-menu a{display:block;padding:var(--space-12) var(--space-24);font-family:var(--font-body);font-weight:500;color:var(--ink);border-bottom:1px solid var(--line-soft)}
.ts-app[data-app="quiz"] .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);font-family:var(--font-body);font-weight:600;font-size:var(--text-14);background:var(--green);color:var(--surface);padding:var(--space-12) var(--space-24);border-radius:var(--radius-card);border:0;cursor:pointer;white-space:nowrap;transition:background .15s,transform .05s}
.ts-app[data-app="quiz"] .btn:hover{background:var(--brand-press)}
.ts-app[data-app="quiz"] .btn:active{transform:translateY(1px)}
.ts-app[data-app="quiz"] .crumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-8);padding:var(--space-16) 0 0;font-family:var(--font-body);font-size:var(--text-14);color:var(--muted)}
.ts-app[data-app="quiz"] .crumb a{color:var(--muted)}
.ts-app[data-app="quiz"] .crumb .here{color:var(--body)}
.ts-app[data-app="quiz"] .morecalcs{margin-top:var(--space-48)}
.ts-app[data-app="quiz"] .morecalcs h2{font-size:var(--text-21);margin-bottom:var(--space-4)}
.ts-app[data-app="quiz"] .morecalcs .mc-sub{font-size:var(--text-14);color:var(--muted);margin:0 0 var(--space-16)}
.ts-app[data-app="quiz"] .mc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-12)}
@supports (grid-template-rows:subgrid){
  .ts-app[data-app="quiz"] .mc-grid>.mc-card{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}
}
@media(max-width:860px){
  .ts-app[data-app="quiz"] .mc-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .ts-app[data-app="quiz"] .mc-grid{grid-template-columns:1fr}
}
.ts-app[data-app="quiz"] .mc-card{display:block;background:var(--card-bg);border:1px solid var(--hair);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16);transition:border-color .15s,box-shadow .15s}
.ts-app[data-app="quiz"] .mc-card:hover{border-color:var(--blue)}
.ts-app[data-app="quiz"] .mc-card .mc-t{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);color:var(--ink);margin-bottom:var(--space-4)}
.ts-app[data-app="quiz"] .mc-card .mc-d{font-size:var(--text-14);color:var(--muted);line-height:1.5}
.ts-app[data-app="quiz"] .mc-all{margin-top:var(--space-12);font-family:var(--font-body);font-weight:600;font-size:var(--text-14)}
.ts-app[data-app="quiz"] .capwrap{margin-top:var(--space-32)}
.ts-app[data-app="quiz"] .capture{border:1px solid var(--hair);border-radius:var(--radius-card);background:var(--pale);padding:var(--space-32) var(--space-32);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}
.ts-app[data-app="quiz"] .capeb{display:inline-flex;align-items:center;gap:var(--space-8);font-family:var(--font-body);font-weight:600;font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--deep)}
.ts-app[data-app="quiz"] .capeb::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);flex:none}
.ts-app[data-app="quiz"] .capture h2{font-size:var(--text-26);letter-spacing:0.06em;margin:var(--space-8) 0 var(--space-8)}
.ts-app[data-app="quiz"] .capture p{margin:0;font-size:var(--text-14);color:var(--body);max-width:52ch}
.ts-app[data-app="quiz"] .capform{display:flex;gap:var(--space-8)}
.ts-app[data-app="quiz"] .capform input[type=email]{flex:1;min-width:0;font:inherit;font-size:var(--text-14);color:var(--ink);background:var(--card-bg);border:1px solid var(--hair);border-radius:var(--radius-card);padding:var(--space-12) var(--space-12)}
.ts-app[data-app="quiz"] .capform input[type=email]::placeholder{color:var(--muted)}
.ts-app[data-app="quiz"] .capform input[type=email]:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
@media(max-width:920px){
  .ts-app[data-app="quiz"] .capture{grid-template-columns:1fr;padding:var(--space-24) var(--space-24);gap:var(--space-12)}
  .ts-app[data-app="quiz"] .capform{flex-direction:column}
  .ts-app[data-app="quiz"] .capform .btn{width:100%}
}
.ts-app[data-app="quiz"] footer.ft{background:var(--card-bg);border-top:1px solid var(--hair);padding:var(--space-48) 0 var(--space-32);margin-top:var(--space-64)}
.ts-app[data-app="quiz"] .ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-32)}
.ts-app[data-app="quiz"] .ft-grid h4{font-family:var(--font-body);font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);margin:0 0 var(--space-16)}
.ts-app[data-app="quiz"] .ft-grid a, .ts-app[data-app="quiz"] .ft-grid p{display:block;font-size:var(--text-14);color:var(--body);margin:0 0 var(--space-8)}
.ts-app[data-app="quiz"] .ft-grid a:hover{color:var(--deep)}
.ts-app[data-app="quiz"] .ft-about{font-size:var(--text-14);color:var(--body);max-width:36ch;margin:var(--space-16) 0 0}
.ts-app[data-app="quiz"] .ft-cap{margin-top:var(--space-16)}
.ts-app[data-app="quiz"] .ft-cap p{font-size:var(--text-14);color:var(--muted);margin:0 0 var(--space-8);line-height:1.5}
.ts-app[data-app="quiz"] .ft-capform{display:flex;gap:var(--space-8);max-width:320px}
.ts-app[data-app="quiz"] .ft-capform input[type=email]{flex:1;min-width:0;font:inherit;font-size:var(--text-14);color:var(--ink);background:var(--card-bg);border:1px solid var(--hair);border-radius:var(--radius-card);padding:var(--space-8) var(--space-12)}
.ts-app[data-app="quiz"] .ft-capform input[type=email]::placeholder{color:var(--muted)}
.ts-app[data-app="quiz"] .ft-capform input[type=email]:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.ts-app[data-app="quiz"] .ft-capform .btn{padding:var(--space-8) var(--space-12);font-size:var(--text-14)}
.ts-app[data-app="quiz"] .ft-bottom{border-top:1px solid var(--hair);margin-top:var(--space-32);padding-top:var(--space-24);display:flex;justify-content:space-between;gap:var(--space-16);flex-wrap:wrap;align-items:flex-start}
.ts-app[data-app="quiz"] .ft-scope{font-size:var(--text-14);color:var(--muted);max-width:78ch;line-height:1.6}
.ts-app[data-app="quiz"] .ft-mini{font-size:var(--text-14);color:var(--muted);text-align:right}
.ts-app[data-app="quiz"] .ft-mini a{color:var(--deep);font-weight:600}
.ts-app[data-app="quiz"] .toolnote{font-size:var(--text-14);color:var(--muted);max-width:80ch;border-top:1px solid var(--hair);margin-top:var(--space-32);padding-top:var(--space-16)}
.ts-app[data-app="quiz"] .inp input, .ts-app[data-app="quiz"] .inp select, .ts-app[data-app="quiz"] .prow input, .ts-app[data-app="quiz"] .brow input{background:var(--input-bg);color:var(--input-color)}
.ts-app[data-app="quiz"] select{background:var(--input-bg);color:var(--input-color);border:1px solid var(--hair)}
.ts-app[data-app="quiz"] .cw.inner{max-width:1000px;padding-left:var(--space-16);padding-right:var(--space-16)}
.ts-app[data-app="quiz"] .eyebrow{display:inline-flex;align-items:center;gap:var(--space-8);font-family:var(--font-body);font-weight:600;font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--deep)}
.ts-app[data-app="quiz"] .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);flex:none}
@media(max-width:600px){
  .ts-app[data-app="quiz"] .nav-links{display:none}
  .ts-app[data-app="quiz"] .menu-btn{display:inline-flex}
  .ts-app[data-app="quiz"] .nav-cta .btn{display:none}
  .ts-app[data-app="quiz"] .ft-grid{grid-template-columns:1fr}
  .ts-app[data-app="quiz"] .ft-bottom{flex-direction:column;align-items:flex-start}
  .ts-app[data-app="quiz"] .ft-mini{text-align:left}
}
.ts-app[data-app="quiz"] .cw.inner{max-width:1040px}
.ts-app[data-app="quiz"] .qwrap{max-width:760px;margin:0 auto}
.ts-app[data-app="quiz"] .qcard{background:var(--card-bg);border:1px solid var(--hair);border-radius:var(--radius-card);padding:var(--space-24) var(--space-24) var(--space-24);margin-top:var(--space-24);min-height:360px}
.ts-app[data-app="quiz"] #rescards:empty{min-height:430px}
.ts-app[data-app="quiz"] .qmeta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-12)}
.ts-app[data-app="quiz"] .qstep{font-family:var(--font-body);font-weight:600;font-size:var(--text-14);letter-spacing:0.06em;text-transform:uppercase;color:var(--muted)}
.ts-app[data-app="quiz"] .qdots{display:flex;gap:var(--space-8)}
.ts-app[data-app="quiz"] .qdots span{width:26px;height:5px;border-radius:var(--radius-card);background:var(--hair)}
.ts-app[data-app="quiz"] .qdots span.on{background:var(--green)}
.ts-app[data-app="quiz"] .qq{font-size:var(--text-21);line-height:1.25;margin:0 0 var(--space-16);outline:none}
.ts-app[data-app="quiz"] .qopts{display:flex;flex-direction:column;gap:var(--space-8);margin:0;padding:0;list-style:none}
.ts-app[data-app="quiz"] .qopt{display:block;width:100%;text-align:left;font-family:var(--font-body);font-size:var(--text-14);line-height:1.45;color:var(--ink);background:var(--page-bg);border:1px solid var(--hair);border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);cursor:pointer;transition:border-color .12s,background .12s,transform .05s}
@media (hover:hover){
  .ts-app[data-app="quiz"] .qopt:hover{border-color:var(--blue);background:var(--pale)}
}
.ts-app[data-app="quiz"] .qopt:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.ts-app[data-app="quiz"] .qopt:active{transform:scale(.995)}
.ts-app[data-app="quiz"] .qback{margin-top:var(--space-16);display:flex;justify-content:space-between;align-items:center}
.ts-app[data-app="quiz"] .qlink{background:none;border:0;padding:var(--space-4) 0;cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:var(--text-14);color:var(--deep)}
.ts-app[data-app="quiz"] .qlink:hover{text-decoration:underline}
.ts-app[data-app="quiz"] .qlink:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:var(--radius-card)}
.ts-app[data-app="quiz"] .qnote{margin:var(--space-12) auto 0;max-width:760px;text-align:center;font-size:var(--text-14);color:var(--muted)}
.ts-app[data-app="quiz"] .rescard{display:grid;grid-template-columns:300px 1fr;align-items:stretch;gap:0;background:var(--card-bg);border:1px solid var(--hair);border-radius:var(--radius-card);overflow:hidden;margin-top:var(--space-16)}
.ts-app[data-app="quiz"] .rescard .media{position:relative;border-right:1px solid var(--hair);background:var(--pale);min-height:100%}
.ts-app[data-app="quiz"] .rescard .thumb{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:left top}
.ts-app[data-app="quiz"] .rescard .body{padding:var(--space-16) var(--space-24) var(--space-16)}
.ts-app[data-app="quiz"] .rescard .body .eyebrow{margin-bottom:var(--space-8)}
.ts-app[data-app="quiz"] .rescard h3{font-size:var(--text-17);line-height:1.25;margin:0 0 var(--space-4)}
.ts-app[data-app="quiz"] .rprice{font-family:var(--font-body);font-weight:700;font-size:var(--text-17);color:var(--ink)}
.ts-app[data-app="quiz"] .rprice .u{font-weight:500;font-size:var(--text-14);color:var(--muted);margin-left:var(--space-4)}
.ts-app[data-app="quiz"] .rwhy{margin:var(--space-8) 0 0;font-size:var(--text-14);line-height:1.55;color:var(--body)}
.ts-app[data-app="quiz"] .rsetup{margin:var(--space-8) 0 0;font-size:var(--text-14);line-height:1.5;color:var(--muted)}
.ts-app[data-app="quiz"] .rsetup b{color:var(--body);font-weight:600}
.ts-app[data-app="quiz"] .rpair{margin:var(--space-8) 0 0;font-size:var(--text-14);line-height:1.5;color:var(--muted)}
.ts-app[data-app="quiz"] .rpair a{color:var(--deep);font-weight:600}
.ts-app[data-app="quiz"] .rcta{margin-top:var(--space-12)}
.ts-app[data-app="quiz"] .rescard.alt{border-color:color-mix(in srgb, var(--brand) 45%, transparent)}
.ts-app[data-app="quiz"] .resfoot{margin-top:var(--space-16);font-size:var(--text-14);color:var(--muted);text-align:center}
.ts-app[data-app="quiz"] .qcap{margin-top:var(--space-24);background:var(--heading);color:var(--surface);border-radius:var(--radius-card);padding:var(--space-24) var(--space-24)}
.ts-app[data-app="quiz"] .qcap h3{color:var(--surface);font-size:var(--text-17);margin:0 0 var(--space-4)}
.ts-app[data-app="quiz"] .qcap p{margin:0 0 var(--space-12);font-size:var(--text-14);line-height:1.55}
.ts-app[data-app="quiz"] .qcap form{display:flex;gap:var(--space-8);flex-wrap:wrap}
.ts-app[data-app="quiz"] .qcap input[type=email]{flex:1;min-width:220px;background:var(--surface);color:var(--heading);border:0;border-radius:var(--radius-card);padding:var(--space-12) var(--space-12);font-size:var(--text-14);font-family:var(--font-body)}
.ts-app[data-app="quiz"] .qcap input[type=email]:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.ts-app[data-app="quiz"] .qcap .btn{white-space:normal;text-align:center}
.ts-app[data-app="quiz"] .qcap .ok{font-size:var(--text-14);line-height:1.6}
.ts-app[data-app="quiz"] .qcap .ok a{color:var(--surface);font-weight:600}
.ts-app[data-app="quiz"] .qcap .err{margin:var(--space-8) 0 0;font-size:var(--text-14);color:var(--surface)}
.ts-app[data-app="quiz"] .qcap .okalt{font-size:var(--text-14);line-height:1.6;color:var(--surface)}
.ts-app[data-app="quiz"] .qcap .okalt a{color:var(--surface);font-weight:600}
.ts-app[data-app="quiz"] .qcap .whyget{margin-top:var(--space-16);background:color-mix(in srgb, var(--surface) 6%, transparent);border:1px solid color-mix(in srgb, var(--surface) 28%, transparent);border-radius:var(--radius-card);padding:var(--space-16) var(--space-16)}
.ts-app[data-app="quiz"] .qcap .whyget h4{margin:0 0 var(--space-12);color:var(--surface);font-size:var(--text-14);letter-spacing:.01em}
.ts-app[data-app="quiz"] .qcap .whyget ul{margin:0;padding-left:0;list-style:none}
.ts-app[data-app="quiz"] .qcap .whyget li{position:relative;padding:0 0 var(--space-12) var(--space-32);font-size:var(--text-14);line-height:1.55;color:var(--surface)}
.ts-app[data-app="quiz"] .qcap .whyget li:last-child{padding-bottom:0}
.ts-app[data-app="quiz"] .qcap .whyget li b{color:var(--surface)}
.ts-app[data-app="quiz"] .qcap .whyget li::before{content:"";position:absolute;left:2px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--green)}
.ts-app[data-app="quiz"] .qcap .getcta{margin:var(--space-16) 0 0}
.ts-app[data-app="quiz"] .qcap .getcta .btn{display:inline-block}
@media(max-width:700px){
  .ts-app[data-app="quiz"] .qcard{padding:var(--space-16) var(--space-16) var(--space-16)}
  .ts-app[data-app="quiz"] .qq{font-size:var(--text-21)}
  .ts-app[data-app="quiz"] .rescard{grid-template-columns:1fr}
  .ts-app[data-app="quiz"] .rescard .media{border-right:0;border-bottom:1px solid var(--hair);aspect-ratio:560/350;min-height:0}
}
.ts-app[data-app="quiz"]{--h1ac:var(--brand)}
.ts-app[data-app="quiz"] h2 .ac{color:var(--h1ac)}
.ts-app[data-app="quiz"] .hero{position:relative;overflow:hidden}
.ts-app[data-app="quiz"] .hero-in{position:relative;z-index:2}
.ts-app[data-app="quiz"] .vbub{position:absolute;border-radius:50%;pointer-events:none;z-index:1}
.ts-app[data-app="quiz"] .vb1{width:460px;height:460px;top:-150px;right:-110px;border:1.5px solid color-mix(in srgb, var(--heading) 20%, transparent)}
.ts-app[data-app="quiz"] .vb2{width:150px;height:150px;top:150px;right:190px;background:color-mix(in srgb, var(--heading) 7%, transparent)}
@media (max-width:880px){
  .ts-app[data-app="quiz"] .vbub{display:none}
}
@media (min-width:881px){
  .ts-app[data-app="quiz"] .hero-in{padding:var(--space-64) var(--space-16) var(--space-48)}
  .ts-app[data-app="quiz"] .hero h2{max-width:none}
}

/* §5 rule 7: static presentation lifted out of the application's own
   markup strings and given a home. 0 distinct bundle(s).
   These are ADDED class names — no existing class was renamed. */

/* §5 rule 7 / §9.5: static presentation lifted out of the application's own
   STATIC MARKUP (not its JS strings) and given a home. 1 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="quiz"] .tsa-h01{margin-top:var(--space-24)}

/* 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="quiz"] [style*="--tsa-bg"]{background:var(--tsa-bg)}
.ts-app[data-app="quiz"] [style*="--tsa-fg"]{color:var(--tsa-fg)}
.ts-app[data-app="quiz"] [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="quiz"] .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="quiz"] 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="quiz"] h2.title{font-size:var(--text-21)}}
/* §11 slot 2 / §12 rule 2 — the dated PROOF STRIP and its .ts-app[data-app="quiz"] STRIP form. */
.ts-app[data-app="quiz"] .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="quiz"] .fact{flex:1 1 200px;min-width:0}
.ts-app[data-app="quiz"] .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="quiz"] .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="quiz"] .lede-why{margin-top:0}

/* §12 rule 2 + §13 rule 1 — `.hero` holds the page's STANDFIRST and its opening
   paragraph, which §13 rule 1 names as reading column, so §12 rule 1 binds and the
   §13.2 centred inventory (closed at one, the CTA band) does not reach it.
   MEASURED at 1440 on the post-script DOM before this rule: DIV.hero
   margin-left 157px / margin-right 157px / max-width 726px / text-align center,
   putting the standfirst at x=341 against the page h1 at x=184 — 157px out, on the
   one page of this tranche whose intro is static. The width cap is KEPT (§2 caps
   the body measure at 68ch); only the left edge and the centring are corrected. */
.ts-app[data-app="quiz"] .hero{margin-left:0;margin-right:0;text-align:left}
/* §12 rule 2 again, and the SECOND one on this page — found only because the
   missing style block was carried and the page re-rendered. `.qwrap{margin:0 auto}`
   put the whole question card at x=324 against the page h1 at x=184: 140px out.
   Rule 2 permits a wrapper to cap its own WIDTH and forbids it moving its own left
   edge, so max-width:760px is KEPT and only the auto margin goes. */
.ts-app[data-app="quiz"] .qwrap{margin-left:0;margin-right:0}
/* §2 — DECORATION. `.vbub` is a pair of absolutely-positioned decorative circles;
   `.vb1` is 460x460 with a 1.5px outline and it crosses the standfirst as a stray
   arc at 1440. The live sheet hides them only under a mobile media query, so the
   defect exists exactly where the page is widest. §2 permits no decorative
   ornament ("Shadows: none", no decorative gradients, hairline borders do all
   separation), and §2.1 already ruled the identical case for `.f-risk`: a
   decoration §2 bans "deletes with its declaration". Same ruling, same reason. */
.ts-app[data-app="quiz"] .vbub{display:none}
/* §13 rule 1 — and this one is INVISIBLE TO A LEFT-EDGE CHECK, which is worth
   recording because it bounds the arm §13.4 orders. `.qnote` is centred TEXT in a
   block whose box spans the full column, so its left edge measures exactly 0 off
   and the geometry arm passes it; the eye sees a second alignment immediately.
   Measured: 1 carrier on quiz, 0 on the other three and 0 on both control pages.
   A §13.4 arm needs a text-align limb as well as a left-edge limb. */
.ts-app[data-app="quiz"] .qnote{text-align:left}
