/* Trip Optical: Daybreak Home, with an explicit After Dark appearance. */
:root {
  --to-bg:#f5f2eb; --to-surface:#fffdf9; --to-text:#202733; --to-muted:#566170;
  --to-line:#d6d9df; --to-accent:#294bda; --to-on-accent:#ffffff;
  --to-selected:#e4ebff; --to-selected-text:#203d9a;
  --to-hero-a:#1741c0; --to-hero-b:#365bd7; --to-hero-glow:#aac9ff;
  --to-camera:#ffe4cd; --to-camera-text:#623a28;
  --to-weather:#e4ebff; --to-weather-text:#284485;
  --to-planner:#eee8df; --to-planner-text:#504841;
  --to-hero-button:#ffffff; --to-hero-button-text:#1a3687;
}
html[data-app-theme="daybreak"] { color-scheme:light; }
html[data-app-theme="after-dark"] {
  color-scheme:dark;
  --to-bg:#10131c; --to-surface:#1b202c; --to-text:#f3f6ff; --to-muted:#b0bdcf;
  --to-line:#465166; --to-accent:#9ebdff; --to-on-accent:#11203d;
  --to-selected:#293754; --to-selected-text:#e0e9ff;
  --to-hero-a:#162a56; --to-hero-b:#264be0; --to-hero-glow:#54a6ff;
  --to-camera:#252d42; --to-camera-text:#e0e9ff;
  --to-weather:#1d293e; --to-weather-text:#bddbff;
  --to-planner:#262641; --to-planner-text:#d7d1ff;
  --to-hero-button:#b7ceff; --to-hero-button-text:#11203d;
}

/* The brand and every header control have their own foreground/background pair. */
.app-shell-header,.standalone-help .topbar { background:var(--to-surface); color:var(--to-text); border-color:var(--to-line); }
.app-shell-header .trip-optics-brand,.standalone-help .trip-optics-brand,
.app-shell-header .trip-optics-name,.standalone-help .trip-optics-name { color:var(--to-text); }
.app-shell-header .trip-optics-brand small,.standalone-help .trip-optics-brand small { color:var(--to-muted); font-size:.65rem; }
.app-section-title { color:var(--to-muted); border-color:var(--to-line); }
.app-shell-header .action-button.secondary,.standalone-help .topbar .action-button { background:var(--to-surface); color:var(--to-text); border-color:var(--to-line); }
.app-theme-toggle { display:inline-flex; align-items:center; justify-content:center; gap:7px; flex-shrink:0; min-height:44px; min-width:44px; padding:9px 12px; border:1px solid var(--to-line); border-radius:10px; background:var(--to-surface); color:var(--to-text); font:inherit; font-size:.82rem; cursor:pointer; }
.app-theme-toggle[aria-pressed="true"] { color:var(--to-selected-text); background:var(--to-selected); border-color:var(--to-accent); }
.app-theme-toggle .to-icon { width:26px; height:26px; flex-shrink:0; }
.app-theme-toggle:focus-visible,.dashboard-workspace button:focus-visible,.topbar :is(button,a,summary):focus-visible { outline:3px solid var(--to-accent); outline-offset:3px; }
#app-explore-menu>summary { color:var(--to-text); background:var(--to-surface); border-color:var(--to-line); }
#app-explore-menu[open]>summary { border-color:var(--to-accent); }
#app-explore-menu .app-toolbar { background:var(--to-surface); color:var(--to-text); border-color:var(--to-line); }
#app-explore-menu .app-menu-group>p { color:var(--to-muted); }
#app-explore-menu .app-menu-group { border-color:var(--to-line); }
#app-explore-menu .app-toolbar-button { color:var(--to-text); }
#app-explore-menu .app-toolbar-button.active,#app-explore-menu .app-toolbar-button:hover { background:var(--to-selected); color:var(--to-selected-text); }
body[data-workspace="dashboard"] .home-shortcut { display:none; }

/* Data/map controls retain their existing legible native-input appearance. */
.home-workspace,.route-results-area { color-scheme:dark; }
body[data-workspace="dashboard"],body[data-workspace="dashboard"] .main-column { color:var(--to-text); background:var(--to-bg); }
body[data-workspace="dashboard"] .layout { max-width:1220px; padding:28px; }
.dashboard-workspace { min-width:0; width:100%; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:24px; align-items:start; }
.dashboard-grid>* { min-width:0; }
.dashboard-hero { grid-column:1; grid-row:1; display:block; position:relative; isolation:isolate; padding:32px; border-radius:24px; background:linear-gradient(135deg,var(--to-hero-a),var(--to-hero-b)); color:#ffffff; }
.dashboard-hero::before { content:""; position:absolute; z-index:-1; pointer-events:none; width:280px; height:280px; border-radius:50%; right:-175px; top:-145px; background:var(--to-hero-glow); box-shadow:0 0 90px 35px var(--to-hero-glow); opacity:.06; }
.dashboard-hero::after { content:""; position:absolute; z-index:-1; pointer-events:none; width:260px; height:260px; border:30px solid #ffffff10; box-shadow:0 0 0 22px #ffffff08; border-radius:50%; right:-145px; top:70px; }
.dashboard-intro .dashboard-eyebrow { color:#ffffff; letter-spacing:.11em; font-size:.72rem; }
.dashboard-intro h1 { font-size:clamp(2rem,4vw,3.25rem); line-height:1.08; letter-spacing:-.045em; font-weight:780; color:#ffffff; margin:22px 0 16px; }
.dashboard-headline-end { display:flex; align-items:center; gap:10px; margin-top:2px; }
.dashboard-headline-logo { width:clamp(74px,8vw,98px); height:clamp(74px,8vw,98px); flex:0 0 auto; object-fit:contain; }
.dashboard-intro>p:not(.dashboard-eyebrow) { color:#ffffff; font-size:1rem; max-width:380px; }
.dashboard-hero-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:5px; margin-top:24px; }
.dashboard-hero .dashboard-primary { justify-content:space-between; min-height:50px; background:var(--to-hero-button); color:var(--to-hero-button-text); border-color:var(--to-hero-button); padding:13px 16px; font-size:1rem; }
.dashboard-hero .dashboard-map-shortcut { min-height:44px; background:transparent; color:#ffffff; border:0; padding:9px 12px; font-size:.85rem; }
.dashboard-tools { grid-column:2; grid-row:1/3; }
.dashboard-section-heading { margin:0 0 16px; align-items:flex-end; }
.dashboard-section-heading h2 { color:var(--to-text); font-size:1.45rem; }
.dashboard-section-heading .dashboard-eyebrow { color:var(--to-muted); }
.dashboard-help-link { color:var(--to-accent); min-height:44px; }
.dashboard-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.dashboard-feature { position:relative; color:var(--to-text); border:1px solid transparent; padding:20px; gap:10px; border-radius:18px; background:var(--to-surface); }
.dashboard-feature:hover { border-color:var(--to-accent); box-shadow:0 6px 20px #00000012; transform:translateY(-2px); }
.dashboard-feature>strong { color:inherit; font-size:1.12rem; }
.dashboard-feature .feature-description,.dashboard-feature .feature-action { color:inherit; }
.dashboard-feature .feature-action { padding-top:8px; border:0; font-size:.8rem; }
.to-icon { display:inline-block; object-fit:contain; flex-shrink:0; vertical-align:middle; }
.dashboard-feature .feature-icon { background:transparent; border-radius:0; width:56px; height:56px; }
.dashboard-feature .feature-icon .to-icon { width:56px; height:56px; filter:drop-shadow(0 3px 3px #071a3024); }
.app-toolbar-button .to-icon { width:28px; height:28px; margin-right:9px; }
.app-toolbar-button { display:flex; align-items:center; }
html[data-app-theme="after-dark"] .dashboard-feature .feature-icon .to-icon { filter:drop-shadow(0 4px 4px #050d2370); }
.dashboard-feature.feature-camera { grid-column:1/-1; background:var(--to-camera); color:var(--to-camera-text); }
.dashboard-feature.feature-weather,.dashboard-feature.feature-local { background:var(--to-weather); color:var(--to-weather-text); }
.dashboard-feature.feature-planner { grid-column:1/-1; background:var(--to-planner); color:var(--to-planner-text); }
.dashboard-feature.feature-planner,.dashboard-feature.feature-camera { display:grid; grid-template-columns:56px minmax(0,1fr); column-gap:14px; }
.dashboard-feature:is(.feature-planner,.feature-camera) .feature-icon { grid-column:1; grid-row:1/4; }
.dashboard-feature:is(.feature-planner,.feature-camera)>strong,.dashboard-feature:is(.feature-planner,.feature-camera) .feature-description,.dashboard-feature:is(.feature-planner,.feature-camera) .feature-action { grid-column:2; }
.dashboard-trip { grid-column:1/-1; grid-row:3; margin:0; background:var(--to-surface); color:var(--to-text); border-color:var(--to-line); }
.dashboard-trip .dashboard-eyebrow,#dashboard-trip-detail { color:var(--to-muted); }
.dashboard-trip #dashboard-trip-label { color:var(--to-text); }
.dashboard-trip .action-button { color:var(--to-on-accent); background:var(--to-accent); border-color:var(--to-accent); }
.dashboard-trip .action-button.secondary { color:var(--to-text); background:var(--to-surface); border-color:var(--to-line); }
.dashboard-map-card { grid-column:1; grid-row:2; min-height:0; background:var(--to-surface); color:var(--to-text); border:1px solid var(--to-line); border-radius:20px; }
.dashboard-area-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 16px; }
.dashboard-area-heading h2 { color:var(--to-text); font-size:1rem; }
.dashboard-area-heading button { min-height:44px; padding:8px 10px; font-size:.8rem; color:var(--to-accent); background:var(--to-selected); border-color:var(--to-line); width:auto; }
#dashboard-map { position:relative; inset:auto; height:240px; min-height:240px; background:#cad5df; z-index:0; color:#182230; }
.dashboard-map-caption { position:static; margin:0; padding:12px 16px; color:var(--to-text); background:var(--to-surface); border:0; border-radius:0; box-shadow:none; flex-wrap:wrap; }
.dashboard-map-caption>span { color:var(--to-muted); padding-left:0; }
.dashboard-map-caption button { width:auto; min-height:44px; font-size:.8rem; color:var(--to-on-accent); background:var(--to-accent); border-color:var(--to-accent); }
.dashboard-map-card .entry-location-status { margin:0; padding:0 16px 14px; color:var(--to-muted); font-size:.78rem; }
.dashboard-footer { color:var(--to-muted); font-size:.8rem; }
.dashboard-footer a,.dashboard-footer button { color:var(--to-accent); min-height:44px; display:inline-flex; align-items:center; }

/* Help uses the chosen reading theme, including explicit headings and links. */
.standalone-help,body[data-workspace="instructions"],body[data-workspace="instructions"] .main-column { background:var(--to-bg); }
.instructions-workspace { color-scheme:inherit; --rme-panel:var(--to-surface); --rme-line:var(--to-line); --rme-text:var(--to-text); --rme-muted:var(--to-muted); color:var(--to-text); background:var(--to-surface); }
.instructions-workspace :is(h2,h3,strong,summary) { color:var(--to-text); }
.instructions-workspace :is(p,li) { color:var(--to-muted); }
.instructions-workspace a { color:var(--to-accent); }
.instructions-workspace .help-topics a,.instructions-workspace .help-faq { color:var(--to-text); background:var(--to-bg); border-color:var(--to-line); }
.instructions-workspace .action-button { color:var(--to-text); background:var(--to-bg); border-color:var(--to-line); }

@media(max-width:900px) {
  .app-shell-header .app-section-title { display:none; }
  .app-theme-toggle .app-theme-toggle-label { display:none; }
  .app-theme-toggle { padding:9px; }
  .dashboard-grid { gap:18px; }
  .dashboard-hero { padding:26px; }
}
@media(max-width:700px) {
  body[data-workspace="dashboard"] .layout { padding:16px; }
  .dashboard-grid { display:flex; flex-direction:column; gap:22px; }
  .dashboard-grid>* { width:100%; }
  .dashboard-hero { order:1; padding:26px; border-radius:20px; }
  .dashboard-trip { order:2; }
  .dashboard-tools { order:3; }
  .dashboard-map-card { order:4; }
  .dashboard-intro h1 { font-size:2.35rem; }
  .dashboard-hero-actions { margin-top:20px; }
  .dashboard-section-heading { flex-direction:row; align-items:center; gap:10px; margin:0 0 14px; }
  .dashboard-section-heading h2 { font-size:1.25rem; }
  .dashboard-help-link { font-size:.78rem; text-align:right; }
  .dashboard-feature { padding:16px; }
  .dashboard-footer p { flex-basis:100%; }
  .app-shell-header .home-shortcut { display:none; }
  .standalone-help .topbar { gap:7px; }
  .standalone-help .app-shell-actions { gap:5px; }
  .standalone-help .topbar .action-button { font-size:.8rem; padding:8px; }
}
@media(max-width:400px) {
  .app-shell-header { padding:8px 10px; gap:7px; }
  .app-shell-actions { gap:5px; }
  .trip-optics-icon { width:36px; height:36px; }
  .trip-optics-name { font-size:.95rem; }
  .app-shell-header .trip-optics-brand small,.standalone-help .trip-optics-brand small { font-size:.56rem; }
  #app-explore-menu>summary { padding:8px; gap:6px; font-size:.8rem; }
  .dashboard-hero { padding:22px; }
  .dashboard-intro h1 { font-size:2.05rem; }
  .dashboard-cards { gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-feature { padding:13px; }
  .dashboard-feature>strong { font-size:1rem; }
  .feature-description { font-size:.8rem; }
  .standalone-help .trip-optics-brand small { display:none; }
}
@media(prefers-reduced-motion:reduce) { .dashboard-feature { transition:none; } .dashboard-feature:hover { transform:none; } }
