/* PTE's shared visual language, aligned with the DET sage / cream palette.
   Keep legacy renderer aliases here so task-specific markup uses one theme. */
html[data-pte-theme] {
    --pte-bg: #f7f4ef;
    --pte-surface: #fefefe;
    --pte-surface-soft: #f0f2ed;
    --pte-border: #e5e3da;
    --pte-text: #1a211c;
    --pte-text-secondary: #4e5b52;
    --pte-text-muted: #5f6a61;
    --pte-sage: #5c6f5c;
    --pte-sage-hover: #485b49;
    --pte-sage-soft: #e7ede5;
    --pte-sage-border: #c5d2c1;
    --pte-primary-fill: #5c6f5c;
    --pte-on-primary: #ffffff;
    --pte-focus-ring: #5c7c5d;
    --pte-hero-bg: #eaf0e7;
    --pte-shadow: 0 2px 8px rgba(26, 33, 28, .035);
    --pte-positive: #42704e;
    --pte-positive-bg: #eaf2e8;
    --pte-negative: #a44839;
    --pte-negative-bg: #fbede8;
    --pte-warning: #88612d;
    --pte-warning-bg: #faf1e2;
    --pte-font: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color-scheme: light !important;
}

html[data-pte-theme="dark"] {
    --pte-bg: #101512;
    --pte-surface: #19211c;
    --pte-surface-soft: #202a24;
    --pte-border: #334039;
    --pte-text: #edf1ec;
    --pte-text-secondary: #c1cbc3;
    --pte-text-muted: #9caaa0;
    --pte-sage: #a9c5a0;
    --pte-sage-hover: #c2d8ba;
    --pte-sage-soft: #29392c;
    --pte-sage-border: #4d6550;
    --pte-primary-fill: #a9c5a0;
    --pte-on-primary: #17251b;
    --pte-focus-ring: #a9c5a0;
    --pte-hero-bg: #202e24;
    --pte-shadow: 0 2px 8px rgba(0, 0, 0, .12);
    --pte-positive: #b1d6a9;
    --pte-positive-bg: #263b2a;
    --pte-negative: #efb3a5;
    --pte-negative-bg: #3c2825;
    --pte-warning: #e1c394;
    --pte-warning-bg: #352f23;
    color-scheme: dark !important;
}

/* The older pages and task renderers use these names. */
html[data-pte-theme],
html[data-pte-theme] .pte-mock-exam {
    --green: var(--pte-sage);
    --green-2: var(--pte-sage-hover);
    --green-3: var(--pte-sage);
    --lime: var(--pte-sage-soft);
    --lime-deep: var(--pte-sage-border);
    --cream: var(--pte-bg);
    --paper: var(--pte-surface);
    --ink: var(--pte-text);
    --ink-2: var(--pte-text-secondary);
    --ink-3: var(--pte-text-muted);
    --hair: var(--pte-border);
    --wash: var(--pte-surface-soft);
    --bar: var(--pte-surface-soft);
    --focus: var(--pte-focus-ring);
    --danger: var(--pte-negative);
    --pte-ink: var(--pte-text);
    --pte-ink-2: var(--pte-text-secondary);
    --pte-ink-3: var(--pte-text-muted);
    --pte-muted: var(--pte-text-muted);
    --pte-line: var(--pte-border);
    --pte-hair: var(--pte-border);
    --pte-paper: var(--pte-surface);
    --pte-card: var(--pte-surface);
    --pte-soft: var(--pte-surface-soft);
    --pte-green: var(--pte-sage);
    --pte-green-2: var(--pte-sage-hover);
    --pte-green-3: var(--pte-sage-hover);
    --pte-green-soft: var(--pte-sage-soft);
    --pte-lime: var(--pte-sage-soft);
    --pte-lime-deep: var(--pte-sage-border);
    --pte-cream: var(--pte-bg);
    --pte-amber: var(--pte-warning);
    --pte-red: var(--pte-negative);
    --pte-guide-green: var(--pte-sage);
    --pte-guide-green-dark: var(--pte-sage-hover);
    --pte-guide-lime: var(--pte-sage-soft);
    --pte-guide-cream: var(--pte-bg);
    --pte-guide-paper: var(--pte-surface);
    --pte-guide-ink: var(--pte-text);
    --pte-guide-muted: var(--pte-text-secondary);
    --pte-guide-faint: var(--pte-text-muted);
    --pte-guide-border: var(--pte-border);
}

html[data-pte-theme], html[data-pte-theme] body {
    background: var(--pte-bg) !important;
    color: var(--pte-text) !important;
}
html[data-pte-theme] body { font-family: var(--pte-font); }
html[data-pte-theme] :is(button, input, textarea, select) { font-family: inherit; }
/* Override the shared Practice Hub's legacy dark form colours. */
html[data-pte-theme] body :is(textarea, input[type="text"]) {
    background: var(--pte-surface) !important;
    border-color: var(--pte-border) !important;
    color: var(--pte-text) !important;
}
html[data-pte-theme] body :is(textarea, input)::placeholder { color: var(--pte-text-muted) !important; opacity: 1; }
html[data-pte-theme] :is(a, button, input, select, textarea, summary):focus,
html[data-pte-theme] :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--pte-focus-ring);
    outline-offset: 3px;
}
html[data-pte-theme] ::selection { background: var(--pte-sage-soft); color: var(--pte-text); }

/* Navigation, menus and a persistent theme control. */
.pte-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    padding: 0;
    margin-inline: 6px;
    border: 1px solid var(--pte-border);
    border-radius: 50%;
    background: var(--pte-surface);
    color: var(--pte-sage);
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease;
}
.pte-theme-toggle:hover { background: var(--pte-sage-soft); border-color: var(--pte-sage-border); }
html[data-pte-theme="dark"] :is(.pte-nav-logo, .pte-logo-lozenge) img { filter: brightness(0) invert(1); }
.pte-theme-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pte-theme-sun, html[data-pte-theme="dark"] .pte-theme-moon { display: none; }
html[data-pte-theme="dark"] .pte-theme-sun { display: block; }

/* Practice library and task chrome. The exercise layouts stay task-specific. */
html[data-pte-theme] .pte-shell { font-family: var(--pte-font); background: var(--pte-bg); }
html[data-pte-theme] :is(.pte-eyebrow, .pte-overview-label, .pte-card-badge, .pte-card-status, .pte-card-meta, .pte-filter-btn, .pte-sidebar-label, .pte-sidebar-subsection, .pte-detail-pill, .pte-detail-label, .pte-meta-label, .pte-btn) { font-family: var(--pte-font); }
html[data-pte-theme] .pte-hub-sidebar { background: var(--pte-surface); top: 64px; height: calc(100dvh - 64px); padding: 28px 14px; }
html[data-pte-theme] .pte-sidebar-label { font-size: 10px; font-weight: 500; letter-spacing: .13em; }
html[data-pte-theme] .pte-sidebar-tab { border-radius: 8px; font-size: .8rem; font-weight: 500; margin-bottom: 5px; }
html[data-pte-theme] :is(.pte-sidebar-tab.active, .pte-sidebar-tab:hover, .pte-sidebar-subsection.active) { background: var(--pte-sage-soft); border-color: transparent; color: var(--pte-sage); }
html[data-pte-theme] .pte-sidebar-subsection { font-size: .7rem; font-weight: 400; }
html[data-pte-theme] .pte-hub-main { background: var(--pte-bg); padding: 36px clamp(20px, 3vw, 48px) 48px; }
html[data-pte-theme] .pte-header h1 { font: 400 clamp(2.5rem, 4vw, 3.6rem)/1.1 'Instrument Serif', Georgia, serif; letter-spacing: -.025em; }
html[data-pte-theme] .pte-header p { max-width: 720px; color: var(--pte-text-muted); font-size: .85rem; line-height: 1.7; }
html[data-pte-theme] :is(.pte-search-input, .pte-filter-btn, .pte-status-filters) { border-radius: 8px; }
html[data-pte-theme] .pte-search-input { background: var(--pte-surface); font-size: .8rem; }
html[data-pte-theme] :is(.pte-home-hero, .pte-home-card, .pte-card, .pte-sidebar-usage) { background: var(--pte-surface); border-color: var(--pte-border); border-radius: 12px; box-shadow: var(--pte-shadow); }
html[data-pte-theme] :is(.pte-home-focus-card, .pte-home-full-test) { background: var(--pte-hero-bg); border-color: var(--pte-sage-border); border-radius: 12px; }
html[data-pte-theme] .pte-card { padding: 24px; }
html[data-pte-theme] .pte-card-title { font-size: 1rem; font-weight: 500; line-height: 1.5; }
html[data-pte-theme] .pte-card-preview { color: var(--pte-text-muted); font-size: .8rem; line-height: 1.7; }
html[data-pte-theme] .pte-card-badge { background: var(--pte-sage-soft); color: var(--pte-sage); letter-spacing: .03em; font-weight: 500; }
html[data-pte-theme] :is(.pte-card-action-label, .pte-btn) { border-radius: 8px; font-weight: 500; letter-spacing: 0; }
html[data-pte-theme] :is(.pte-btn-primary, .pte-card-action-label, .pte-home-full-test .pte-btn) { background: var(--pte-primary-fill); border-color: transparent; color: var(--pte-on-primary); }
html[data-pte-theme] :is(.pte-card-pro-pill, .pte-home-feature-icon, .pte-home-card-title > span) { background: var(--pte-sage-soft); color: var(--pte-sage); }
html[data-pte-theme] :is(.pte-task-two-zone, .pte-task-prompt-card, .pte-task-response-card, .pte-detail-card, .pte-upgrade-modal-panel) { border-color: var(--pte-border); box-shadow: var(--pte-shadow); }

/* Task cards follow DET's quiet hierarchy: content first, supporting chrome
   at regular weight, and one surface around the reading interaction. */
html[data-pte-theme] .pte-task-detail .pte-attribution-detail {
    color: var(--pte-text-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
}
html[data-pte-theme] .pte-task-detail .pte-btn {
    min-height: 44px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 500;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-meta-strip-top,
html[data-pte-theme] .pte-reading-dropdown-detail:not(.is-stage-result) .pte-task-two-zone {
    width: min(1040px, 100%);
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-meta-strip-top {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin-bottom: 14px;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-meta-strip-top .pte-task-meta-chip {
    flex-direction: row;
    align-items: baseline;
    gap: 7px;
    padding: 4px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-meta-label {
    color: var(--pte-text-muted);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-meta-value {
    font-size: 12px;
    font-weight: 500;
}
html[data-pte-theme] .pte-reading-dropdown-detail:not(.is-stage-result) .pte-task-two-zone {
    border-radius: 16px;
    background: var(--pte-surface);
    box-shadow: var(--pte-shadow);
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-prompt-card {
    padding: 28px 32px 32px;
    border-radius: 0;
    background: var(--pte-surface);
    box-shadow: none;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-section-label {
    margin-bottom: 6px;
    color: var(--pte-text);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-attribution {
    margin: 0 0 24px;
    padding: 0;
    border: 0;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-attribution-icon {
    width: 12px;
    height: 12px;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-reading-passage-text {
    font-size: 16px;
    line-height: 2.15;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-reading-inline-select {
    min-height: 36px;
    padding-block: 6px;
    border-radius: 6px;
    background-color: var(--pte-surface-soft);
}
html[data-pte-theme="dark"] .pte-reading-dropdown-detail .pte-reading-inline-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c1cbc3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
html[data-pte-theme] .pte-reading-dropdown-detail:not(.is-stage-result) .pte-task-response-card {
    padding: 14px 24px;
    border-radius: 0;
    background: var(--pte-surface);
    box-shadow: none;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-reading-fill-status {
    flex-wrap: wrap;
    gap: 8px 16px;
    font-size: 12px;
}
html[data-pte-theme] .pte-reading-dropdown-detail .pte-reading-fill-status-count { font-weight: 500; }
html[data-pte-theme] .pte-reading-dropdown-detail .pte-reading-fill-status-track { width: 96px; height: 4px; }
html[data-pte-theme] .pte-reading-dropdown-detail .pte-reading-fill-status-bar { background: var(--pte-sage); }
html[data-pte-theme] .pte-reading-dropdown-detail :is(button, select, a):focus,
html[data-pte-theme] .pte-reading-dropdown-detail :is(button, select, a):focus-visible {
    --lime: #C7EF4E;
    outline: 2px solid var(--lime);
    outline-offset: 2px;
}
@media (max-width: 640px) {
    html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-meta-strip-top { gap: 4px 16px; }
    html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-prompt-card { padding: 22px 18px 26px; }
    html[data-pte-theme] .pte-reading-dropdown-detail:not(.is-stage-result) .pte-task-response-card { padding: 14px 18px; }
    html[data-pte-theme] .pte-reading-dropdown-detail .pte-reading-fill-status-track { flex: 0 1 96px; }
    html[data-pte-theme] .pte-reading-dropdown-detail .pte-task-footer-actions .pte-btn-ghost { flex: 0 0 auto; }
}

html[data-pte-theme] :is(.pte-rs-intro, .pte-rs-console-flow) {
    --pte-rs-primary: var(--pte-sage);
    --pte-rs-primary-dark: var(--pte-sage-hover);
    --pte-rs-bg: var(--pte-bg);
    --pte-rs-card: var(--pte-surface);
    --pte-rs-text: var(--pte-text);
    --pte-rs-text-light: var(--pte-text-secondary);
    --pte-rs-border: var(--pte-border);
    --pte-rs-shadow: var(--pte-shadow);
}
html[data-pte-theme] .pte-swt-pack-detail {
    --pte-swt-pack-green: var(--pte-sage);
    --pte-swt-pack-green-deep: var(--pte-sage-hover);
    --pte-swt-pack-lime: var(--pte-sage-soft);
    --pte-swt-pack-cream: var(--pte-bg);
    --pte-swt-pack-line: var(--pte-border);
}
html[data-pte-theme] .pte-swt-pack-hero { background: var(--pte-hero-bg); border-color: var(--pte-sage-border); box-shadow: var(--pte-shadow); }
html[data-pte-theme] :is(.pte-swt-pack-hero-copy h2, .pte-swt-pack-glance dd, .pte-swt-pack-unit-note strong) { color: var(--pte-text); }
html[data-pte-theme] :is(.pte-swt-pack-hero-copy > p, .pte-swt-pack-start-row > span, .pte-swt-pack-glance > p, .pte-swt-pack-glance dt, .pte-swt-pack-glance dd span, .pte-swt-pack-unit-note) { color: var(--pte-text-secondary); }
html[data-pte-theme] :is(.pte-swt-pack-kicker, .pte-swt-pack-unit-note svg) { color: var(--pte-sage); }
html[data-pte-theme] .pte-swt-pack-glance { background: var(--pte-surface); border-color: var(--pte-border); }
html[data-pte-theme] .pte-swt-pack-glance dl > div { border-color: var(--pte-border); }
html[data-pte-theme] .pte-swt-pack-start-btn.pw-btn-primary { background: var(--pte-primary-fill); color: var(--pte-on-primary); border-color: transparent; box-shadow: none; }
html[data-pte-theme] .pte-swt-pack-start-btn.pw-btn-primary:hover:not(:disabled) { background: var(--pte-sage-hover); color: var(--pte-on-primary); }

/* Public pages follow DET's Poppins hierarchy, including emphasized words. */
html[data-pte-theme] :is(.pte-landing, .pte-guide-page) { font-family: var(--pte-font); background: var(--pte-bg); }
html[data-pte-theme] .pte-guide-hero h1 { font: 800 clamp(2.625rem, 6vw, 4.5rem)/1.08 var(--pte-font); letter-spacing: -.045em; }
html[data-pte-theme] .pte-guide-btn { font-weight: 500; text-transform: none; border-radius: 8px; }
html[data-pte-theme] .pte-hero { background: var(--pte-bg); color: var(--pte-text); border-bottom: 1px solid var(--pte-border); }
html[data-pte-theme] .pte-hero::before { background: radial-gradient(ellipse at 80% 30%, var(--pte-sage-soft), transparent 60%); }
html[data-pte-theme] .pte-hero-num { display: none; }
html[data-pte-theme] .pte-hero h1 { font: 800 clamp(2.75rem, 5.2vw, 4rem)/1.04 var(--pte-font); letter-spacing: -.045em; text-transform: none; color: var(--pte-text); }
html[data-pte-theme] :is(.pte-hero, .pte-section-heading, .pte-cta) em { font: inherit; letter-spacing: inherit; }
html[data-pte-theme] .pte-hero em { color: var(--pte-sage); }
html[data-pte-theme] .pte-deck { font: 400 1rem/1.7 var(--pte-font); color: var(--pte-text-secondary); }
html[data-pte-theme] .pte-hero .pte-deck { font-size: 1.08rem; line-height: 1.75; }
html[data-pte-theme] :is(.pte-hero .pte-eyebrow, .pte-trust, .pte-hero-alt, .pte-hero-alt a, .pte-trust-left strong, .pte-trust-right strong) { color: var(--pte-text-secondary); }
html[data-pte-theme] .pte-trust { border-color: var(--pte-border); }
html[data-pte-theme] :is(.pte-trust-left, .pte-trust-right) { color: var(--pte-text-secondary); }
html[data-pte-theme] .pte-stars { color: var(--pte-sage); }
html[data-pte-theme] .pte-hero-cta .pte-btn { box-shadow: none; }
html[data-pte-theme] :is(.pte-section-heading h2, .pte-cta h2) { text-transform: none; }
html[data-pte-theme] .pte-landing .pte-eyebrow { color: var(--pte-sage); }
html[data-pte-theme] .pte-landing .pte-btn { font-weight: 600; text-transform: none; }
html[data-pte-theme] :is(.pte-card-badge, .pte-card-status, .pte-card-action-label, .pte-filter-btn) { text-transform: none; }
html[data-pte-theme] :is(.pte-section-heading h2, .pte-cta h2) { font: 700 clamp(2rem, 4vw, 3rem)/1.12 var(--pte-font); letter-spacing: -.035em; }
html[data-pte-theme] :is(.pte-how-step, .pte-pathway-card, .pte-resource-card) h3 { font: 700 1.15rem/1.5 var(--pte-font); letter-spacing: -.015em; text-transform: none; }
html[data-pte-theme] :is(.pte-how-step, .pte-pathway-card, .pte-resource-card) p { font: 400 .9rem/1.65 var(--pte-font); }
html[data-pte-theme] .pte-how-step .num { font: 600 2rem/1.2 var(--pte-font); letter-spacing: -.035em; }
html[data-pte-theme] :is(.pte-petra-halo, .pte-petra-halo::before, .pte-petra-halo::after) { background: var(--pte-sage-soft); border-color: var(--pte-sage-border); box-shadow: none; }
html[data-pte-theme] .pte-petra-halo::after { display: none; }
html[data-pte-theme] .pte-float-card { background: var(--pte-surface); border-color: var(--pte-border); box-shadow: 0 12px 36px rgba(26, 33, 28, .08); }
html[data-pte-theme] .pte-logo-lozenge { background: transparent; color: var(--pte-text); box-shadow: none; padding-left: 0; }
html[data-pte-theme] .pte-logo-lozenge img { background: transparent; }
html[data-pte-theme] :is(.pte-pathways, .pte-advisors) { background: var(--pte-hero-bg); color: var(--pte-text); }
html[data-pte-theme] :is(.pte-pathways, .pte-advisors) :is(h2, h3, .pte-adv-name) { color: var(--pte-text); }
html[data-pte-theme] :is(.pte-pathways, .pte-advisors) :is(.pte-deck, .pte-pathway-card p, .pte-pathway-card li, .pte-adv-role) { color: var(--pte-text-secondary); }
html[data-pte-theme] :is(.pte-pathways, .pte-advisors) :is(.pte-eyebrow, h2 em, .pte-adv-more a) { color: var(--pte-sage); }
html[data-pte-theme] .pte-pathway-card { background: var(--pte-surface); color: var(--pte-text); border-color: var(--pte-border); border-radius: 14px; }
html[data-pte-theme] .pte-cta .pte-deck { color: var(--pte-text-secondary); }
html[data-pte-theme] .pte-footer p { font-family: var(--pte-font); font-size: .85rem; line-height: 1.8; }
html[data-pte-theme] :is(.pte-btn-green, .pte-btn-lime, .pte-guide-btn-primary) { background: var(--pte-primary-fill); color: var(--pte-on-primary); border-color: transparent; }
html[data-pte-theme] :is(.pte-btn-ghost, .pte-guide-btn:not(.pte-guide-btn-primary)) { background: var(--pte-surface); color: var(--pte-text); border-color: var(--pte-border); }
html[data-pte-theme] :is(.pte-eyebrow, .pte-badge) { font-family: var(--pte-font); }
html[data-pte-theme] .pte-skills { grid-auto-rows: 1fr; align-items: stretch; }
html[data-pte-theme] .pte-skill-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    min-height: 19rem;
    height: 100%;
    padding: 24px;
    border-radius: 14px;
    box-shadow: var(--pte-shadow);
}
html[data-pte-theme] .pte-skill-card h3 {
    margin: 0;
    font: 700 1.15rem/1.5 var(--pte-font);
    letter-spacing: -.015em;
}
html[data-pte-theme] .pte-skill-card p {
    margin: 10px 0 24px;
    font: 400 .9rem/1.65 var(--pte-font);
    color: var(--pte-text-secondary);
}
html[data-pte-theme] .pte-skill-card .start {
    margin-top: auto;
    gap: 8px;
    font: 500 .8125rem/1.5 var(--pte-font);
    color: var(--pte-sage);
}
html[data-pte-theme] .pte-skill-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-bottom: 24px;
    border-radius: 12px;
    font-size: 16px;
    color: var(--pte-sage);
    background: var(--pte-sage-soft);
}
html[data-pte-theme] .pte-footer { background: var(--pte-surface); border-color: var(--pte-border); color: var(--pte-text); }
html[data-pte-theme] :is(.pte-footer p, .pte-footer a, .pte-footer h4) { color: var(--pte-text-secondary); }
html[data-pte-theme] footer.bg-white { background: var(--pte-surface) !important; border-color: var(--pte-border) !important; }
html[data-pte-theme] footer :is(.text-gray-600, .text-gray-500, .text-gray-400) { color: var(--pte-text-muted) !important; }

/* Full mocks use the same preference as the rest of PTE. */
html[data-pte-theme] .pte-mock-exam { font-family: var(--pte-font); }
html[data-pte-theme] :is(.pte-mock-topbar, .pte-mock-catalog-topbar) { background: var(--pte-surface); color: var(--pte-text); border-bottom: 1px solid var(--pte-border); }
html[data-pte-theme] :is(.pte-mock-topbar-brand, .pte-mock-status-item, .pte-mock-status-item strong, .pte-mock-icon-btn) { color: var(--pte-text); }
html[data-pte-theme] :is(.pte-mock-catalog-body, .pte-mock-body) { background: var(--pte-bg); }
html[data-pte-theme] .pte-mock-btn-primary { background: var(--pte-primary-fill); color: var(--pte-on-primary); border-color: transparent; }
html[data-pte-theme] .pte-mock-btn-primary:disabled { background: var(--pte-surface-soft); color: var(--pte-text-muted); }
html[data-pte-theme] .pte-mock-catalog-nav { align-items: center; }
html[data-pte-theme] :is(.pte-mock-catalog-brand, .pte-mock-catalog-nav a) { color: var(--pte-text); }
html[data-pte-theme] .pte-mock-catalog-brand small { background: var(--pte-sage-soft); border-color: transparent; color: var(--pte-sage); }
html[data-pte-theme] .pte-mock-catalog-brand .dot { background: var(--pte-sage); box-shadow: none; }

/* Pricing uses the shared public-page system without changing billing copy. */
html[data-pte-theme] .ip-page { background: var(--pte-bg); }
html[data-pte-theme] .ip-hero-title { font-size: clamp(2.5rem, 4.4vw, 3.6rem); line-height: 1.12; }
html[data-pte-theme] .ip-hero-title em { font-family: 'Instrument Serif', Georgia, serif; color: var(--pte-sage); }
html[data-pte-theme] .pte-pricing-notice { padding: 10px 16px; text-align: center; background: var(--pte-sage-soft); border-bottom: 1px solid var(--pte-border); }
html[data-pte-theme] .pte-pricing-notice p { margin: 0; color: var(--pte-text-secondary); font: 400 .8rem/1.6 var(--pte-font); }
html[data-pte-theme] .pte-pricing-notice strong { color: var(--pte-sage); font-weight: 600; margin-right: 8px; }

@media (max-width: 900px) {
    html[data-pte-theme] .pte-hero-inner { padding-top: 48px; }
    html[data-pte-theme] .pte-hero-visual { order: 0; }
    html[data-pte-theme] .pte-hub-main { padding: 26px 20px 100px; }
}
@media (max-width: 540px) {
    html[data-pte-theme] .pte-nav-inner { padding-inline: 16px; gap: 8px; }
    html[data-pte-theme] .pte-nav-cta { padding-inline: 12px; }
    html[data-pte-theme] .pte-card { padding: 20px; }
    html[data-pte-theme] .pte-hero h1 { font-size: clamp(2.25rem, 9vw, 2.75rem); }
}
@media (prefers-reduced-motion: reduce) {
    html[data-pte-theme] *, html[data-pte-theme] *::before, html[data-pte-theme] *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
