/* Interface colors follow the same personal reward palette as Public Study.
   Book plates, clinical diagrams, anatomy materials and answer signals retain
   their own meaningful colors. This stylesheet never filters their pixels. */
html[data-atlas-appearance]{
 --paper:var(--bg);--surface:var(--panel);--green:var(--accent);--mint:var(--soft);
 --teal:var(--accent);--aqua:var(--accent);--workspace-line:var(--line);
 --atlas-paper:var(--bg);--atlas-panel:var(--panel);--atlas-soft:var(--soft);--atlas-ink:var(--text);--atlas-muted:var(--muted);--atlas-green:var(--accent);--atlas-line:var(--line);--atlas-focus:var(--focus);
 --lab-bg:var(--bg);--lab-panel:var(--panel);--lab-line:var(--line);--lab-text:var(--text);--lab-muted:var(--muted);--lab-accent:var(--accent);--lab-gold:var(--focus);
 --explorer-axis:var(--muted);--explorer-axis-lit:var(--accent);
 background:var(--bg);color:var(--text);
}
html[data-atlas-appearance] body{background:var(--bg);color:var(--text)}
html[data-atlas-appearance] :is(.topbar,.portal-header,.lab-header,.flow-topbar,.da-header,.ma-header,.pt-header,body>header){background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-atlas-appearance] :is(.brand,.portal-brand,.lab-brand,.pt-brand,.ma-brand,.da-brand){color:var(--text)}
html[data-atlas-appearance] :is(.brand-mark,.lab-brand em,.eyebrow,.lab-kicker){color:var(--accent);border-color:var(--line)}
html[data-atlas-appearance] a{color:var(--accent)}
html[data-atlas-appearance] :is(p,.lab-intro,.lab-small,.small,.muted,.portal-footer,.session-row span,.date,.optional,.file-kind,.deck-description,.deck-facts,.results-heading,.library-stats,.filename,.checksum,.section-label,.bone-scope-note,.reference-kind){color:var(--muted)}
html[data-atlas-appearance] :is(h1,h2,h3,h4,.library-stats strong,.deck-facts strong){color:var(--text)}
html[data-atlas-appearance] :is(.note-panel li,.file-details summary,.managed-row span,.version-row span,.sequence-panel button em){color:var(--muted)}
html[data-atlas-appearance] :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]){background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-atlas-appearance] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
html[data-atlas-appearance] :is(input[type=checkbox],input[type=radio],input[type=range],progress){accent-color:var(--accent)}
html[data-atlas-appearance] :is(button,.button,.lab-btn,.wide-button):not(:where(.model-pin,.model-anchor,.quiz-pin,.model-callout,.primary,.primary-button,.danger,.correct,.incorrect)){background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-atlas-appearance] :is(button,.button,.lab-btn):not(:where(.model-pin,.model-anchor,.quiz-pin,.model-callout,.primary,.primary-button,.danger,.correct,.incorrect)):hover{background:var(--soft);border-color:var(--accent)}
html[data-atlas-appearance] :is(.primary,.primary-button,.button.primary,.lab-btn.primary){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
html[data-atlas-appearance] :is(.primary,.primary-button):hover{filter:brightness(.96)}
html[data-atlas-appearance] :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:var(--focus)}
html[data-atlas-appearance] :is(.panel,.auth-card,.deck-card,.lab-card,.explorer,.inspector,.bone-reference-card,.section-controls,.pt-workspace,.pt-stats,.note-panel,.sequence-panel,.organ-card,.quiz-question,.quiz-result,.source-card,.source-method,.map-card,.recall-card,.system-detail,.animation-card,.reaction-card,.table-panel,.course-sidebar,.course-card,.module-group summary,.material-reader,.material-preview,.pathway-controls,.pathway-study,.pathway-sources a,.clinical-card,.clinical-controls,.flow-step-card,.source-model-panel,.circuit-panel){background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-atlas-appearance] :is(.hero-note,.dating-note,.structure-detail,.system-detail>.system-origin,.step-chip,.age-badge,.segmented,.reaction-scene,.molecule,.molecule.output,.molecule.catalyst,.state-lessons section,.availability,.state-signal,.pathway-tabs,.import-tip,.subject,.lab-choice-list label,.female-orient,.image-adjustments,.model-caption,.connection-note,.pt-notice,.pt-chip,.pt-pass-dot,.attachment-facts,.lab-guide,.anatomy-description){background:var(--soft);border-color:var(--line);color:var(--text)}
html[data-atlas-appearance] :is(.pt-pass-dot.done,.state-banner,.ma-status){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
html[data-atlas-appearance] :is(.state-banner,.ma-status) :is(h3,p,span){color:inherit}
html[data-atlas-appearance] button[aria-pressed=true]:not(:where(.correct,.incorrect,.model-pin,.model-anchor,.quiz-pin)){background:var(--soft);border-color:var(--accent);color:var(--text)}
html[data-atlas-appearance] :is(.ma-tabs,.da-tabs,.pt-tabs) :is(button[aria-selected=true],button[aria-pressed=true]),html[data-atlas-appearance] :is(.pathway-tabs,.phase-buttons,.course-section-tabs) button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
html[data-atlas-appearance] :is(#path-list,.chapter-rail,.process-steps,.sequence-panel,.structure-list,.system-layout>nav,.all-pathway-steps,.flow-all-steps,.segmented,.female-list) :is([aria-current=true],[aria-current=step],[aria-pressed=true]),html[data-atlas-appearance] .page-card[aria-current=page],html[data-atlas-appearance] .course-card[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--text)}
html[data-atlas-appearance] :is(.table-panel,.map-card) th{background:var(--soft);color:var(--text)}
html[data-atlas-appearance] :is(.table-panel,.map-card) tr:nth-child(even){background:var(--bg)}
html[data-atlas-appearance] :is(td,th,.session-row,.managed-row,.library-heading,.portal-footer,.reader-tools,.pt-toolbar,.pt-entry,.pt-guide,.detail-section,fieldset){border-color:var(--line)}
html[data-atlas-appearance] .atlas-explorer .stage{background:radial-gradient(ellipse at 50% 40%,var(--panel),var(--soft) 75%,var(--line));color:var(--text);border-color:var(--line)}
html[data-atlas-appearance] .atlas-explorer .stage :is(.stage-top h2,.view-tools button,.anatomy-tools button){color:var(--text)}
html[data-atlas-appearance] .atlas-explorer :is(.preset-label select,.loading,.view-tools,.anatomy-tools,.stage-mode-tag,.isolate-banner,.axis-label,.hover-label,.selected-label){background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-atlas-appearance] .atlas-explorer .model-callout:not(.origin):not(.insertion){background:var(--panel);color:var(--text);border-color:var(--accent)}
html[data-atlas-appearance] .atlas-explorer .model-callout.active:not(.origin):not(.insertion){background:var(--accent);color:var(--on-accent)}
html[data-atlas-appearance] .atlas-explorer .stage.atlas-focus-view{background:var(--bg)!important;color:var(--text);box-shadow:0 0 0 30px var(--bg)}
html[data-atlas-appearance] :is(.reader-tools,.page-scroll,.toc-link){background:var(--soft);color:var(--text);border-color:var(--line)}
html[data-atlas-appearance] .page-card{background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-atlas-appearance] .page-sheet canvas{background:white}
html[data-atlas-appearance] .diagram-scroll{background:#fffefa}
html[data-atlas-appearance] :is(.circuit-scroll,.pathway-map-scroll){background:#10272b;border-radius:8px}
html[data-atlas-appearance] .pathway-diagram{background:#10272b;color:#eff7f2;border-color:var(--line)}
html[data-atlas-appearance] .pathway-diagram :is(h2,p){color:inherit}
html[data-atlas-appearance] :is(.text-button,.text-link,.clear-link,.alternate-model,.book-reference-link){background:transparent;color:var(--accent)}
html[data-atlas-appearance] :is(.notice,.clinical-note,.system-clinical,.setup-note,.note-panel.clinical){background:var(--warning-bg);border-color:var(--warning-text);color:var(--warning-text)}
html[data-atlas-appearance] :is(.notice,.clinical-note,.system-clinical,.setup-note,.note-panel.clinical) :is(p,h3,strong,li){color:inherit}
html[data-atlas-appearance] :is(.error,.pt-error,.message.error){color:var(--danger)}
html[data-atlas-appearance][data-theme=light] :is(.quiz-choice.correct,.quiz-options .correct,.quiz-feedback:not(.wrong)){background:#e1efdf;border-color:#39755b;color:#1c5942}
html[data-atlas-appearance][data-theme=dark] :is(.quiz-choice.correct,.quiz-options .correct,.quiz-feedback:not(.wrong)){background:#24473d;border-color:#8fcab0;color:#e1ffef}
html[data-atlas-appearance][data-theme=light] :is(.quiz-choice.incorrect,.quiz-options .incorrect,.quiz-feedback.wrong){background:#f9ebe5;border-color:#ba7761;color:#752820}
html[data-atlas-appearance][data-theme=dark] :is(.quiz-choice.incorrect,.quiz-options .incorrect,.quiz-feedback.wrong){background:#492e32;border-color:#c6837f;color:#ffe8e3}
html[data-atlas-appearance] .quiz-feedback :is(p,h3){color:inherit}
html[data-atlas-appearance] dialog{background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-atlas-appearance] dialog::backdrop{background:#10252bb3;backdrop-filter:blur(3px)}
html[data-atlas-appearance] nav.atlas-nav{display:flex;align-items:center;gap:9px}
html[data-atlas-appearance] .atlas-nav :is(.atlas-menu-trigger,.atlas-menu-panel){background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-atlas-appearance] .atlas-nav .atlas-menu-word{color:var(--muted);border-color:var(--line)}
html[data-atlas-appearance] .atlas-nav .atlas-menu-panel h2{color:var(--accent)}
html[data-atlas-appearance] .atlas-nav .atlas-menu-panel a{color:var(--text)}
html[data-atlas-appearance] .atlas-nav .atlas-menu-panel :is(a:hover,a[aria-current=page]){background:var(--soft);color:var(--accent)}
html[data-atlas-appearance] .atlas-colors-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;font:600 .875rem/1.3 system-ui;border:1px solid var(--line);border-radius:9px;white-space:nowrap}
html[data-atlas-appearance] .atlas-colors-trigger svg{color:var(--accent);flex-shrink:0}
html[data-atlas-appearance] .atlas-colors-dialog{width:min(830px,calc(100% - 28px));max-height:90dvh;padding:24px;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 90px #10252b44;font:1rem/1.55 system-ui}
.atlas-colors-dialog *{box-sizing:border-box}
.atlas-colors-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px}
.atlas-colors-heading h2{font:400 2rem/1.2 Georgia,serif;margin:0;color:var(--text)}
.atlas-colors-kicker{font-size:.75rem!important;font-weight:700;letter-spacing:.1em;margin:0 0 8px!important;color:var(--accent)!important}
.atlas-colors-intro{margin:18px 0 12px;font-size:.9375rem;line-height:1.6}
.atlas-colors-progress{padding:12px 15px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font-size:.875rem}
.atlas-colors-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0 10px}
.atlas-colors-controls label{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin:0}
.atlas-colors-controls select{display:block;width:100%;min-width:0;min-height:44px;margin-top:7px;padding:9px 12px;font:inherit;border:1px solid var(--line);border-radius:7px}
.atlas-colors-status{font-size:.875rem;min-height:1.5em;margin:12px 0 18px}
.atlas-colors-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.atlas-color-card{display:flex;flex-direction:column;padding:15px;border:1px solid var(--line);border-radius:10px;min-width:0;background:var(--panel)}
.atlas-color-card.is-current{border:2px solid var(--accent);padding:14px}
.atlas-color-card h3{font-size:1.0625rem;margin:13px 0 5px;color:var(--text)}
.atlas-color-card :is(.atlas-color-availability,.atlas-color-alternative){font-size:.875rem;line-height:1.5;margin:0 0 9px;color:var(--muted)}
.atlas-color-preview{display:grid;grid-template-columns:30% 1fr;gap:10px;height:94px;padding:12px;border-radius:7px;border:1px solid var(--sample-line);background:var(--sample-bg)}
.atlas-color-preview>span{border-radius:4px;background:var(--sample-soft)}
.atlas-color-preview>div{padding:10px;display:flex;gap:6px;flex-direction:column;border-radius:4px;background:var(--sample-panel)}
.atlas-color-preview i{display:block;background:var(--sample-text);opacity:.65;height:5px;width:80%;border-radius:2px}
.atlas-color-preview i+i{width:55%;opacity:.35}
.atlas-color-preview b{display:block;background:var(--sample-accent);height:17px;width:60%;border-radius:4px;margin-top:3px}
html[data-atlas-appearance] .atlas-colors-dialog button{font:600 .875rem/1.4 system-ui;min-height:44px;border:1px solid var(--line);padding:9px 13px;border-radius:7px;cursor:pointer}
html[data-atlas-appearance] .atlas-color-card>button{margin-top:auto;width:100%;background:var(--soft);color:var(--text)}
html[data-atlas-appearance] .atlas-color-card.is-current>button{background:var(--accent);color:var(--on-accent);border-color:var(--accent);opacity:1}
html[data-atlas-appearance] .atlas-colors-dialog button:disabled{cursor:default}
.atlas-colors-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:23px;border-top:1px solid var(--line);padding-top:20px;font-size:.875rem}
.atlas-colors-empty{grid-column:1/-1}
@media(max-width:650px){html[data-atlas-appearance] .atlas-colors-trigger{width:40px;padding:9px 7px;flex-shrink:0}html[data-atlas-appearance] .atlas-colors-trigger>span{display:none}html[data-atlas-appearance] nav.atlas-nav{gap:6px;margin-left:auto}html[data-atlas-appearance] .atlas-menu-label{max-width:100px}html[data-atlas-appearance] .atlas-colors-dialog{padding:20px 17px}.atlas-colors-heading h2{font-size:1.65rem}.atlas-colors-footer{align-items:flex-start;flex-direction:column}.atlas-colors-controls{gap:12px}.atlas-color-card{padding:12px}.atlas-color-card.is-current{padding:11px}}
@media(max-width:430px){.atlas-colors-grid{grid-template-columns:1fr}.atlas-color-preview{height:90px}html[data-atlas-appearance] .atlas-menu-label{max-width:82px}html[data-atlas-appearance] .portal-brand{font-size:15px}}
@media print{.atlas-colors-trigger,.atlas-colors-dialog{display:none!important}html[data-atlas-appearance]{--bg:#fff;--panel:#fff;--text:#172f30;--muted:#425958;--accent:#16645b;--ink:#172f30}}

/* Keep the foreground paired with the selected surface, including nested copy. */
html[data-atlas-appearance] :is(.panel-tabs,.ma-tabs,.da-tabs,.pt-tabs,.pathway-tabs,.phase-buttons,.course-section-tabs,.atlas-theme-choices) :is(button[aria-selected=true],button[aria-pressed=true]){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
html[data-atlas-appearance] :is(button[aria-selected=true],button[aria-pressed=true],button[aria-current],.model-callout.active,.result-item.active,.lab-landmark.active,.page-card[aria-current],.course-card[aria-pressed=true],.atlas-menu-panel a[aria-current=page],.primary,.primary-button) :is(span,small,strong,b,em,p,h2,h3,h4,label,a){color:inherit!important}
html[data-atlas-appearance] :is(.result-item.active,.lab-landmark.active,.layer-row:has(input:checked)){background:var(--soft);color:var(--text);border-color:var(--accent)}
html[data-atlas-appearance] .layer-row:has(input:checked) :is(span,small,strong){color:inherit}
html[data-atlas-appearance] option{color:var(--text);background:var(--panel)}
html[data-atlas-appearance] option:checked{color:var(--on-accent);background:var(--accent)}
html[data-atlas-appearance] ::selection{background:var(--accent);color:var(--on-accent)}
html[data-atlas-appearance] :is(.pt-study,.pt-study .pt-stat,.pathway-now,.pathway-model-controls,.explorer-discovery){background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-atlas-appearance] .pt-study-deck:hover :is(span,strong,small){color:var(--text)}
html[data-atlas-appearance] .route-node.selected text{fill:#ffffff}

/* Quiz configuration uses checked labels as well as pressed buttons. Always
   change their foreground and surface together when a palette changes. */
html[data-atlas-appearance] :is(.lab-checks,.lab-choice-list,.quiz-chooser,.quiz-settings) label:has(input:checked),
html[data-atlas-appearance] .check:has(input:checked),
html[data-atlas-appearance] .quiz-presets button.active,
html[data-atlas-appearance] .quiz-options button.chosen:not(.correct):not(.incorrect){background:var(--soft);color:var(--text);border-color:var(--accent)}
html[data-atlas-appearance] :is(.lab-checks,.lab-choice-list,.quiz-chooser,.quiz-settings) label:has(input:checked) :is(span,small,strong,b,em,p),
html[data-atlas-appearance] .check:has(input:checked) :is(span,small,strong,b,em,p),
html[data-atlas-appearance] .quiz-presets button.active :is(span,small,strong),
html[data-atlas-appearance] :is(.quiz-options button,.quiz-choice) :is(span,small,strong,b,em,p){color:inherit!important}
html[data-atlas-appearance] :is(.quiz-options button,.quiz-choice)>span{background:transparent;border:1px solid currentColor;color:inherit}
html[data-atlas-appearance] :is(.quiz-options button,.quiz-choice):disabled{opacity:1;cursor:default}
html[data-atlas-appearance] :is(.quiz-options button,.quiz-choice):focus-visible,
html[data-atlas-appearance] label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}
html[data-atlas-appearance] :is(.quiz-chooser,.quiz-settings) .check{border:1px solid transparent;border-radius:6px;padding:8px}
