/**
 * TSA Practice Test 2026 — page CSS.
 * Ported from mockups/tsa-practice-test-2026.html (WON-150 build, 2026-08-16)
 * and namespaced under .tsa26 because this page renders inside the theme with
 * the real site header/footer (the mockup was a standalone file with bare
 * element selectors — those would restyle the site chrome).
 *
 * Additions over the mockup:
 *   - cloze (edge-matching) question styles: the live bank is 5 folding_match
 *     items with 8 typed blanks each, not the mockup's 4-option tap items.
 *   - per-blank answer-review table.
 *   - AI-report card (post-capture zone, ported from the live page's engine).
 *   - TrustBox wrappers.
 */

body.tsa26-page{padding-bottom:84px}

.tsa26{
  --teal:#0089AC; --teal-d:#145976; --teal-dd:#0B3C52;
  --lime:#9DD64F; --lime-s:#D9F89F; --amber:#F69C08;
  --trust:#00b67a; --red:#DC2626; --green:#16A34A;
  --ink:#0A0E14; --ink-2:#1F252E; --ink-3:#4A525D; --ink-4:#8A929D;
  --bg:#fff; --bg-soft:#F7F7F5; --rule:#EDEEF0; --rule-2:#E4E5E7;
  --dark:#0B1116; --dark-2:#0F1820;
  --d-ink-2:rgba(243,239,230,.72); --d-ink-3:rgba(243,239,230,.44); --d-rule:rgba(243,239,230,.14);
  --sans:'Onest',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --sh-sm:0 1px 2px rgba(10,14,20,.04),0 2px 8px rgba(10,14,20,.04);
  --sh-md:0 4px 12px rgba(10,14,20,.06),0 12px 32px rgba(10,14,20,.06);
  --sh-lg:0 12px 24px rgba(10,14,20,.08),0 32px 80px rgba(10,14,20,.1);
  --r-sm:12px; --r-md:16px; --r-lg:24px; --r-pill:999px;
  font-family:var(--sans);color:var(--ink-2);background:var(--bg);line-height:1.6;
  letter-spacing:normal; /* theme body sets -0.005em; the mockup uses normal */
  -webkit-font-smoothing:antialiased;
}
.tsa26 *,.tsa26 *::before,.tsa26 *::after{box-sizing:border-box}
.tsa26 .wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 22px}
.tsa26 h1,.tsa26 h2,.tsa26 h3,.tsa26 h4{color:var(--ink);line-height:1.14;font-weight:800;letter-spacing:-.02em;font-family:var(--sans);margin:0}
.tsa26 h1{font-size:clamp(30.4px,4vw,46.4px)}
.tsa26 h2{font-size:clamp(24.8px,3.1vw,35.2px)}
.tsa26 h3{font-size:17.6px;font-weight:700}
.tsa26 h4{font-size:15.68px;font-weight:700}
.tsa26 p{color:var(--ink-3);margin:0}
.tsa26 a{color:var(--teal);text-decoration:none}
.tsa26 section{padding:60px 0}
.tsa26 .sh{max-width:660px;margin-bottom:28px}
.tsa26 .sh.center{margin-left:auto;margin-right:auto;text-align:center}
.tsa26 .sh .sub{font-size:16.32px;margin-top:11px}
.tsa26 .tag{display:inline-block;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:11.68px;
     color:var(--teal-d);background:var(--lime-s);padding:6px 13px;border-radius:var(--r-pill);margin-bottom:13px}
.tsa26 .dark .tag{background:rgba(157,214,79,.16);color:var(--lime)}

.tsa26 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15.68px;
     border:0;cursor:pointer;border-radius:var(--r-sm);padding:15px 28px;font-family:var(--sans);min-height:44px;
     transition:transform .18s var(--ease),box-shadow .18s var(--ease);text-align:center}
.tsa26 .btn:hover{transform:translateY(-1px);box-shadow:var(--sh-md)}
.tsa26 .btn-primary{background:var(--lime);color:var(--ink);box-shadow:var(--sh-sm)}
/* Progress is green or dark. Red is errors only (no red buttons anywhere in the flow). */
.tsa26 .btn-go{background:var(--green);color:#fff;box-shadow:var(--sh-sm)}
.tsa26 .btn-go:disabled{background:var(--rule-2);color:var(--ink-4);cursor:not-allowed;transform:none;box-shadow:none}
.tsa26 .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--rule-2)}
.tsa26 .dark .btn-ghost{color:#fff;border-color:var(--d-rule)}
.tsa26 .btn-lg{padding:18px 34px;font-size:16.64px}
.tsa26 .btn-sm{padding:11px 18px;font-size:14.4px}
.tsa26 .btn-block{width:100%}
.tsa26 .buylink{font-weight:700;font-size:15.2px;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px;cursor:pointer;background:none;border:0;font-family:var(--sans);padding:0}
.tsa26 .dark .buylink{color:var(--d-ink-2)}
.tsa26 .buylink:hover{color:var(--ink)}
/* Informational, deliberately NOT button-shaped. No fill, no radius, no border. */
.tsa26 .info{display:inline-flex;align-items:center;gap:7px;font-size:13.6px;color:var(--ink-4);font-weight:600}
.tsa26 .dark .info{color:var(--d-ink-3)}
.tsa26 .info b{color:var(--ink-2)} .tsa26 .dark .info b{color:var(--d-ink-2)}

.tsa26 .indep{background:var(--bg-soft);border-bottom:1px solid var(--rule);text-align:center;padding:9px 22px;font-size:12.64px;color:var(--ink-4);line-height:1.5}

/* HERO */
.tsa26 .hero{background:linear-gradient(180deg,#F4FAFB 0%,#fff 100%);padding:40px 0 48px}
.tsa26 .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}
.tsa26 .hero h1{margin-bottom:13px;max-width:17ch}
.tsa26 .hero .sub{font-size:16.96px;max-width:46ch;margin-bottom:18px}
.tsa26 .hero .sub b{color:var(--ink);font-weight:700}
.tsa26 .datesel{margin:0 0 18px}
.tsa26 .datesel .lbl{font-size:13.6px;font-weight:700;color:var(--ink);margin-bottom:8px}
.tsa26 .chips{display:flex;gap:8px;flex-wrap:wrap}
.tsa26 .chip{background:#fff;border:1.5px solid var(--rule-2);border-radius:var(--r-pill);padding:8px 15px;font:inherit;
      font-size:13.6px;font-weight:600;color:var(--ink-2);cursor:pointer;line-height:1.25;min-height:40px;
      display:flex;flex-direction:column;align-items:flex-start;transition:border-color .15s var(--ease)}
.tsa26 .chip:hover{border-color:var(--teal)} .tsa26 .chip.on{border-color:var(--teal);background:#F0FAFC}
.tsa26 .chip .u{font-size:11.2px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em}
.tsa26 .pathline{font-size:13.92px;color:var(--teal-d);font-weight:600;margin:11px 0 0;display:none;line-height:1.5}
.tsa26 .pathline.show{display:block}
.tsa26 .hero-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.tsa26 .friction{font-size:13.6px;color:var(--ink-4);font-weight:600;margin-top:11px}
.tsa26 .trustline{display:flex;gap:11px;flex-wrap:wrap;align-items:center;margin-top:16px;font-size:13.6px;color:var(--ink-3)}
.tsa26 .trustline b{color:var(--ink)}
.tsa26 .tpmini{display:inline-flex;align-items:center;gap:6px;color:var(--ink-3)}
/* .stars-rated is the shared fractional-star component from nav.css: grey
   base row, Trustpilot-green overlay clipped to --stars-rating/5. */
.tsa26 .tpmini .stars-rated{vertical-align:-2px;color:#C9CDD3}
.tsa26 .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-4);display:inline-block}
.tsa26 .tp-widget-reviews{margin:26px 0 0;min-height:130px}
.tsa26 .tp-fallback{font-size:13.6px;color:var(--ink-3)}
.tsa26 .tp-fallback b{color:var(--ink)}

/* The live question card IS the way in (one mechanic). Cloze variant:
   image on top, 8 typed blanks below, one green submit. */
.tsa26 .q-card{background:#fff;border:1.5px solid var(--rule-2);border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden}
.tsa26 .q-head{background:var(--teal-dd);color:#fff;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.tsa26 .q-head .t{font-weight:700;font-size:14.4px}
.tsa26 .q-head .m{font-size:11.84px;color:rgba(255,255,255,.72);font-weight:600;font-variant-numeric:tabular-nums}
.tsa26 .q-body{padding:18px}
.tsa26 .q-stem{font-weight:700;color:var(--ink);font-size:15.2px;margin-bottom:12px}
.tsa26 .net-wrap{background:var(--bg-soft);border-radius:var(--r-sm);padding:10px;margin-bottom:12px;display:flex;justify-content:center}
.tsa26 .net-wrap img{max-width:100%;height:auto;display:block}
.tsa26 .q-hint{font-size:12.48px;color:var(--ink-4);margin-top:9px;text-align:right}
.tsa26 .q-fb{margin-top:12px;padding:13px 15px;border-radius:var(--r-sm);font-size:13.92px;line-height:1.6;display:none}
.tsa26 .q-fb.show{display:block}
.tsa26 .q-fb.ok{background:#F0FDF4;border:1px solid #BBF7D0;color:#14532D}
.tsa26 .q-fb.no{background:#FEF2F2;border:1px solid #FECACA;color:#7F1D1D}

/* Cloze blanks — shared by the hero card and the test modal. */
.tsa26 .blanks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media(max-width:420px){.tsa26 .blanks{grid-template-columns:repeat(2,1fr)}}
.tsa26 .blanks.two-col{grid-template-columns:repeat(2,1fr)}
.tsa26 .blank{display:flex;align-items:center;gap:5px;border:1.5px solid var(--rule-2);border-radius:var(--r-sm);padding:7px 8px;background:#fff}
.tsa26 .blank:focus-within{border-color:var(--teal)}
.tsa26 .blank .bl{font-size:13.6px;font-weight:800;color:var(--teal);min-width:14px;text-align:center}
.tsa26 .blank .beq{font-size:12.8px;color:var(--ink-4)}
.tsa26 .blank input{width:100%;min-width:0;border:0;outline:0;font:inherit;font-size:15.2px;font-weight:700;color:var(--ink);text-transform:uppercase;padding:2px 0;background:transparent}
.tsa26 .blank.right{border-color:var(--green);background:#F0FDF4}
.tsa26 .blank.wrong{border-color:var(--red);background:#FEF2F2}
.tsa26 .blank .bcor{font-size:12.48px;font-weight:800;color:var(--green);white-space:nowrap}

@media(max-width:900px){
  .tsa26 .hero-grid{grid-template-columns:1fr;gap:24px}
  .tsa26 .hero-copy{display:contents}
  .tsa26 .h-top{order:1}.tsa26 .hero-media{order:2}.tsa26 .h-rest{order:3}
}

.tsa26 .dark{background:var(--dark)}
.tsa26 .dark h2,.tsa26 .dark h3,.tsa26 .dark h4{color:#fff}
.tsa26 .dark p,.tsa26 .dark .sub{color:var(--d-ink-2)}

/* Three anchors, one format. */
.tsa26 .stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0 20px}
@media(max-width:700px){.tsa26 .stats3{grid-template-columns:1fr}}
.tsa26 .stat{background:var(--dark-2);border:1px solid var(--d-rule);border-radius:var(--r-md);padding:20px 22px}
.tsa26 .stat .n{font-size:35.2px;font-weight:800;color:var(--lime);line-height:1;letter-spacing:-.03em}
.tsa26 .stat .c{font-size:13.76px;color:var(--d-ink-2);margin-top:7px;line-height:1.5}
.tsa26 sup{font-size:.62em;color:var(--teal);font-weight:700}
.tsa26 .dark sup{color:var(--lime)}

/* Cards: header row, body, one footer metric. */
.tsa26 .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
@media(max-width:900px){.tsa26 .cards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.tsa26 .cards{grid-template-columns:1fr}}
.tsa26 .card{background:#fff;border:1px solid var(--rule-2);border-radius:var(--r-md);padding:20px}
.tsa26 .dark .card{background:var(--dark-2);border-color:var(--d-rule)}
.tsa26 .card .hd{display:flex;align-items:baseline;gap:9px;margin-bottom:9px}
.tsa26 .card .num{font-size:12.48px;font-weight:800;color:var(--ink-4);font-variant-numeric:tabular-nums}
.tsa26 .dark .card .num{color:var(--d-ink-3)}
.tsa26 .card .kind{font-size:11.2px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--red)}
.tsa26 .card h4{margin-bottom:5px}
.tsa26 .card p{font-size:14.24px;line-height:1.55}
.tsa26 .card .metric{margin-top:12px;padding-top:11px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.tsa26 .dark .card .metric{border-color:var(--d-rule)}
.tsa26 .card .metric .k{font-size:11.52px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4);font-weight:600}
.tsa26 .dark .card .metric .k{color:var(--d-ink-3)}
.tsa26 .card .metric .v{font-size:14.72px;font-weight:800;color:var(--red);white-space:nowrap}

/* category rating */
.tsa26 .cat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
@media(max-width:820px){.tsa26 .cat{grid-template-columns:1fr}}
.tsa26 .cat .c{background:#fff;border:1.5px solid var(--rule-2);border-radius:var(--r-md);padding:22px}
.tsa26 .cat .c.goal{border-color:var(--green)}
.tsa26 .cat .badge{display:inline-block;font-size:10.88px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
            padding:4px 10px;border-radius:var(--r-pill);margin-bottom:10px}
.tsa26 .cat .goal .badge{background:#DCFCE7;color:#166534}
.tsa26 .cat .trap .badge{background:#FEF3C7;color:#92400E}
.tsa26 .cat .out .badge{background:#FEE2E2;color:#991B1B}
.tsa26 .cat h3{margin-bottom:5px}
.tsa26 .cat p{font-size:14.24px}
.tsa26 .cat .m{margin-top:12px;padding-top:11px;border-top:1px solid var(--rule);font-size:13.6px;font-weight:700;color:var(--ink)}

/* pillars */
.tsa26 .grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:26px}
@media(max-width:760px){.tsa26 .grid4{grid-template-columns:1fr}}
.tsa26 .pillar{background:#fff;border:1px solid var(--rule-2);border-radius:var(--r-md);padding:20px}
.tsa26 .pillar .k{font-size:11.2px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--teal);margin-bottom:6px}
.tsa26 .pillar p{font-size:14.24px;margin-top:4px}

/* phases */
.tsa26 .phase{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--rule)}
.tsa26 .phase:last-child{border-bottom:0}
.tsa26 .phase .n{font-size:24px;font-weight:800;color:var(--ink-4);font-variant-numeric:tabular-nums}
.tsa26 .phase ul{list-style:none;margin:11px 0 14px;padding:0}
.tsa26 .phase li{padding:6px 0 6px 24px;position:relative;font-size:14.4px;color:var(--ink-2)}
.tsa26 .phase li::before{content:"\2713";position:absolute;left:0;color:var(--green);font-weight:800}
@media(max-width:600px){.tsa26 .phase{grid-template-columns:1fr;gap:8px}}

/* reviews */
.tsa26 .revs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
@media(max-width:900px){.tsa26 .revs{grid-template-columns:1fr}}
.tsa26 .rev{background:#fff;border:1px solid var(--rule-2);border-radius:var(--r-md);padding:20px}
.tsa26 .rev .stars{color:var(--trust);font-weight:700;letter-spacing:2px;font-size:14.08px}
.tsa26 .rev p{font-size:14.72px;margin:9px 0 12px;color:var(--ink-2)}
.tsa26 .rev .who{font-size:13.12px;color:var(--ink-4);font-weight:600}
.tsa26 .rev .out{display:inline-block;margin-top:7px;font-size:11.52px;font-weight:800;text-transform:uppercase;
          letter-spacing:.05em;color:#166534;background:#DCFCE7;padding:3px 9px;border-radius:var(--r-pill)}

/* pricing */
.tsa26 .plan{max-width:470px;margin:0 auto;background:#fff;border:2px solid var(--teal);border-radius:var(--r-lg);
      padding:30px 28px;box-shadow:var(--sh-md);position:relative}
.tsa26 .plan h3{text-align:center;color:var(--ink)}
.tsa26 .plan p{color:var(--ink-3)}
.tsa26 .plan .amt{font-size:48px;font-weight:800;color:var(--ink);text-align:center;letter-spacing:-.03em;margin:6px 0 2px}
.tsa26 .plan .pn{text-align:center;font-size:13.76px;color:var(--ink-4);font-weight:600;margin-bottom:18px}
.tsa26 .plan ul{list-style:none;margin:0 0 20px;padding:0}
.tsa26 .plan li{padding:9px 0 9px 27px;position:relative;font-size:14.56px;color:var(--ink-2);border-bottom:1px solid var(--rule);line-height:1.5}
.tsa26 .plan li:last-child{border-bottom:0}
.tsa26 .plan li::before{content:"\2713";position:absolute;left:0;top:9px;color:var(--green);font-weight:800}
.tsa26 .plan li b{color:var(--ink)}
.tsa26 .roi{max-width:470px;margin:20px auto 0;background:var(--bg-soft);border:1px solid var(--rule-2);border-radius:var(--r-md);padding:16px 20px}
.tsa26 .roi .r{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:14.24px;border-bottom:1px solid var(--rule)}
.tsa26 .roi .r:last-child{border-bottom:0}
.tsa26 .roi .r b{color:var(--ink)}
.tsa26 .roi .r.hi{background:#F0FDF4;margin:4px -12px;padding:9px 12px;border-radius:var(--r-sm);border-bottom:0}
.tsa26 .guarantee{max-width:560px;margin:22px auto 0;background:#fff;border:1px solid var(--rule-2);border-left:3px solid var(--green);
           border-radius:var(--r-sm);padding:16px 20px;font-size:14.24px;color:var(--ink-3);line-height:1.6}
.tsa26 .guarantee b{color:var(--ink)}

/* VSL: two columns so the video, the takeaways and the CTA stay in one view. */
.tsa26 .vsl{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:start}
@media(max-width:860px){.tsa26 .vsl{grid-template-columns:1fr;gap:20px}}
.tsa26 .vsl-player{position:relative;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-md);background:var(--dark)}
.tsa26 .vsl-facade{display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;margin:0;cursor:pointer;position:relative;background:var(--dark)}
.tsa26 .vsl-poster{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--teal-dd)}
.tsa26 .vsl-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;
          background:var(--lime);color:var(--ink);display:flex;align-items:center;justify-content:center;
          box-shadow:var(--sh-md);transition:transform .18s var(--ease)}
.tsa26 .vsl-facade:hover .vsl-play{transform:translate(-50%,-50%) scale(1.06)}
.tsa26 .vsl-dur{position:absolute;right:12px;bottom:12px;background:rgba(10,14,20,.78);color:#fff;font-size:12.16px;
         font-weight:700;padding:4px 9px;border-radius:6px;font-variant-numeric:tabular-nums}
.tsa26 .vsl-player video{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.tsa26 .vsl-side h3{margin-bottom:11px}
.tsa26 .takeaways{list-style:none;margin:0 0 18px;padding:0}
.tsa26 .takeaways li{padding:9px 0 9px 27px;position:relative;font-size:15.2px;color:var(--ink-2);line-height:1.5;
              border-bottom:1px solid var(--rule)}
.tsa26 .takeaways li:last-child{border-bottom:0}
.tsa26 .takeaways li::before{content:"\2713";position:absolute;left:0;top:9px;color:var(--green);font-weight:800}
.tsa26 .vsl-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

.tsa26 .about{display:flex;gap:22px;align-items:flex-start;background:#fff;border:1px solid var(--rule-2);border-radius:var(--r-lg);padding:26px;flex-wrap:wrap}
.tsa26 .about .avatar{width:84px;height:84px;border-radius:50%;background:var(--teal-dd);color:#fff;display:flex;align-items:center;
               justify-content:center;font-weight:800;font-size:25.6px;flex-shrink:0;overflow:hidden}
.tsa26 .about .avatar img{width:100%;height:100%;object-fit:cover}
.tsa26 .about .who{flex:1;min-width:240px}
.tsa26 .about .cred{font-size:13.92px;color:var(--ink-4);font-weight:600;margin:3px 0 10px}

.tsa26 .fq{border-bottom:1px solid var(--rule);padding:17px 0}
.tsa26 .fq summary{font-weight:700;color:var(--ink);cursor:pointer;font-size:15.84px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.tsa26 .fq summary::-webkit-details-marker{display:none}
.tsa26 .fq summary::after{content:"+";color:var(--teal);font-size:22.4px;line-height:1;flex-shrink:0}
.tsa26 .fq[open] summary::after{content:"\2013"}
.tsa26 .fq p{margin-top:11px;font-size:14.88px}

.tsa26 .final{background:var(--dark);text-align:center}
.tsa26 .final h2{max-width:20ch;margin:0 auto 13px}
.tsa26 .final p{max-width:52ch;margin:0 auto 22px}
.tsa26 .final .row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:center}

/* Sources + disclaimer block (replaces the mockup's own footer — the site
   footer renders below this). */
.tsa26 .srcblock{background:#07090C;color:var(--d-ink-3);padding:34px 0;font-size:13.6px}
.tsa26 .srcblock .src{font-size:12.48px;line-height:1.65}
.tsa26 .srcblock .src b{color:var(--d-ink-2)}
.tsa26 .srcblock .disc{margin-top:15px;font-size:12.32px;line-height:1.6}

/* ONE sticky element. Free test is the primary. No price in it. */
.tsa26 .sticky{position:fixed;left:0;right:0;bottom:0;z-index:190;background:var(--dark);border-top:1px solid var(--d-rule);
        padding:11px 22px;transform:translateY(110%);transition:transform .28s var(--ease)}
.tsa26 .sticky.on{transform:translateY(0)}
.tsa26 .sticky .in{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:16px}
.tsa26 .sticky .txt{color:#fff;font-weight:700;font-size:14.72px;line-height:1.3}
.tsa26 .sticky .txt small{display:block;font-weight:500;color:var(--d-ink-3);font-size:12.48px;margin-top:2px}
.tsa26 .sticky .sp{flex:1}
@media(max-width:760px){.tsa26 .sticky .txt small{display:none}.tsa26 .sticky .txt{font-size:13.44px}.tsa26 .sticky .buylink{display:none}}
@media(max-width:420px){.tsa26 .sticky .txt{display:none}.tsa26 .sticky .btn{width:100%}}

/* Modals */
.tsa26 .ov{position:fixed;inset:0;background:rgba(10,14,20,.66);backdrop-filter:blur(4px);z-index:99999;display:none;align-items:center;justify-content:center;padding:18px}
.tsa26 .ov.on{display:flex}
.tsa26 .panel{background:#fff;border-radius:var(--r-lg);width:100%;max-width:760px;max-height:94vh;overflow-y:auto;box-shadow:var(--sh-lg)}
.tsa26 .mhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 22px;border-bottom:1px solid var(--rule);position:sticky;top:0;background:#fff;z-index:2}
.tsa26 .mhead .t{font-weight:800;color:var(--ink);font-size:15.68px}
.tsa26 .mhead .t small{display:block;font-weight:600;color:var(--ink-4);font-size:12.16px;margin-top:2px}
.tsa26 .clock{font-weight:800;font-variant-numeric:tabular-nums;color:var(--teal-dd);background:var(--lime-s);padding:6px 13px;border-radius:var(--r-pill);font-size:14.72px}
.tsa26 .clock.low{background:#FEE2E2;color:var(--red)}
.tsa26 .x{border:0;background:var(--bg-soft);width:34px;height:34px;border-radius:50%;font-size:16.8px;cursor:pointer;color:var(--ink-3);flex-shrink:0}
.tsa26 .mbody{padding:22px}
.tsa26 .prog{height:5px;background:var(--rule);border-radius:var(--r-pill);overflow:hidden;margin-bottom:16px}
.tsa26 .prog i{display:block;height:100%;background:var(--teal);border-radius:var(--r-pill);transition:width .3s var(--ease)}
.tsa26 .mtag{display:inline-block;font-size:11.36px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--teal);margin-bottom:9px}
/* Zero-scroll test layout. Stimulus left, blanks right. */
.tsa26 .tq{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:start}
@media(max-width:680px){.tsa26 .tq{grid-template-columns:1fr;gap:14px}}
.tsa26 .tq .stim{background:var(--bg-soft);border-radius:var(--r-sm);padding:12px;display:flex;justify-content:center;align-items:center;min-height:190px}
.tsa26 .tq .stim img{max-width:100%;height:auto;display:block}
.tsa26 .q-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.tsa26 .q-foot .hint{font-size:13.12px;color:var(--ink-4);font-weight:600}
.tsa26 .q-foot .hint.is-ready{color:var(--green)}
.tsa26 .score{text-align:center;padding:6px 0 2px}
.tsa26 .score .ring{width:132px;height:132px;margin:0 auto 12px;position:relative}
.tsa26 .score .ring svg{transform:rotate(-90deg)}
.tsa26 .score .ring .v{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tsa26 .score .ring .v b{font-size:36.8px;font-weight:800;color:var(--ink);line-height:1}
.tsa26 .score .ring .v span{font-size:11.84px;color:var(--ink-4);font-weight:600}
.tsa26 .verdict{display:inline-block;font-size:12.16px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:5px 13px;border-radius:var(--r-pill)}
.tsa26 .verdict.bq{background:#DCFCE7;color:#166534}
.tsa26 .verdict.q{background:#FEF3C7;color:#92400E}
.tsa26 .verdict.nq{background:#FEE2E2;color:#991B1B}
/* Score, verdict, pace and weakest area are ALWAYS free. */
.tsa26 .insight{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;text-align:left}
@media(max-width:600px){.tsa26 .insight{grid-template-columns:1fr}}
.tsa26 .insight .i{background:var(--bg-soft);border:1px solid var(--rule-2);border-radius:var(--r-sm);padding:14px 16px}
.tsa26 .insight .i .k{font-size:11.36px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4);margin-bottom:4px}
.tsa26 .insight .i .v{font-size:15.2px;font-weight:700;color:var(--ink);line-height:1.4}
.tsa26 .insight .i .d{font-size:13.28px;color:var(--ink-3);margin-top:3px;line-height:1.5}
.tsa26 .deliver{background:#F4FAFB;border:1.5px solid #CDE9F0;border-radius:var(--r-md);padding:19px;margin-top:16px;text-align:left}
.tsa26 .deliver h4{margin-bottom:5px}
.tsa26 .deliver p{font-size:13.92px;margin-bottom:12px}
.tsa26 .deliver .f{display:flex;gap:9px;flex-wrap:wrap}
.tsa26 .deliver input{flex:1;min-width:190px;padding:13px 15px;border:1.5px solid var(--rule-2);border-radius:var(--r-sm);font:inherit;font-size:15.04px;color:var(--ink)}
.tsa26 .deliver input:focus{outline:0;border-color:var(--teal)}
.tsa26 .deliver .skip{display:block;margin-top:11px;font-size:12.96px;color:var(--ink-4);text-decoration:underline;cursor:pointer;background:none;border:0;font-family:var(--sans);padding:0}
.tsa26 .deliver .err{color:var(--red);font-size:13.28px;font-weight:600;margin-top:8px;display:none}
.tsa26 .deliver .err.on{display:block}
.tsa26 .upsell{background:var(--dark);border-radius:var(--r-md);padding:22px;margin-top:16px;text-align:center}
.tsa26 .upsell h4{color:#fff;margin-bottom:6px}
.tsa26 .upsell p{color:var(--d-ink-2);font-size:14.24px;margin-bottom:14px}
.tsa26 .review{margin-top:18px;text-align:left}
.tsa26 .review details{border:1px solid var(--rule);border-radius:var(--r-sm);margin-bottom:7px;padding:11px 15px}
.tsa26 .review summary{cursor:pointer;font-weight:700;font-size:14.4px;color:var(--ink);list-style:none;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.tsa26 .review summary::-webkit-details-marker{display:none}
.tsa26 .review .ok{color:var(--green)} .tsa26 .review .bad{color:var(--red)} .tsa26 .review .part{color:var(--amber);font-weight:800}
.tsa26 .review p{font-size:14.08px;margin-top:9px}
.tsa26 .review .qtime{margin-left:auto;font-size:12.48px;color:var(--ink-4);font-weight:600;font-variant-numeric:tabular-nums}
/* per-blank review table */
.tsa26 .bl-table{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
@media(max-width:520px){.tsa26 .bl-table{grid-template-columns:repeat(2,1fr)}}
.tsa26 .bl-cell{border:1px solid var(--rule-2);border-radius:8px;padding:6px 8px;font-size:12.8px;font-weight:700;color:var(--ink-2);text-align:center}
.tsa26 .bl-cell.right{border-color:#BBF7D0;background:#F0FDF4}
.tsa26 .bl-cell.wrong{border-color:#FECACA;background:#FEF2F2}
.tsa26 .bl-cell small{display:block;font-weight:600;color:var(--ink-4);font-size:10.88px}
.tsa26 .bl-cell .fix{color:var(--green)}

/* AI report card (post-capture) */
.tsa26 .ai-wait{display:flex;align-items:center;gap:8px;font-size:13.92px;color:var(--ink-4);padding:14px 0}
.tsa26 .ai-wait span{width:7px;height:7px;border-radius:50%;background:var(--teal);animation:tsa26blink 1.2s infinite}
.tsa26 .ai-wait span:nth-child(2){animation-delay:.2s}
.tsa26 .ai-wait span:nth-child(3){animation-delay:.4s}
@keyframes tsa26blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.tsa26 .ai-card{background:var(--bg-soft);border:1px solid var(--rule-2);border-radius:var(--r-md);padding:18px;margin-top:16px;text-align:left}
.tsa26 .ai-card .ai-badge{display:inline-block;font-size:10.88px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-d);background:var(--lime-s);padding:4px 10px;border-radius:var(--r-pill);margin-bottom:8px}
.tsa26 .ai-card h4{margin-bottom:6px}
.tsa26 .ai-card p{font-size:14.24px;line-height:1.6}
.tsa26 .ai-letter{margin-top:8px}
.tsa26 .ai-cats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media(max-width:600px){.tsa26 .ai-cats{grid-template-columns:1fr}}
.tsa26 .ai-cat{background:#fff;border:1px solid var(--rule-2);border-left-width:3px;border-radius:var(--r-sm);padding:12px 14px}
.tsa26 .ai-cat.is-good{border-left-color:var(--green)}
.tsa26 .ai-cat.is-warn{border-left-color:var(--amber)}
.tsa26 .ai-cat.is-bad{border-left-color:var(--red)}
.tsa26 .ai-cat .h{display:flex;justify-content:space-between;gap:8px;font-size:13.6px;font-weight:800;color:var(--ink)}
.tsa26 .ai-cat .s{font-size:11.52px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4);margin:2px 0 4px}
.tsa26 .ai-cat p{font-size:13.28px}
.tsa26 .ai-cat .ctas{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tsa26 .ai-cat .ctas a{font-size:12.48px;font-weight:700;border:1px solid var(--rule-2);border-radius:var(--r-pill);padding:4px 11px;color:var(--teal-d)}

/* Exit modal */
.tsa26 .exit .panel{max-width:520px}
.tsa26 .exithead{background:var(--amber);color:#3a2400;padding:18px 22px;text-align:center}
.tsa26 .exithead h3{color:#3a2400;font-size:20.16px}
.tsa26 .exitbody{padding:22px 24px 24px;text-align:center}
.tsa26 .exitbody .s{font-size:14.88px;color:var(--ink-2);line-height:1.6}
.tsa26 .exitprev{margin:16px 0;background:var(--bg-soft);border:1.5px solid var(--rule-2);border-radius:var(--r-sm);padding:14px 16px;text-align:left}
.tsa26 .exitprev .t{font-size:13.28px;color:var(--ink-3);line-height:1.55}
.tsa26 .exitprev .t b{display:block;color:var(--ink);font-size:13.92px;margin-bottom:4px}
.tsa26 .exitbody .micro{font-size:12.48px;color:var(--ink-4);margin-top:10px}
.tsa26 .exitbody .dismiss{display:block;margin-top:14px;font-size:12.96px;color:var(--ink-4);text-decoration:underline;cursor:pointer;background:none;border:0;font-family:var(--sans);width:100%}

/* =========================================================================
   GLOBAL-BLEED NEUTRALIZATION
   homepage.css loads on every new-design page (this sheet depends on it for
   the site chrome) and declares BARE .hero/.final/.cat/.btn rules. Where both
   sheets set a property, .tsa26 wins (higher specificity / later load) — but
   properties this sheet didn't set bled through. Found by computed-style diff
   against the mockup; the lime radial ::before overlays were the visible
   "green wash" over the hero card. Same approach as fireteam-study-guide.css.
   ========================================================================= */
.tsa26 .hero{position:relative;overflow:visible;border-bottom:0}
.tsa26 .hero::before,.tsa26 .final::before{content:none;display:none}
.tsa26 .btn{letter-spacing:normal;white-space:normal}
/* The mockup relied on the UA default (line-height: normal) for <button>
   elements while anchor .btns inherit 1.6 — reproduce that against any theme
   button rule, so both button shapes match the mockup's metrics. */
.tsa26 button{line-height:normal}
.tsa26 .cat .badge{line-height:1.6;text-align:left}
.tsa26 .cat p{line-height:1.6}
.tsa26 .cat{background:transparent;border:0;border-radius:0;padding:0;cursor:default;transition:none;box-shadow:none}
.tsa26 .cat:hover{transform:none;box-shadow:none;border-color:transparent}
.tsa26 .final{overflow:visible;border-top:0;border-bottom:0}
.tsa26 .final p{font-size:16px;line-height:1.6}
