/* Account appearance bridge. Teaching media, rendered scenes and printable pages keep their authored colors. */
@media screen{
html[data-ag-theme]{--ag-bg:var(--theme-bg);--ag-panel:var(--theme-panel);--ag-raised:var(--theme-raised);--ag-panel-alt:var(--theme-raised);--ag-text:var(--theme-text);--ag-muted:var(--theme-muted);--ag-accent:var(--theme-accent);--ag-on-accent:var(--theme-on-accent);--ag-line:var(--theme-line);--ag-font:var(--theme-font);--ag-radius:var(--theme-radius);--ag-success:#64c692;--ag-danger:#f17b7f;--ink:var(--theme-bg);--bg:var(--theme-bg);--card:var(--theme-panel);--panel:var(--theme-panel);--surface:var(--theme-panel);--line:var(--theme-line);--ash:var(--theme-muted);--muted:var(--theme-muted);--text:var(--theme-text);--ivory:var(--theme-text);--copper:var(--theme-accent);--accent:var(--theme-accent);--ld-ink:var(--theme-bg);--ld-card:var(--theme-panel);--ld-line:var(--theme-line);--ld-text:var(--theme-text);--ld-muted:var(--theme-muted);--ld-copper:var(--theme-accent);--catalog-ink:var(--theme-bg);--catalog-muted:var(--theme-muted);--catalog-accent:var(--theme-accent);--catalog-line:var(--theme-line);color-scheme:var(--theme-scheme)}
html[data-ag-theme] body{background-color:var(--theme-bg)!important;color:var(--theme-text)!important;font-family:var(--theme-font)!important}
html[data-ag-theme] :is(h1,h2,h3,h4){font-family:var(--theme-display)!important;font-weight:var(--theme-display-weight)!important;letter-spacing:var(--theme-display-tracking)!important}
html[data-ag-theme] :is(button,input,select,textarea){font-family:var(--theme-font);accent-color:var(--theme-accent)}
html[data-ag-theme] :is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid var(--theme-accent)!important;outline-offset:4px}
html[data-ag-theme] :is(.ag-campus-header,.ag-campus-navigation,.academy-top,.course-top,.course-savebar,.fc-top,.topbar,.studio-hero,.lesson-panel,.stage-panel,.catalog-header,.module-sidebar,.ag-work-dock){background-color:var(--theme-bg)!important;border-color:var(--theme-line)!important;color:var(--theme-text)!important}
html[data-ag-theme] :is(.panel,.campus-panel,.enrollment-card,.attendance-panel,.scrum-panel,.work-panel,.roadmap,.meeting-panel,.master-summary,.faculty-card,.staff-card,.training-profile-summary,.recognition-panel,.profile-stat,.profile-lab,.campus-card,.home-card,.studio-card,.studio-quick-card,.studio-deliverables,.studio-attendance,.studio-tasks,.studio-agenda,.lesson-nav,.course-dialog,.quiz fieldset,.quiz label,.ag-nav-group,.meeting-card,.people-department,.people-row){background-color:var(--theme-panel)!important;border-color:var(--theme-line)!important;border-radius:var(--theme-radius);color:var(--theme-text)}
html[data-ag-theme] :is(.welcome-copy,.profile-status,.profile-lab-note,.studio-home-meta,.ag-current-section,.muted,.home-intro,.campus-copy,.module-meta,.model-help){color:var(--theme-muted)!important}
html[data-ag-theme] :is(.eyebrow,.kicker,.home-kicker,.campus-kicker,.profile-user,.ag-nav-icon,.profile-stat strong,.profile-complete,.text-link,.ag-nav-guide,.ag-nav-group>summary,.languages button[aria-pressed=true]){color:var(--theme-accent)!important}
html[data-ag-theme] :is(.ag-campus-navigation a,.ag-header-actions a,.ag-current-section,.ag-primary-links a,.course-top nav a,.fc-top a){color:var(--theme-text)}
html[data-ag-theme] :is(.ag-campus-navigation a:hover,.ag-campus-navigation a[aria-current=page],.ag-primary-links a[aria-current=page]){background:color-mix(in srgb,var(--theme-accent) 12%,transparent)!important;border-color:var(--theme-accent)!important;color:var(--theme-accent)!important}
html[data-ag-theme] :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea){background-color:var(--theme-bg)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important;border-radius:var(--theme-radius)!important}
html[data-ag-theme] :is(.ag-nav-toggle,.ag-profile-shortcut,.logout button,.work-buttons button,.course-savebar button,.course-top button,.lesson-panel button,.ag-work-dock button){background-color:var(--theme-panel)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(button[aria-pressed=true]:not(.appearance-option):not(.recognition-blue-action):not(.scrum-cell):not([data-color]):not(.color-swatch),button.primary,.appearance-save,.appearance-open,.work-buttons button.primary){background-color:var(--theme-accent)!important;color:var(--theme-on-accent)!important;border-color:var(--theme-accent)!important}
html[data-ag-theme] :is(.profile-track span,.progress-track span,.studio-progress span){background-color:var(--theme-accent)!important}
html[data-ag-theme] :is(.ag-profile-shortcut,.ag-nav-toggle,.ag-work-dock,.fc-card,.work-panel,.people-department,.course-dialog){border-radius:var(--theme-radius)}
html[data-ag-theme] :is(.route-card,.module-card,.home-module,.catalog-row){border-color:var(--theme-line)!important}
html[data-ag-theme] :is(.route-card,.module-card,.home-module,.catalog-row):hover{border-color:var(--theme-accent)!important}
html[data-ag-theme] :is(.academy-shell,.academy-main,.academy-sidebar,.lab-controls,.lab-header,.lab-sidebar,.lab-card,.control-panel,.viewer-bar,.stage-toolbar,.inspector,.tool-panel,.screenwriting-sidebar,.sw-sidebar,.doc-panel,.project-sidebar,.production-sidebar){background-color:var(--theme-panel)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
/* Override only UI surfaces, never canvas, images, screenplay paper or color teaching diagrams. */
html[data-ag-theme] :is(.signature,.course-brand,.ag-profile-shortcut){color:var(--theme-text)!important}
html[data-ag-theme] :is(.signature span,.course-brand:after){color:var(--theme-accent)!important}
.appearance-page{max-width:1500px!important}.appearance-page h1{margin-top:12px!important}.appearance-intro{max-width:690px;color:var(--theme-muted);font-size:15px;line-height:1.8}.appearance-toolbar{margin:32px 0 18px;color:var(--theme-muted);font-size:12px}.appearance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.appearance-option{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:10px;min-width:0;min-height:176px!important;padding:18px!important;background:var(--theme-panel)!important;color:var(--theme-text)!important;border:1px solid var(--theme-line)!important;border-radius:var(--theme-radius)!important;cursor:pointer;transition:transform var(--theme-motion),border-color var(--theme-motion),box-shadow var(--theme-motion)}.appearance-option:hover{transform:translateY(-3px);border-color:var(--theme-accent)!important}.appearance-option[aria-pressed=true]{background:var(--theme-panel)!important;color:var(--theme-text)!important;border-color:var(--theme-accent)!important;box-shadow:inset 0 0 0 1px var(--theme-accent)}.appearance-swatches{display:flex;height:24px;border-radius:2px;overflow:hidden;gap:3px}.appearance-swatches i{flex:1}.appearance-name{font:500 18px/1.25 var(--theme-font)}.appearance-description{color:var(--theme-muted);font-size:11px;line-height:1.6}.appearance-selected{font-size:10px;color:var(--theme-accent);margin-top:auto;min-height:15px}.appearance-motion{display:flex;align-items:center;gap:12px;margin:25px 0;font-size:13px}.appearance-motion input{width:17px;height:17px}.appearance-savebar{position:sticky;bottom:16px;z-index:10;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 18px;background:var(--theme-raised);border:1px solid var(--theme-line);border-radius:var(--theme-radius);box-shadow:0 8px 30px #0002}.appearance-status{flex:1 1 330px;font-size:12px;margin:0;line-height:1.6;color:var(--theme-muted)}.appearance-savebar button,.appearance-open{padding:11px 16px!important;min-height:42px;border:1px solid var(--theme-line);border-radius:var(--theme-radius);background:var(--theme-panel);color:var(--theme-text);cursor:pointer}.appearance-savebar button:disabled{opacity:.45;cursor:default}.appearance-reset{font-size:11px!important}.appearance-profile-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;margin:20px 0 28px;border:1px solid var(--theme-line);background:var(--theme-panel);border-radius:var(--theme-radius)}.appearance-profile-card h2{font-size:21px!important;margin:0 0 5px!important}.appearance-profile-card p{margin:0;color:var(--theme-muted);font-size:12px}.appearance-open{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none;font-size:12px}
html[data-ag-motion=reduced] *,html[data-ag-motion=reduced] *:before,html[data-ag-motion=reduced] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1100px){.appearance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.appearance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.appearance-option{padding:14px!important;min-height:190px!important}.appearance-name{font-size:16px}.appearance-profile-card{align-items:flex-start;flex-direction:column}.appearance-savebar{bottom:8px;padding:12px}.appearance-savebar button{flex:1}.appearance-status{flex-basis:100%}}

/* The older photography labs use "ink" for text; the campus uses it for a surface. */
html[data-ag-theme]:has(.academy-top,.ag-lab-workspace){--ink:var(--theme-text);--gold:var(--theme-accent);--gold2:var(--theme-text)}
html[data-ag-theme] :is(.education-catalog,#home-screen.photography-route){--catalog-ink:var(--theme-text);--catalog-muted:var(--theme-muted);--catalog-accent:var(--theme-accent);--catalog-line:var(--theme-line)}
html[data-ag-theme]{--rec-ink:var(--theme-bg);--rec-card:var(--theme-panel);--rec-line:var(--theme-line);--rec-text:var(--theme-text);--rec-muted:var(--theme-muted)}

/* Enumerated application chrome, not scene hosts, teaching graphics or document sheets. */
html[data-ag-theme] :is(
 .sidebar,.ag-topbar,.site-header,.document-bar,.editor-toolbar,.editor-footer,
 .ld-top,.ld-edit-bar,.ld-level-bar,.ld-edit-footer,.ld-palette,.ld-inspector,
 .production-header,.production-project-bar,.production-flow-bar,.production-footer,
 .production-tabs,.production-inspector,.production-center,.production-data-panel,
 .calls-form,.calls-preview,.writing-stage,.menu-popover,.export-options,
 .ag-lab-workspace,.ag-monitor,.ag-viewport-toolbar,.ag-viewport-fullscreen,
 .ag-guide-modebar,.ag-guide-phases,.ag-module-guide-mode,.ag-module-guide-phases,
 .lighting-mode,.ag-lighting-guide,.ag-camera-overview,.topic-toolbar,.course-workspace,
 .viewer-grid,.viewport>header,.ag-output-title,.ag-output .view-bar,.ag-output .visual-top,
 .ag-output .stage-toolbar,.ag-output .screen-label,.ag-output .image-stats,
 .ag-topbar .ag-workspace-bar,.ag-scene-pane .stage-bar,.ag-scene-pane .stage-bottom
){background-color:var(--theme-bg)!important;background-image:none!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(
 .control-card,.visual-card,.effect-card,.study-note,.ag-guide-single-control,
 .ag-guide-comparison,.ag-guide-orientation>div,.ag-lesson-example,
 .ag-module-guide-controls,.ag-module-guide-intro li,.ag-module-guide-result,
 .ag-settings-body details,.ag-settings-body .camera-advanced,.ag-settings-body .camera-scene-picker,
 .ag-output,.reading,.experiment-tip,.lesson-note,.timeline,.keyframe-strip,
 .ag-assessment-form,.ag-assessment-choice,.ag-assessment-feedback,
 .ld-project-card,.ld-empty,.ld-play-card,.project-card,.storyboard-card,.production-dialog,
 .library-card,.library-empty,.analysis-note,.doc-turn,.doc-suggestion,.doc-chat-message,
 .doc-diff pre,.doc-before,.doc-after,.doc-change-details pre,
 .recognition-dock-panel,.recognition-dialog,.recognition-overview,.recognition-person-card,
 .recognition-podium-card,.recognition-table,.recognition-empty,.recognition-profile,
 .ag-recognition .recognition-rule,.recognition-admin-dialog .recognition-dialog-top
){background-color:var(--theme-panel)!important;background-image:none!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important;border-radius:var(--theme-radius)!important}
html[data-ag-theme] :is(.ag-campus-header,.ag-campus-navigation,.ag-work-dock,.recognition-dock-toggle,.recognition-dock-panel,.menu-popover,.export-options){
 background-color:color-mix(in srgb,var(--theme-panel) calc(var(--theme-panel-opacity) * 100%),transparent)!important;
 border-color:var(--theme-line)!important;color:var(--theme-text)!important
}
html[data-ag-theme] :is(.recognition-dock-chevron,.recognition-dock-more,.recognition-dock-panel .recognition-medal-name){color:var(--theme-text)!important}
html[data-ag-theme] :is(.recognition-dock-panel h2,.recognition-dialog h2,.recognition-award h3,.recognition-person-card h2,.recognition-table-name){color:var(--theme-text)!important}
html[data-ag-theme] :is(.recognition-no-medals,.recognition-blue-note,.recognition-dialog-intro,.recognition-award p,.recognition-person-heading p,.recognition-table small,.recognition-overview span){color:var(--theme-muted)!important}

/* Exact control regions also cover the embedded lab documents and production tools. */
html[data-ag-theme] :is(
 .academy-top,.module-sidebar,.topic-toolbar,.ag-settings-body,.ag-viewport-toolbar,
 .ag-output .view-bar,.ag-output .stage-toolbar,.ag-guide-modebar,.ag-guide-phases,
 .ag-guide-actions,.ag-guide-check,.ag-guide-comparison,.ag-overview-tools,
 .ag-module-guide,.ag-module-guide-mode,.lighting-mode,.lighting-steps,.ag-lighting-guide,
 .ag-topbar,.sidebar,.stage-bar,.stage-bottom,.ld-top,.ld-palette,.ld-inspector,
 .ld-editor-actions,.ld-library-actions,.ld-project-card,.ld-level-bar,.ld-edit-footer,
 .production-header,.production-project-bar,.production-flow-bar,.production-sidebar,
 .production-tabs,.production-inspector,.production-data-panel,.production-dialog,.calls-form,
 .site-header,.document-bar,.editor-toolbar,.editor-footer,.inspector,.library-card,.menu-popover,
 .export-options,.doc-panel,.ag-assessments
) button:not([data-color]):not(.color-swatch):not(.swatch){
 background-color:var(--theme-raised)!important;background-image:none!important;
 color:var(--theme-text)!important;border-color:var(--theme-line)!important;border-radius:var(--theme-radius)!important
}
html[data-ag-theme] button:not(.appearance-option):not(.recognition-blue-action):not(.scrum-cell):not([data-color]):not(.color-swatch):is(
 .primary,.selected,.is-active,.active,[aria-pressed=true],[aria-selected=true],
 .ag-guide-primary,.ag-module-guide-primary,.lighting-primary,.ag-assessment-primary,.ld-primary
){background-color:var(--theme-accent)!important;background-image:none!important;color:var(--theme-on-accent)!important;border-color:var(--theme-accent)!important}
html[data-ag-theme] :is(.ag-module-guide,.ag-guided-panel,.ag-lighting-guide,.ag-settings-body,.lesson-panel,.production-inspector,.ld-inspector) :is(label,.field,.range-label,.slider-label,.control-title){color:var(--theme-text)!important}
html[data-ag-theme] :is(.ag-viewport-toggle,.ag-view-toggle,.ag-workspace-bar>span,.phase-tabs button,.view-tabs button,.stage-bar>span,.ag-topbar-title,.ag-signature b,.ag-wordmark,.ag-wordmark span,.ag-back){color:var(--theme-text)!important}
html[data-ag-theme] :is(.ag-viewport-toggle,.lighting-role-switches label){background-color:var(--theme-raised)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(.ag-viewport-toggle,.lighting-role-switches label):has(input:checked){background-color:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-panel))!important;border-color:var(--theme-accent)!important;color:var(--theme-text)!important}
html[data-ag-theme] :is(input[type=range],input[type=checkbox],input[type=radio]){accent-color:var(--theme-accent)!important}
html[data-ag-theme] :is(.ag-signature i,.ag-topbar-title:before,.progress-track,.learning-progress-track,.ag-assessment-question-nav button.is-answered:after){background-color:var(--theme-accent)!important}
html[data-ag-theme] :is(
 .ag-guide-eyebrow,.ag-guide-single-control output,.ag-guide-effect,.ag-guide-check summary,
 .ag-guide-related,.ag-guide-live-value,.ag-module-guide-eyebrow,.ag-module-guide-control output,
 .ag-module-guide-actions>span,.ag-module-guide-phases span,.lighting-kicker,.lighting-single output,
 .ag-output-title,.ag-viewport-label,.ag-settings-body .mini-title,.ag-settings-body output,
 .ag-settings-body .teaching-strip strong,.ag-settings-body .raw-callout strong,.ag-settings-body .model-note strong,
 .learn-field output,.reading b,.ag-assessment-question-counter,.ld-kicker,.ld-card-footer button,
 .ld-edition,.production-flow-bar .current,.production-table td strong,.storyboard-card-meta,
 .link-button,.doc-open-link,.doc-turn-label,.doc-chat-author,.doc-suggestion summary,
 .doc-message-role,.recognition-link,.recognition-position
){color:var(--theme-accent)!important}
html[data-ag-theme] :is(
 .ag-guided-panel,.ag-module-guide,.ag-guide-note,.ag-guide-fixed,.ag-guide-later,
 .ag-guide-comparison small,.ag-guide-range-labels,.ag-guide-orientation p,.ag-guide-check,
 .ag-module-guide-setup p,.ag-module-guide-note p,.ag-module-guide-result p,.ag-lighting-guide,
 .lighting-reference,.lighting-note,.ag-settings-body p,.ag-settings-body .note,.ag-settings-body .small-note,
 .ag-settings-body .model-note p,.ag-settings-body .role-description,.lesson-panel p,.lesson-note,
 .ag-overview-header p,.ag-overview-card>p,.ag-overview-card ul,.ag-overview-example,
 .visual-caption,.ag-output figcaption,.ag-output .canvas-caption,.ag-output .image-credit,
 .ag-output .picture-credit,.ag-output .view-note,.ag-output .readout-note,
 .ag-output .lesson-card p,.ag-output .storage-result p,.ag-output .variant-detail p,.ag-output .file-scene p,
 .ag-scene-note,.side-label,.sidebar small,.side-bottom p,.section-head p:last-child,.card>p,
 .type-choice small,.note,.metric-row small,.ld-library-intro,.ld-card-meta,.ld-card-description,
 .ld-library-heading p,.ld-card-footer time,.ld-palette-help,.ld-inspector-description,.ld-field,
 .ld-edition span,.ld-level-meta,.production-language,.field small,.workflow,.palette-tip,
 .sidebar-heading h2,.scene-button small,.production-flow-bar .source-status,
 .production-flow-bar .disabled,.production-table td p,.schedule-row small,.calls-preview-heading h2,
 .calls-day-card span,.production-connections,.inspector-state-note
){color:var(--theme-muted)!important}
html[data-ag-theme] :is(.ag-guide-instruction,.ag-guide-comparison,.ag-module-guide-instruction,.ag-module-guide-result,.teaching-strip,.analysis-note,.production-notice,.ag-assessments .ag-assessment-validation){
 background-color:color-mix(in srgb,var(--theme-accent) 7%,var(--theme-panel))!important;
 background-image:none!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important
}
html[data-ag-theme] :is(.ag-guide-instruction strong,.ag-guide-orientation strong,.ag-guide-single-control label,.ag-module-guide h2,.ag-guided-panel h2,.ag-lighting-guide h2,.ag-overview-card-top>strong,.ag-overview-header h1,.ag-assessment-stats strong,.ag-assessment-feedback-status strong,.production-table td,.schedule-row p){color:var(--theme-text)!important}
html[data-ag-theme] :is(.ag-settings-body details>summary,.ag-guide-fixed summary,.ag-guide-later summary,.ag-module-guide-note summary){color:var(--theme-text)!important}
html[data-ag-theme] :is(.doc-panel,#doc-availability,#doc-status,#doc-apply-status,#doc-request-status,#inspector-header,#project-upload-group){background-color:var(--theme-panel)!important;background-image:none!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(.production-table th,.shot-table th,.recognition-table thead th){background-color:var(--theme-raised)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}

/* The photographic bands keep their source images with a theme-aware readability veil. */
html[data-ag-theme] .education-section-band:before{background-image:linear-gradient(90deg,var(--theme-bg) 3%,color-mix(in srgb,var(--theme-bg) 93%,transparent) 28%,color-mix(in srgb,var(--theme-bg) 68%,transparent) 61%,color-mix(in srgb,var(--theme-bg) 34%,transparent)),var(--education-photo,url('/assets/portfolio/set.jpg'))!important}
html[data-ag-theme] .module-card:after{background-image:linear-gradient(90deg,var(--theme-bg) 0%,color-mix(in srgb,var(--theme-bg) 94%,transparent) 31%,color-mix(in srgb,var(--theme-bg) 73%,transparent) 58%,color-mix(in srgb,var(--theme-bg) 20%,transparent) 100%)!important}
html[data-ag-theme] :is(.route-card,.lesson-banner){background-image:linear-gradient(90deg,var(--theme-bg) 4%,color-mix(in srgb,var(--theme-bg) 94%,transparent) 40%,color-mix(in srgb,var(--theme-bg) 72%,transparent)),var(--course-image,none)!important}
html[data-ag-theme] .ag-assessment-header{background-image:linear-gradient(90deg,var(--theme-bg) 8%,color-mix(in srgb,var(--theme-bg) 87%,transparent) 58%,color-mix(in srgb,var(--theme-bg) 48%,transparent)),url('/assets/portfolio/monitor.jpg')!important}
html[data-ag-theme] .ag-overview-card{--theme-route-photo:url('/assets/portfolio/set.jpg');background-image:linear-gradient(90deg,color-mix(in srgb,var(--theme-bg) 94%,transparent),color-mix(in srgb,var(--theme-bg) 87%,transparent)),var(--theme-route-photo)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] .ag-overview-card:nth-child(3n+2){--theme-route-photo:url('/assets/portfolio/monitor.jpg')}
html[data-ag-theme] .ag-overview-card:nth-child(3n){--theme-route-photo:url('/assets/portfolio/crew.jpg')}
html[data-ag-theme] :is(.module-title,.route-card strong,.lesson-banner h1){color:var(--theme-text)!important}
html[data-ag-theme] :is(.module-state,.module-description,.module-tracking-note,.education-section-band p,.route-status,.lesson-banner-position,.ag-assessment-header .ag-assessment-intro){color:var(--theme-muted)!important}
html[data-ag-theme] :is(.module-number,.education-band-number,.route-number,.lesson-banner-number,.ag-overview-card-top>span:first-child){color:color-mix(in srgb,var(--theme-text) 68%,var(--theme-bg))!important}
html[data-ag-theme] .module-number{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums}
html[data-ag-theme] :is(.module-enter,#home-screen.photography-route .module-card-link){background-color:var(--theme-accent)!important;color:var(--theme-on-accent)!important}
html[data-ag-theme] :is(.module-row-arrow,.education-band-mark,.ag-overview-card-top>span:last-child){color:var(--theme-accent)!important}
html[data-ag-theme] .ag-overview-card:before{border-color:var(--theme-accent)!important}

/* Photography route and iframe controls declare a second, local set of lesson colours. */
html[data-ag-theme].ag-workspace-document{--lesson-accent:var(--theme-accent);--lesson-ink:var(--theme-text);--lesson-muted:var(--theme-muted);--lesson-line:var(--theme-line)}
html[data-ag-theme] :is(#camera-route-title,.camera-route-heading h2,.camera-lesson-context>strong,.module-introduction-heading h1,.module-introduction-section-head h2,.module-introduction-topic h3,.sources-heading){color:var(--theme-text)!important}
html[data-ag-theme] :is(.camera-route-heading>p:last-child,.camera-lesson-context>div,.camera-lesson-number,.ag-lesson-introduction>ul,.ag-lesson-introduction>ul>li,.ag-lesson-example p,.module-introduction-copy,.module-introduction-section-head p,.module-introduction-topic ul,.module-introduction-topic li,.module-introduction-note,.module-introduction-route li,.module-introduction-objective){color:var(--theme-muted)!important}
html[data-ag-theme] :is(.camera-route-heading .eyebrow,#camera-lesson-position,.module-introduction-heading .eyebrow,.module-introduction-number,.module-introduction-open,.module-introduction-route li>span,.module-introduction-objective>strong,.ag-lesson-example strong,#source-links a,#guide-source-links a,#all-sources a){color:var(--theme-accent)!important}
html[data-ag-theme] :is(.ag-lesson-introduction li,.module-introduction-topic li)::marker{color:var(--theme-accent)!important}
html[data-ag-theme] :is(.module-introduction,.module-introduction-heading,.module-introduction-grid>article,.module-introduction-assessment,.module-introduction-section-head .module-introduction-context,dialog#help,dialog#help-dialog){background-color:var(--theme-panel)!important;background-image:none!important;border-color:var(--theme-line)!important;color:var(--theme-text)!important}
html[data-ag-theme] .module-introduction-topic:hover{background-color:var(--theme-raised)!important}
html[data-ag-theme] .module-introduction-start{background-color:var(--theme-accent)!important;border-color:var(--theme-accent)!important;color:var(--theme-on-accent)!important}
html[data-ag-theme] #topic-navigation .camera-lesson-link.selected :is(.camera-lesson-number,.camera-lesson-name){color:var(--theme-on-accent)!important}
html[data-ag-theme] .ag-output :is(.ag-output-title,.view-bar,.visual-top,.stage-toolbar,.screen-label){color:var(--theme-text)!important;background-color:var(--theme-panel)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(.ag-output .readout-strip,.ag-output .camera-readouts,.ag-output .readout-row,.ag-pupil-readout,.ag-support-caption,.ag-camera-primary .ag-scene-caption){background-color:var(--theme-panel)!important;border-color:var(--theme-line)!important;color:var(--theme-muted)!important}
html[data-ag-theme] :is(.ag-pupil-readout strong,.ag-output .image-stats strong){color:var(--theme-accent)!important}
html[data-ag-theme] .ag-pupil-readout :is(span,small){color:var(--theme-muted)!important}
html[data-ag-theme] .ag-output :is(figcaption,.canvas-caption,.image-credit,.picture-credit,.view-note,.readout-note){background-color:var(--theme-panel)!important;color:var(--theme-muted)!important}
/* These labels sit over photographs or rendered scenes, so their dark backing stays intact. */
html[data-ag-theme] :is(.hero-visual figcaption,.ag-output .view-hud,.ag-output .camera-hud){color:#eee9df!important}

/* Selected previews remain previews, with an outline instead of an unreadable solid fill. */
html[data-ag-theme] button.appearance-option[aria-pressed=true]{
 background-color:var(--theme-panel)!important;background-image:none!important;
 color:var(--theme-text)!important;border-color:var(--theme-accent)!important;
 box-shadow:inset 0 0 0 1px var(--theme-accent)
}
html[data-ag-theme] .appearance-option .appearance-description{color:var(--theme-muted)!important}
html[data-ag-theme] .appearance-option .appearance-name{color:var(--theme-text)!important}
html[data-ag-theme] .appearance-option .appearance-selected{color:var(--theme-accent)!important}
html[data-ag-theme] :is(input,textarea)::placeholder{color:var(--theme-muted)!important;opacity:1}
html[data-ag-theme] :is(.ag-guide-phases,.ag-module-guide-phases,.phase-tabs,.lighting-steps,.ag-guide-check,.ag-module-guide-mode,.ag-guide-modebar) button:is([aria-pressed=true],[aria-selected=true],.selected,.active) :is(span,strong,small){color:var(--theme-on-accent)!important}
html[data-ag-theme] .ag-assessment-question-nav button[aria-current=step]{background-color:var(--theme-accent)!important;color:var(--theme-on-accent)!important;border-color:var(--theme-accent)!important}
html[data-ag-theme] .ag-assessment-choice.is-selected .ag-assessment-choice-letter{color:var(--theme-on-accent)!important}

/* Editorial paper and slate previews are independent from account colour preferences. */
html[data-ag-theme] .paper{--text:#202426;--paper:#fbfaf6;background:#fbfaf6!important;color:#202426!important;color-scheme:light}
html[data-ag-theme] .paper :is(h1,h2,h3,h4){font-family:'Courier New',Courier,monospace!important;font-weight:700!important;letter-spacing:normal!important;color:#202426!important}
html[data-ag-theme] .call-paper{background:#f4f0e5!important;color:#1c2c34!important;color-scheme:light}
html[data-ag-theme] .call-paper :is(h1,h2,h3,h4){font-family:Arial,sans-serif!important;font-weight:700!important;letter-spacing:normal!important;color:#162b34!important}

/* Status meaning stays red/green/blue, with sufficient contrast on the two light palettes. */
html[data-ag-theme="mirrors-edge"],html[data-ag-theme="chicle"]{--ag-success:#1e673f;--ag-danger:#a01d32;--rec-blue:#245f85}
html[data-ag-theme]:is([data-ag-theme="mirrors-edge"],[data-ag-theme="chicle"]) :is(.save-state.error,.save-status.error,.status.error,.production-notice.error,.ag-assessment-status.is-error,.recognition-live.is-error,.recognition-page-status.is-error,.work-feedback.is-error){color:var(--ag-danger)!important}
html[data-ag-theme]:is([data-ag-theme="mirrors-edge"],[data-ag-theme="chicle"]) :is(.save-state.success,.status.ok,.ag-guide-check [data-guide-feedback][data-correct=true],.recognition-page-status:not(.is-error),.doc-applied-badge){color:var(--ag-success)!important}
html[data-ag-theme]:is([data-ag-theme="mirrors-edge"],[data-ag-theme="chicle"]) :is(.recognition-blue-tag,.recognition-blue-action,.recognition-blue-note){color:#246d9a!important}

/* Semantic foregrounds also work on raised controls. Keep colour meaning while
   avoiding the translucent, low-contrast text inherited from older dark panels. */
html[data-ag-theme]{--theme-success:#64c692;--theme-danger:#ff9397;--theme-warning:#e5c581;--theme-info:#96cef0;--ag-success:var(--theme-success);--ag-danger:var(--theme-danger)}
html[data-ag-theme="mirrors-edge"],html[data-ag-theme="chicle"]{--theme-success:#1e673f;--theme-danger:#a01d32;--theme-warning:#75500a;--theme-info:#245f85}

/* Account components predate the shared palette. Theme their chrome, with the
   photograph, film, badge artwork and rendered lesson scene left intact. */
html[data-ag-theme] :is(
 .home-task,.home-week-meetings,.studio-week-brief,.studio-supervision,.campus-home-card,
 .master-summary-grid>article,.guide-home-reminder,.home-admin-requests,
 .roadmap-editor,.roadmap-person,.roadmap-week-card,.roadmap-tasks,.roadmap-task-row,
 .roadmap-group,.roadmap-department,.meetings,.meeting-calendar,.meeting-detail,
 .meeting-booking,.meeting-cancel-dialog,.education-schedule,.schedule-day,
 .scrum-calendar-card,.scrum-calendar-day,.scrum-week-card,.scrum-legend>div,
 .recognition-award,.recognition-ranking-own,.recognition-live,.recognition-blue-editor
){background-color:var(--theme-panel)!important;background-image:none!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(.roadmap-editor-head,.roadmap-weekly-update,.roadmap-note-area,.roadmap-task-row,.home-week-meeting,.schedule-day-heading,.schedule-person,.scrum-roster,.scrum-matrix-scroll){border-color:var(--theme-line)!important}
html[data-ag-theme] :is(.home-week-date,.roadmap-task-track,.roadmap-progress>span,.scrum-matrix-scroll){background-color:var(--theme-bg)!important;background-image:none!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(.scrum-matrix th,.scrum-matrix thead th,.scrum-matrix th:first-child){background-color:var(--theme-raised)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(
 .home-greeting,.home-intro p,.home-task>p,.home-today p,.home-course-label,
 .home-section-heading p:not(.eyebrow),.home-module-count,.module-request-feedback,
 .home-week-range,.home-week-date span,.home-week-copy p,.home-week-state>small,.home-week-empty,
 .campus-home-card p,.campus-home-card>small,.campus-page-heading>p,
 .master-summary-heading>span,.master-attendance-stat p,.master-absence-stat p,
 .roadmap-intro,.roadmap-hint,.roadmap-empty,.roadmap-google-hint,.roadmap-person small,
 .roadmap-editor-head p,.roadmap-week-card small,.roadmap label,.roadmap-progress,
 .roadmap-notice small,.roadmap-task-empty,.roadmap-task-meter>strong,
 .meeting-intro,.meeting-host span,.meeting-weekday,.meeting-calendar-note,
 .meeting-date-field,.meeting-detail>p,.meeting-request-form p,.meeting-recurring,
 .meeting-booking small,.meeting-review label,.meeting-empty,.meeting-cancel-dialog p,
 .schedule-heading p:not(.eyebrow),.schedule-zone,.schedule-field,.schedule-identity span,
 .schedule-day-heading>strong,.schedule-event p,.schedule-event small,.schedule-tag,
 .schedule-no-session,.schedule-day-off,.schedule-day>small,.schedule-note,.schedule-person span,
 .scrum-matrix th small,.scrum-calendar-day small,.scrum-week-card small,.scrum-legend p,
 .scrum-entry-status p,.recognition-blue-editor p,.recognition-celebration>p:not(.recognition-eyebrow):not(.recognition-celebration-name),.recognition-celebration-receipt
){color:var(--theme-muted)!important}
html[data-ag-theme] :is(
 .home-greeting strong,.home-today>#home-attendance-date,.home-week-date strong,
 .home-week-copy h3,.roadmap-plan-copy,.roadmap-note-copy,.roadmap-task-copy,
 .roadmap-person h3,.meeting-host strong,.meeting-booking h4,.schedule-identity strong,
 .schedule-event h3,.schedule-day-heading>span,.scrum-legend strong,.scrum-entry-status,
 .recognition-medal-name,.recognition-celebration-name
){color:var(--theme-text)!important}
html[data-ag-theme] :is(
 .home-profile-link,.home-history-link,.home-task-link,.home-task-arrow,.home-admin-requests,
 .home-requests-status,.home-inline-retry,.home-week-agenda,.home-week-detail,.home-week-copy time,
 .home-week-copy small,.campus-card-link,.master-profile-link,.roadmap-field-title,.roadmap-feedback,
 .roadmap-save-state,.roadmap-week-card b,.roadmap-chip,.roadmap-demo,.roadmap-unsaved,
 .meeting-zone,.meeting-feedback,.meeting-host small,.meeting-request-form label,.meeting-link,
 .schedule-week-nav strong,.schedule-feedback,.schedule-event time,.schedule-full,.schedule-person p,
 .scrum-link,.scrum-pending-count,#scrum-status
){color:var(--theme-accent)!important}
html[data-ag-theme] :is(.roadmap-notices,.roadmap-demo,.guide-home-reminder,.roadmap-chip){background-color:color-mix(in srgb,var(--theme-accent) 6%,var(--theme-panel))!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] .home-jumps{background:var(--theme-bg)!important;border-color:var(--theme-line)!important}

/* Neutral controls need both halves of the colour pair. An old dark button on a
   light theme must not inherit dark copy, and a selected icon follows its label. */
html[data-ag-theme] :is(.roadmap,.meetings,.education-schedule,.scrum-page) button:where(:not([data-color]):not(.color-swatch):not(.swatch):not(.scrum-cell)),
html[data-ag-theme] :is(.roadmap-link,.meeting-link,.scrum-action,.home-jumps a,.request-access-button){background-color:var(--theme-raised)!important;background-image:none!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(
 .home-primary,.roadmap .roadmap-primary,.meetings .meeting-primary,.scrum-page button.primary,
 .roadmap button[aria-pressed=true],.meetings button[aria-pressed=true],
 .education-schedule button[aria-pressed=true],.scrum-view-toggle button[aria-pressed=true]
){background-color:var(--theme-accent)!important;color:var(--theme-on-accent)!important;border-color:var(--theme-accent)!important}
html[data-ag-theme] button:not(.appearance-option):not(.recognition-blue-action):not(.scrum-cell):not([data-color]):not(.color-swatch):not(.swatch):is(
 .primary,.selected,.is-active,.active,[aria-pressed=true],[aria-selected=true],
 .ag-guide-primary,.ag-module-guide-primary,.lighting-primary,.ag-assessment-primary,.ld-primary,
 .home-primary,.roadmap-primary,.meeting-primary
) :is(span,strong,small,em,b,i,svg){color:inherit!important}
html[data-ag-theme] button:disabled:not(.is-confirmed):not(.scrum-cell):not(.appearance-option):not([data-color]):not(.color-swatch):not(.swatch),
html[data-ag-theme] button[aria-disabled=true]:not(.scrum-cell):not(.appearance-option):not([data-color]):not(.color-swatch):not(.swatch){background-color:var(--theme-raised)!important;background-image:none!important;color:var(--theme-muted)!important;border-color:var(--theme-line)!important;opacity:1!important;cursor:not-allowed}
html[data-ag-theme] button:disabled:not(.is-confirmed):not(.scrum-cell):not(.appearance-option):not([data-color]):not(.color-swatch):not(.swatch) :is(span,strong,small,em,b,i,svg){color:inherit!important}
html[data-ag-theme] .home-primary.is-confirmed{background-color:color-mix(in srgb,var(--theme-success) 8%,var(--theme-panel))!important;color:var(--theme-success)!important;border-color:var(--theme-success)!important;opacity:1!important}
html[data-ag-theme] :is(.meeting-badge.confirmed,.roadmap-week-card em,.task-completed,.save-state.success,.status.ok,.doc-applied-badge){color:var(--theme-success)!important}
html[data-ag-theme] :is(.meeting-badge,.scrum-note.warning,.request-access-button.is-pending){color:var(--theme-warning)!important}
html[data-ag-theme] :is(.meeting-badge.cancelled,.meeting-badge.declined){color:var(--theme-muted)!important}
html[data-ag-theme] :is(.save-state.error,.save-status.error,.status.error,.production-notice.error,.ag-assessment-status.is-error,.recognition-live.is-error,.recognition-page-status.is-error,.work-feedback.is-error){color:var(--theme-danger)!important}
/* Assessment colours encode the result itself: retain a stable dark swatch with
   its original score colour, rather than recolouring the student's grade. */
html[data-ag-theme] .scrum-page .scrum-cell{background:color-mix(in srgb,var(--status-color,#43535a) 14%,#0c1418)!important;color:var(--status-color,#b6c5cd)!important;border-color:var(--status-color,#43535a)!important}
html[data-ag-theme] .scrum-cell.is-active{outline-color:var(--theme-accent)}
html[data-ag-theme] :is(.recognition-close,.recognition-count-controls button){background:var(--theme-raised)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}

/* Campus widgets have their own local tokens; replace those at their owner so
   section headings and new widget copy inherit the account palette as well. */
html[data-ag-theme] :is(.campus-home,.campus-page){--campus-line:var(--theme-line);--campus-muted:var(--theme-muted);--campus-accent:var(--theme-accent);--campus-paper:var(--theme-text);color:var(--theme-text)!important}
html[data-ag-theme] :is(.campus-event-card,.campus-dialog,.campus-file,.campus-people-nav,.campus-calendar-day,.campus-calendar-label){background:var(--theme-panel)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(.campus-section-head h2,.campus-upcoming-title,.campus-panel strong,.campus-field,.campus-event-card h3){color:var(--theme-text)!important}
html[data-ag-theme] :is(
 .work-continuity,.studio-deadline p,.campus-deadline small,.campus-panel p,.campus-help,
 .campus-field>span,.campus-note small,.campus-upload-label,.campus-event-card p,
 .campus-dialog p,.campus-mobile-caption,.campus-people-nav>button small,
 .catalog-toolbar label,.catalog-result-count,.catalog-filters button:not([aria-pressed=true]),
 .education-catalog .module-category,.education-catalog .module-meta,.education-catalog .module-progress p,
 .education-catalog .module-progress-heading,.catalog-empty
){color:var(--theme-muted)!important}
html[data-ag-theme] :is(.campus-section-head>a,.campus-deadline,.campus-back,.campus-event-date,.campus-file-name,.campus-card-icon,.studio-card-top>svg){color:var(--theme-accent)!important}
html[data-ag-theme] :is(.campus-event-dot,.campus-calendar-event,.campus-note){background:color-mix(in srgb,var(--theme-accent) 7%,var(--theme-panel))!important;color:var(--theme-text)!important;border-color:var(--theme-accent)!important}
html[data-ag-theme] :is(.campus-button,.campus-link-button,.campus-people-nav>button){background-color:var(--theme-raised)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] .campus-button.primary{background-color:var(--theme-accent)!important;color:var(--theme-on-accent)!important;border-color:var(--theme-accent)!important}
html[data-ag-theme] :is(.campus-status,.campus-badge){color:var(--theme-success)!important}
html[data-ag-theme] .campus-badge.pending{color:var(--theme-warning)!important}
html[data-ag-theme] :is(.campus-status.error,.campus-button.danger,.campus-badge.rejected,.campus-badge.cancelled){color:var(--theme-danger)!important}
html[data-ag-theme] :is(.education-catalog .module-card,#home-screen.photography-route .route-module.module-card){background-color:var(--theme-bg)!important}
html[data-ag-theme] :is(.catalog-toolbar,.education-catalog .module-bottom,.campus-rule,.campus-calendar,.campus-event-callout,.campus-deadline){border-color:var(--theme-line)!important}
html[data-ag-theme] .catalog-empty{background-color:var(--theme-panel)!important;border-color:var(--theme-line)!important}
html[data-ag-theme] :is(.education-catalog .module-preview-toggle,.education-catalog .module-row-arrow){background-color:var(--theme-panel)!important;border-color:var(--theme-line)!important;color:var(--theme-accent)!important}

/* Shared lesson viewer chrome surrounds the independently coloured canvas. */
html[data-ag-theme] .learn-field>span{color:var(--theme-text)!important}
html[data-ag-theme] :is(.stage-toolbar>button,.stage-panel>button):where(:not(.primary):not(.selected):not(.is-active):not(.active):not([aria-pressed=true]):not([aria-selected=true]):not(:disabled)){
 background-color:var(--theme-raised)!important;background-image:none!important;
 color:var(--theme-text)!important;border-color:var(--theme-line)!important
}

} /* screen: exported and printed documents use their authored styles */
@media print{
 html[data-ag-theme] body{background:white!important;color:#111!important}
 html[data-ag-theme] .paper :is(h1,h2,h3,h4){font-family:'Courier New',Courier,monospace!important;font-weight:700!important;letter-spacing:normal!important;color:#202426!important}
 html[data-ag-theme] .call-paper :is(h1,h2,h3,h4){font-family:Arial,sans-serif!important;font-weight:700!important;letter-spacing:normal!important;color:#162b34!important}
 .appearance-savebar,.appearance-profile-card{display:none!important}
}
