/* Shared semantic colors keep the two themes consistent across every workspace. */
:root[data-theme]{
 color-scheme:light;--shell:#f4f2f6;--surface:#fff;--paper:var(--surface);--surface-raised:#f6f4f8;
 --ink:#292430;--secondary:#615767;--edge:#ded8e4;--control-edge:#b8adbf;
 --hover:#eee9f2;--selected:#472359;--selected-ink:#fff;--accent:#64387c;
 --gold:var(--accent);--purple:var(--accent);--pale:var(--hover);--line:var(--edge);--muted:var(--secondary);
 --green:#31664b;--warning-bg:#fff7e6;--warning-ink:#6a470d;--warning-edge:#d8bd7f;
 --mandatory-surface:var(--warning-bg);--mandatory-ink:var(--warning-ink);
 --atc:#235d83;--atc-bg:#f3f8fc;--private:#8b443a;--private-bg:#fff5f1;
 background:var(--shell);color:var(--ink);
}
:root[data-theme=dark]{
 color-scheme:dark;--shell:#180b24;--surface:#24172e;--surface-raised:#2f1f3c;
 --ink:#f5eef9;--secondary:#c4b4ce;--edge:#4c365a;--control-edge:#876d96;
 --hover:#3c294a;--selected:#51266c;--accent:#d7b3eb;--gold:#e4c58c;--green:#a2d6b5;
 --warning-bg:#352d20;--warning-ink:#f2cf88;--warning-edge:#8b713d;
 --atc:#9bcdf0;--atc-bg:#232f38;--private:#f0b3a6;--private-bg:#362824;
}
[data-theme] body{background:var(--shell);color:var(--ink)}
[data-theme] .topbar,[data-theme] .nav{background:var(--shell);color:var(--ink)}
[data-theme] .topbar .title p,[data-theme] .topbar .badge,[data-theme] .nav-context span,
[data-theme] .nav .nav-tabs button,[data-theme] .heading p,[data-theme] .heading .lesson-context,
[data-theme] .heading .lesson-context span,[data-theme] .foot{color:var(--secondary)}
[data-theme] .topbar .badge{background:var(--surface);border-color:var(--edge)}
[data-theme] .topbar .save{color:var(--green)}
[data-theme] .nav-context,[data-theme] .brandmark{color:var(--accent)}
[data-theme] .nav .nav-tabs button.active,[data-theme] .nav .nav-tabs button:hover,
[data-theme] .heading .lesson-title h1{color:var(--ink)}
[data-theme] .nav .nav-tabs button.active:after{background:var(--accent)}
[data-theme] .nav .nav-tabs button:hover{background:var(--hover)}
[data-theme] .heading .pf-badge{background:var(--surface-raised);color:var(--accent);border-color:var(--edge)}
[data-theme] .heading p span+span{border-color:var(--edge)}
[data-theme] button,[data-theme] .pdf-download{background:var(--surface);color:var(--ink);border-color:var(--control-edge)}
[data-theme] button:hover,[data-theme] .topbar .quiet:hover,[data-theme] .heading .actions button:hover{background:var(--hover)}
[data-theme] button.quiet,[data-theme] .heading .actions button{background:transparent}
[data-theme] button.quiet{border-color:transparent}
[data-theme] button.primary,[data-theme] .topbar .pdf-preview{background:var(--selected);border-color:var(--selected);color:var(--selected-ink)}
[data-theme] button.primary:hover,[data-theme] .topbar .pdf-preview:hover{filter:brightness(1.15)}
[data-theme] .heading .actions button.primary{background:transparent;border-color:var(--accent);color:var(--accent)}
[data-theme] button:disabled{background:var(--surface-raised);color:var(--secondary);border-color:var(--edge);opacity:.6}
[data-theme] .theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;min-width:44px;height:44px;padding:10px;border-color:var(--edge);border-radius:var(--control-radius)}
[data-theme] .theme-toggle svg{pointer-events:none}
[data-theme] .summary,[data-theme] .quick-setup,[data-theme] .lesson-switcher,
[data-theme] .detail-switch,[data-theme] dialog,[data-theme] .preset-options{background:var(--surface);color:var(--ink);border-color:var(--edge)}
[data-theme] .session-route strong,[data-theme] .profile>summary,[data-theme] .lesson-table .scenario{color:var(--ink)}
[data-theme] .editor-actions,[data-theme] .guided-profile,[data-theme] .fcl-picker{background:var(--surface-raised);border-color:var(--edge)}
[data-theme] .detail-switch button,[data-theme] .edit-nav button{background:transparent;color:var(--secondary)}
[data-theme] .detail-switch button[aria-pressed=true],[data-theme] .edit-nav button.active{background:var(--hover);color:var(--ink)}
[data-theme] input:not([type=checkbox]):not([type=range]),[data-theme] select,[data-theme] textarea,
[data-theme] .title-input{background:var(--surface);color:var(--ink);border-color:var(--control-edge)}
[data-theme] input::placeholder,[data-theme] textarea::placeholder{color:var(--secondary);opacity:1}
[data-theme] .title-input>button{background:var(--surface-raised);border-color:var(--edge);color:var(--ink)}
[data-theme] .preset-options>button{background:var(--surface);color:var(--ink)}
[data-theme] .preset-options>button:hover,[data-theme] .preset-options>button:focus-visible{background:var(--hover)}
[data-theme] .preset-options small,[data-theme] .preset-context{color:var(--secondary)}
[data-theme] .flow-modes button,[data-theme] .suggestion-chips button,[data-theme] .enable-guidance{background:var(--surface);color:var(--ink);border-color:var(--control-edge)}
[data-theme] .flow-modes button[aria-pressed=true],[data-theme] .suggestion-chips button[aria-pressed=true]{background:var(--selected);color:#fff}
[data-theme] .field.switch-field input[role=switch]{background:var(--control-edge);border-color:var(--control-edge)}
[data-theme] .field.switch-field input[role=switch]:checked{background:var(--selected);border-color:var(--accent)}
[data-theme] input[type=range],[data-theme] input[type=checkbox]{accent-color:var(--accent)}
[data-theme] .field.private>span,[data-theme] .annotation.private,[data-theme] .danger{color:var(--private)}
[data-theme] .field.private textarea{background:var(--private-bg);border-color:var(--control-edge)}
[data-theme] .exercise-atc textarea{background:var(--atc-bg);border-color:var(--control-edge)}
[data-theme] .exercise-atc .field>span,[data-theme] .annotation.atc{color:var(--atc)}
[data-theme] .notice,[data-theme] .profile-required,[data-theme] .editor-profile-status,[data-theme] .fcl-review,
[data-theme] .needs-badge,[data-theme] .preview-review{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-edge)}
[data-theme] .field.needs-value>input,[data-theme] .field.needs-value>textarea,[data-theme] .field.needs-value>select,
[data-theme] .title-picker.needs-value .title-input{background:var(--warning-bg);border-color:var(--warning-edge)}
[data-theme] .field-issue,[data-theme] .profile-notice,[data-theme] .chart-note{color:var(--warning-ink)}
[data-theme] .profile-notice:hover{background:var(--warning-bg)}
[data-theme] .preview-row-label,[data-theme] .preview-review-source p{color:var(--warning-ink)}
[data-theme] .preview-review-item{border-color:var(--warning-edge)}
[data-theme] .lesson-table td,[data-theme] .fcl-option{border-color:var(--edge)}
[data-theme] .lesson-table .time{color:var(--secondary)}
[data-theme] .lesson-table tbody tr:hover{background:var(--hover)}
[data-theme] .lesson-table tbody tr.mandatory-row:not(.selected):hover{background:var(--warning-bg)}
[data-theme] .mandatory-label{background:var(--warning-bg);color:var(--warning-ink);border:1px solid var(--warning-edge)}
[data-theme] .mandatory-swatch{border-color:var(--warning-edge)}
[data-theme] .mode-tag{background:var(--hover);color:var(--ink)}
[data-theme] .lesson-table tr.selected,[data-theme] .lesson-table tbody tr.selected:hover{background:var(--selected);color:#fff}
[data-theme] .lesson-table tr.selected .scenario,[data-theme] .lesson-table tr.selected .time{color:#eee4f2}
[data-theme] .lesson-table tr.selected .annotation.atc{color:#acd8fa}
[data-theme] .lesson-table tr.selected .annotation.private{color:#ffc6b9}
[data-theme] .lesson-table tr.selected .mode-tag{background:#eee4f2;color:#351744}
[data-theme] .pdf-pages{background:var(--surface-raised)}
/* Only the on-screen SVG changes; PDF generation retains its print palette. */
[data-theme=dark] .chart.source-profile>rect{fill:var(--surface);stroke:var(--edge)}
[data-theme=dark] .chart.source-profile text{fill:var(--ink)}
[data-theme=dark] .chart.source-profile .profile-label-box{fill:var(--surface-raised);stroke:var(--control-edge)}
[data-theme=dark] .chart.source-profile .profile-axis{stroke:var(--secondary)}
[data-theme=dark] .chart.source-profile .profile-grid{stroke:var(--edge)}
[data-theme=dark] .chart.source-profile .profile-flight-segment{stroke:var(--accent)}
[data-theme=dark] .chart.source-profile .profile-marker circle{fill:var(--surface);stroke:var(--accent)}
[data-theme=dark] .profile-exercise-selected text{fill:#351744}
[data-theme=dark] .profile-exercise-selected .profile-label-box{fill:#f2d8a4!important}
@media(max-width:600px){[data-theme] .topbar .save{display:none}}
[data-theme] .lesson-switcher{background:transparent}
[data-theme] .lesson-switcher-label{color:var(--secondary)}
[data-theme] .lesson-switcher .lesson-choice{background:transparent;color:var(--secondary)}
[data-theme] .lesson-switcher .lesson-choice:hover{background:var(--hover);color:var(--ink)}
[data-theme] .lesson-switcher .lesson-choice[aria-pressed=true]{background:var(--hover);border-bottom-color:var(--accent);color:var(--ink)}
[data-theme] .lesson-switcher .lesson-add{background:transparent;color:var(--accent)}
[data-theme] .lesson-switcher .lesson-add:hover{background:var(--hover)}
[data-theme] .exercise-toolbar button{background:transparent;color:var(--secondary)}
[data-theme] .exercise-toolbar button:hover,[data-theme] .exercise-toolbar .detail-switch button[aria-pressed=true]{background:var(--hover);color:var(--ink)}
[data-theme] .paper,[data-theme] .editor,[data-theme] #profile-wrap.profile-container{background:var(--surface);color:var(--ink)}
[data-theme] .heading .actions button{color:var(--ink);border-color:var(--control-edge)}
/* The profile renderer embeds print ink inline, so screen text needs this override. */
[data-theme=dark] .chart.source-profile text{fill:var(--ink)!important}
[data-theme=dark] .chart.source-profile .profile-exercise-selected text{fill:#351744!important}
[data-theme] .profile{background:var(--surface)}
[data-theme] .edit-body{background:var(--surface)}

/* Lavender frame with white reading surfaces. */
:root[data-theme=light]{--shell:#f0eaf5;background:var(--shell)}
[data-theme=light] body{
 /* User-requested purple gradient, softened for the light theme. */
 background:radial-gradient(ellipse at 100% 0%,#e8dcf1 0%,transparent 65%),linear-gradient(135deg,#faf8fc 0%,#f2ecf7 48%,#eae0f2 100%);
 background-attachment:fixed;
}
[data-theme=light] .topbar,[data-theme=light] .nav{background:transparent}

/* Setup values lead; labels and units remain supporting text. */
[data-theme] .setup-overview .setup-metric dt,
[data-theme] .setup-overview .section-label{
 font-size:13px;font-weight:400;line-height:1.4;color:var(--secondary);
}
[data-theme] .setup-overview .setup-metric dd,
[data-theme] .setup-overview .session-route strong{
 font-size:20px;font-weight:650;line-height:1.25;color:var(--ink);
}
[data-theme] .setup-overview .setup-metric dd small{font-size:12px;font-weight:400;color:var(--secondary)}

/* Let the product title wrap naturally on narrow screens. */
.topbar .title{min-width:0}
.topbar .title strong{display:block;line-height:1.25}

/* THAI-inspired purple and gold, deepened for the dark workspace. */
[data-theme=dark] body{
 /* User-requested branded dark gradient. */
 background:radial-gradient(ellipse at 100% 0%,#51246b 0%,transparent 65%),linear-gradient(145deg,#281236 0%,#180b24 60%,#100718 100%);
 background-attachment:fixed;
}
[data-theme=dark] .topbar,[data-theme=dark] .nav{background:transparent}
[data-theme=dark] .brandmark,[data-theme=dark] .nav-context{color:var(--gold)}
[data-theme=dark] .nav .nav-tabs button.active:after{background:var(--gold)}
[data-theme=dark] .lesson-switcher .lesson-choice[aria-pressed=true]{border-bottom-color:var(--gold)}
[data-theme=dark] .topbar .pdf-preview{background:var(--gold);border-color:var(--gold);color:#2b123b}
