/* Phase 2A: explicit palettes, scoped to the two pilot page families.
   !important only bridges legacy site.css / generated light palette rules. */
body[data-design-version="2"] {
 --color-bg:#293e50;--color-surface:#344e62;--color-surface-elevated:#405e72;
 --color-border:#708a9d;--color-text:#f3f7fa;--color-text-muted:#ccd9e3;
 --color-accent:#f0d09a;--color-interactive:#9ce5e6;--color-success:#a4e6c5;
 --color-warning:#ffdb9b;--color-danger:#ffc1c1;--color-on-accent:#243747;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;
 --radius-sm:10px;--radius-md:16px;--radius-lg:24px;
 --shadow-sm:0 4px 14px #10253514;--shadow-card:0 18px 48px #10253529;
 --font-ui:'Segoe UI',system-ui,-apple-system,Arial,sans-serif;
 --text-xs:.75rem;--text-sm:.875rem;--text-body:1rem;--text-h4:1.125rem;--text-h3:1.375rem;--text-h2:clamp(1.5rem,2.4vw,2rem);--text-h1:clamp(2rem,4.2vw,3.5rem);
 --container:1280px;--reading-width:72ch;--motion-fast:180ms;--motion-normal:280ms;
}
html[data-theme="light"] body[data-design-version="2"] {
 --color-bg:#eaf0f4;--color-surface:#f8fafc;--color-surface-elevated:#ffffff;
 --color-border:#8b9fab;--color-text:#22394b;--color-text-muted:#4d6374;
 --color-accent:#795719;--color-interactive:#12676d;--color-success:#246641;
 --color-warning:#7d530c;--color-danger:#a92f40;--color-on-accent:#ffffff;
 --shadow-sm:0 4px 14px #203b4e0a;--shadow-card:0 18px 48px #203b4e14;
 color-scheme:light;
}
html[data-theme] body[data-design-version="2"] {background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,var(--color-interactive) 9%,transparent),transparent 58%),var(--color-bg)!important;color:var(--color-text)!important;font:400 var(--text-body)/1.75 var(--font-ui)}
html[data-theme] body[data-design-version="2"] :is(.portal,.wk-main){max-width:var(--container);padding-inline:clamp(18px,3vw,40px)}
html[data-theme] body[data-design-version="2"] :is(.portal,.wk-main) :is(h1,h2,h3,h4){font-family:var(--font-ui);color:var(--color-text)!important;font-weight:650;letter-spacing:-.025em;text-wrap:balance}
html[data-theme] body[data-design-version="2"] :is(.portal-intro,.wk-chapterhead) h1{font-size:var(--text-h1);line-height:1.14}
html[data-theme] body[data-design-version="2"] :is(.portal,.wk-main) h2{font-size:var(--text-h2);line-height:1.3}
html[data-theme] body[data-design-version="2"] .wk-main h3{font-size:var(--text-h3);line-height:1.4}
html[data-theme] body[data-design-version="2"] .wk-main h4{font-size:var(--text-h4)}
html[data-theme] body[data-design-version="2"] :is(.portal p,.wk-body,.wk-chapterhead>p,.wk-end p,.wk-source,.wk-figure figcaption,.wk-figure small,.wk-muted,.wk-breadcrumb,.wk-learning,.wk-learning small){color:var(--color-text-muted)!important}
html[data-theme] body[data-design-version="2"] :is(.eyebrow,.wk-overline,.panel-number,.wk-summary,.wk-source strong,.wk-searchbox label,.wk-pager small){color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"] :is(.portal,.wk-main) :focus-visible{outline:3px solid var(--color-interactive)!important;outline-offset:4px;box-shadow:0 0 0 7px var(--color-bg)!important}
html[data-theme] body[data-design-version="2"] .portal{padding-top:var(--space-8);padding-bottom:var(--space-7)}
html[data-theme] body[data-design-version="2"] .portal-intro{margin-bottom:var(--space-7)}
html[data-theme] body[data-design-version="2"] .portal-intro p{font-size:1.125rem}
html[data-theme] body[data-design-version="2"] .portal-grid{gap:var(--space-5)}
html[data-theme] body[data-design-version="2"] .portal-card{background:radial-gradient(ellipse at 50% 28%,color-mix(in srgb,var(--color-accent) 12%,transparent),transparent 65%),var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)!important;padding:var(--space-6);min-height:500px;transition:transform var(--motion-normal),border-color var(--motion-fast),box-shadow var(--motion-normal)}
html[data-theme] body[data-design-version="2"] .portal-card.aion-panel{background:radial-gradient(ellipse at 50% 28%,color-mix(in srgb,var(--color-interactive) 15%,transparent),transparent 65%),var(--color-surface)!important}
html[data-theme] body[data-design-version="2"] .portal-card:hover{transform:translateY(-4px);border-color:var(--color-interactive)!important;box-shadow:0 22px 50px #10253530!important}
html[data-theme] body[data-design-version="2"] .portal-card h2{letter-spacing:.06em;margin-bottom:var(--space-2)}
html[data-theme] body[data-design-version="2"] .portal-card p{max-width:36ch;margin-bottom:var(--space-5)}
html[data-theme] body[data-design-version="2"] .panel-number{font-size:var(--text-xs);letter-spacing:.12em}
html[data-theme] body[data-design-version="2"] .panel-arrow{margin-top:auto;padding:12px 20px;border:1px solid var(--color-accent)!important;background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:700}
html[data-theme] body[data-design-version="2"] .wk-reading-layout{gap:var(--space-6)}
html[data-theme] body[data-design-version="2"] :is(.wk-topic,.wk-searchbox,.wk-end,.wk-pager a,.wk-tool,.ui-panel){background:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)!important;padding:clamp(20px,2.6vw,32px)}
html[data-theme] body[data-design-version="2"] .wk-topic{margin-block:var(--space-5)}
html[data-theme] body[data-design-version="2"] .wk-body{font-size:var(--text-body);line-height:1.85;max-width:var(--reading-width);overflow-wrap:anywhere}
html[data-theme] body[data-design-version="2"] .wk-summary{font-size:var(--text-body)}
html[data-theme] body[data-design-version="2"] :is(.wk-topicnum,.wk-anchor,.wk-sidebar nav a span){color:var(--color-text-muted)!important}
html[data-theme] body[data-design-version="2"] :is(.wk-main a:hover,.wk-body a,.wk-chapter-actions>a,.wk-library-link){color:var(--color-interactive)!important}
html[data-theme] body[data-design-version="2"] :is(.wk-main button,.ui-button){min-height:44px;background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-sm);font-size:var(--text-sm);padding:10px 14px;transition:background var(--motion-fast),border-color var(--motion-fast)}
html[data-theme] body[data-design-version="2"] :is(.wk-main button:hover,.ui-button:hover){border-color:var(--color-interactive)!important;background:var(--color-bg)!important}
html[data-theme] body[data-design-version="2"] :is(.wk-main button[aria-pressed=true],.ui-button--primary){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"] .ui-button--ghost{background:transparent!important;border-color:transparent!important}
html[data-theme] body[data-design-version="2"] :is(.wk-main button:disabled,.ui-button:disabled){opacity:.5;cursor:not-allowed;transform:none}
html[data-theme] body[data-design-version="2"] :is(.wk-searchrow input,.wk-tool input,.wk-tool select,.ui-input){min-height:44px;background:var(--color-bg)!important;color:var(--color-text)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-sm);accent-color:var(--color-interactive)}
html[data-theme] body[data-design-version="2"] .wk-searchrow input::placeholder{color:var(--color-text-muted)!important;opacity:1}
html[data-theme] body[data-design-version="2"] .ui-checkbox{accent-color:var(--color-interactive);width:20px;height:20px}
html[data-theme] body[data-design-version="2"] :is(.wk-toc a,.wk-badge,.ui-badge){background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border:1px solid var(--color-border)!important;font-size:var(--text-xs);border-radius:var(--radius-sm);padding:8px 12px}
html[data-theme] body[data-design-version="2"] :is(.wk-sidebar,.wk-learning,.wk-source,.ui-divider){border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"] .wk-sidebar nav a{color:var(--color-text-muted)!important;font-size:var(--text-sm);min-height:44px}
html[data-theme] body[data-design-version="2"] .wk-sidebar nav a:is(:hover,[aria-current=page]){background:var(--color-surface-elevated)!important;color:var(--color-accent)!important;box-shadow:inset 3px 0 var(--color-accent)!important}
html[data-theme] body[data-design-version="2"] :is(.wk-figure,.wk-main .wk-zoom){background:var(--color-bg)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"] .wk-zoom span{color:var(--color-interactive)!important}
html[data-theme] body[data-design-version="2"] .wk-table :is(th,td){font-size:var(--text-sm);color:var(--color-text)!important;border-color:var(--color-border)!important;padding:14px}
html[data-theme] body[data-design-version="2"] .wk-table th{background:var(--color-surface-elevated)!important;color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"] :is(.ui-notice,.ui-warning){padding:var(--space-4);border-inline-start:3px solid var(--color-interactive);background:var(--color-surface-elevated);border-radius:var(--radius-sm);color:var(--color-text)}
html[data-theme] body[data-design-version="2"] .ui-warning{border-color:var(--color-warning)}
html[data-theme] body[data-design-version="2"] .ui-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap}
@media(max-width:760px){
 html[data-theme] body[data-design-version="2"] .portal{padding-top:var(--space-6)}
 html[data-theme] body[data-design-version="2"] .portal-grid{grid-template-columns:1fr}
 html[data-theme] body[data-design-version="2"] .portal-card{min-height:440px;padding:var(--space-5)}
 html[data-theme] body[data-design-version="2"] .wk-sidebar{min-width:0;max-width:100%}
 html[data-theme] body[data-design-version="2"] .wk-sidebar nav a{font-size:var(--text-xs)}
 html[data-theme] body[data-design-version="2"] .wk-chapter-actions{gap:var(--space-2)}
 html[data-theme] body[data-design-version="2"] .wk-pager{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 html[data-theme] body[data-design-version="2"] :is(.portal,.wk-main) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 html[data-theme] body[data-design-version="2"] .portal-card:hover{transform:none}
}
/* Tablet header must allow the existing event panel to wrap without clipping. */
@media(max-width:1000px){
 html[data-theme] body[data-design-version="2"]>header{flex-wrap:wrap!important}
 html[data-theme] body[data-design-version="2"] .header-tools{max-width:100%;min-width:0}
 html[data-theme] body[data-design-version="2"] .event-panel{max-width:100%;box-sizing:border-box}
}
/* Phase 2B: approved palette unchanged; compact portal and reading rhythm. */
html[data-theme] body[data-design-version="2"] .portal-card{min-height:440px;padding:24px;gap:8px}
html[data-theme] body[data-design-version="2"] .portal-card :is(.portal-logo,.portal-aion){height:180px;width:180px;margin:8px auto;object-fit:contain}
html[data-theme] body[data-design-version="2"] .portal-card .portal-aion{width:260px;max-width:100%;display:flex;align-items:center}
html[data-theme] body[data-design-version="2"] .portal-card .portal-aion img{width:100%;height:100%;object-fit:contain}
html[data-theme] body[data-design-version="2"] .portal-card h2{margin:8px 0 0}
html[data-theme] body[data-design-version="2"] .portal-card p{margin:0 0 16px;line-height:1.65}
html[data-theme] body[data-design-version="2"] .wk-sidebar nav a{font-size:15px;line-height:1.5}
html[data-theme] body[data-design-version="2"] .wk-searchbox{padding:18px 20px;margin:20px 0}
html[data-theme] body[data-design-version="2"] .wk-searchbox label{margin-bottom:8px}
html[data-theme] body[data-design-version="2"] .wk-toc{margin:20px 0}
html[data-theme] body[data-design-version="2"] .wk-filterbar{gap:8px;margin-top:20px}
html[data-theme] body[data-design-version="2"] .wk-filterbar button{padding:10px 14px}
html[data-theme] body[data-design-version="2"] .wk-main :is(h1,h2,h3,h4){overflow-wrap:anywhere}
/* Wiki library: content and saved/read handlers retain their original DOM. */
html[data-theme] body[data-design-family="wiki"] :is(.wk-card,.wk-paths a){background:var(--color-surface)!important;border-color:var(--color-border)!important;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)!important}
html[data-theme] body[data-design-family="wiki"] .wk-card{padding:24px}
html[data-theme] body[data-design-family="wiki"] .wk-card h2{font-size:var(--text-h3)}
html[data-theme] body[data-design-family="wiki"] :is(.wk-card>p:not(.wk-overline),.wk-cardfoot,.wk-lead,.wk-stats span,.wk-paths span){color:var(--color-text-muted)!important;font-size:var(--text-sm)}
html[data-theme] body[data-design-family="wiki"] :is(.wk-cardnum,.wk-stats b){color:var(--color-text)!important}
html[data-theme] body[data-design-family="wiki"] :is(.wk-cardicon,.wk-cardfoot>a,.wk-hero h1 em){color:var(--color-accent)!important}
html[data-theme] body[data-design-family="wiki"] :is(.wk-card:hover,.wk-cardfoot,.wk-paths,.wk-hero){border-color:var(--color-border)!important}
html[data-theme] body[data-design-family="wiki"] .wk-heroart{overflow:hidden}
html[data-theme] body[data-design-family="wiki"] .wk-glyph{background:var(--color-bg)!important;color:var(--color-accent)!important}
html[data-theme] body[data-design-family="wiki"] :is(.wk-tool output){background:var(--color-bg)!important;color:var(--color-success)!important;border:1px solid var(--color-border)}
@media(max-width:760px){html[data-theme] body[data-design-version="2"] .wk-sidebar nav a{font-size:14px}html[data-theme] body[data-design-family="wiki"] .wk-grid{grid-template-columns:1fr}}

/* Family adapters: never match the specialized builder engine. */
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(.guide-controls,.info-card,.guide-stat,.stat,.task,.next-action,.next-step,.source-note,.notice,.route-planner,.guide-notes,.stage,.guide-group,.level-controls){background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)!important}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(.guide-controls,.info-card,.source-note,.notice,.guide-notes){padding:var(--space-5)}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(h1,h2,h3,h4){font-family:var(--font-ui);color:var(--color-text)!important;line-height:1.3;overflow-wrap:anywhere}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main h1{font-size:var(--text-h1)}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main h2{font-size:var(--text-h2)}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main h3{font-size:var(--text-h3)}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(p,.desc,.note,.aux,.level-how,.level-result,.stage-summary,.info-card li){color:var(--color-text-muted)!important;line-height:1.75}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(button,.btn,.map-link,.reset){min-height:44px;border-radius:var(--radius-sm);background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(button:hover,.btn:hover,.map-link:hover){border-color:var(--color-interactive)!important;color:var(--color-interactive)!important}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(button[aria-pressed="true"],button.active,button.current,.btn.primary){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(input:not([type="checkbox"]):not([type="range"]),select,textarea){background:var(--color-bg)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;min-height:44px;max-width:100%}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(input,textarea)::placeholder{color:var(--color-text-muted)!important;opacity:1}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(input[type="checkbox"],input[type="range"]){accent-color:var(--color-interactive)}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(.task.done,.task.completed){background:var(--color-surface)!important;border-color:var(--color-success)!important}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main .tag{color:var(--color-accent)!important;background:var(--color-bg)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :focus-visible{outline:3px solid var(--color-interactive)!important;outline-offset:3px}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main button:disabled{opacity:.5;cursor:not-allowed}

/* Shared controls only within named page families, excluding builders. */
html[data-theme] body[data-design-version="2"][data-design-family="wiki"] main :is(.btn,.action){min-height:44px;border-radius:var(--radius-sm);background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="wiki"] main :is(.btn.primary,.action.primary){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="wiki"] main :is(h1,h2,h3,h4){font-family:var(--font-ui);color:var(--color-text)!important;line-height:1.3;overflow-wrap:anywhere}
html[data-theme] body[data-design-version="2"][data-design-family="wiki"] main h1{font-size:var(--text-h1)}
html[data-theme] body[data-design-version="2"][data-design-family="wiki"] main h2{font-size:var(--text-h2)}
html[data-theme] body[data-design-version="2"][data-design-family="wiki"] main h3{font-size:var(--text-h3)}
html[data-theme] body[data-design-version="2"][data-design-family="wiki"] main h4{font-size:var(--text-h4)}
html[data-theme] body[data-design-version="2"][data-design-family="wiki"] main :focus-visible{outline:3px solid var(--color-interactive)!important;outline-offset:3px}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(.btn,.action){min-height:44px;border-radius:var(--radius-sm);background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(.btn.primary,.action.primary){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :is(h1,h2,h3,h4){font-family:var(--font-ui);color:var(--color-text)!important;line-height:1.3;overflow-wrap:anywhere}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main h1{font-size:var(--text-h1)}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main h2{font-size:var(--text-h2)}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main h3{font-size:var(--text-h3)}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main h4{font-size:var(--text-h4)}
html[data-theme] body[data-design-version="2"][data-design-family="guide"] main :focus-visible{outline:3px solid var(--color-interactive)!important;outline-offset:3px}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(.btn,.action){min-height:44px;border-radius:var(--radius-sm);background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(.btn.primary,.action.primary){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(h1,h2,h3,h4){font-family:var(--font-ui);color:var(--color-text)!important;line-height:1.3;overflow-wrap:anywhere}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main h1{font-size:var(--text-h1)}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main h2{font-size:var(--text-h2)}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main h3{font-size:var(--text-h3)}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main h4{font-size:var(--text-h4)}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :focus-visible{outline:3px solid var(--color-interactive)!important;outline-offset:3px}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.btn,.action){min-height:44px;border-radius:var(--radius-sm);background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.btn.primary,.action.primary){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(h1,h2,h3,h4){font-family:var(--font-ui);color:var(--color-text)!important;line-height:1.3;overflow-wrap:anywhere}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main h1{font-size:var(--text-h1)}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main h2{font-size:var(--text-h2)}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main h3{font-size:var(--text-h3)}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main h4{font-size:var(--text-h4)}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :focus-visible{outline:3px solid var(--color-interactive)!important;outline-offset:3px}
html[data-theme] body[data-design-version="2"][data-design-family="home"] main :is(.btn,.action){min-height:44px;border-radius:var(--radius-sm);background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="home"] main :is(.btn.primary,.action.primary){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="home"] main :is(h1,h2,h3,h4){font-family:var(--font-ui);color:var(--color-text)!important;line-height:1.3;overflow-wrap:anywhere}
html[data-theme] body[data-design-version="2"][data-design-family="home"] main h1{font-size:var(--text-h1)}
html[data-theme] body[data-design-version="2"][data-design-family="home"] main h2{font-size:var(--text-h2)}
html[data-theme] body[data-design-version="2"][data-design-family="home"] main h3{font-size:var(--text-h3)}
html[data-theme] body[data-design-version="2"][data-design-family="home"] main h4{font-size:var(--text-h4)}
html[data-theme] body[data-design-version="2"][data-design-family="home"] main :focus-visible{outline:3px solid var(--color-interactive)!important;outline-offset:3px}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] main :is(.btn,.action){min-height:44px;border-radius:var(--radius-sm);background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] main :is(.btn.primary,.action.primary){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] main :is(h1,h2,h3,h4){font-family:var(--font-ui);color:var(--color-text)!important;line-height:1.3;overflow-wrap:anywhere}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] main h1{font-size:var(--text-h1)}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] main h2{font-size:var(--text-h2)}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] main h3{font-size:var(--text-h3)}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] main h4{font-size:var(--text-h4)}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] main :focus-visible{outline:3px solid var(--color-interactive)!important;outline-offset:3px}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(button,select,input:not([type="checkbox"]):not([type="range"]),textarea){min-height:44px;background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:var(--radius-sm);max-width:100%}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(select,input:not([type="checkbox"]):not([type="range"]),textarea){background:var(--color-bg)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(input,textarea)::placeholder{color:var(--color-text-muted)!important;opacity:1}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(input[type="checkbox"],input[type="range"]){accent-color:var(--color-interactive)}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main button:hover{border-color:var(--color-interactive)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(button[aria-pressed="true"],button[aria-selected="true"],button.active){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main button:disabled{opacity:.5;cursor:not-allowed;transform:none}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(p,label,small){color:var(--color-text-muted)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(button[aria-pressed="true"],button[aria-selected="true"]) :is(small,strong,span){color:var(--color-on-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(.pet-card,.pet-controls,.pet-step,.pet-advice,.pet-method,.pet-empty,.pet-section,.event-card,.event-summary,.events-settings,.events-filters,.events-notes,.tier-controls,.tier-notice,.tier-mode-note,.tier-card,.tier-empty){background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(.pet-controls,.pet-step,.pet-advice,.pet-method,.events-settings,.events-filters,.events-notes,.tier-controls,.tier-notice){padding:var(--space-5)}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(.pet-benefit,.pet-location,.pet-track,.pet-complete,.tier-status,.tier-mode-note){color:var(--color-text-muted)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(.pet-rank,.pet-family,.events-badge,.event-kind,.craft-tags span){background:var(--color-bg)!important;color:var(--color-accent)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(.pet-card.is-complete,.craft-material.complete){border-color:var(--color-success)!important}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(.pet-card h3,.tier-card h3,.event-card h2){font-size:var(--text-h3)}
html[data-theme] body[data-design-version="2"][data-design-family="catalog"] main :is(.event-countdown,.pet-stats b){color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(button,select,input:not([type="checkbox"]):not([type="range"]),textarea){min-height:44px;background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:var(--radius-sm);max-width:100%}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(select,input:not([type="checkbox"]):not([type="range"]),textarea){background:var(--color-bg)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(input,textarea)::placeholder{color:var(--color-text-muted)!important;opacity:1}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(input[type="checkbox"],input[type="range"]){accent-color:var(--color-interactive)}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main button:hover{border-color:var(--color-interactive)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(button[aria-pressed="true"],button[aria-selected="true"],button.active){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main button:disabled{opacity:.5;cursor:not-allowed;transform:none}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(p,label,small){color:var(--color-text-muted)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(button[aria-pressed="true"],button[aria-selected="true"]) :is(small,strong,span){color:var(--color-on-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.pet-card,.pet-controls,.pet-step,.pet-advice,.pet-method,.pet-empty,.pet-section,.event-card,.event-summary,.events-settings,.events-filters,.events-notes,.tier-controls,.tier-notice,.tier-mode-note,.tier-card,.tier-empty){background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.pet-controls,.pet-step,.pet-advice,.pet-method,.events-settings,.events-filters,.events-notes,.tier-controls,.tier-notice){padding:var(--space-5)}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.pet-benefit,.pet-location,.pet-track,.pet-complete,.tier-status,.tier-mode-note){color:var(--color-text-muted)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.pet-rank,.pet-family,.events-badge,.event-kind,.craft-tags span){background:var(--color-bg)!important;color:var(--color-accent)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.pet-card.is-complete,.craft-material.complete){border-color:var(--color-success)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.pet-card h3,.tier-card h3,.event-card h2){font-size:var(--text-h3)}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.event-countdown,.pet-stats b){color:var(--color-accent)!important}
/* Tool surfaces only; formulas, icon geometry and data bindings are untouched. */
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.arc-panel,.arc-empty,.craft-browser,.craft-panel,.craft-help,.craft-empty,.craft-stat,.stat,.task,.history-panel,.notice,.controls){background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.arc-panel,.craft-panel,.craft-help,.history-panel){padding:clamp(18px,2.4vw,28px)}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.arc-card,.arc-skill,.craft-option,.craft-material,.task-meter){background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:var(--radius-sm)}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.arc-card[aria-pressed="true"],.arc-skill[aria-pressed="true"]){background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.craft-stats b,.craft-stat strong,.counter,.arc-path){color:var(--color-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main .task.done{background:var(--color-surface)!important;border-color:var(--color-success)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.desc,.note,.aux,.task-bottom,.craft-quantity,.craft-item small){color:var(--color-text-muted)!important}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] main :is(.task h3,.craft-panel h2){font-size:var(--text-h3)}
html[data-theme] body[data-design-version="2"][data-design-family="tool"] .arc-dungeon-copy{background:var(--color-surface)!important;color:var(--color-text)!important}
html[data-theme] body[data-design-version="2"] :is(.pet-dialog,.wk-dialog){background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"] :is(.pet-dialog,.wk-dialog) :is(p,small){color:var(--color-text-muted)!important}
/* Explicit reduced-motion support for the newly adopted page families. */
@media(prefers-reduced-motion:reduce){html[data-theme] body[data-design-version="2"]:not([data-design-family="builder"]) main *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Landing and personal storytelling surfaces keep imagery and layout. */
html[data-theme] body[data-design-version="2"][data-design-family="home"] :is(.hub-panel,.route-card,.journey-card,.map-tile,.tool-item,.home-bottom,.legion-section){background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)!important}
html[data-theme] body[data-design-version="2"][data-design-family="home"] :is(.hub-panel,.journey-card){padding:var(--space-5)}
html[data-theme] body[data-design-version="2"][data-design-family="home"] main :is(p,.route-label,.mini-steps,.home-credit){color:var(--color-text-muted)!important}
html[data-theme] body[data-design-version="2"][data-design-family="home"] .intent-options button{background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;min-height:44px}
html[data-theme] body[data-design-version="2"][data-design-family="home"] .intent-options button[aria-pressed="true"]{background:var(--color-accent)!important;color:var(--color-on-accent)!important}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] :is(.editorial-note,.symbol-panel,.memory-grid article,.quiz-section,.myth-outro){background:var(--color-surface)!important;color:var(--color-text)!important;border-color:var(--color-border)!important;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)!important}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] main :is(p,li){color:var(--color-text-muted)!important}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] :is(.symbol-buttons button,.quiz-options button){min-height:44px;background:var(--color-surface-elevated)!important;color:var(--color-text)!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="personal"] :is(.symbol-buttons button[aria-selected="true"],.quiz-options button[aria-pressed="true"]){background:var(--color-accent)!important;color:var(--color-on-accent)!important}
/* Builders: no descendant rules inside workspaces, skills, timeline or Daevanion. */
html[data-theme] body[data-design-version="2"][data-design-family="builder"] main{font:15px/1.65 'Segoe UI',Arial,sans-serif}
html[data-theme] body[data-design-version="2"][data-design-family="builder"] :is(.hero,.sm-hero){background:transparent!important;border-color:var(--color-border)!important}
html[data-theme] body[data-design-version="2"][data-design-family="builder"] :is(.hero-copy,.sm-hero>div)>h1{font-family:var(--font-ui);font-size:var(--text-h1);color:var(--color-text)!important;line-height:1.2}
html[data-theme] body[data-design-version="2"][data-design-family="builder"] :is(.hero-lead,.sm-hero>div>p,.hero-credit,.sm-credit){color:var(--color-text-muted)!important}
html[data-theme] body[data-design-version="2"][data-design-family="builder"] :is(.hero-copy>.intro,.quest-type,.guide-note,.sm-version,.sm-card,.sm-statline){background:var(--color-surface)!important;border-color:var(--color-border)!important;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)!important}
html[data-theme] body[data-design-version="2"][data-design-family="builder"] :is(.quest-type,.guide-note,.sm-card)>:is(p,h3,h4){color:var(--color-text)!important}
html[data-theme] body[data-design-version="2"][data-design-family="builder"] .builder-jump{background:var(--color-accent)!important;color:var(--color-on-accent)!important;border-color:var(--color-accent)!important;min-height:44px;border-radius:var(--radius-sm)}
html[data-theme] body[data-design-version="2"][data-design-family="builder"] .builder-jump:focus-visible{outline:3px solid var(--color-interactive)!important;outline-offset:4px}
