/* Shared theme overrides. Layout stays identical in both modes. */
:root[data-theme=dark] {
  color-scheme: dark;
  --ui-bg: #11151b;
  --ui-paper: #1a2029;
  --ui-ink: #e5eaf1;
  --ui-muted: #a6b2c3;
  --ui-subtle: #222b37;
  --ui-line: #303b4a;
  --ui-line-strong: #4b5d74;
  --ui-accent: #97bff0;
  --ui-accent-hover: #b4d2f7;
  --ui-accent-soft: #253951;
  --ui-on-accent: #102238;
  --ui-success: #8bd0af;
  --ui-warning: #e7c389;
  --ui-danger: #f0a4aa;
  --ui-success-soft: #203a30;
  --ui-warning-soft: #3c3324;
  --ui-danger-soft: #422a32;
  --bg-rgb: 17,21,27;
  --px: 229,234,241;
  --txt-faint: #96a5ba;
  --invert: 0;
}
.ui-theme-switch { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 34px; padding: 6px 10px; border: 1px solid var(--ui-line-strong); border-radius: 6px; color: var(--ui-ink); background: var(--ui-paper); font: 12px/1.5 var(--ui-font); white-space: nowrap; cursor: pointer; }
.ui-theme-switch:hover { background: var(--ui-subtle); border-color: var(--ui-accent); }
.ui-module-topbar .ui-theme-switch { margin-left: 8px; }
.login-theme-switch { position: absolute; right: 24px; top: 24px; z-index: 1; }
:root[data-theme=dark] .login-story { background: #161d27; border-color: var(--ui-line); }
:root[data-theme=dark] .outline-back { background: var(--ui-subtle); border-color: var(--ui-line-strong); }
:root[data-theme=dark] .outline-page { background: var(--ui-paper); border-color: var(--ui-line-strong); }
:root[data-theme=dark] .outline-page i { background: var(--ui-line); }
:root[data-theme=dark] .login-main button:hover { background: var(--ui-subtle); }
:root[data-theme=dark] .login-main .login-submit:hover { background: var(--ui-accent-hover); }
:root[data-theme=dark] :is(.login-story-footer,.login-footer,.outline-page small,.outline-stamp,.ui-footer-note) { color: var(--ui-muted); }
:root[data-theme=dark] .jw-score-ring { background: conic-gradient(var(--ring-color,var(--ui-accent)) calc(var(--score,0)*1%),var(--ui-line) 0); }
:root[data-theme=dark] .jw-toast { background: #d9e7f8; color: #172333; }
:root[data-theme=dark] :is(input,textarea)::placeholder { color: #94a3b6; }
:root[data-theme=dark] .ui-icon circle[fill=white] { fill: var(--ui-paper); }
:root[data-theme=dark] ::selection { background: #3b587c; color: #fff; }
@media (max-width: 700px) {
  .topbar { gap: 8px; }
  .topbar-actions { gap: 8px; min-width: 0; }
  .topbar .org-context, .topbar .organization-context { max-width: 112px; }
  .ui-theme-switch { min-height: 36px; padding: 6px 8px; font-size: 11px; }
  .ui-module-topbar .ui-topbar-context { display: none; }
  .ui-module-topbar .ui-theme-switch { margin-left: auto; }
  .login-story > .ui-wordmark { max-width: calc(100% - 82px); }
  .login-story .ui-brand-copy strong { font-size: 14px; }
  .login-story .ui-brand-copy small { font-size: 8px; letter-spacing: 1px; }
}
@media print { .ui-theme-switch { display: none !important; } }
