body { background: #e8e8e3; }
.options { grid-template-columns: repeat(2, var(--screen-w)); justify-content: center; gap: 32px 24px; overflow: visible; }
.simulation { width: 390px; }
.simulation > label { gap: 16px; }
.simulation output { white-space: nowrap; }
body[data-review="neutral"] .screen[data-theme="light"] {
  --ground: #f6f6f2; --ink: #171b1b; --ink-2: #505857; --rule: #9ba7a1;
  --raised: #efefea; --route-ink: #244dcf; --route-solid: #244dcf; --route-tint: #e4e9fa; --on-route: #f8f9ff;
  --map-ground: #f0f1eb; --map-road: #d9ddd4; --map-park: #e0e5d8; --map-building: #b7c1ad; --map-ink: #344337; --map-inactive: #7b8a7d;
}
body[data-review="neutral"] .screen[data-theme="dark"] {
  --ground: #000; --ink: #e6e8e1; --ink-2: #b7bcb1; --rule: #626b5b;
  --raised: #0b0d09; --route-ink: #e3ed86; --route-solid: #e3ed86; --route-tint: #202713; --on-route: #151a0a;
  --map-ground: #000; --map-road: #30372a; --map-park: #192013; --map-building: #4c593f; --map-ink: #d1d9c5; --map-inactive: #718064;
}
body[data-review="neutral"] .screen-content { display: flex; flex-direction: column; padding: 12px 16px 0; overflow-y: auto; }
body[data-review="neutral"] .screen-content > * { flex-shrink: 0; }
body[data-review="neutral"] .app-header { min-height: 44px; }
body[data-review="neutral"] .route-toggle { margin: 8px 0 10px; gap: 8px; }
body[data-review="neutral"] .stop-choice label { font-size: 12px; line-height: 1.2; margin: 0; }
.picker-field { position: relative; height: 44px; }
.picker-face { display: flex; align-items: center; justify-content: space-between; height: 44px; gap: 8px; }
.picker-face > svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
body[data-review="neutral"] .picker-field select { position: absolute; inset: 0; opacity: 0; width: 100%; height: 44px; cursor: pointer; }
.picker-field:focus-within { outline: 3px solid var(--route-ink); outline-offset: 3px; border-radius: 4px; }
.place-identifier { display: inline-flex; align-items: center; gap: 6px; }
.stop-badge { display: inline-grid; place-items: center; width: 24px; height: 24px; flex: none; border: 1.5px solid currentColor; border-radius: 50%; font-size: 14px; font-weight: 600; line-height: 1; }
.picker-face .place-name { font-size: 24px; font-weight: 650; }
.picker-face .stop-badge { width: 30px; height: 30px; font-size: 16px; color: var(--route-ink); }
body[data-review="neutral"] .arrival-group { margin: 10px 0 8px; gap: 12px; }
body[data-review="neutral"] .arrival-label { font-size: 12px; }
body[data-review="neutral"] .eta { font-size: 80px; line-height: .98; }
body[data-review="neutral"] .eta-unit { font-size: 16px; }
body[data-review="neutral"] .arrival-clock { padding-bottom: 3px; }
body[data-review="neutral"] .estimated-label { font-size: 12px; color: var(--ink-2); }
body[data-review="neutral"] .arrival-time { font-size: 20px; margin-top: 2px; }
body[data-review="neutral"] .bus-status-panel { margin: 0 0 8px; gap: 6px; min-height: 28px; flex-wrap: wrap; }
body[data-review="neutral"] .bus-status { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
body[data-review="neutral"] .bus-detail { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; }
body[data-review="neutral"] .bus-detail::before { margin-right: 0; }
body[data-review="neutral"] .bus-status .stop-badge, body[data-review="neutral"] .bus-detail .stop-badge { width: 24px; height: 24px; font-size: 12px; }
.status-direction { display: inline-flex; flex: none; }
.status-direction svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
body[data-review="neutral"] .campus-map { flex: 1 1 0; min-height: 0; height: auto; margin: 0 -16px; width: calc(100% + 32px); padding: 0 8px; background: var(--map-ground); overflow: hidden; }
body[data-review="neutral"] .campus-map > svg { flex: 1; width: 100%; height: 100%; min-height: 0; }
body[data-review="neutral"] .stop-digit { font-size: 14px; }
body[data-review="neutral"] .neutral-focus .map-stop:not(.on-route), body[data-review="neutral"] .neutral-focus .map-labels .dimmed { display: none; }
body[data-review="neutral"] .selection-note { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 4px; }
body[data-review="neutral"] .selection-note[hidden] { display: none; }
body[data-review="neutral"] .bottom-nav { min-height: 52px; padding: 0 16px 4px; }
body[data-review="neutral"] .bottom-nav span { padding-top: 12px; padding-bottom: 12px; }
body[data-review="neutral"] .bottom-nav .active { padding-bottom: 10px; }
body[data-review="neutral"] dialog, body[data-review="neutral"] .appearance-menu { background: #f6f6f2; color: #171b1b; border-color: #9ba7a1; }
body[data-review="neutral"] dialog p { color: #505857; }
body[data-review="neutral"] dialog[data-theme="dark"], body[data-review="neutral"] .appearance-menu[data-theme="dark"] { background: #000; color: #e6e8e1; border-color: #626b5b; }
body[data-review="neutral"] dialog[data-theme="dark"] p { color: #b7bcb1; }
body[data-review="neutral"] .appearance-menu button[aria-pressed="true"] { background: #e4e9fa; color: #171b1b; }
body[data-review="neutral"] .appearance-menu[data-theme="dark"] button[aria-pressed="true"] { background: #202713; color: #e6e8e1; }
@container (max-height: 760px) {
  body[data-review="neutral"] .eta { font-size: 72px; }
  body[data-review="neutral"] .campus-map, body[data-review="neutral"] .campus-map > svg { min-height: 0; }
}
@media (max-width: 900px) { .options { grid-template-columns: repeat(2, 402px); overflow-x: auto; justify-content: start; } }
@media (max-width: 700px) { .simulation { width: 100%; } .options { display: flex; overflow: visible; } }
