:root{color-scheme:light;--app-bg:#eef3f6;--app-surface:#fff;--app-ink:#17202a;--app-muted:#617080;--app-line:#d7e0e7;--app-nav:#102f49;--app-blue:#125d98;--app-danger:#c62828}
:root[data-theme="dark"]{color-scheme:dark;--app-bg:#101820;--app-surface:#18242e;--app-ink:#edf4f8;--app-muted:#a8b7c2;--app-line:#344651;--app-nav:#09131b;--app-blue:#62b5ef;--app-danger:#ff7373}
body{background-color:var(--app-bg)!important;color:var(--app-ink)!important}
.theme-toggle{position:fixed;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:90;width:46px;height:46px;border:1px solid var(--app-line);border-radius:50%;background:var(--app-surface);color:var(--app-ink);box-shadow:0 5px 20px #0003;font-size:20px;cursor:pointer}
:root[data-theme="dark"] .tile,:root[data-theme="dark"] .update-card,:root[data-theme="dark"] .empty-message,:root[data-theme="dark"] .trip-card,:root[data-theme="dark"] .schedule-form,:root[data-theme="dark"] .section-trains-panel,:root[data-theme="dark"] .saved-card,:root[data-theme="dark"] .directory-card,:root[data-theme="dark"] .panel,:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background:var(--app-surface)!important;color:var(--app-ink)!important;border-color:var(--app-line)!important}
.wip-red{color:var(--app-danger)!important;font-weight:800}
