:root { color: #15233f; background: #f7f4ee; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; padding: 20px 16px 40px; }
main { max-width: 700px; margin: 0 auto; }
.masthead { display: flex; justify-content: space-between; align-items: center; padding-bottom: 24px; }
.brand { color: #f05e43; font-size: 14px; font-weight: 850; letter-spacing: .075em; text-decoration: none; }.brand span { margin-left: 3px; padding: 2px 6px; border-radius: 4px; background: #f05e43; color: #fff; font-size: 10px; vertical-align: 1px; }
.back { color: #15233f; font-size: 13px; font-weight: 750; text-underline-offset: 3px; }
.intro { padding: 26px; background: #15233f; color: #fff; border-radius: 18px; box-shadow: 0 14px 36px rgba(21, 35, 63, .12); }.kicker { margin: 0 0 5px; color: #f05e43; font-size: 10px; font-weight: 850; letter-spacing: .12em; }.intro h1 { margin: 0; font-size: clamp(28px, 7vw, 42px); letter-spacing: -.04em; }.hours { margin: 9px 0 20px; color: #dbe3ef; font-size: 14px; }
.freshness { display: flex; gap: 8px; align-items: center; color: #dbe3ef; font-size: 12px; }.dot { width: 8px; height: 8px; background: #66d18d; border-radius: 50%; box-shadow: 0 0 0 3px rgba(102,209,141,.18); }.freshness button { margin-left: auto; appearance: none; padding: 7px 10px; border: 1px solid #8291ac; border-radius: 7px; background: transparent; color: #fff; cursor: pointer; font: inherit; font-weight: 700; }.freshness button:disabled { opacity: .6; }
.panel { margin-top: 16px; padding: 22px; border: 1px solid #e0ddd6; border-radius: 15px; background: #fff; }.panel.contrast { background: #edf0f5; border-color: #dbe1ea; }.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px; }.section-heading .kicker { color: #f05e43; }.section-heading h2, .status-card h2, .plain-note h2 { margin: 0; font-size: 20px; letter-spacing: -.025em; }.hint { margin: 0; color: #65718a; font-size: 11px; font-weight: 700; white-space: nowrap; }.explanation { margin: 9px 0 14px; color: #59657a; font-size: 13px; line-height: 1.45; }
.ride-list { margin: 0; padding: 0; list-style: none; }.ride-row { display: flex; align-items: center; gap: 12px; min-height: 45px; border-top: 1px solid #e8e5df; }.ride-name { flex: 1; font-size: 14px; font-weight: 650; }.wait { color: #1d8b52; font-size: 14px; white-space: nowrap; }.ride-row:nth-child(n+4) .wait { color: #c47d12; }.empty { padding: 12px 0 2px; color: #65718a; font-size: 13px; list-style: none; }
.status-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }.status-card { padding: 18px; border-radius: 14px; }.status-card h2 { font-size: 16px; }.status-card ul { margin: 9px 0 0; padding-left: 18px; color: #59657a; font-size: 13px; line-height: 1.55; }.status-card.down { background: #fff0ed; border: 1px solid #f0cbc5; }.status-card.closed { background: #f1f0ec; border: 1px solid #ddd9d0; }.status-card .clear { list-style: none; margin-left: -18px; }
.plain-note { margin-top: 24px; padding: 0 4px; }.plain-note h2 { font-size: 17px; }.plain-note p { color: #59657a; font-size: 13px; line-height: 1.5; }.plain-note a { color: #15233f; font-size: 13px; font-weight: 750; text-underline-offset: 3px; }.notice { margin: 14px 0 0; padding: 11px 13px; border: 1px solid #f0cbc5; border-radius: 9px; background: #fff0ed; color: #873428; font-size: 13px; }
@media (max-width: 480px) { body { padding: 14px 12px 30px; }.intro, .panel { padding: 19px; }.status-grid { grid-template-columns: 1fr; }.masthead { padding-bottom: 16px; } }
