/* Interface palette: blue/gold with cyan/magenta details. Never filter project artwork. */
:root{--paper:#f7f9ff;--bg:#f7f9ff;--surface:#fff;--surface-soft:#eef3fc;--ink:#14233d;--text:#14233d;--muted:#526580;--text-muted:#526580;--line:#c9d6e8;--blue:#3159c9;--accent:#3159c9;--cyan:#007c83;--pink:#b5237a;--tone-blue:#e5edff;--tone-cyan:#dcf7f7;--tone-pink:#fce2f1;--tone-gold:#fff1bb;--gold-ink:#685000;--on-accent:#fff;--shadow:0 12px 32px #16366b12}
:root[data-theme=dark]{--paper:#101827;--bg:#101827;--surface:#18253a;--surface-soft:#203149;--ink:#f2f6ff;--text:#f2f6ff;--muted:#afbdd4;--text-muted:#afbdd4;--line:#3b4e6b;--blue:#9ab4ff;--accent:#9ab4ff;--cyan:#5ae3eb;--pink:#ff91d4;--tone-blue:#25355b;--tone-cyan:#143e45;--tone-pink:#49233f;--tone-gold:#443b20;--gold-ink:#ffe399;--on-accent:#102044;--shadow:0 12px 32px #0003}
html,body{background:var(--paper);color:var(--ink)}
body{accent-color:var(--blue)}
:focus-visible{outline:3px solid var(--cyan)!important;outline-offset:3px}
.site-header{background:color-mix(in srgb,var(--paper) 95%,transparent);border-color:var(--line)}
.site-header nav a,.header-link{color:var(--muted)}
.site-header nav a.active,.site-header nav a:hover,.header-link:hover{color:var(--blue)}
.gradient-text{background:linear-gradient(110deg,var(--blue),var(--pink));background-clip:text;-webkit-background-clip:text;color:transparent}
.soft{background:var(--surface-soft)}
.eyebrow{color:var(--blue)}
.hero-description,.section-heading>p,.hero-bottom,.news-info,.news-motto,.catalog-hero p,.catalog-count,.workspace-heading p:not(.eyebrow){color:var(--muted)}
.button.primary,.design-app button.primary,.marketing-app button.primary,.student-primary,.student-app .student-primary,.student-focus .student-primary,.audio-primary,.primary{background:var(--blue);color:var(--on-accent);border-color:var(--blue)}
.button.primary:hover,.primary:hover{background:var(--blue);filter:brightness(1.08)}
/* Colored signposts and generous reading contrast in the catalogues. */
.business-hub,.research-update,.creative-home,.proposal-banner,.catalog-news,.template-direction,.print-service-note{background:var(--tone-blue);border-color:var(--line);color:var(--ink)}
.business-hub-grid>a,.business-proposals article,.research-evidence-grid article{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink)}
.business-hub-grid>a:nth-child(3n+1){border-top:4px solid var(--blue)}
.business-hub-grid>a:nth-child(3n+2){border-top:4px solid var(--cyan)}
.business-hub-grid>a:nth-child(3n){border-top:4px solid var(--pink)}
.business-hub-grid span,.business-hub-grid b{color:var(--blue)}
.business-hub-grid p,.research-evidence-grid p,.research-update>p,.creative-home p:not(.eyebrow),.proposal-banner p,.template-direction>div>p:last-child{color:var(--muted)}
.catalog-card,.template-card,.plan-card,.managed-grid article,.research-facts article,.library-book,.student-lesson-card,.student-flashcard,.print-product-grid button{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow)}
.plan-card.featured,.catalog-status,.demo-pill,.plan-tag,.print-stage-pill{background:var(--tone-gold);color:var(--gold-ink);border-color:var(--line)}
.catalog-card-info,.template-card-info,.library-book-content{background:var(--surface);color:var(--ink)}
.catalog-card-info>p,.catalog-card-info>div,.template-card-info>p,.template-card-info ul,.card-sector,.card-price small,.library-book-content>p,.library-book-content small,.library-edition-note,.library-unavailable{color:var(--muted)}
.catalog-card-info>p,.catalog-card-info>div,.catalog-count,.catalog-status,.card-sector,.card-sector>span,.card-price small,.library-book-content small,.library-edition-note,.library-unavailable,.filter-help,.workspace-help{font-size:12px;line-height:1.55}
.catalog-card-info h3{font-size:18px;line-height:1.3}
.catalog-card-info button,.library-book-content button,.library-book-content a,.library-edition-links a{color:var(--blue);border-color:var(--line)}
.template-filters,.catalog-filters,.library-filters,.library-note,.cost-calculator,.research-callout,.student-filters,.student-focus,.student-reader,.student-plan-row,.student-method,.print-preview,.print-request,.print-form-panel{background:var(--surface);color:var(--ink);border-color:var(--line)}
.student-help,.student-reader p,.student-reader li,.student-lesson-card p,.student-method p,.student-method li,.print-help,.print-lead,.print-preview-note,.print-request>p,.print-next li{color:var(--muted)}
.student-reader .student-example,.student-plan-notes,.print-next,.library-kindle-help,.workspace-help,.domain-note{background:var(--tone-blue);color:var(--ink);border-color:var(--line)}
.filter,.cat-filter,.library-tabs button,.library-reader-tools button,.student-app button,.student-focus button,.template-filters button,.print-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}
.filter.active,.cat-filter.active,.library-tabs [aria-selected=true],.student-tabs [aria-selected=true],.student-subjects button[aria-pressed=true],.print-product-grid button[aria-pressed=true]{background:var(--tone-blue);color:var(--blue);border-color:var(--blue)}
/* Scoped UI forms: user-authored artwork, mini websites and printed paper are excluded. */
:is(.design-app,.marketing-app,.library-app,.library-reader-tools,.student-app,.student-focus,.print-form-panel,.template-filters,.catalog-filters,.cost-controls,.audio-field,.audio-speed,.field) :is(input:not([type=color]):not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea),.catalog-search{background:var(--surface);color:var(--ink);border-color:var(--line)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
/* Creative and marketing interface. Canvas/SVG/image colors are not overridden. */
.workspace-toolbar,.design-sidebar,.design-inspector,.design-canvas-tools,.marketing-brief,.marketing-work,.domain-card,.marketing-stage,.marketing-stage-editor,.workspace-project{background:var(--surface);color:var(--ink);border-color:var(--line)}
.design-center{background:var(--surface-soft);border-color:var(--line)}
.design-app button,.marketing-app button,.workspace-toolbar button,.photo-tools button{background:var(--surface);color:var(--ink);border-color:var(--line)}
.design-layer,.marketing-tabs button,.marketing-email-list button{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.design-layer.selected,.marketing-stage.selected,.marketing-tabs button[aria-selected=true]{background:var(--tone-blue);color:var(--ink);border-color:var(--blue)}
.design-app label,.marketing-app label,.workspace-status,.workspace-help,.design-canvas-tools span,.domain-card p{color:var(--muted)}
/* Dialog chrome and newspaper surrounds; the paper and reader iframe remain untouched. */
:is(#workspace-projects,#image-search,#photo-editor,#library-reader,#library-details,#catalog-dialog,#global-audio-dialog,#digi-chat,dialog.design-ai-dialog){background:var(--surface);color:var(--ink);border-color:var(--line)}
.dialog-close,.workspace-close,.reading-close{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.news-category-nav,.news-audio-entry,.editorial-note,.archive-entry{border-color:var(--line);color:var(--ink)}
.news-category-nav button,.news-audio-entry a{background:var(--surface);color:var(--blue);border-color:var(--line)}
.news-motto>span,.news-info>p,.archive-entry small,.paper-hint{color:var(--muted)}
.reader-menu,.reader-menu-heading,.reader-menu-body{background:var(--surface);color:var(--ink)}
.reader-menu :is(input,select,button){background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.reader-menu p,.reader-menu label,.reader-help{color:var(--muted)}
/**** Persistent audio and theme controls ****/
.global-audio-bar{background:var(--surface);color:var(--ink);border-color:var(--line)}
.audio-brand,.audio-brand strong{color:var(--ink)}
.audio-brand small,.bar-now,.audio-help,.audio-intro,.audio-count,.podcast-meta,.podcast-episode time,#global-audio-status{color:var(--muted)}
.audio-symbol{background:var(--tone-cyan);color:var(--cyan)}
.bar-controls>button,.site-language select,.theme-choice select,.audio-secondary,.audio-icon,.audio-source-tabs button,.podcast-episode button{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.audio-source-tabs button[aria-selected=true]{background:var(--tone-blue);color:var(--blue);border-color:var(--blue)}
.audio-dialog-head,.audio-current,.podcast-show,.audio-file,.audio-personal,.digi-chat-head{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.audio-dialog-head p,.audio-kicker,.audio-source-link,.audio-help a,.podcast-meta a{color:var(--blue)}
.audio-field select[size] option{background:var(--surface);color:var(--ink)}
.audio-done{background:var(--blue);color:var(--on-accent)}
#digi-chat,.digi-chat-body,#digi-chat-form{background:var(--surface);color:var(--ink)}
.digi-chat-intro,#digi-chat-status,.digi-chat-message small{color:var(--muted)}
.digi-chat-quick button,.digi-chat-message,.digi-chat-input input{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.digi-chat-message.from-user{background:var(--tone-blue);color:var(--ink)}
.theme-choice{display:flex;align-items:center;gap:5px;flex-shrink:0;font:600 12px/1.2 Inter,system-ui,sans-serif;color:var(--muted)}
.theme-choice select{font:inherit;padding:9px 5px;border:1px solid var(--line);border-radius:8px;max-width:125px;min-height:36px}
.site-language select{font-size:12px;min-height:36px}
:root[data-theme=dark] :is(.brand-logo,.studio-brand img){background:transparent;border-radius:0;padding:0;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 6px #ffffffb3)}
:root[data-theme=dark] :is(.floating-note,.browser-window,.studio-top,.rail,.panel,.panel-head,.group,.page-picker,.studio-top .quiet,.studio-top .icon){background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] :is(.style-card,.layout-card,.page-picker button,.panel input,.panel textarea,.panel select,.quiet,.icon,.note,.note.purple){background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] :is(.panel p,.note,.studio-top #save-status,.rail a,.rail button,.style-card span:last-child,.field,.color-value){color:var(--muted)}
@media(max-width:700px){.global-audio-bar{gap:7px}.audio-brand{min-width:0;flex:1}.audio-brand small{display:none}.theme-choice>span{display:none}.theme-choice select{max-width:100px;padding:8px 3px;font-size:11px}.site-language select{max-width:75px;font-size:11px}.bar-controls{gap:3px}.bar-controls>button{width:29px;min-width:29px}.bar-now{display:none}.catalog-card-info>p,.catalog-card-info>div,.card-sector,.card-sector>span,.card-price small{font-size:12px}}
@media(max-width:420px){.audio-brand strong{font-size:11px}.audio-symbol{display:none}.theme-choice select{max-width:88px}.site-language select{max-width:55px}.global-audio-bar{padding-left:8px;padding-right:8px}}
@media print{.theme-choice{display:none}html,body{background:#fff;color:#14233d}}
/* Fitness uses the same palette for every panel, including the optional profile. */
.ft-hero>div>p:not(.eyebrow),.ft-note p,.ft-heading>p,.ft-toolbar label,.ft-settings label,.ft-library-filters label,.ft-help,.ft-exercise>p,.ft-exercise details,.ft-timer>p:not(.ft-help),.ft-history-empty,.ft-data p,.ft-sources p,.ft-profile-description,.ft-profile-grid label,.ft-profile-grid label>span,.ft-profile-footer>p,.ft-stats small,.ft-session-row,.ft-session-row small,.ft-timer-head>span{color:var(--muted);font-size:12px}
.ft-hero .ft-free{color:var(--muted)!important;font-size:12px!important}
.ft-profile-card,.ft-toolbar,.ft-routine,.ft-timer,.ft-stats article,.ft-calendar,.ft-history{background:var(--surface);color:var(--ink);border-color:var(--line)}
.ft-note,.ft-data,.ft-profile-age-note{background:var(--tone-blue);color:var(--ink);border-color:var(--line)}
.ft-profile-badge{background:var(--tone-cyan);color:var(--cyan);border-color:var(--line)}
.ft-toolbar select,.ft-settings input,.ft-library-filters input,.ft-library-filters select,.ft-profile-grid input,.ft-profile-grid textarea,.ft-button,.ft-icon-button,.ft-day{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.ft-button:hover:not(:disabled),.ft-exercise.is-selected .ft-button,.ft-day.has-session{background:var(--tone-blue);color:var(--blue);border-color:var(--blue)}
.ft-clock{background:var(--surface-soft);border-color:var(--line);box-shadow:inset 0 0 0 12px var(--surface),var(--shadow)}
.ft-clock>p,.ft-stats strong,.ft-session-row strong{color:var(--ink)}
.ft-clock>span,.ft-calendar-week,.ft-routine-num{color:var(--muted);font-size:12px}
.ft-exercise details p{background:var(--surface-soft);color:var(--muted);font-size:12px}
.ft-exercise summary,.ft-sources summary,.ft-text-button,.ft-profile-status,.ft-data-status{color:var(--blue);font-size:12px}
.ft-clock.is-rest,.ft-clock.is-done,.ft-exercise-icon{background:var(--tone-cyan);color:var(--cyan)}
.ft-button.primary{background:var(--blue);color:var(--on-accent)}
.statement-strip{background:var(--tone-gold);color:var(--gold-ink);border-color:var(--line)}
.site-header nav a{font-size:12px}
.skip,.audio-skip{background:var(--surface);color:var(--ink)}
.footer-button,body>footer p,body>footer>span{color:var(--muted)}
.catalog-hero>.eyebrow,.workspace-heading>.eyebrow,.plan-card .eyebrow,.ft-timer-head .eyebrow{color:var(--blue)}
.catalog-search>span,.library-app>p,#library-count,.workspace-heading p:not(.eyebrow){color:var(--muted)}
.catalog-card-visual>.open-icon{background:var(--surface);color:var(--ink)}
.library-book-content h2{color:var(--ink)}
.library-book-content button,.library-book-content a{background:var(--surface-soft);color:var(--blue);border-color:var(--line)}
.library-book-content .library-print-link{background:var(--tone-blue);color:var(--blue)}
.workspace-action,.outline-button{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.marketing-stage small,.domain-sources a{color:var(--blue)}
.marketing-stage p,.marketing-actions p,.domain-heading p,.domain-heading .eyebrow,.domain-sources p{color:var(--muted)}
#design-pages button[aria-pressed=true]{background:var(--tone-blue);color:var(--ink);border-color:var(--blue)}
.plan-card strong small,.plan-card>p:not(.eyebrow),.plan-card li,.managed-grid small,.managed-grid p,.pricing-footnote,.market-note p,.market-statline,.result-line,.filter-help{color:var(--muted)}
.managed-section{background:var(--surface-soft)}
.cost-controls select{background:var(--surface);color:var(--ink);border-color:var(--line)}
.paper-hint{color:#4c4a42}
.ft-art-card span{color:#526580}
.ft-note>span{color:var(--blue)}
/* Photo adjustments scroll independently so the preview stays in sight. */
.photo-workspace{align-items:start;border-color:var(--line)}
.photo-adjustments{max-height:65dvh;overflow:auto;background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.photo-preview-panel{max-height:65dvh;overflow:auto;background:var(--surface-soft);color:var(--ink)}
#photo-editor>p,#photo-editor .photo-adjustments>label,#photo-editor .photo-tools label,#photo-editor .photo-preview-bar,#photo-editor #photo-status{color:var(--muted);font-size:12px}
#photo-editor .photo-hint{color:var(--muted)!important;font-size:12px!important}
#photo-editor output{color:var(--blue)}
#photo-editor button:not(.workspace-close),#photo-editor .photo-tools select,#photo-editor .photo-preview-bar select,#photo-editor .photo-preview-bar>span:first-child{background:var(--surface);color:var(--ink);border-color:var(--line)}
#photo-editor button.primary{background:var(--blue);color:var(--on-accent);border-color:var(--blue)}
#photo-editor #photo-compare[aria-pressed=true]{background:var(--tone-blue)!important;color:var(--blue);border-color:var(--blue)!important}
#image-results button{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
#image-results span{font-size:12px;line-height:1.45}
#image-search input[type=search]{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
@media(max-width:800px){.photo-adjustments{max-height:50dvh}.photo-preview-panel{max-height:none}.photo-workspace{max-height:none}}
.library-note p,#library-personal p,.library-app .workspace-heading p{color:var(--muted)}
.marketing-preview>p,.marketing-work>p,.marketing-app p.workspace-help,.cost-total p{color:var(--muted)}
.print-hero>div>p:not(.eyebrow),.print-service-note p,.print-steps p,.print-product-grid small,.print-preview p,.print-feedback,.print-sources p{color:var(--muted)}
.print-steps li{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.print-steps li.available{background:var(--tone-blue);color:var(--ink)}
.print-steps span{background:var(--surface);color:var(--muted);border-color:var(--line)}
.print-steps .available span{background:var(--blue);color:var(--on-accent)}
.student-hero>div>p:not(.eyebrow),.student-focus>p:last-child,.student-status{color:var(--muted)}
.student-lesson-card>small{color:var(--blue)}
.site-header{background:var(--paper)}
.project-feature,.project-info{background:var(--surface);border-color:var(--line)}
.project-type,.project-note{color:var(--muted);font-size:12px}
.about-section{background:var(--surface-soft)}
.about-copy>p:not(.large-copy),.process details>p{color:var(--muted)}
.closing{background:var(--tone-blue)}
.library-hero>div>p{color:var(--muted)}
.library-hero>div>.eyebrow{color:var(--blue)}
.marketing-check>p{color:var(--muted)}
body>dialog{background:var(--surface);color:var(--ink);border-color:var(--line)}
.article-reader{background:#fff;color:#14233d}
@media(max-width:800px){.site-header nav{background:var(--surface);border-color:var(--line)}}
.print-sources a{color:var(--blue)}
.starter-card,.starter-meta,.project-card,.empty-projects{background:var(--surface);color:var(--ink);border-color:var(--line)}
.starter-meta p{font-size:12px;color:var(--muted)}

/* Contrast repair: interface surfaces follow one palette, including secondary dialogs. */
body{--dc-surface:var(--surface);--dc-line:var(--line);--dc-text:var(--ink)}
:root[data-theme=dark] :is(select,textarea,input:not([type=color]):not([type=range]):not([type=checkbox]):not([type=radio]):not([type=submit])){background-color:var(--surface-soft);color:var(--ink);border-color:var(--line);color-scheme:dark}
:root[data-theme=dark] :is(.reading-room,.reader-toolbar,.reader-readable-pager,.reader-menu,.reader-menu-heading,.reader-menu-body,.reader-menu-tabs,.audio-card,.newspaper-audio,.article-reader,.paper-zoom){background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] .reading-room .reader-viewport{background:var(--paper);scrollbar-color:var(--muted) var(--paper)}
:root[data-theme=dark] .reader-readable{background:var(--paper);color:var(--ink)}
:root[data-theme=dark] .reader-readable :is(h2,.reader-readable-body p){color:var(--ink)}
:root[data-theme=dark] :is(.reader-readable-meta,.reader-readable-demo,.reader-readable-deck,.reader-readable-byline,.reader-readable-end,.reader-brand>span,.paper-hint,.audio-description,.audio-now,.audio-now p,.audio-credits,.article-byline){color:var(--muted);border-color:var(--line)}
:root[data-theme=dark] :is(.reader-tools,.reader-type-controls,.reader-readable-pager,.reader-controls) button,:root[data-theme=dark] :is(.reader-menu-toggle,.reader-menu-tabs button,.reader-action-grid button,.zoom-field,.zoom-field button,.audio-card,.reader-controls){background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] .reader-tools>a{color:var(--blue)}
:root[data-theme=dark] .reader-menu :is(.reader-menu-tabs button[aria-selected=true],.news-category-nav button.selected){background:var(--tone-blue);color:var(--blue);border-color:var(--blue)}
:root[data-theme=dark] :is(.reader-menu-done,.audio-primary){background:var(--blue);color:var(--on-accent);border-color:var(--blue)}
:root[data-theme=dark] .story-easy{background:var(--tone-blue);color:var(--ink);border-color:var(--blue)}
:root[data-theme=dark] :is(.ft-personal-plan,.ft-plan-grid select,.ft-exercise-visual,.ft-timer-visual,.ft-demo-visual){background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] .ft-exercise-visual>span{color:var(--blue)}
:root[data-theme=dark] #ft-plan-status{color:var(--ink)}
/* Creative previews keep the user's artwork; all controls surrounding it are themed. */
:root[data-theme=dark] :is(#design-preset-dialog,#design-ai-dialog,#design-calendar-dialog,.creative-service-dialog,.design-preset-card,.preset-header,.preset-footer,.creative-service-preview,.domain-results article,.marketing-metrics article,.detail-art,.detail-copy,.preview-controls,.library-reader-tools,.library-reader-note,.cost-calculator,.template-research,.research-evidence){background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] #design-preset-dialog :is(.preset-close,.preset-focus-toolbar button,select),:root[data-theme=dark] .creative-service-dialog :is(button:not(.primary),input,select,textarea){background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] #design-preset-dialog :is(.preset-header p,.design-preset-card p,.design-preset-card small,.preset-footer),:root[data-theme=dark] :is(.detail-copy>p:not(.eyebrow),.detail-copy .detail-note,.domain-results p,.marketing-metrics small,.resource-reader p,.catalog-niche-label,.library-app label,.library-reader-tools label){color:var(--muted)!important}
:root[data-theme=dark] :is(.detail-copy h2,.marketing-metrics strong,.domain-results h3){color:var(--ink)}
:root[data-theme=dark] :is(.catalog-close,.preview-controls>button,.domain-card button,.marketing-actions button,.workspace-close){background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] :is(.domain-card button.primary,.creative-service-dialog button.primary){background:var(--blue);color:var(--on-accent);border-color:var(--blue)}
:root[data-theme=dark] :is(.library-reader-status,.library-reader-help,.library-reader-note,.catalog-news em,.catalog-count,.print-feedback){color:var(--muted)}
:root[data-theme=dark] .easy-card{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] #design-preset-dialog .preset-enlarge,:root[data-theme=dark] #design-preset-dialog .preset-enlarge>span:last-child{color:var(--blue);background:transparent}

:root[data-theme=dark] .catalog-news .eyebrow{color:var(--muted)}
