/* nodiexam tokens (patched from nodistart's copy; variable names kept so templates.css stays verbatim).
   White paper, blue-black ink, one deep blue accent for everything you can press, and a warm highlighter yellow used
   only to mark things (a flagged question, your weakest topic, the answer in a worked solution). templates.css uses
   --serif for headings and --clay/--lime for focus and highlights: all three are re-pointed here.
   Contrast (WCAG 2.x): ink 15.96:1 on paper, 14.19:1 on sage; muted 7.29:1 on paper, 6.48:1 on sage; accent 8.66:1 on
   paper, 7.32:1 on accent-soft; white on accent 8.66:1; danger 6.97:1; ok 6.51:1; ink 12.96:1 on mark;
   mark-ink 6.54:1 on mark. */
:root {
  --paper: #ffffff;
  --surface: #ffffff;
  --ink: #1a2230;
  --muted: #4d5768;
  --line: #d3d9e1;
  --sage: #eef2f6;          /* cool tint for quiet panels and table heads */
  --accent: #1f4e79;        /* 8.66:1 on --paper */
  --accent-strong: #173c5e; /* hover */
  --accent-soft: #e4edf6;
  --mark: #fbe7a1;          /* highlighter: a background only, ink text on it */
  --mark-ink: #6b4a00;      /* 6.54:1 on --mark */
  --ok: #1e6b3c;            /* 6.51:1 on --paper */
  --danger: #a3302a;        /* 6.97:1 on --paper */
  --track: #dfe6ee;         /* empty part of a score bar; accent on it 6.89:1 */
  --clay: var(--accent);
  --lime: var(--accent-soft);
  --sans: Seravek, 'Gill Sans Nova', 'Segoe UI', Ubuntu, 'Noto Sans', 'DejaVu Sans', system-ui, sans-serif;
  --serif: var(--sans);
  --mono: ui-monospace, 'SFMono-Regular', Consolas, 'DejaVu Sans Mono', monospace;
  --radius: 10px;
  --measure: 68ch;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --content-width: 1120px;
}

/* Forest & paper. Static templates share the brand's single token source. */
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);overflow-wrap:anywhere}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed}button:disabled{opacity:.65}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--clay);outline-offset:4px}img{max-width:100%;height:auto}figure,blockquote,dl{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:pretty}h1{font:clamp(36px,4.6vw,68px)/1.07 var(--serif);letter-spacing:-.045em;max-width:20ch}h1.long-title{font-size:clamp(28px,3.5vw,50px);max-width:28ch}h2{font:30px/1.18 var(--serif);letter-spacing:-.025em}h3{font:600 18px/1.35 var(--sans)}p{max-width:75ch}p+p{margin-top:16px}[hidden]{display:none!important}.eyebrow{font:12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase}.help{color:var(--muted);font-size:13px}.number-value,.price-value,.date-value{font-variant-numeric:tabular-nums}.number-value,.price-value{white-space:nowrap;text-align:right;display:inline-block}.date-value{font:13px/1.5 var(--mono);white-space:nowrap}[data-measuring]{font:14px/1.5 var(--mono);background:var(--sage);border-radius:4px;padding:5px 8px;white-space:normal;text-align:right}.actions,.hero-commerce,.library-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;gap:8px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--surface);font-size:14px;font-weight:600;text-decoration:none;line-height:1.45;text-align:center}.button-outline{background:transparent;color:var(--ink)}.button:hover{background:#294d3f;color:var(--surface)}.text-action{display:inline-flex;align-items:center;min-height:48px;font-size:14px;font-weight:600}.skip{position:fixed;left:16px;top:-200px;z-index:30;background:var(--surface);padding:12px;border:2px solid var(--ink)}.skip:focus{top:10px}.preview-bar{background:var(--ink);color:var(--surface);padding:6px max(24px,calc((100vw - 1200px)/2));display:flex;gap:4px 24px;align-items:center;flex-wrap:wrap;font:12px/1.3 var(--sans)}.preview-bar>a,.preview-bar nav a,.preview-config a{display:inline-flex;align-items:center;min-height:48px;padding:8px}.preview-bar nav,.preview-config{display:flex;gap:4px;flex-wrap:wrap}.preview-bar nav{margin-left:auto}.preview-bar [aria-current]{background:var(--lime);color:var(--ink);border-radius:4px;text-decoration:none}.preview-config{flex-basis:100%;border-top:1px solid #527262}.site-header{border-bottom:1px solid var(--line)}.header-inner{max-width:1248px;margin:auto;padding:16px 24px;display:flex;align-items:center;gap:28px;position:relative}.brand{display:inline-flex;align-items:center;min-height:50px;flex-shrink:0}.brand img{display:block;width:150px;height:50px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:18px;margin-left:auto}.desktop-nav a,.desktop-nav summary{font-size:14px;white-space:nowrap}.nav-group{position:relative}.nav-group>summary,.nav-disclosure>summary{min-height:48px;align-content:center;padding:8px}.nav-group>div{position:absolute;z-index:10;top:100%;right:0;min-width:200px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #19382e14;display:grid}.nav-disclosure{display:none}.template-page{max-width:1248px;padding:0 24px 80px;margin:auto;min-height:50vh;min-width:0}.breadcrumb{padding-top:16px}.breadcrumb ol{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none}.breadcrumb li+li:before{content:'/';color:var(--muted);margin-right:8px}.breadcrumb a{min-height:48px;display:inline-flex;align-items:center;font:12px var(--mono)}.block{margin-top:48px;min-width:0}.block>h2{margin-bottom:24px}.block>p+h2{margin-top:32px}.block>p,.block>blockquote{margin-bottom:16px}.hero{padding:36px 0 40px;border-bottom:1px solid var(--line);margin-top:0}.hero h1{margin:16px 0 24px}.answer{font-size:20px;line-height:1.55;max-width:65ch}.hero-commerce{margin-top:24px}.hero-commerce>.price-value{font:32px var(--serif);margin-right:16px}.hero .actions{margin-top:24px}.home-hero{position:relative;padding-right:43%;min-height:430px;padding-top:60px}.home-hero .art-slot{position:absolute;right:0;top:48px;width:36%;aspect-ratio:3/2;display:grid;place-items:center;background:var(--sage);border:1px solid var(--line);border-radius:50% 50% 12px 12px;font:14px var(--mono);color:var(--muted)}.commerce-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:48px;align-items:start}.commerce-aside{grid-column:2;grid-row:1;position:sticky;top:24px;min-width:0}.commerce-body{grid-column:1;grid-row:1;min-width:0}.purchase-block>h2{font-size:25px}.purchase-card,.checkout-card,.order-card,.success-card{background:var(--surface);border:1px solid var(--line);padding:24px;border-radius:var(--radius)}.purchase-card>p,.purchase-card>a,.purchase-card>.button{margin-top:16px}.purchase-card>p:first-child{margin-top:0}.purchase-card>.button{width:100%}.purchase-values{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:24px 0}.purchase-values .price-value{font:32px/1.2 var(--serif)}.fixed-line{font-size:14px;padding-left:12px;border-left:3px solid var(--clay);margin-top:16px}.mobile-purchase{display:none}.key-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.fact{padding:20px;border-right:1px solid var(--line);min-width:0}.fact>.number-value{display:block;font-size:27px;margin:12px 0}.fact-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.stat-cell{padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.stat-cell>.number-value{display:block;font-size:25px;margin:12px 0}.stat-cell>p{color:var(--muted);font-size:13px}.table-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:8px;scrollbar-gutter:stable;position:relative}.table-scroll table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.table-scroll caption{text-align:left;padding:16px 18px;background:var(--surface);font-size:13px;font-weight:600}.table-scroll th,.table-scroll td{padding:12px 16px;border-top:1px solid var(--line);background:var(--surface);vertical-align:middle;min-width:125px;max-width:320px}.table-scroll thead th{background:var(--sage);font-size:12px}.table-scroll tr>*:first-child{position:sticky;left:0;z-index:1;min-width:145px;max-width:200px;box-shadow:1px 0 0 var(--line);text-align:left}.table-scroll thead th:first-child{z-index:2;background:var(--sage)}.table-scroll .numeric{text-align:right;white-space:nowrap}.table-scroll .wrappable{overflow-wrap:anywhere;min-width:220px;white-space:normal}.table-scroll [data-table$="_preview"] th:first-child{min-width:135px}.table-scroll .highlight-row>*{background:#f0f4e6}.sort-button{background:transparent;border:0;min-height:48px;min-width:48px;padding:0 4px;text-align:inherit}.sort-button:disabled{opacity:1}.table-tools,.table-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0}.table-foot .help{margin:0}.row-select{display:flex;gap:12px;align-items:center;min-height:48px;font-size:14px}.row-select input{width:20px;height:20px;flex-shrink:0;accent-color:var(--ink);margin:0}.table-tools [role=status]{font-size:13px;color:var(--muted)}.chart-frame{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:20px}.chart-axis{font:12px var(--mono);color:var(--muted)}.chart-plot{height:240px;display:flex;gap:12px;align-items:stretch;overflow:auto;padding-top:20px}.chart-point{min-width:40px;flex:1;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:8px;font:10px var(--mono)}.chart-bar{display:block;background:var(--ink);width:100%;height:140px;border-radius:4px 4px 0 0}.chart-bar.measuring{background:var(--sage);border:1px dashed var(--muted)}figcaption{margin-top:16px;font-size:12px;color:var(--muted)}.chart-data{margin-top:12px}.chart-data>summary{min-height:48px;align-content:center;font-size:14px}.date-legend,.definition-grid,.value-grid,.guarantee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}.date-legend>div,.value-grid>div,.definition-grid>div,.guarantee-grid>article{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:24px}.date-legend h3{font-size:14px;margin-bottom:12px}.date-legend p{font-size:13px;margin-top:12px;color:var(--muted)}.definition-grid h3,.value-grid h3,.guarantee-grid h3{margin-bottom:16px}.sample-block{padding:0 0 24px;border-bottom:1px solid var(--line)}.sample-block>.block{margin-top:0}.sample-form{max-width:650px;margin-top:24px}.input-action{display:flex;gap:12px;margin-top:8px}.input-action input{min-width:0;flex:1}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #7b897b;border-radius:5px;background:var(--surface);padding:12px;min-height:48px}textarea{resize:vertical}.form-status{font-size:14px;min-height:24px;margin-top:16px}.form-status.error{color:#923c26}.request-form{max-width:780px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-field label{display:block;min-height:32px;font-size:14px;font-weight:600}.form-field [type=checkbox]{width:24px;height:24px;margin:12px;accent-color:var(--ink)}.form-field .help{margin-top:8px}.form-field.full-width{grid-column:1/-1}.request-form>.row-select{margin:24px 0}.badge{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line);border-radius:100px;font:11px/1.4 var(--mono);background:var(--sage)}.badge.positive{background:var(--lime);border-color:#b6ce8b}.badge.caution{background:#f5e3d8;color:#80351f;border-color:#dbb29d}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.collection-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.card-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:24px}.icon-slot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:24px;flex-shrink:0}.collection-card h3{font:26px/1.2 var(--serif);margin-bottom:16px}.collection-card>p{font-size:14px;color:var(--muted)}.card-values{display:flex;justify-content:space-between;gap:16px;margin:24px 0 12px}.collection-card>.text-action{margin-top:auto}.comparison-scale{display:grid;gap:20px;padding:24px;background:var(--sage);border-radius:8px}.comparison-scale>div{display:grid;grid-template-columns:150px 1fr auto 140px;gap:24px;align-items:center;font-size:13px}.range-line{height:8px;background:var(--ink);border-radius:4px}.notice{background:var(--sage);padding:24px;border-left:3px solid var(--ink);border-radius:0 8px 8px 0}.notice-caution{background:#f5e3d8;border-color:var(--clay)}.notice h2{font-size:25px}.download-card{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:24px;border:1px solid var(--line);border-radius:8px}.citation{flex-basis:100%;font-size:14px}.byline{display:flex;align-items:center;flex-wrap:wrap;gap:16px;font-size:13px;margin:16px 0}.reading-layout{display:grid;grid-template-columns:200px minmax(0,1fr);column-gap:40px;align-items:start}.reading-layout>aside{position:sticky;top:24px;margin-top:48px}.reading-layout .toc-block{margin-top:0}.reading-body{min-width:0}.reading-width,.prose-block{max-width:75ch}.reading-width>h3{margin:24px 0 16px}.toc-block h2{font:14px var(--mono);margin-bottom:12px}.toc-disclosure>summary{min-height:48px;align-content:center}.toc-disclosure nav ol{margin:0;padding:0;list-style:none}.toc-disclosure nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line);font-size:12px;padding:8px}.faq-items details{border-bottom:1px solid var(--line)}.faq-items summary{min-height:64px;padding:18px 0;font-weight:600}.faq-items p{padding:0 0 24px 20px;font-size:15px}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.related-grid article{border-top:1px solid var(--line);padding-top:12px}.related-grid p{font-size:14px;color:var(--muted)}.steps{list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0}.steps li{counter-increment:steps;border-top:1px solid var(--line);padding-top:16px}.steps li:before{content:counter(steps,decimal-leading-zero);display:block;font:13px var(--mono);margin-bottom:20px;color:var(--muted)}.steps h3{margin-bottom:12px}.steps p{font-size:14px}.anatomy{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden}.anatomy>div{padding:24px;background:var(--surface);border-right:1px solid var(--line)}.anatomy dt{font-size:12px;color:var(--muted)}.anatomy dd{margin:12px 0 0;font:14px var(--mono)}blockquote{padding:24px 32px;background:var(--sage);border-left:3px solid var(--ink);max-width:75ch}blockquote p{font:23px/1.45 var(--serif)}blockquote footer{font-size:13px;margin-top:16px}.person-block{display:grid;grid-template-columns:240px 1fr;gap:32px}.photo-slot{aspect-ratio:4/3;display:grid;place-items:center;background:var(--sage);border:1px solid var(--line);font:13px var(--mono)}.person-block h3{margin-bottom:12px}.legal-dates{display:flex;gap:16px;flex-wrap:wrap;font-size:14px}.legal-page .prose-block{max-width:72ch}.timeline{padding:0;list-style:none;display:grid;gap:12px}.timeline li{display:flex;align-items:center;gap:24px;min-height:48px;border-bottom:1px solid var(--line)}.checkout-card,.order-card,.success-card{max-width:700px}.checkout-card form{display:grid;gap:16px}.order-card>p,.success-card>p{margin:16px 0}.order-progress{display:flex;gap:24px;flex-wrap:wrap;list-style:none;padding:0;margin:24px 0}.order-progress li{padding:12px;border-bottom:3px solid var(--line);font-size:13px}.order-progress [aria-current]{border-color:var(--ink);background:var(--lime)}.system-code{font:56px var(--serif);margin-bottom:24px}.system-search{max-width:600px;margin-top:24px}.slot-destination{margin-top:64px;padding-top:24px;border-top:1px dashed var(--line);font:12px var(--mono);color:var(--muted)}.site-footer{padding:48px max(24px,calc((100vw - 1200px)/2));background:var(--sage);border-top:1px solid var(--line)}.footer-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.footer-groups>div{display:grid;align-content:start;gap:4px}.footer-meta{border-top:1px solid #c0c8b6;display:flex;gap:24px;flex-wrap:wrap;margin-top:32px;padding-top:24px;font-size:12px}.library{max-width:1248px;margin:auto;padding:72px 24px}.library>h1{margin:16px 0 24px}.library>p{margin-bottom:24px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:48px 0}.library-grid article{padding:24px;border:1px solid var(--line);background:var(--surface);border-radius:12px;display:flex;flex-direction:column}.library-grid h2{font-size:26px;margin:16px 0 24px}.library-grid nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.library-grid nav a,.contract-link{display:inline-flex;align-items:center;min-height:48px;font-size:12px}.library-grid nav a{padding:8px;border:1px solid var(--line);border-radius:4px}.library-note{color:var(--muted);font-size:14px}.component-index{margin:48px 0}.component-index h2{margin-bottom:16px}.component-state-links{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.component-index iframe{display:block;width:100%;max-width:100%;height:480px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.specimen{margin:24px 0}.specimen .site-header .header-inner{padding:12px}.template-page>h1{margin-top:36px}.specimen>.badge{margin-right:12px}
@media(min-width:901px){.toc-disclosure:not([open])>nav{display:block}.toc-disclosure>summary{display:none}}
@media(max-width:1150px){.desktop-nav{gap:8px}.desktop-nav a,.desktop-nav summary{font-size:12px}.header-inner{gap:16px}.header-sample{display:none}.commerce-layout{column-gap:24px;grid-template-columns:minmax(0,1fr) 270px}.comparison-scale>div{grid-template-columns:100px 1fr auto}.comparison-scale>div>:last-child{grid-column:1/-1}}
@media(max-width:900px){.desktop-nav{display:none}.nav-disclosure{display:block;margin-left:auto}.nav-disclosure>nav{position:absolute;z-index:10;left:16px;right:16px;top:100%;background:var(--surface);border:1px solid var(--line);padding:16px;box-shadow:0 12px 24px #19382e14;display:grid}.nav-group>div{position:static;box-shadow:none;border:none;border-left:1px solid var(--line);margin-left:12px}.nav-disclosure nav a{display:flex;min-height:48px}.header-sample{display:inline-flex}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-layout{display:flex;flex-direction:column;gap:0}.commerce-aside{position:static;width:100%}.commerce-body{width:100%}.purchase-card{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.purchase-card>*{margin:0!important}.purchase-card>.purchase-values{grid-column:2;grid-row:1/3;align-items:center}.purchase-card>.button{width:100%}.reading-layout{display:block}.reading-layout>aside{position:static;margin-top:32px}.toc-block h2{display:none}.toc-block{border:1px solid var(--line);border-radius:8px;padding:0 16px}.toc-disclosure>summary{display:list-item}.home-hero{min-height:350px;padding-right:40%}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.anatomy{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body{font-size:15px}.preview-bar{padding:4px 12px;gap:0 8px;font-size:11px}.preview-bar>span{margin-left:auto;font-size:10px}.preview-bar nav{margin-left:0;flex-basis:100%;justify-content:space-between;gap:0}.preview-bar nav a{padding:8px 10px}.preview-config a{font-size:10px}.header-inner{padding:10px 20px;gap:12px}.brand img{width:120px;height:40px}.brand{min-height:48px}.header-sample{display:none}.template-page{padding:0 20px 56px}.breadcrumb{padding-top:8px}.breadcrumb a{font-size:10px}.breadcrumb ol{gap:0 4px}.breadcrumb li+li:before{margin-right:4px}h1{font-size:34px;line-height:1.13;max-width:none;letter-spacing:-.035em}h1.long-title{font-size:20px;line-height:1.25;letter-spacing:-.025em;max-width:none}h2{font-size:26px}h3{font-size:17px}.hero{padding:20px 0 24px}.hero h1{margin:12px 0 16px}.eyebrow{font-size:10px}.answer{font-size:17px;line-height:1.5}.hero-commerce{gap:12px;margin-top:20px}.hero-commerce>.price-value{font-size:26px}.hero-commerce .text-action{font-size:13px}.block{margin-top:32px}.hero{margin-top:0}.block>h2{margin-bottom:18px}.key-facts{grid-template-columns:1fr}.fact{padding:12px 16px;display:grid;grid-template-columns:1fr auto;gap:8px 12px;border-right:0;border-bottom:1px solid var(--line)}.fact>.number-value{font-size:23px;margin:0}.fact-meta{grid-column:1/-1;font-size:11px;gap:12px}.stat-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-cell{padding:16px}.stat-cell>.number-value{font-size:22px}.purchase-card{display:block;padding:20px}.purchase-card>*{margin-top:16px!important}.purchase-card>*:first-child{margin-top:0!important}.purchase-card .purchase-values{margin:20px 0!important}.mobile-purchase{display:flex;position:fixed;z-index:15;bottom:0;left:0;right:0;gap:16px;justify-content:space-between;align-items:center;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -6px 24px #19382e0c}.mobile-purchase .price-value{font-size:24px}.mobile-purchase [data-measuring]{font-size:12px}body:has(.mobile-purchase){padding-bottom:84px;scroll-padding-bottom:100px}.table-scroll tr>*:first-child{min-width:125px;max-width:150px}.table-scroll th,.table-scroll td{padding:10px 12px;min-width:115px}.table-scroll caption{font-size:12px;padding:14px 12px}.table-scroll{scrollbar-gutter:auto}.collection-grid,.date-legend,.definition-grid,.value-grid,.guarantee-grid,.related-grid,.steps{grid-template-columns:1fr}.collection-card{padding:20px}.date-legend>div,.definition-grid>div,.value-grid>div,.guarantee-grid>article{padding:20px}.input-action{flex-direction:column}.sample-form .button{width:100%}.form-grid{grid-template-columns:1fr}.form-field.full-width{grid-column:auto}.comparison-scale{padding:20px}.comparison-scale>div{grid-template-columns:1fr auto;gap:12px}.range-line{grid-column:1/-1;grid-row:2}.comparison-scale>div>:last-child{grid-column:1/-1}.comparison-scale .number-value{grid-column:2;grid-row:1}.chart-frame{padding:16px}.chart-plot{height:200px;gap:10px}.chart-bar{height:110px}.person-block{grid-template-columns:1fr}.photo-slot{max-width:300px}.home-hero{padding-right:0;padding-top:28px;min-height:0}.home-hero .art-slot{position:static;width:100%;margin-top:32px;max-height:235px}.anatomy>div{padding:16px}.anatomy dd{font-size:12px}.notice{padding:20px}.notice h2{font-size:23px}.download-card{padding:20px}.byline{gap:8px 16px}.legal-dates{gap:12px}.footer-groups{grid-template-columns:1fr 1fr;gap:24px 12px}.site-footer{padding:32px 20px}.footer-meta{gap:12px}.library{padding:40px 20px}.library-grid{grid-template-columns:1fr;margin:32px 0}.library-grid h2{font-size:26px}.library>h1{font-size:44px}.library-actions{gap:12px}.library-grid article{padding:20px}.order-progress{gap:8px}.order-progress li{padding:8px}.checkout-card,.order-card,.success-card{padding:20px}.system-code{font-size:36px}.template-page>h1{font-size:28px}.component-state-links{gap:8px}.component-state-links .button{font-size:12px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body{background:white;color:black;font-size:11pt}.preview-bar,.site-header,.site-footer,.mobile-purchase,.skip,.slot-destination,.toc-block,button{display:none!important}.template-page{max-width:none;padding:0}.hero{padding:0 0 20px}.reading-layout{display:block}.block{break-inside:avoid;margin-top:24px}.legal-page .block{break-inside:auto}.table-scroll{overflow:visible;border:0}.table-scroll th,.table-scroll td{position:static!important;min-width:0}.table-scroll tr[hidden]{display:table-row!important}h1{font-size:28pt}h1.long-title{font-size:24pt}h2{font-size:18pt}.commerce-layout{display:block}.commerce-aside{position:static}.legal-page .prose-block{max-width:none}a{color:black}}

/* Separate native mobile disclosure keeps desktop navigation usable without JS. */
.toc-desktop ol{list-style:none;margin:0;padding:0}.toc-desktop a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line);font-size:12px;padding:8px}.toc-disclosure{display:none}.form-field label{min-height:48px;align-content:center}
@media(max-width:900px){.toc-desktop{display:none}.toc-disclosure{display:block}}

.range-values{display:flex;justify-content:flex-end;gap:4px;font-variant-numeric:tabular-nums;flex-wrap:wrap}
@media(max-width:600px){.comparison-scale .range-values{grid-column:2;grid-row:1;max-width:145px}html:has(.mobile-purchase){scroll-padding-bottom:110px}body:has(.mobile-purchase) :is(a,button,input,select,textarea,summary){scroll-margin-bottom:110px}}
.text-action,.breadcrumb a,.preview-bar a,.toc-desktop a,.toc-disclosure a{min-width:48px}
@media(min-width:1151px){.comparison-scale>div{grid-template-columns:150px minmax(60px,1fr) 160px 140px}}
@media(min-width:601px) and (max-width:1150px){.comparison-scale>div{grid-template-columns:100px minmax(60px,1fr) 160px}}

.person-block:not(:has(.photo-slot)){grid-template-columns:1fr}.preview-bar a:focus-visible{outline-color:var(--lime)}.library-grid h2 a{display:flex;align-items:center;min-height:48px}
.table-scroll thead th{text-align:left}
.hero-commerce>.price-value{white-space:normal;text-align:left}
.table-scroll .wrappable .number-value{white-space:normal;text-align:left;display:inline}.fact>.number-value{white-space:normal}
.table-scroll{scrollbar-gutter:auto}.fact-meta .date-value{white-space:normal}.anatomy{grid-template-columns:repeat(3,minmax(0,1fr))}.anatomy>div{border-bottom:1px solid var(--line)}.anatomy dd{overflow-wrap:anywhere}
.nav-group>summary,.nav-disclosure>summary{list-style:none;display:inline-flex;align-items:center;gap:6px}.nav-group>summary::-webkit-details-marker,.nav-disclosure>summary::-webkit-details-marker{display:none}.nav-group>summary::after,.nav-disclosure>summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}.nav-group[open]>summary::after,.nav-disclosure[open]>summary::after{transform:translateY(1px) rotate(-135deg)}
@media(max-width:900px){.anatomy{grid-template-columns:1fr 1fr}}
@media(max-width:600px){h1.long-title{font-size:28px;line-height:1.15}.anatomy{grid-template-columns:1fr}}
@media(max-width:600px){.breadcrumb a{min-height:32px}}
@media(min-width:601px){.fact{display:flex;flex-direction:column}.fact>.number-value{order:-1;text-align:left;font:34px/1.15 var(--serif);margin:0 0 12px}.fact>.fact-meta{margin-top:auto;padding-top:16px}}
.definition-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.signup-picker select{margin:8px 0 20px}.signup-picker>label{display:block;font-size:14px;font-weight:600}

/* nodiexam parts on top of tokens.css (patched) and templates.css (verbatim from nodistart). Later rules of equal
   weight win, so the overrides below re-tune the inherited type and buttons without editing templates.css.
   Look: a calm textbook or a good public-service page. White paper, one deep blue for anything you can press, a warm
   highlighter yellow only to mark things. Type does the work: one humanist sans, 18px body, 68ch lines. */

/* ---- Base type and layout ---- */
:root{color-scheme:light}
body{background:var(--paper);color:var(--ink);font:18px/1.6 var(--sans);overflow-wrap:break-word}
h1,h2,h3{text-wrap:balance}
h1{font:700 clamp(32px,4.4vw,46px)/1.12 var(--sans);letter-spacing:-.012em;max-width:22ch}
h1.long-title{font-size:clamp(30px,3.8vw,40px);max-width:26ch}
h2{font:700 27px/1.25 var(--sans);letter-spacing:-.006em}
h3{font:700 19px/1.35 var(--sans)}
p{max-width:var(--measure)}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent-strong);text-decoration-thickness:2px}
.help{color:var(--muted);font-size:16px}
.eyebrow{font:600 16px/1.4 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.template-page{max-width:var(--content-width);padding:0 max(24px,env(safe-area-inset-right,0px)) 80px max(24px,env(safe-area-inset-left,0px))}
.block{margin-top:56px}
.block>h2{margin-bottom:20px}
.block>p{margin-bottom:16px}
ul,ol{padding-left:1.3em}
li+li{margin-top:6px}

/* Main column plus a quiet "On this page" rail on wide screens. */
.page-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0 64px}
.page-main{min-width:0;max-width:760px}
.on-this-page{display:none}
@media(min-width:1024px){
  .page-grid{grid-template-columns:minmax(0,760px) 220px;justify-content:space-between}
  .on-this-page{display:block;position:sticky;top:24px;align-self:start;margin-top:40px;font-size:16px}
  .on-this-page h2{font:600 16px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
  .on-this-page ol{list-style:none;padding:0;margin:0;border-left:2px solid var(--line)}
  .on-this-page li{margin:0}
  .on-this-page a{display:flex;align-items:center;min-height:44px;padding:4px 0 4px 14px;text-decoration:none;color:var(--ink)}
  .on-this-page a:hover{color:var(--accent);text-decoration:underline}
}

/* ---- Buttons ---- */
.button{min-height:48px;padding:11px 22px;border:2px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font-size:17px;font-weight:700;line-height:1.3}
.button:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}
.button-outline{background:var(--paper);color:var(--accent)}
.button-outline:hover{background:var(--accent-soft);color:var(--accent-strong)}
.button-quiet{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:none;color:var(--accent);font-size:16px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.text-action{font-size:17px;color:var(--accent)}

/* ---- Header and footer ---- */
.site-header{background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{max-width:var(--content-width);padding:8px max(24px,env(safe-area-inset-right,0px)) 8px max(24px,env(safe-area-inset-left,0px))}
.wordmark{display:inline-flex;align-items:center;gap:10px;min-height:48px;font:700 22px/1 var(--sans);letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.wordmark svg{width:28px;height:28px;flex:none}
.desktop-nav{gap:4px}
.desktop-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:16px;color:var(--ink);text-decoration:none;border-radius:6px}
.desktop-nav a:hover{background:var(--sage);color:var(--ink)}
.desktop-nav a[aria-current]{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);border-radius:0}
.nav-disclosure>summary{display:flex;align-items:center;min-height:44px;padding:0 12px;font-size:16px;font-weight:600;border:1px solid var(--line);border-radius:8px}
.nav-disclosure nav a{display:flex;align-items:center;min-height:48px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.breadcrumb li{margin:0;display:flex;align-items:center}
.breadcrumb a{font:16px var(--sans);min-height:44px}
.breadcrumb span{font-size:16px;color:var(--muted)}
.site-footer{margin-top:80px;background:var(--sage);padding:48px max(24px,calc((100vw - var(--content-width))/2 + 24px))}
.footer-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer-groups .eyebrow{margin-bottom:4px}
.footer-groups a{display:flex;align-items:center;min-height:44px;color:var(--ink);font-size:16px}
.footer-meta{border-top-color:var(--line);font-size:16px;color:var(--muted);flex-direction:column;gap:8px}
.footer-meta p{max-width:none}
.footer-meta a{color:var(--ink)}
.not-affiliated{font-size:16px;color:var(--ink);max-width:80ch}

/* ---- Hero ---- */
.hero{padding:32px 0 40px;border-bottom:1px solid var(--line)}
.hero h1{margin:8px 0 16px}
.answer{font-size:21px;line-height:1.5;max-width:40ch;color:var(--ink)}
.hero .actions{margin-top:24px;gap:12px 20px}
.hero .lede-note{margin-top:20px;color:var(--muted);font-size:16px}

/* ---- Facts table (summary-list look; stacks on phones) ---- */
.facts-table{width:100%;border-collapse:collapse;border-top:2px solid var(--ink)}
.facts-table th,.facts-table td{padding:14px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.facts-table th{width:38%;padding-right:24px;font-weight:700}
.facts-table td{font-variant-numeric:tabular-nums}
.facts-table .src{display:inline-flex;align-items:center;min-height:44px;margin:-12px 0 -12px 6px;padding:0 4px;font-size:16px;color:var(--muted)}
.facts-table .src:hover{color:var(--accent)}
.facts .help{margin-top:12px}

/* ---- Topic list ---- */
.topic-list{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}
.topic-list>div{display:grid;grid-template-columns:minmax(0,15em) minmax(0,1fr);gap:4px 24px;padding:14px 0;border-bottom:1px solid var(--line)}
.topic-list dt{font-weight:700}
.topic-list dd{margin:0}

/* ---- Quiz and test screen: built to look like a testing-centre window ---- */
.quiz{margin-top:56px}
.test-window{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden;overflow:clip}   /* clip, not hidden: the bar inside stays sticky */
.test-window>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;padding:12px 20px;background:var(--sage);border-bottom:1px solid var(--line)}
.test-window>header p{margin:0;font-size:16px;font-weight:600}
.test-window .section-name{color:var(--muted);font-weight:600}
.quiz-start{padding:24px 20px 28px}
.quiz-start .facts-inline{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;padding:0;margin:4px 0 20px}
.quiz-start .facts-inline li{margin:0;display:grid}
.quiz-start .facts-inline strong{font-size:28px;line-height:1.2;font-variant-numeric:tabular-nums}
.quiz-start .facts-inline span{font-size:16px;color:var(--muted)}
.quiz-start .help{margin-top:12px}

.test-bar{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--line);background:var(--paper)}
.q-counter{font-weight:700}
.timer-wrap{display:flex;align-items:baseline;gap:10px}
.timer-label{font-size:16px;color:var(--muted)}
.timer{font:700 24px/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.02em;min-width:4.2ch}
.timer-hidden{font-size:16px;color:var(--muted)}
.timer.low{color:var(--danger)}
.test-body{display:grid;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.test-body{grid-template-columns:minmax(0,1fr) 248px}.test-body .qmap-panel{border-left:1px solid var(--line);border-top:0}}
.test-main{min-width:0;display:flex;flex-direction:column}
.test-main>.test-nav{margin-top:auto}
.test-question{padding:24px 20px 28px;min-width:0}
.qmap-panel{padding:16px 20px 20px;border-top:1px solid var(--line);background:var(--paper)}
.qmap-panel h3{font-size:16px;margin-bottom:10px}
.qmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px}
.qmap a,.qmap button{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-size:16px;font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums;position:relative}
.qmap .answered{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.qmap .flagged{background:var(--mark);border-color:var(--mark-ink);color:var(--ink)}
.qmap .flagged::after{content:"";position:absolute;top:3px;right:3px;border:5px solid transparent;border-top-color:var(--mark-ink);border-right-color:var(--mark-ink)}
.qmap [aria-current]{outline:3px solid var(--ink);outline-offset:1px}
.qmap-key{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0;margin:14px 0 0;font-size:16px;color:var(--muted)}
.qmap-key li{margin:0;display:flex;align-items:center;gap:6px}
.qmap-key i{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid var(--line)}
.qmap-key .k-answered{background:var(--accent-soft);border-color:var(--accent)}
.qmap-key .k-flagged{background:var(--mark);border-color:var(--mark-ink)}

.quiz-items{list-style:none;padding:0;margin:0}
.q{margin:0}
.q fieldset{border:0;padding:0;margin:0;min-width:0}
.q legend{display:grid;gap:6px;padding:0;margin-bottom:18px}
.q-num{font-size:16px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.q-stem{font-size:20px;line-height:1.5;font-weight:500;max-width:var(--measure)}
.q-figure{margin:0 0 20px;max-width:100%;overflow-x:auto}
/* Figures carry their natural size (width/height = viewBox): never larger, shrunk to fit a phone, text 16 units. */
.q-figure svg{display:block;max-width:100%;height:auto}
.choices{display:grid;gap:10px;max-width:640px}
.choice{position:relative;display:flex;align-items:center;gap:14px;min-height:56px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:var(--paper)}
/* hover only where a pointer hovers: phones keep :hover on the last thing tapped, which tinted a choice on the next question */
@media(hover:hover) and (pointer:fine){.choice:hover{border-color:var(--accent);background:var(--sage)}.button-quiet:hover{background:var(--sage)}}
.choice input{position:absolute;left:14px;top:50%;opacity:0;width:1px;height:1px;min-height:0;padding:0;margin:0;border:0}
.letter{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid var(--ink);border-radius:50%;font-weight:700;font-size:16px}
.choice-text{font-size:19px;font-variant-numeric:tabular-nums}
.choice:has(input:checked){border:2px solid var(--accent);padding:7px 13px;background:var(--accent-soft)}
.choice:has(input:checked) .letter{background:var(--accent);border-color:var(--accent);color:#fff}
.choice:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.test-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;border-top:1px solid var(--line);background:var(--sage)}
.flag-toggle[aria-pressed="true"]{background:var(--mark);color:var(--ink);text-decoration:none;border-color:var(--mark-ink)}
.quiz-submit{margin:20px}
.quiz-form>.quiz-items>.q+.q{margin-top:40px}
.quiz-form>.quiz-items{padding:24px 20px 0}

/* Function tables and other figures inside questions */
.value-table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:19px}
.value-table th,.value-table td{border:1px solid var(--ink);padding:6px 18px;text-align:center;min-width:52px}
.value-table th{background:var(--sage);font-style:italic}

/* Reading passages */
.passage article{padding:20px;border-left:3px solid var(--line);background:var(--paper)}
.passage h3{margin-bottom:10px}
.para-num{display:inline-block;min-width:1.6em;font-size:16px;font-weight:700;color:var(--muted)}

/* ---- Worked sample ---- */
.worked{border-top:2px solid var(--ink);padding-top:20px}
.worked-q{font-size:20px;line-height:1.5;font-weight:500}
.sample-choices{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:8px 40px}
.sample-choices li{margin:0;display:flex;align-items:center;gap:10px;font-size:19px}
.sample-choices .letter{width:32px;height:32px;font-size:16px}
.worked-steps{margin-top:24px;padding:20px 24px;background:var(--sage);border-radius:var(--radius)}
.worked-steps h3{margin-bottom:10px}
.worked-steps ol{margin:0;padding-left:1.4em}
.worked-steps li{padding-left:4px}
.worked-steps li+li{margin-top:12px}
.math{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:19px}
.math-line{display:block;margin-top:4px;font-size:19px;font-variant-numeric:tabular-nums}
.worked-answer{margin-top:16px;font-weight:700}
.display-math{margin:14px 0 4px;font-size:24px;font-variant-numeric:tabular-nums;max-width:none}
.frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .15em;line-height:1.25}
.frac>span:first-child{border-bottom:2px solid currentColor;padding:0 .25em 2px}
.frac>span:last-child{padding:2px .25em 0}
.var{font-style:italic;font-family:Charter,'Bitstream Charter','Sitka Text',Cambria,Georgia,serif}
mark,.hl{background:var(--mark);color:var(--ink);padding:0 3px;border-radius:2px}
.why-not{margin-top:16px}
.why-not h4{font:700 17px/1.4 var(--sans);margin:0 0 6px}
.why-not ul{margin:0}

/* ---- Offer card: the one place with a box and a price ---- */
.offer{margin-top:56px;padding:28px 28px 24px;border:2px solid var(--accent);border-radius:var(--radius);background:var(--paper);max-width:640px}
.offer-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 20px}
.offer-head h2{font-size:24px}
.offer-price{display:flex;align-items:baseline;gap:10px;margin:0}
.offer-price .price-value{font:700 40px/1 var(--sans);color:var(--ink)}
.price-note{font-size:16px;color:var(--muted)}
.offer-access{margin-top:12px;font-weight:600}
.offer-includes{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.offer-includes li{margin:0;padding-left:30px;position:relative}
.offer-includes li::before{content:"";position:absolute;left:4px;top:.45em;width:12px;height:7px;border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);transform:rotate(-45deg)}
.offer-form{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:14px;justify-items:start}
.agree{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}
.agree input{width:24px;height:24px;flex:none;accent-color:var(--accent)}
.offer-button{min-width:220px}
.offer-form .help{margin:0}
.offer-refund{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:16px}
.offer-lead{max-width:var(--measure);font-size:19px}
.offer-lead strong{background:var(--mark);padding:0 3px}

/* ---- FAQ ---- */
.faq-items{border-top:1px solid var(--line)}
.faq-items summary{min-height:56px;padding:14px 0;font-size:18px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:12px;list-style:none}
.faq-items summary::-webkit-details-marker{display:none}
.faq-items summary::before{content:"+";flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:2px solid var(--accent);border-radius:50%;color:var(--accent);font-weight:700;line-height:1}
.faq-items details[open] summary::before{content:"\2212"}
.faq-items details>div{padding:0 0 20px 38px}
.faq-items p{font-size:18px;padding:0}

/* ---- Result screen ---- */
.result-head{padding:32px 0 8px}
.result-head h1{margin:8px 0 12px}
.section-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:24px}
.section-score{padding:20px 22px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius)}
.section-score h3{font-size:18px}
.section-score .big{display:flex;align-items:baseline;gap:8px;margin:10px 0 4px;font-variant-numeric:tabular-nums}
.section-score .big strong{font-size:44px;line-height:1}
.section-score .big span{font-size:19px;color:var(--muted)}
.section-score p{font-size:16px;color:var(--muted);margin:0}
.section-score p+p{margin-top:2px}
.bars{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.bars li{margin:0;display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr) 5.5em;align-items:center;gap:6px 16px;padding:12px 0;border-bottom:1px solid var(--line)}
.bar{height:14px;background:var(--track);border-radius:7px;overflow:hidden}
.bar>span{display:block;height:100%;background:var(--accent);border-radius:7px 0 0 7px}
.bar-value{text-align:right;font-variant-numeric:tabular-nums;font-size:17px;white-space:nowrap}
.bars .weakest{background:var(--mark);box-shadow:-10px 0 0 var(--mark),10px 0 0 var(--mark)}
.bars .weakest .topic-name::after{content:"Weakest topic";display:block;font-size:16px;font-weight:700;color:var(--mark-ink);letter-spacing:.04em;text-transform:uppercase}
.bars .weakest .bar{background:var(--paper)}
.bars-group+.bars-group{margin-top:28px}
.bars-group h3{margin-bottom:8px}
.missed{list-style:none;padding:0;margin:0;display:grid;gap:20px}
.missed>li{margin:0;padding:22px 22px 20px;border:1px solid var(--line);border-radius:var(--radius)}
.missed-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:16px;color:var(--muted);font-weight:600;margin-bottom:8px}
.topic-chip{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--sage);color:var(--ink);font-weight:600}
.missed .q-stem{display:block;font-size:19px}
.answer-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.answer-list li{margin:0;display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:18px}
.answer-list .letter{width:32px;height:32px;font-size:16px}
.answer-list .yours{border:2px solid var(--danger);padding:7px 11px}
.answer-list .yours .letter{border-color:var(--danger);color:var(--danger)}
.answer-list .right{border:2px solid var(--ok);padding:7px 11px}
.answer-list .right .letter{background:var(--ok);border-color:var(--ok);color:#fff}
.answer-list .tag{margin-left:auto;font-size:16px;font-weight:700;white-space:nowrap}
.answer-list .yours .tag{color:var(--danger)}
.answer-list .right .tag{color:var(--ok)}
.evidence{margin-top:12px;padding:10px 14px;border-left:3px solid var(--line);color:var(--ink);font-style:italic}
.result-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:20px}

/* ---- Product page ---- */
.product-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0 56px}
@media(min-width:1024px){
  .product-grid{grid-template-columns:minmax(0,1fr) 400px;align-items:start}
  .product-grid>*{grid-column:1}
  .product-grid>.offer{grid-column:2;grid-row:1/span 6;position:sticky;top:24px;margin-top:40px}
}
.included{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}
.included>div{padding:16px 0;border-bottom:1px solid var(--line)}
.included dt{font-weight:700;font-size:19px}
.included dd{margin:4px 0 0;max-width:var(--measure)}
.steps-list{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:18px}
.steps-list>li{counter-increment:step;margin:0;display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;align-items:start}
.steps-list>li::before{content:counter(step);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700}
.steps-list strong{display:block}
.compare{width:100%;border-collapse:collapse;font-size:17px}
.compare th,.compare td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare thead th{border-bottom:2px solid var(--ink);font-size:16px}
.compare td{text-align:center;width:6.5em;white-space:nowrap}
.compare .yes{color:var(--ok);font-weight:700}
.compare .no{color:var(--muted)}
.compare-wrap{overflow-x:auto}

/* ---- Phones ---- */
@media(max-width:600px){
  body{font-size:17px}
  h1{font-size:31px;line-height:1.15;letter-spacing:-.01em}
  h1.long-title{font-size:28px;line-height:1.2;letter-spacing:-.01em}
  h2{font-size:23px}
  h3{font-size:18px}
  .template-page{padding:0 max(16px,env(safe-area-inset-right,0px)) 56px max(16px,env(safe-area-inset-left,0px))}
  .header-inner{padding:6px max(16px,env(safe-area-inset-right,0px)) 6px max(16px,env(safe-area-inset-left,0px))}
  .block,.quiz,.offer{margin-top:44px}
  .answer{font-size:19px}
  .hero{padding:20px 0 28px}
  .facts-table th,.facts-table td{display:block;width:auto;padding:0}
  .facts-table th{padding-top:14px;border-bottom:0}
  .facts-table td{padding:2px 0 12px}
  .topic-list>div{grid-template-columns:1fr}
  .test-window>header,.test-bar,.quiz-start,.test-question,.qmap-panel,.test-nav{padding-left:16px;padding-right:16px}
  .q-stem,.worked-q{font-size:19px}
  .choice-text{font-size:18px}
  .test-nav .button{flex:1 1 0;padding-left:12px;padding-right:12px}
  .test-nav .flag-toggle{order:3;flex-basis:100%;justify-content:center}
  .offer{padding:22px 18px 20px;margin-left:-4px;margin-right:-4px}
  .offer-button{width:100%}
  .offer-form{justify-items:stretch}
  .bars li{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
  .bars li .bar{grid-column:1/-1;grid-row:2}
  .missed>li{padding:18px 16px}
  .worked-steps{padding:16px}
  .faq-items details>div{padding-left:0}
  .site-footer{padding:36px max(16px,env(safe-area-inset-right,0px)) 36px max(16px,env(safe-area-inset-left,0px))}
  .footer-groups{grid-template-columns:1fr 1fr}
}
@media print{.offer-form,.quiz-start .button,.test-nav,.qmap-panel{display:none!important}}

/* ---- Page parts added with the pages (Task 8) ---- */
.lede p+p{margin-top:14px}
.hero .lede{margin-top:20px}
.quiz-items>li+li{margin-top:40px}
.quiz-part+.quiz-part{margin-top:48px}
.quiz-part>h3{margin-bottom:16px}
.worked+p,.block>[data-component="C6"]+p,.compare-wrap+p,.q-figure+p,.q-figure+.worked{margin-top:20px}
.table-scroll table{font-size:16px}
.table-scroll thead th{font-size:16px}
.example-worked,.example-drill{margin:24px 0;padding:20px 24px;border-radius:var(--radius)}
.example-worked{background:var(--sage);border-top:0}
.example-drill{border:1px solid var(--line);background:var(--paper)}
.example-worked>*+*,.example-drill>*+*{margin-top:12px}
.example-worked .table-scroll th,.example-worked .table-scroll td{min-width:56px;text-align:center}
.block>.q-figure{max-width:420px;margin:20px 0}
.block>.q-figure svg{display:block;width:100%;height:auto}
.example-passage .sample-questions{margin-top:24px;padding-left:1.3em}
.example-passage .sample-questions>li+li{margin-top:24px}
.example-passage .quiz-items{list-style:none;padding:0;margin:0}
.resend-form{display:grid;gap:12px;max-width:520px;margin-top:8px}
.resend-form .button{justify-self:start}
.sources{font-size:16px;padding-left:1.2em}
.sources li+li{margin-top:8px}
.sources-block .help{margin-bottom:12px}
.draft-note{margin-top:24px;padding:12px 16px;border-left:3px solid var(--mark-ink);background:var(--mark);color:var(--ink);font-weight:600;max-width:var(--measure)}
.flow-state{margin-top:32px;max-width:var(--measure)}
.flow-state>*+*{margin-top:16px}
.offer-lead{margin-bottom:16px}
@media(max-width:600px){
  .example-worked,.example-drill{padding:16px}
  .quiz-items>li+li{margin-top:32px}
}
.actions+p{margin-top:20px}

/* ---- Quiz script states and the result screen (Task 9). quiz.js writes headings one level below the page's,
   so the result and the check panels style h3 to h6 alike. ---- */
.quiz-start>:is(h3,h4,h5){font:700 21px/1.3 var(--sans);margin-bottom:10px}
.quiz-start>p+p{margin-top:10px}
.quiz-start .actions{margin-top:20px}
.qmap-panel h4{font-size:16px;margin-bottom:10px}
.timer-wrap{min-height:32px}
.result-panel{margin-top:32px}
.result-panel:focus{outline:none}
.result-panel .result-head{padding-top:0}
.result-head>:is(h2,h3){font:700 clamp(28px,3.4vw,36px)/1.15 var(--sans);margin:6px 0 10px}
.section-score :is(h3,h4){font-size:18px}
.score-note{margin-top:20px;font-size:16px}
.result-block{margin-top:44px}
.result-block>:is(h3,h4){font:700 24px/1.3 var(--sans);margin-bottom:12px}
.result-block>p{margin-bottom:16px}
.bars-group :is(h4,h5){font:700 18px/1.35 var(--sans);margin-bottom:8px}
.missed .worked-steps :is(h4,h5,h6){font:700 17px/1.4 var(--sans);margin-bottom:8px}
.missed .help{margin-top:10px}
.offer-head :is(h3,h4){font-size:24px}
.result-panel .offer{margin-top:24px}
@media(max-width:600px){
  .result-block>:is(h3,h4){font-size:21px}
  .quiz-start .actions .button{flex:1 1 100%}
}
.missed{grid-template-columns:minmax(0,1fr)}
.missed>li{min-width:0}
.answer-list li{flex-wrap:wrap;row-gap:4px}
.answer-list li>span:nth-child(2){flex:1 1 0;min-width:0}
.result-panel :is(h3,h4,h5,h6),.quiz-start :is(h3,h4,h5){margin-top:0}
/* While a part runs, one question shows at a time: no gap left by the hidden ones. */
[data-running] .quiz-items>li+li{margin-top:0}
[data-running] .quiz-items>li.passage{margin-bottom:28px}
@media(max-width:600px){.answer-list .tag{flex-basis:100%;margin-left:44px}}
.passage :is(h3,h4){margin:0 0 10px}
@media(max-width:600px){.passage article{padding:14px 12px}}
.got-right>li{padding:0}
.got-right summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;min-height:56px;padding:12px 22px;cursor:pointer;list-style:none}
.got-right summary::-webkit-details-marker{display:none}
.got-right summary .missed-meta{margin:0}
.got-right .show-method{margin-left:auto;font-size:16px;font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.got-right .show-method::after{content:" +";text-decoration:none}
.got-right details[open] .show-method::after{content:" \2212"}
.got-right details>div{padding:0 22px 20px}
[data-confirming] .test-window{display:flex;flex-direction:column}
[data-confirming] .quiz-start{order:2;border-top:1px solid var(--line)}
@media(max-width:600px){.got-right summary{padding:12px 16px}.got-right details>div{padding:0 16px 18px}}
/* The paid simulator (Task 15): its states, the menu of modes, the run header, the break and the result. */
.sim{margin-top:28px}
.sim-state{max-width:var(--measure)}
.sim-state>*+*{margin-top:16px}
.sim-app:focus{outline:none}
.sim-menu>h2{margin-bottom:20px}
.sim-menu{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.sim-menu{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.sim-menu>h2,.sim-plan,.sim-progress{grid-column:1/-1}}
.sim-card{padding:22px 22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-width:0}
.sim-card>h3{font-size:21px;margin-bottom:10px}
.sim-card>p{font-size:17px}
.sim-card>.button{margin-top:18px}
.sim-card h4{font:700 17px/1.4 var(--sans);margin:22px 0 8px}
.sim-plan{border:2px solid var(--accent)}
.sim-fields{display:grid;gap:12px;margin-top:16px}
.sim-fields .form-field label{min-height:0;margin-bottom:6px;font-size:16px}
.sim-fields select{font-size:17px;background:var(--paper);border-color:#7b8796}
.sim-check{font-size:16px;margin-top:4px}
.sim-plan-list{margin:14px 0;padding:0;list-style:none;counter-reset:plan;display:grid;gap:10px}
.sim-plan-list li{counter-increment:plan;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 0;border-top:1px solid var(--line)}
.sim-plan-list li>span{flex:1 1 14em;font-weight:600}
.sim-plan-list li>span::before{content:counter(plan) ". ";color:var(--muted)}
.sim-forms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){.sim-forms{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}}
.sim-forms li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:16px}
.sim-form-score{color:var(--muted);text-align:right}
.sim-form-score.done{color:var(--ok);font-weight:700}
.sim-weak{margin:0;padding-left:20px;font-size:16px}
.sim-run-head{display:grid;justify-items:start;gap:4px;margin-bottom:16px}
.sim-run-head .eyebrow{text-wrap:balance}
.sim-leave-button{margin-left:-12px}
.sim-run-head h2{font-size:26px}
.sim-leave{justify-self:stretch;padding:16px 18px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:var(--sage)}
.sim-leave .actions{margin-top:12px}
.sim-break{max-width:var(--measure);padding:24px 22px 26px;border:1px solid var(--line);border-radius:var(--radius)}
.sim-break>h2{margin:6px 0 14px}
.sim-break>.actions{margin-top:20px}
.sim-break>.sim-leave-button{margin-top:12px}
.sim-break .sim-leave{margin-top:12px}
.sim-break-clock{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}
.sim-result{margin-top:0}
.sim-result .result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.sim-result .sim-plan{border:0;margin-top:8px}
@media(max-width:600px){
  .sim-card{padding:18px 16px 20px}
  .sim-card>.button,.sim-break .actions .button,.sim-result .result-actions .button,.sim-plan-list .button{width:100%}
  .sim-run-head h2{font-size:22px}
  .sim-break{padding:20px 16px}
}
.sim-alert{padding:12px 16px;border-left:4px solid var(--danger);border-radius:0 8px 8px 0;background:#fbeeed;font-weight:600}
.sim-menu>.sim-alert{grid-column:1/-1}
/* While a part runs, the bar with the counter and the clock sticks to the top of the screen (below a phone's notch), so
   Next within a long passage never takes the clock out of view. Questions and passages scrolled to stop below it. */
[data-running] .test-bar{position:sticky;top:0;top:env(safe-area-inset-top,0px);z-index:3}
[data-running] .q legend,[data-running] .quiz-items>li.passage{scroll-margin-top:calc(52px + env(safe-area-inset-top,0px))}
@media(max-width:600px){
  .test-bar{flex-wrap:wrap;gap:0 4px;padding:6px 6px 6px 10px}   /* one row at 360 px; a second row only on narrower screens */
  .q-counter{font-size:14px;white-space:nowrap}
  .timer-label,.timer-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .timer{font-size:20px;min-width:0}
  .timer-wrap{min-height:0;margin-left:auto}
  .test-bar [data-timer-toggle]{flex:none;min-width:44px;padding:8px 2px;white-space:nowrap;font-size:14px}
}
/* Reading: the passage and the question in view together (quiz.js sets data-reading while the question has a passage).
   Wide screens: two panes, the passage scrolling in its own box on the left, the question on the right, the question
   map below. Narrower screens: the question first, and "Show passage" in the sticky bar opens the passage as a sheet
   over the lower part of the screen; the question stays where it was above it. The sheet is only made invisible when
   shut (not removed), so it keeps its scroll position for the next question on the same passage. */
@media(max-width:959.98px){
  [data-running][data-reading] .test-bar .passage-toggle{flex:1 1 100%;justify-content:center;min-height:44px;margin:6px 0 2px;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-weight:700;text-decoration:none}
  [data-running][data-passage-open] .test-bar .passage-toggle{background:var(--accent);color:#fff}
  [data-running][data-reading] .q legend{scroll-margin-top:calc(108px + env(safe-area-inset-top,0px))}
  [data-running][data-reading] .quiz-items>li.passage{position:fixed;left:0;right:0;bottom:0;z-index:4;height:55vh;height:55dvh;margin:0;overflow-y:auto;overscroll-behavior:contain;
    background:var(--paper);border-top:3px solid var(--accent);box-shadow:0 -10px 28px rgba(26,34,48,.2);padding-bottom:env(safe-area-inset-bottom,0px);
    visibility:hidden;transform:translateY(100%)}
  [data-running][data-passage-open] .quiz-items>li.passage{visibility:visible;transform:none;transition:transform .18s ease-out}
  [data-running][data-reading] .quiz-items>li.passage article{border-left:0;max-width:var(--measure);margin:0 auto}
  [data-running][data-passage-open] .test-question{padding-bottom:calc(55vh + 24px);padding-bottom:calc(55dvh + 24px)}
}
@media(max-width:959.98px) and (prefers-reduced-motion:reduce){[data-running][data-reading] .quiz-items>li.passage{transition:none}}
@media(min-width:960px){
  .passage-toggle{display:none!important}
  [data-running][data-reading] .test-body{grid-template-columns:minmax(0,1fr)}
  [data-running][data-reading] .test-body .qmap-panel{border-left:0;border-top:1px solid var(--line)}
  [data-running][data-reading] .quiz-items{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0 32px;align-items:start}
  [data-running][data-reading] .quiz-items>li.passage{grid-column:1;grid-row:1;margin:0;max-height:max(320px,calc(100vh - 250px));overflow-y:auto;overscroll-behavior:contain;
    border:1px solid var(--line);border-radius:8px;scroll-margin-top:calc(72px + env(safe-area-inset-top,0px))}
  [data-running][data-reading] .quiz-items>li.passage article{border-left:0}
  [data-running][data-reading] .quiz-items>li.q{grid-column:2;grid-row:1;margin:0}
  [data-running][data-reading] .q legend{scroll-margin-top:calc(76px + env(safe-area-inset-top,0px))}
  /* a running test takes the page's full width: the "On this page" rail steps aside until it ends */
  .page-grid:has([data-running]){grid-template-columns:minmax(0,1fr)}
  .page-grid:has([data-running]) .on-this-page{display:none}
  .page-main:has([data-running]){max-width:none}
}
/* Review (the result screens): the passage behind a toggle with the proving line marked, the line quoted at the top of
   the method, and "Why the others are wrong" with the reason under each wrong choice (the reader's pick marked). */
.review-passage{margin:0 0 16px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.review-passage>summary{display:grid;grid-template-columns:1.2em minmax(0,1fr);align-items:center;min-height:48px;padding:8px 14px;font-weight:700;color:var(--accent);list-style:none}
.review-passage>summary::-webkit-details-marker{display:none}
.review-passage>summary::before{content:"+";font-weight:700}
.review-passage[open]>summary::before{content:"\2212"}
.review-passage-text{padding:4px 16px 16px;border-top:1px solid var(--line);font-size:17px}
.review-passage-text p{margin-top:12px}
.review-passage-text mark{padding:0 2px}   /* the proving line in a review passage; mark itself is styled above */
.evidence-lead{font-weight:600;margin-bottom:6px}
.evidence{margin:0 0 14px;padding:10px 14px;border-left:3px solid var(--mark-ink);background:var(--paper);max-width:var(--measure)}
.evidence p{font:inherit;font-size:17px}
.why-wrong{margin-top:20px}
.missed .why-wrong :is(h4,h5,h6){font:700 17px/1.4 var(--sans);margin-bottom:8px}
.why-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.why-list>li{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px}
.why-list>li.yours{border:2px solid var(--danger);padding:9px 11px}
.why-choice{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-weight:600}
.why-choice .letter{width:32px;height:32px;font-size:16px}
.why-choice .why-text{flex:1 1 0;min-width:0}
.why-choice .tag{font-size:16px;font-weight:700;color:var(--danger);white-space:nowrap}
.why-reason{margin:6px 0 0 44px;font-size:17px}
@media(max-width:600px){.why-reason{margin-left:0}.why-choice .tag{flex-basis:100%;margin-left:44px}.review-passage-text{padding:4px 12px 14px}}
/* Phones: the study guide's sample answers stack in one column, and small tables (three columns or fewer) fit the
   screen instead of cutting words; a word is never broken mid-way in a table cell (a wide table scrolls in its box). */
.table-scroll th,.table-scroll td{overflow-wrap:normal;word-break:normal;hyphens:manual}
@media(max-width:640px){
  .sample-choices{grid-template-columns:minmax(0,1fr);gap:8px}
  .table-scroll table:not(:has(tr>:nth-child(4))) :is(th,td){min-width:0;max-width:none;padding:8px 7px;font-size:15px}
  .table-scroll:has(table:not(:has(tr>:nth-child(4)))){scrollbar-gutter:auto}
  .table-scroll table:not(:has(tr>:nth-child(4))) tr>:first-child{position:static;min-width:0;box-shadow:none}
}
/* Simulator menu: when access ends and the PDFs, at the top; on a first visit the diagnostic leads, marked "Start here". */
.sim-access{grid-column:1/-1;padding:16px 20px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--sage)}
.sim-access p{font-size:17px}
.sim-access p+p{margin-top:8px}
.sim-access .downloads{margin:6px 0 0;padding-left:1.2em;font-size:17px}
.sim-access .downloads li{margin-top:4px}
.sim-start{grid-column:1/-1;border:2px solid var(--accent)}
.sim-start>.eyebrow{color:var(--accent);margin-bottom:4px}
/* A very low score: a calm pointer to where to start, above the next step's other lines. */
.low-score{padding:12px 16px;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;margin-bottom:16px}
.result-next>.actions{margin:4px 0 20px}
/* Guides: who wrote the page and when it last changed, under the h1 (the same date as the Article JSON-LD). */
.hero .byline{margin:0 0 16px;gap:2px 20px;font-size:16px;color:var(--muted)}
.hero .byline a{color:var(--accent)}
/* The first screen on a phone (SEO I3): the hero sits right under the breadcrumb, so the answer and its buttons are in
   view at 390 x 844 without scrolling. */
.block.hero{margin-top:0}
@media(max-width:600px){.block.hero{padding-top:8px}[data-page-type=home] .block.hero{padding-top:24px}.hero h1{margin:6px 0 12px}.hero .actions{margin-top:20px}}
/* Guides: an equation never breaks across lines; its variables are an italic serif, so l, I and 1 look different (the
   .var rule above). Drill answers open from "Show answers" (works without JavaScript). */
.eq{white-space:nowrap;font-variant-numeric:tabular-nums}
.eq .var{font-size:1.06em}
.drill-answers{margin-top:14px;border-top:1px solid var(--line);padding-top:4px}
.drill-answers>summary{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:700;color:var(--accent);cursor:pointer;list-style:none}
.drill-answers>summary::-webkit-details-marker{display:none}
.drill-answers>summary::before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid var(--accent);border-radius:50%;line-height:1}
.drill-answers[open]>summary::before{content:"\2212"}
.drill-answers>ol{margin:6px 0 0}
/* Phones: the Free / Full prep table gives its first column the room (buyer M9), so rows read as lines, not word piles. */
@media(max-width:600px){
  .compare{font-size:16px}
  .compare th,.compare td{padding:10px 4px}
  .compare td,.compare thead th:not(:first-child){width:4.4em;text-align:center}
  .compare th[scope=row]{padding-right:10px;overflow-wrap:normal;hyphens:manual}
}
