.topbar-tools { display:flex; align-items:center; gap:12px; }
.theme-toggle { width:30px; height:30px; flex:none; }
.theme-toggle svg { width:15px; height:15px; }
.theme-setting { padding:0 0 21px; border-bottom:1px solid var(--line); }
.theme-setting h3 { font-size:13px; font-weight:500; margin:0 0 12px; }
.theme-setting p { font-size:10px; color:var(--muted); line-height:1.6; margin:10px 0 0; }
.theme-switch { display:flex; gap:4px; background:#e9ede2; border:1px solid var(--line); padding:4px; border-radius:9px; }
.theme-switch button { display:flex; justify-content:center; align-items:center; gap:7px; flex:1; border:0; border-radius:6px; background:transparent; color:#697961; padding:9px 10px; font-size:12px; }
.theme-switch button[aria-pressed="true"] { background:var(--surface); color:var(--green); box-shadow:0 1px 5px #24432a16; }
.theme-switch svg { width:15px; height:15px; }

@media (max-width:520px) {
  .topbar-tools { gap:9px; }
  .topbar-tools .save-indicator span { display:none; }
}

/* Screen-only colors keep paper exports light regardless of the UI theme. */
@media screen {
  :root[data-theme="dark"] {
    color-scheme:dark;
    --bg:#111a18;
    --surface:#192521;
    --ink:#e2ebe4;
    --muted:#acb9ad;
    --green:#b1d1b5;
    --green-soft:#293e32;
    --line:#35473c;
    --paper:#27302c;
    --writing:#c1d8ef;
    --amber:#e4c38e;
    --amber-soft:#393123;
    --dark-raised:#23312b;
    --dark-hover:#2c3e34;
    --dark-accent:#bad5b2;
    --paper-ink:#ccd0c3;
    --paper-line:#58685c;
  }
  [data-theme="dark"] { scrollbar-color:#526459 #18221e; }
  [data-theme="dark"] ::selection { background:#42624d; color:#f4f8ee; }
  [data-theme="dark"] .brand-symbol img { filter:brightness(0) invert(.83) sepia(.2) hue-rotate(65deg); }
  [data-theme="dark"] :is(.nav-link,.nav-heading,.topbar,.eyebrow,.intro p,.stat-header,.stat-sub,.stat-value .unit,.panel-description,.empty-result,.field-help,.plain-copy,.field,.dialog-label,.dialog-header p,.toggle-line small,.model-row small,.gap-policy-options small,.crew-sub,.status-text,.view-footnote,.half-caption,.half-controls small,.landscape-hint) { color:var(--muted); }
  [data-theme="dark"] :is(.demo-note,.demo-note strong,.breadcrumb span:last-child,.copy-button,.page-turn,.page-caption,.page-caption strong,.text-button,.book-jump-button) { color:var(--dark-accent); }
  [data-theme="dark"] .nav-link:hover { background:var(--dark-raised); }
  [data-theme="dark"] .nav-link.active { background:var(--green-soft); color:var(--green); }
  [data-theme="dark"] :is(.nav-count,.avatar) { background:var(--green-soft); color:var(--dark-accent); }
  [data-theme="dark"] .stat { border-color:var(--line); }
  [data-theme="dark"] .stat-header svg { color:var(--dark-accent); }
  [data-theme="dark"] :is(.button,.icon-button) { background:var(--dark-raised); border-color:var(--line); color:var(--ink); }
  [data-theme="dark"] :is(.button,.icon-button):hover { background:var(--dark-hover); }
  [data-theme="dark"] .button.primary { background:var(--green); border-color:var(--green); color:#182a20; }
  [data-theme="dark"] .button.primary:hover { background:#c3dfc2; }
  [data-theme="dark"] .button.ghost { background:transparent; border-color:transparent; color:var(--dark-accent); }
  [data-theme="dark"] .button.danger { background:#382a24; border-color:#6e493b; color:#f0b9a0; }
  [data-theme="dark"] .button.danger:hover { background:#473228; }
  [data-theme="dark"] :is(.small-tag,.role-tag,.segmented,.month-switch,.theme-switch,.half-controls) { background:var(--dark-raised); color:var(--dark-accent); border-color:var(--line); }
  [data-theme="dark"] :is(.segmented button,.month-switch button,.theme-switch button,.half-controls button) { color:var(--muted); }
  [data-theme="dark"] :is(.segmented button,.month-switch button,.theme-switch button,.half-controls button)[aria-pressed="true"] { background:var(--dark-hover); color:var(--green); box-shadow:0 1px 5px #0003; }
  [data-theme="dark"] .role-tag.dual { background:#393123; color:var(--amber); }
  [data-theme="dark"] .status-text.warning { color:var(--amber); }
  [data-theme="dark"] .new-tag { background:#2c422b; color:#cee0bc; }
  [data-theme="dark"] .book-stage { background:#485c4b; box-shadow:0 16px 30px #0004,0 3px 5px #0005; }
  [data-theme="dark"] .book-stage::after { border-color:#536056; background:repeating-linear-gradient(to bottom,#3b463e 0px,#3b463e 2px,#27322b 2px,#27322b 3px); }
  [data-theme="dark"] .book-half.left { background:linear-gradient(to right,#0001,transparent 10%,transparent 90%,#0003); }
  [data-theme="dark"] .book-half.right { background:linear-gradient(to right,#0003,transparent 9%,transparent 91%,#0001); }
  [data-theme="dark"] .book-spine { background:linear-gradient(to right,transparent,#0002 30%,#0005 48%,#0004 51%,#0001 70%,transparent); }
  [data-theme="dark"] .paper-table { color:var(--paper-ink); border-color:var(--paper-line); }
  [data-theme="dark"] :is(.paper-table th,.paper-table td) { border-color:var(--paper-line); }
  [data-theme="dark"] .paper-table thead th { background:#ffffff03; }
  [data-theme="dark"] .paper-table thead .carry-value { background:transparent; }
  [data-theme="dark"] :is(.paper-table .signature,.paper-table .sum-label) { color:var(--paper-ink); }
  [data-theme="dark"] .paper-table tfoot tr:last-child { background:#ffffff04; }
  [data-theme="dark"] :is(.paper-table tbody tr.is-highlight td,.paper-table tbody tr:hover td) { background:#abc5aa14; }
  [data-theme="dark"] .paper-table tbody tr.edited td { background:#e0ba6220; }
  [data-theme="dark"] .book-spread .paper-table .new-row td { background:#87c37718; }
  [data-theme="dark"] .book-spread .paper-table .jump-target td { background:#b9903d3b; box-shadow:inset 0 1px #d4b56c,inset 0 -1px #d4b56c; }
  [data-theme="dark"] .book-spread .paper-table .exception-dot { background:var(--amber); box-shadow:0 0 0 2px var(--paper); }
  [data-theme="dark"] .row-new-marker { color:#c5dea6; }
  [data-theme="dark"] .strip-content .book-half { background:var(--paper); }
  [data-theme="dark"] .strip-light { background:#030806; }
  [data-theme="dark"] .page-chip { color:var(--muted); }
  [data-theme="dark"] .page-chip:hover { background:var(--dark-raised); }
  [data-theme="dark"] .page-chip.active { background:var(--green); color:#182a20; }
  [data-theme="dark"] .copy-button { border-color:#8ba17b; }
  [data-theme="dark"] :is(.reconcile,.book-notes,.edited-notice,.alert,.import-conflict) { background:var(--amber-soft); border-color:#635338; color:var(--amber); }
  [data-theme="dark"] :is(.reconcile button,.reconcile svg,.alert strong,.edited-legend,.detail-line svg) { color:#f0d19a; }
  [data-theme="dark"] .edited-legend i { background:#a98d4a; }
  [data-theme="dark"] .data-table th { background:var(--dark-raised); color:var(--muted); }
  [data-theme="dark"] .data-table td { border-color:var(--line); }
  [data-theme="dark"] :is(dialog,.dialog-header) { background:var(--surface); border-color:var(--line); }
  [data-theme="dark"] dialog { box-shadow:0 28px 100px #0008; }
  [data-theme="dark"] dialog::backdrop { background:#050b09a6; }
  [data-theme="dark"] .dialog-footer { background:var(--dark-raised); border-color:var(--line); }
  [data-theme="dark"] :is(.summary-strip,.flight-pick,.import-result) { background:var(--dark-raised); border-color:var(--line); }
  [data-theme="dark"] .summary-strip strong { color:var(--dark-accent); }
  [data-theme="dark"] :is(.summary-strip span,.import-result span,.dropzone small) { color:var(--muted); }
  [data-theme="dark"] .flight-pick.active { background:var(--green-soft); border-color:#8ba17b; color:var(--dark-accent); }
  [data-theme="dark"] :is(input,select,textarea) { background:#131e19; border-color:#4d6150; color:var(--ink); }
  [data-theme="dark"] ::placeholder { color:#9cab9d; opacity:1; }
  [data-theme="dark"] :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--green); }
  [data-theme="dark"] .alert.error { background:#392720; border-color:#825540; color:#f0b9a0; }
  [data-theme="dark"] .column-found { color:#b1d098; }
  [data-theme="dark"] .column-missing { color:#f0b9a0; }
  [data-theme="dark"] :is(.detail-line,.toggle-line,.model-row,.person-card-bottom,.ranking-row,.aircraft-stat,.conflict-diff>div) { border-color:var(--line); }
  [data-theme="dark"] .dropzone { background:var(--dark-raised); border-color:#809576; }
  [data-theme="dark"] .dropzone.dragging { background:var(--green-soft); border-color:var(--green); }
  [data-theme="dark"] .dropzone svg { color:var(--dark-accent); }
  [data-theme="dark"] .gap-policy-options label { background:var(--dark-raised); }
  [data-theme="dark"] .gap-policy-options label:has(input:checked) { background:var(--green-soft); border-color:#8ba17b; }
  [data-theme="dark"] .info-popover [role="tooltip"] { background:var(--dark-raised); border-color:var(--line); color:var(--ink); box-shadow:0 8px 25px #0006; }
  [data-theme="dark"] a { color:#bdddb8; }
  [data-theme="dark"] .import-conflict.resolved { border-color:#739667; background:#283728; color:var(--ink); }
  [data-theme="dark"] :is(.conflict-diff .conflict-diff-head,.conflict-decision legend) { color:var(--muted); }
  [data-theme="dark"] .person-avatar { background:#393123; color:var(--amber); }
  [data-theme="dark"] .person-avatar.own { background:var(--green-soft); color:var(--green); }
  [data-theme="dark"] :is(.person-metrics strong,.person-card-bottom strong,.insight-card h3,.ranking-value,.month-time,.launch-stats strong,.statistics-filter>label) { color:var(--dark-accent); }
  [data-theme="dark"] :is(.person-metrics strong small,.person-metrics span,.person-card-bottom,.insight-label,.insight-card p,.rank-number,.ranking-person span,.month-column small,.launch-stats span,.aircraft-stat small,.calendar-day,.weekday,.calendar-legend,.comparison-table thead) { color:var(--muted); }
  [data-theme="dark"] :is(.rank-bar,.season-bar) { background:var(--line); }
  [data-theme="dark"] :is(.rank-bar span,.season-bar span) { background:#9cbe8a; }
  [data-theme="dark"] .month-bar { background:linear-gradient(#afcc99,#6e9661); }
  [data-theme="dark"] :is(.calendar-day,.calendar-legend i) { background:var(--dark-raised); }
  [data-theme="dark"] .calendar-day.flown { background:#b1d098; color:#162d1b; }
  [data-theme="dark"] .calendar-day.level-2 { background:#83ad72; color:#112115; }
  [data-theme="dark"] .calendar-day.level-3 { background:#49713d; color:#f1f9e9; }
  [data-theme="dark"] .calendar-legend .flown { background:#83ad72; }
  [data-theme="dark"] .toast { background:var(--green-soft); border:1px solid #719b73; color:var(--ink); box-shadow:0 8px 25px #0005; }
}
