/* Denim blue / white / soft sky. Authoritative color layer; layout stays in studio.css. */
:root{
 --bg:#F5F8FC;--surface:#FFFFFF;--ink:#243C57;--muted:#52677D;
 --primary:#356EAF;--primary-hover:#295C95;--accent:#D4E4F4;
 --accent-ink:#295C95;--accent-soft:#EBF2FA;--line:#D8E2EE;--input-border:#7C8FA9;
 --success:#2F6F55;--success-soft:#E9F4ED;--success-line:#B5D2BF;
 --warning:#805125;--warning-soft:#FBF0E1;--warning-line:#D9B98C;
 --danger:#9E3D4C;--danger-soft:#F9ECEF;--danger-line:#D9AEB7;--focus:#356EAF;
 /* Existing components consume these aliases. */
 --green:var(--primary);--green-dark:var(--ink);--mint:var(--accent-soft);
 --warm:var(--warning-soft);--orange:var(--warning);--red:var(--danger);
 color-scheme:light;accent-color:var(--accent-ink);
}
::selection{background:#D4E4F4;color:var(--ink)}
body{background:var(--bg);color:var(--ink)}
.sidebar{background:linear-gradient(165deg,#243C57 0%,#356EAF 100%);color:#EDF4F5}
.brand small{color:#C0D1DA}.brand-mark{background:var(--accent);color:var(--ink)}
.nav-item{color:#CAD9E0}.nav-item:hover{background:#295C95;color:#FFF}
.nav-item.active{background:var(--accent-soft);color:var(--ink)}.nav-dot{background:var(--accent-ink)}
.side-note{border-color:#496573}.side-note p{color:#E2ECEF}.side-note small{color:#B8CBD5}
.side-illustration{color:#9CCFC1}
.button.primary{background:var(--primary);color:#FFF}.button.primary:hover:not(:disabled){background:var(--primary-hover)}
.button.secondary,.icon-button{background:var(--surface);color:var(--ink);border-color:var(--input-border)}
.button.secondary:hover,.icon-button:hover{background:var(--accent-soft);border-color:var(--accent-ink)}
.text-button,.file-button:hover,.source-links{color:var(--accent-ink)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--focus)}
.sidebar button:focus-visible,.sidebar a:focus-visible,.quick-pick button:focus-visible{outline-color:#B8E1D4}
.skip-link{background:var(--surface);color:var(--ink);border-color:var(--focus)}
input:not([type=checkbox]),select,textarea,.catalog-filters input,.catalog-filters select{background:var(--surface);color:var(--ink);border-color:var(--input-border)}
input::placeholder,textarea::placeholder,.reading-page textarea::placeholder{color:var(--muted);opacity:1}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}
input[type=checkbox],.reading-options input{accent-color:var(--accent-ink)}
.source-switch{background:#EAF0F7;border-color:var(--line)}.source-switch button{color:var(--ink)}
.source-switch button[aria-pressed=true]{background:var(--primary);color:#FFF;box-shadow:0 2px 5px #243C5712}
.quick-pick{background:var(--primary);color:#FFF}.quick-pick>svg{stroke:var(--accent)}
.quick-pick h3{color:#FFF}.quick-pick .eyebrow{color:#DAE8F5}.quick-pick p{color:#D5E5E9}
.quick-pick>.primary{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.quick-pick>.primary:hover:not(:disabled){background:#D3E4F4;color:var(--ink)}
.resume-strip,.template-info,.coach-focus,.report-next{background:var(--accent-soft);border-color:#C1D2E5;color:var(--ink)}
.assessment-contract,.template-info .small,.coach-focus .eyebrow{color:#355A8C}
.recent-link small{color:var(--accent-ink)}
.catalog-card,.history-card,.report-card,.method-page,.focus-card,.feedback-card,.reading-card,.setup-details[open]{background:var(--surface);border-color:var(--line)}
.catalog-card:hover{border-color:#8FAECC;box-shadow:0 5px 18px #243C570A}
.theme-chip{background:var(--surface);color:var(--muted);border-color:var(--input-border)}
.theme-chip:hover{background:var(--accent-soft);border-color:var(--accent-ink)}
.theme-chip[aria-pressed=true]{background:var(--accent-soft);color:var(--ink);border-color:var(--accent-ink)}
.catalog-goals span{background:#EDF3FF;color:#365A93}.card-target{color:var(--accent-ink)}
.catalog-description,.catalog-excerpt{color:var(--ink)}.vocabulary-item{border-color:var(--line);color:var(--muted)}
.catalog-cover{background:linear-gradient(120deg,#E7EFF8,#F5F8FC);color:#3F629E}
.catalog-card[data-theme=work] .catalog-cover{background:linear-gradient(120deg,#E3ECF7,#F2F6FF);color:#45649A}
.catalog-card[data-theme=travel] .catalog-cover{background:linear-gradient(120deg,#E0F2FE,#F0F9FF);color:#3E6A8B}
.catalog-card[data-theme=technology] .catalog-cover,.catalog-card[data-theme=science] .catalog-cover{background:linear-gradient(120deg,#E2EDF8,#F2F7FF);color:#45699E}
.catalog-card[data-theme=culture] .catalog-cover{background:linear-gradient(120deg,#E9E3ED,#F5F0F3);color:#73617B}
.catalog-card[data-theme=money] .catalog-cover{background:linear-gradient(120deg,#EFE6D5,#FAF5EB);color:#7C6542}
.catalog-level{background:var(--surface);color:var(--ink);border-color:var(--line)}
.catalog-duration{background:#243C57EF;color:#FFF}.catalog-length{color:#415967}
.catalog-empty{background:var(--surface);border-color:var(--input-border)}.catalog-empty svg{stroke:var(--accent-ink)}
.catalog-theme-group{background:transparent;border-color:var(--line)}
#catalog-preview .dialog-heading{background:var(--surface)}#catalog-preview-focus{border-color:var(--accent)}
.welcome-illustration svg,.reading-empty svg{color:var(--accent-ink);stroke:var(--accent-ink)}
.video-shell{background:var(--ink)}#video-placeholder{color:#B8D5D5}
.coach-note{background:#EAF0F1;border-color:#CFDBDD}.coach-note p{color:#4E6570}.note-icon{background:var(--surface);color:var(--accent-ink)}
.phase-pill{background:#EAF0F1;color:#415F6B}.phase-pill.recording{background:var(--danger-soft);color:var(--danger)}
.phase-pill.success{background:var(--success-soft);color:var(--success)}
.practice-steps li{border-color:var(--line)}.practice-steps li.current{border-color:var(--accent-ink);color:var(--ink)}
.mastery-step .step-circle{background:var(--surface);border-color:#9CAFA9;color:var(--muted)}
.mastery-step.current .step-circle{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-ink);box-shadow:0 0 0 4px #EEF5F1}
.mastery-step.done{color:var(--success)}.mastery-step.done .step-circle{background:var(--success);border-color:var(--success);color:#FFF}
.reference,.reading-script,#catalog-preview-text{color:var(--ink)}
.reference mark{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-line)}
.main-cta.retry{background:var(--warning)}.main-cta.retry:hover:not(:disabled){background:#69401D}
.main-cta.success{background:var(--success)}.main-cta.success:hover:not(:disabled){background:#23563F}
.main-cta.recording{background:var(--danger)}.main-cta.recording:hover:not(:disabled){background:#812E3D}
.recall-card{background:#EEF4FF;border-color:#8CAEE9}.recall-card>svg{color:var(--accent-ink)}
.level-track{background:#EFDAE0}.level-track i{background:var(--danger)}
.inline-feedback{background:var(--warning-soft);color:var(--warning)}
.inline-feedback.passed{background:var(--success-soft);color:var(--success)}
.feedback-card.needs-work{background:var(--surface);border-color:var(--warning-line)}
.feedback-card.passed{border-color:var(--success-line)}
.score-ring{background:var(--accent-soft);color:var(--accent-ink)}
.passed .score-ring{background:var(--success-soft);color:var(--success)}
.needs-work .score-ring{background:var(--warning-soft);color:var(--warning)}
.pass-reasons{color:var(--warning)}.word-chip,.review-word{background:var(--warning-soft);border-color:var(--warning-line);color:var(--warning)}
.track-item{background:var(--surface)}.track-item.done{background:var(--success-soft);border-color:var(--success-line);color:var(--success)}
.track-item.current{background:var(--accent-soft);border-color:var(--accent-ink);color:var(--accent-ink)}.track-item.locked{color:var(--muted)}
progress,progress::-webkit-progress-bar{background:#DBE7FC}progress::-webkit-progress-value{background:var(--accent-ink)}progress::-moz-progress-bar{background:var(--accent-ink)}
.reading-page textarea,.reader-mode .reading-card{background:var(--surface)}.reading-page textarea[readonly]{background:#EEF3FC}
.reader-mode .reading-actions{background:var(--surface);box-shadow:0 -8px 12px var(--surface)}
.reading-file,.report-metrics>div,.reading-table th{background:#EFF4FC;border-color:var(--line)}
.reading-table th,.reading-table td{border-color:var(--line)}.undo-bar{background:var(--warning-soft);border-color:var(--warning-line)}
.field-error,.notice{color:var(--danger)}.notice{background:var(--danger-soft);border-color:var(--danger-line)}
.connection i{background:#96703C}.connection i.ready{background:var(--success)}
dialog{background:var(--surface);border-color:var(--line);box-shadow:0 20px 100px #243C5733}dialog::backdrop{background:#243C57A6}
.method-disclaimer{border-color:var(--accent)}.reading-copy-actions .secondary{color:var(--ink)}
@media(max-width:720px){.reader-mode .reading-actions{background:var(--surface);box-shadow:0 -8px 12px var(--surface)}}

/* Blue identity with readable light text; semantic success/warning/error remain distinct. */
.sidebar{background:linear-gradient(165deg,#274F79 0%,#34679C 100%);color:#FFF}
.brand small,.nav-item{color:#F1F6FC}.brand-mark{background:#D8E8F7;color:#295C95}
.nav-item:hover{background:#295C95;color:#FFF}.nav-item.active{background:#FFF;color:#274F79}
.side-note{border-color:#8CAACB}.side-note p,.side-note small{color:#F1F6FC}.side-illustration{color:#D8E8F7}
.quick-pick{background:linear-gradient(120deg,#295C95,#356EAF)}
.quick-pick p,.quick-pick .eyebrow{color:#F1F6FC}.quick-pick>svg{stroke:#D8E8F7}
.quick-pick>.primary{background:#FFF;border-color:#FFF;color:#295C95}.quick-pick>.primary:hover:not(:disabled){background:#D8E8F7;color:#274F79}
.sidebar button:focus-visible,.sidebar a:focus-visible{outline-color:#FFF}.quick-pick button:focus-visible{outline-color:#FFF}
.source-switch{background:#EAF0F7}.reading-empty svg,.welcome-illustration svg{stroke:#356EAF;color:#356EAF}
