/* Wais Driver: identity. A reviewer for a first-time or renewing driver on a low-cost Android phone
   and a slow connection: system fonts only (no font download), flat colours, no blur, no moving
   backgrounds, big tap targets. Colors: deep teal, lane-marking yellow, warm paper. */
:root{
  --paper:#f7f5ec;--white:#ffffff;--ink:#0d1b2a;--muted:#4a5568;--line:#d5dbe6;--radius:14px;
  --x-deep:#123b3d;--x-deeper:#0c2d2f;--x-tint:#e7eee7;--x-shadow:0 2px 0 rgb(13 27 42/.08);
  /* Meanings, not palette: a judged answer is green when right and red when wrong, on every page. */
  --right:#17803f;--right-ink:#135f31;--right-tint:#e8f5ed;--wrong:#b1432b;--wrong-ink:#8f2f1a;--wrong-tint:#fcece4;
}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;font-size:17px}
h1,h2,h3{font-weight:800;letter-spacing:-.02em}
.x-hero h1{font-size:clamp(34px,8.6vw,64px);font-weight:800;letter-spacing:-.025em;line-height:1.05}
h2{font-size:clamp(28px,5.2vw,44px)}
/* Nothing that costs frames on a slow phone */
.x-hero-bg,.x-glow::before{display:none}
.site-header,.home-page .site-header,.x-sticky,.button.x-ghost{backdrop-filter:none;-webkit-backdrop-filter:none}
.x-demo{transform:none!important;transition:none;box-shadow:0 0 0 3px var(--orange)}
.js .x-reveal{opacity:1;transform:none}
.x-feature:hover,.e-card:hover,.button.primary:hover,.b-chip:hover:not(:disabled),.quiz-option:hover:not(:disabled){transform:none;box-shadow:none}
/* Hero: flat sign blue with a lane line */
.x-hero{background:var(--x-deep);padding-block:28px 44px}
.x-hero::before{background-image:repeating-linear-gradient(90deg,var(--orange) 0 34px,transparent 34px 68px);background-size:68px 5px;background-repeat:repeat-x;background-position:0 100%;-webkit-mask-image:none;mask-image:none}
.home-page .site-header{background:var(--x-deeper)}
.x-eyebrow{display:inline-block;padding:5px 10px;border-radius:99px;background:var(--orange);color:var(--ink);font-weight:800;letter-spacing:.04em}
.x-eyebrow .small-square{display:none}
.button{border-radius:14px;min-height:54px;font-size:16px}
.button.primary{color:var(--ink);font-weight:800;box-shadow:0 4px 0 #c9a200}
.x-hero .button.primary{box-shadow:0 4px 0 #c9a200}
.button.primary:active{transform:translateY(3px);box-shadow:0 1px 0 #c9a200}
.x-hero-promise a{background:rgb(255 255 255/.12);border-color:rgb(255 255 255/.3)}
.x-trust li::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:var(--orange)}
/* Cards: white plates with a clear edge instead of shadows */
.x-demo,.x-price-card,.x-feature,.e-card,.x-test,.b-block,.quiz-stage,.g-steps li,.x-objection,.x-window,.a-player{border:2px solid var(--line);box-shadow:none}
.x-demo-option,.quiz-option,.b-chip,.b-action{border-width:2px;min-height:54px;font-size:16px}
.x-demo-letter{border-radius:50%;background:var(--x-deep);color:#fff}
.x-stats{background:var(--orange);color:var(--ink)}
.x-stats span{color:rgb(13 27 42/.8)}
.x-stats-grid>div{border-left-color:rgb(13 27 42/.2)}
.section-label{color:var(--x-deep);font-weight:800;font-size:12px}
.x-pricing{background:var(--x-deep)}
.x-pricing .section-label{color:var(--orange)}
.x-guarantee{background:#fff8d6}
.x-seal{background:var(--x-deep)}
.g-steps b,.x-steps b{background:var(--x-deep)}
.source-quote{background:#fff8d6;border-left-color:var(--orange)}
.x-sticky{background:var(--x-deeper)}
.site-footer{background:var(--x-deeper);color:#fff}
.site-footer p,.site-footer a,.site-footer span{color:rgb(255 255 255/.82)}
@media(max-width:640px){
  .section-wrap{width:calc(100% - 32px)}
  .x-hero-sub{font-size:16px;margin-top:12px}
  .x-hero .hero-actions{margin-top:18px}
  .x-why,.x-features,.x-curriculum,.x-faq,.x-try,.x-tests,.x-guarantee,.x-objections,.x-pricing,.x-tour-band{padding-block:40px}
}
.language-switch{display:flex;align-items:center;gap:4px}.language-switch select{font:inherit;font-size:13px;border:1px solid currentColor;border-radius:6px;padding:6px;background:#fff;color:#123b3d;min-height:40px;max-width:86px}.language-switch button{font:inherit;font-size:12px;color:inherit;border:1px solid currentColor;border-radius:6px;background:none;min-height:40px;min-width:36px;cursor:pointer}
@media(max-width:640px){.site-header{gap:8px}.site-header nav{gap:8px}.language-switch select{max-width:76px}.site-header .brand{white-space:nowrap}.site-header .nav-curriculum{display:none}}
@media(max-width:640px){.site-header:has(.language-switch) nav>a[href="/access"]{display:none}.site-header:has(.language-switch) .nav-try{display:none}}

.language-switch button{background:#f7f5ec;color:#123b3d;border:1px solid #d9dfd9;min-width:44px;min-height:44px}.language-switch select{min-height:44px}

.lesson-source-details{margin:18px 0;border-top:1px solid var(--line)}.lesson-source-details summary{padding:12px 0;min-height:44px;font-size:14px;font-weight:700;cursor:pointer}.lesson-source-details cite{display:block;margin-top:10px;font-size:12px}.source-quote cite{display:block;margin-top:10px}
/* Guarantee cards are shared by public terms, landing and the paid workspace. */
.g-steps{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;max-width:100%;padding:0;margin:0;list-style:none;box-sizing:border-box}.g-steps>li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;min-width:0;margin:0;padding:20px;box-sizing:border-box;border:1px solid #d5dbe6;border-radius:18px;background:white}.g-steps>li::before,.g-steps>li::after,.g-steps>li>b::before,.g-steps>li>b::after{content:none!important;display:none!important}.g-steps>li>b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#1859b7;color:white;font-size:16px;line-height:1}.g-steps>li>div{min-width:0}.g-steps strong{display:block;font-size:17px;line-height:1.35;color:#142c4b}.g-steps span{display:block;margin-top:8px;font-size:14px;line-height:1.6;color:#4d5d72;overflow-wrap:anywhere}
.language-switch{display:flex;gap:2px;padding:3px;border:1px solid #d5deea;border-radius:99px;background:#eef3fc}.site-header .language-switch a{display:grid;place-items:center;min-height:36px;padding:0 11px;border:0;border-radius:99px;color:#294565;font-size:12px;font-weight:700;text-decoration:none}.site-header .language-switch a[aria-current=page]{background:#1859b7;color:white}.site-header .language-switch a:focus-visible{outline:3px solid #ffbe23;outline-offset:2px}
.sources-page{padding-block:42px;max-width:900px}.sources-page section{padding:22px 0;border-bottom:1px solid #d5deea}.sources-page h2{font-size:24px}.sources-page p{line-height:1.7}.sources-page .source-quote{margin:18px 0;padding:16px;font-size:15px}.sources-page cite{font-style:normal;font-size:12px}

.home-page .site-header .language-switch a{color:#294565}.home-page .site-header .language-switch a[aria-current=page]{color:#fff}.home-page .site-header .brand,.home-page .site-header nav>a{color:#182b4a}

/* Compact question workspace, including the free sample. */
.practice-page .section-wrap{width:min(1100px,calc(100% - 48px))}.practice-page .practice-intro{padding:30px 0 22px;display:grid;grid-template-columns:1fr auto;gap:8px 24px;align-items:center}.practice-intro .eyebrow,.practice-intro h1,.practice-intro>p{grid-column:1;margin:0!important;max-width:650px}.practice-page .practice-intro h1{font-size:32px;line-height:1.15}.practice-intro>p{font-size:14px!important}.practice-intro #save-offline{grid-column:2;grid-row:1/3;font-size:12px;padding:11px 15px;min-height:44px}.practice-intro #save-offline-status{grid-column:2;grid-row:3;max-width:270px;font-size:11px!important}.practice-intro .hero-actions{grid-column:1/-1;margin:0}.practice-intro .hero-actions a{padding:0;min-height:30px;background:none;border:0;box-shadow:none;font-size:12px}.practice-page .practice-layout{grid-template-columns:145px minmax(0,1fr);gap:24px;margin-bottom:40px}.practice-page .practice-sidebar{position:sticky;top:90px;padding-top:12px}.practice-progress strong{font-size:28px}.practice-page .practice-sidebar .sound-toggle{margin-top:16px;font-size:10px;padding:9px}.practice-sidebar #sample-restart{display:block;margin-top:12px}.practice-page #sample-clock{display:none!important}.practice-page .quiz-stage{padding:22px;border-radius:16px;min-height:0;box-shadow:none;scroll-margin-top:95px}.practice-page .quiz-meta{margin-bottom:12px}.practice-page .quiz-prompt,.study-page .quiz-prompt{font-size:21px;line-height:1.35;margin-bottom:16px}.practice-page .quiz-options,.study-page .quiz-options{gap:7px}.practice-page .quiz-option,.study-page .quiz-option{padding:10px 13px;min-height:46px;font-size:14px;gap:12px;border-width:1px;border-radius:10px}.practice-page .answer-feedback,.study-page .answer-feedback{padding:15px 18px;margin-top:16px;border-radius:10px}.practice-page .answer-feedback h3,.study-page .answer-feedback h3{font-size:17px;line-height:1.35;margin-bottom:10px}.practice-page .solution-steps,.study-page .answer-feedback .solution-steps{font-size:13px;line-height:1.5;gap:6px;margin:0;padding-left:20px}.practice-page .answer-feedback .solution-steps p,.study-page .answer-feedback .solution-steps p{font-size:13px;line-height:1.5;margin:0}.practice-page .source-quote,.study-page .answer-feedback .source-quote{margin:12px 0 0;padding:9px 12px;background:#fff9ec;border-left:2px solid #dcaa42;font-size:12px;line-height:1.5}.practice-page .source-quote span,.study-page .source-quote span{display:inline;font-size:10px;font-weight:800;margin-right:8px;color:#866125}.practice-page .report-problem,.study-page .report-problem{margin:8px 0 0!important;font-size:11px!important;line-height:1.3!important}.practice-page .quiz-controls,.study-page .quiz-controls{margin-top:16px;gap:10px}.practice-page .quiz-controls .button{padding:11px 18px;min-height:44px;font-size:13px}.practice-page .road-scene{max-width:460px;margin-inline:auto}.practice-page .site-header{padding-block:13px;min-height:68px}.practice-page .site-header .brand img{width:30px;height:30px}.practice-page .site-header .brand{font-size:23px}
@media(max-width:760px){.practice-page .section-wrap{width:calc(100% - 28px)}.practice-page .practice-intro{display:block;padding:20px 0 16px}.practice-page .practice-intro h1{font-size:28px;margin:8px 0!important}.practice-intro #save-offline{margin-top:12px}.practice-intro #save-offline-status{margin-top:6px!important}.practice-intro .hero-actions{margin-top:8px}.practice-page .practice-layout{display:block}.practice-page .practice-sidebar{position:static;display:flex;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.practice-sidebar>.section-label{display:none}.practice-page .practice-progress{flex:1}.practice-progress strong{font-size:23px}.practice-progress>span{font-size:10px}.practice-page .practice-sidebar .sound-toggle,.practice-sidebar #sample-restart{margin:0}.practice-page .quiz-stage{padding:16px;scroll-margin-top:90px}.practice-page .quiz-prompt,.study-page .quiz-prompt{font-size:18px}.practice-page .quiz-option,.study-page .quiz-option{font-size:14px;min-height:46px}.practice-page .answer-feedback,.study-page .answer-feedback{padding:13px}.practice-page .site-header .brand{font-size:18px}.practice-page .site-header .brand img{width:27px;height:27px}}
.practice-page .site-header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.practice-page .quiz-prompt{scroll-margin-top:95px}
@media(min-width:1000px){.practice-page #practice-app:has(.road-scene){display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);column-gap:24px}.practice-page #practice-app:has(.road-scene)>.quiz-meta{grid-column:1/-1}.practice-page #practice-app:has(.road-scene)>.road-scene{grid-column:1;grid-row:2/4;width:100%;align-self:center}.practice-page #practice-app:has(.road-scene)>.quiz-prompt{grid-column:2;grid-row:2;font-size:18px}.practice-page #practice-app:has(.road-scene)>.quiz-options{grid-column:2;grid-row:3}.practice-page #practice-app:has(.road-scene)>.answer-feedback,.practice-page #practice-app:has(.road-scene)>.quiz-controls{grid-column:1/-1}}
/* The document already reserves 96px for the header; don't reserve it twice. */
.practice-page .quiz-stage,.practice-page .quiz-prompt{scroll-margin-top:0}

/* Supervisor: readable footer, opaque study chrome and usable touch targets. */
body .site-header{background:#fff!important;backdrop-filter:none}body .site-footer{background:#102b46;color:#fff;padding-bottom:32px}body .site-footer p,body .site-footer a,body .site-footer span,body .site-footer .brand{color:#eef5ff;font-size:13px}body .site-footer a{display:inline-flex;align-items:center;min-height:44px}body .language-switch a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}body .sound-toggle,body .text-button{min-height:44px}body .mock-question-nav button{min-width:44px;min-height:44px}.study-content>.quiz-meta:has(#mock-timer){position:sticky;top:76px;z-index:12;background:#fff;padding:12px;border-bottom:1px solid #ccd8e5}.sample-complete .practice-intro,.sample-complete .practice-sidebar{display:none}.sample-complete .practice-layout{display:block;max-width:720px;padding-top:24px}.sample-result h2{font-size:44px;margin:8px 0}.sample-result h2 span{font-size:20px}.sample-result h3{font-size:16px;margin:18px 0 10px}.result-priorities{padding:0;list-style:none;margin:0 0 20px}.result-priorities li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #dde5ed;padding:10px 0}.result-priorities li strong{flex:none;white-space:nowrap}.x-result-buy .button{width:100%;justify-content:center}.x-result-buy p{font-size:13px;line-height:1.5}.result-email{margin-top:24px;border-top:1px solid #dde5ed;padding-top:18px}.x-report-row{display:flex;flex-wrap:wrap;gap:10px}.x-report-row input{flex:1;min-width:180px;padding:12px;border:1px solid #8b9cac;border-radius:8px;min-height:44px}.x-check{display:flex;align-items:flex-start;gap:12px;margin-top:16px;font-size:14px;line-height:1.5}.x-check input{width:22px;height:22px;flex:none;margin:0}.x-report h3{font-size:18px}
@media(max-width:760px){.sample-complete .quiz-stage{padding:20px}.sample-result h2{font-size:36px}.sample-result .result-priorities li{font-size:14px;padding:8px 0}.site-header{min-height:72px}}

body .site-header .language-switch a{min-height:44px!important;height:auto!important}body .sound-toggle{min-height:44px!important}

.question-visual{margin:12px 0 18px;background:#e8f2fd;border-radius:14px;overflow:hidden}.question-visual img{display:block;width:100%;max-height:200px;object-fit:contain}.road-game-card{padding:22px;border:2px solid #182b4a;border-radius:20px;background:#fff;box-shadow:7px 8px 0 #dce9fa}.road-game-card h3{font-size:18px;line-height:1.4;margin:12px 0}.road-game-card .quiz-options{gap:8px}.road-game-card .quiz-option{padding:12px;font-size:14px;min-height:44px}.road-game-card .quiz-option>span:first-child{flex:none}.road-game-card .answer-feedback{padding:16px;font-size:14px}.road-game-card .answer-feedback h3{font-size:17px}.road-game-card .button{width:100%;margin-top:14px}.road-game-status{font-size:12px;font-weight:750;color:#31587f}.road-game-card .explanation-steps{font-size:14px}
.question-visual img{height:auto}.pasado-home .road-game-card h3{font-size:18px;line-height:1.4;letter-spacing:-.02em}.road-game-card .question-visual img{max-height:150px}

/* Checkout fields are sized for phone touch and never clip the entered address. */
#omise-checkout{max-width:560px;display:grid;gap:12px}
#omise-checkout>input[type=email],#omise-checkout>select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit}
#omise-checkout>p{margin:0 0 8px;font-size:14px}
#omise-checkout>.x-check{display:flex;align-items:flex-start;gap:10px;font-size:14px}
#omise-checkout input[type=checkbox]{flex:0 0 22px;width:22px;height:22px}
#practice-app{scroll-margin-top:90px}

.result-email .x-report{margin:0;padding:0;border:0;background:none}
.result-email .x-report h3{font-size:17px;margin:0 0 8px}
.result-email .x-report p{font-size:13px;margin:0 0 12px}
.result-email .x-report-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.result-email .x-report-row input{min-width:0;width:100%;font:inherit;font-size:16px}
.result-email .x-report-row .button{font-size:13px;padding:10px 12px;min-height:44px;box-shadow:none}

@media(max-width:760px){.result-email .x-report-row{grid-template-columns:minmax(0,1fr)}.result-email .x-report-row .button{width:100%;justify-content:center}}

body .x-report-status.is-ok{color:#163a28;background:#e8f5ed;border:2px solid #2c7048;border-radius:10px;padding:14px;font-size:16px;font-weight:600}

.road-verdict{border-left:5px solid #17803f;background:#e8f5ed;padding:16px;border-radius:10px}.road-verdict.is-wrong{border-color:#b1432b;background:#fcece4}.road-verdict h3{font-size:18px}

/* Launch round, 8 October 2026: the exercise first, its tools below; result spacing; narrow headings. */
.practice-page .practice-intro{display:block;padding:18px 0 10px}.practice-page .practice-intro h1{font-size:26px;margin:0!important}
.practice-page .practice-layout{margin-bottom:14px}.practice-tools{display:grid;gap:10px;justify-items:start;padding:0 0 40px}.practice-tools-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.practice-tools-row .sound-toggle,.practice-tools-row .text-button{margin:0}.practice-tools #save-offline{font-size:13px;padding:11px 15px;min-height:44px;margin:0}.practice-tools #save-offline-status{margin:0!important;max-width:420px;font-size:12px!important}
.x-result-buy p{margin:12px 0 0}.result-inside{display:inline-flex;align-items:center;min-height:44px;margin-top:6px}.sample-result.is-closed .result-email{margin-top:6px}.result-email .x-report>p:has(a){margin-top:12px}.sample-result #sample-review{display:block}
@media(max-width:760px){.practice-page .practice-intro{padding:12px 0 6px}.practice-page .practice-intro h1{font-size:22px}.practice-page .practice-sidebar{margin-bottom:8px}.practice-page .practice-progress strong,.practice-page .practice-progress>span:not(.x-clock){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.practice-page .quiz-stage{padding:14px}.practice-page .quiz-meta{margin-bottom:8px}.practice-page .question-visual{margin:6px 0 10px}.practice-page .question-visual img{max-height:120px}.practice-page .road-scene svg{max-height:170px}.practice-page .quiz-prompt{margin-bottom:12px}
.legal-page h1,.message-page h1,.access-page h1,.sources-page h1{font-size:clamp(2rem,8vw,3.1875rem);overflow-wrap:anywhere;max-width:100%}}
/* The way into the reviewer stands clear of the sentence above it (it touched it). */
.access-page>div>.button{margin-top:22px}
.practice-page .site-header>a{display:inline-flex;align-items:center;min-height:44px}
body.sample-complete .practice-intro{display:none}

/* One identity (launch round of 8 October 2026, its own commit: colours, buttons and spacing only).
   Every page takes the home page's navy ink, pale blue ground and blue action button. Yellow stays
   the accent (progress, highlights, the language switch's focus). Dropping this block restores the
   earlier look; nothing else depends on it. */
body:not(.pasado-home){--paper:#f4f8ff;--ink:#182b4a;--line:#d3deee;--x-tint:#e6effc;--pale-green:#e6effc;background:#f4f8ff;color:#182b4a}
body:not(.pasado-home) .button.primary,body:not(.pasado-home) .site-header .nav-try{background:#1758d8;border-color:#1758d8;color:#fff;border-radius:12px;box-shadow:0 4px 0 #0b3890}
body:not(.pasado-home) .button.primary:hover,body:not(.pasado-home) .site-header .nav-try:hover{background:#1450c4;color:#fff}
body:not(.pasado-home) .button.primary:active{box-shadow:0 1px 0 #0b3890}
body:not(.pasado-home) .button.primary:disabled,body:not(.pasado-home) .button.primary[disabled]{background:#cfdbee;color:#52627a;box-shadow:none}
body:not(.pasado-home) .eyebrow,body:not(.pasado-home) .section-label{color:#285a9b}
body:not(.pasado-home) .muted-ink{color:#6d7f99}
.practice-page:not(.study-page) .quiz-stage{border:2px solid #182b4a;box-shadow:6px 7px 0 #dce9fa}

/* Judged answers (launch round of 8 October 2026). The right answer is green and a wrong pick is red wherever
   an answer is judged: free practice, the junction demo, the course's practice, the mock and CDE reviews and
   the hands-on exercises. These rules use --right and --wrong only, never --green (the brand blue),
   --pale-green or --x-tint, so a change of palette cannot recolour them. Every state also carries a tick,
   a cross or a word, so it does not depend on colour. */
.quiz-option.correct,.x-demo-option.is-right,.x-mini-options .is-right,.hero-options button.correct,.preview-options button.correct,.b-action.is-right,.b-chip.is-done,.b-match .b-chip.is-done{border-color:var(--right);background:var(--right-tint);box-shadow:inset 0 0 0 1px var(--right);color:var(--ink)}
.quiz-option.wrong,.x-demo-option.is-wrong,.hero-options button.incorrect,.preview-options button.incorrect,.b-action.is-wrong,.b-chip.is-wrong{border-color:var(--wrong);background:var(--wrong-tint);box-shadow:inset 0 0 0 1px var(--wrong);color:var(--ink)}
.quiz-option.correct::after,.quiz-option.wrong::after,.x-demo-option.is-right::after,.x-demo-option.is-wrong::after,.b-action.is-right::after,.b-action.is-wrong::after{flex:none;margin-left:auto;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:14px;font-weight:700;line-height:1}
.quiz-option.correct::after,.x-demo-option.is-right::after,.b-action.is-right::after{content:"✓";background:var(--right)}
.quiz-option.wrong::after,.x-demo-option.is-wrong::after,.b-action.is-wrong::after{content:"✕";background:var(--wrong)}
.quiz-option.correct>span:first-child,.x-demo-option.is-right .x-demo-letter,.x-mini-options .is-right b{background:var(--right);border-color:var(--right);color:#fff}
.quiz-option.wrong>span:first-child,.x-demo-option.is-wrong .x-demo-letter{background:var(--wrong);border-color:var(--wrong);color:#fff}
.b-status.is-right,.b-feedback.is-right,.answer-feedback.is-correct{border-color:var(--right);border-left-color:var(--right);background:var(--right-tint)}
.b-status.is-wrong{border-color:var(--wrong);background:var(--wrong-tint)}
.b-status.is-right::before,.b-match .b-chip.is-done::after,.b-pin.is-found i{background:var(--right);border-color:var(--right)}
.b-status.is-wrong::before{background:var(--wrong)}
.b-status.is-right strong,.answer-feedback.is-correct h3{color:var(--right-ink)}
.b-status.is-wrong strong{color:var(--wrong-ink)}
.answer-feedback.is-correct .feedback-icon{background:var(--right);color:#fff}
.is-pass,.e-mark.is-right,.e-yours.is-right{background:var(--right-tint);color:var(--right-ink)}
.is-fail,.e-mark.is-wrong,.e-yours.is-wrong{background:var(--wrong-tint);color:var(--wrong-ink)}
.e-result.is-pass,.e-result.is-fail{background:none}.e-result.is-pass .x-ring-value{stroke:var(--right)}.e-result.is-fail .x-ring-value{stroke:var(--wrong)}
.b-action.is-right,.b-action.is-wrong{display:flex;align-items:center;gap:10px}
.e-mark{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-weight:800;white-space:nowrap}
.e-yours{margin:10px 0;padding:8px 12px;border-radius:8px;border-left:4px solid currentColor}.e-yours>span{color:var(--ink)}
details .e-correct{margin-top:14px;color:var(--right-ink)}

/* Dark grounds (launch round of 8 October 2026). On a dark band the main action is the yellow form and the
   second action the white outline; a blue button on navy disappears. One list of dark grounds; a new dark
   area joins the list instead of getting its own override. */
:is(.x-welcome,.x-flash.is-ok,.site-footer,.film-failed,.b-lock:not(.is-done),.x-audio-band,.x-sticky) .button.primary{background:#ffd339;border-color:#ffd339;color:#112c46;box-shadow:0 4px 0 #c9a200}
:is(.x-welcome,.x-flash.is-ok,.site-footer,.film-failed,.b-lock:not(.is-done),.x-audio-band,.x-sticky) .button.primary:hover{background:#f2c41f;color:#112c46}
:is(.x-welcome,.x-flash.is-ok,.site-footer,.film-failed,.b-lock:not(.is-done),.x-audio-band,.x-sticky) .button.primary:active{box-shadow:0 1px 0 #c9a200}
:is(.x-welcome,.x-flash.is-ok,.site-footer,.film-failed,.b-lock:not(.is-done),.x-audio-band,.x-sticky) .button.secondary{background:transparent;border:2px solid #fff;color:#fff}

/* One identity, second part (ticket 4, 9 October 2026): the parts of a question that free practice and the
   paid course share lose the last colours of the earlier palette. An answer option is the home page's:
   pale ground, the letter in a ring; a chosen option is blue. The explanation after a wrong answer takes the
   wrong tint, as on the home page's question. :where() keeps these below the judged states above. */
:where(body:not(.pasado-home)) .quiz-option{border-color:#cad7eb;background:#f8fbff}
:where(body:not(.pasado-home)) .quiz-option>span:first-child{flex:none;min-width:25px;height:25px;line-height:23px;border-radius:50%;border-color:#b9c9df;background:#fff;color:#1758d8;font-weight:800}
:where(body:not(.pasado-home)) .quiz-option:hover:not(:disabled){border-color:#1758d8;background:#eaf3ff}
:where(body:not(.pasado-home)) .quiz-option.selected{border-color:#1758d8;background:#eaf3ff;box-shadow:inset 0 0 0 1px #1758d8}
:where(body:not(.pasado-home)) .quiz-option.selected>span:first-child{border-color:#1758d8;background:#1758d8;color:#fff}
:where(body:not(.pasado-home)) .answer-feedback{border-color:#d3deee;border-left-color:#1758d8;background:#eaf3ff}
:where(body:not(.pasado-home)) .answer-feedback h3{color:#0b3d91}
:where(body:not(.pasado-home)) .feedback-icon{background:#dce9fa}
.answer-feedback.is-retry{border-color:var(--wrong);border-left-color:var(--wrong);background:var(--wrong-tint)}
.answer-feedback.is-retry h3{color:var(--wrong-ink)}
.answer-feedback.is-retry .feedback-icon{background:var(--wrong);color:#fff}
.answer-feedback.is-retry .solution-steps>li::marker{color:var(--wrong-ink)}
.answer-feedback.is-correct .solution-steps>li::marker{color:var(--right-ink)}
body:not(.pasado-home) .sound-toggle{border-color:#ccd8e7;background:#fff;color:#182b4a}
/* Sound is on from the start: its switch stays quiet beside the real actions, with a blue edge for "on". */
body:not(.pasado-home) .sound-toggle[aria-pressed=true]{border-color:#1758d8;background:#fff;color:#182b4a}
.test-banner{border-bottom-color:#f5e4a4;background:#fff5cd;color:#182b4a}
/* The privacy choice is a second action like any other on the site. */
.button.button-outline{border:1px solid #b9c9df;background:#fff;color:#182b4a;cursor:pointer}
.button.button-outline:hover{border-color:#182b4a}
/* The main action while it waits for a choice: plainly off, and still readable (5.5 on its ground). */
body:not(.pasado-home) .button.primary:disabled,body:not(.pasado-home) .button.primary[disabled],
body:not(.pasado-home) .button.primary:disabled:hover{opacity:1;background:#cfdbee;border-color:#cfdbee;color:#45546b;box-shadow:none;transform:none}

/* Final review, 10 October 2026: what a first-time reader noticed on the public pages. */
/* The tools under a finished free practice stand in the result's column. */
body.sample-complete .practice-tools{max-width:720px}
/* The sources page has the head and the paragraph spacing of the other text pages. */
.sources-page.legal-page{max-width:900px;padding-block:80px 100px}.sources-page p+p{margin-top:12px}.sources-page section>p{margin-top:12px}.sources-page section>h2{margin-top:0}
@media(max-width:540px){.sources-page.legal-page{padding-block:50px 70px}}
/* The header keeps its three links on one line down to tablet width. */
@media(max-width:1100px){.site-header nav{gap:18px}}
/* Offline practice: the practice page's card, alone in its column, with its tools below. */
.offline-page .practice-layout{display:block;max-width:760px}.offline-page .practice-intro,.offline-page .practice-tools{max-width:760px}.offline-page .practice-intro .eyebrow{margin-bottom:6px!important}
.offline-page .site-header nav a{font-weight:700}.offline-page .practice-tools-row .text-button{margin:0}
/* The report by email: the address, then the tips box, then the button. */
.result-email .x-report-row{grid-template-columns:minmax(0,1fr)}
.result-email .x-report-send{margin-top:10px;padding:10px 16px;min-height:44px;font-size:13px;box-shadow:none}
@media(max-width:760px){.result-email .x-report-send{width:100%;justify-content:center}}
