:root{--bg: #050505;--panel: rgba(8, 8, 8, .94);--panel-edge: rgba(222, 193, 136, .14);--line-soft: rgba(235, 220, 192, .09);--line-strong: rgba(235, 220, 192, .14);--text-primary: #f2e6d1;--text-secondary: #d8bc8a;--text-muted: #937f5f;--interactive: #cfad72;--interactive-strong: #f0d29a;--urgency-now: #d96d61;--urgency-soon: #ddb071;--shadow-soft: 0 26px 90px rgba(0, 0, 0, .45);--shadow-edge: inset 0 1px 0 rgba(255, 255, 255, .03);color:var(--text-primary);background:var(--bg);font-family:Avenir Next Condensed,Gill Sans Nova,Trebuchet MS,sans-serif;font-stretch:condensed}*{box-sizing:border-box}[hidden]{display:none!important}html{color-scheme:dark}body{margin:0;min-height:100vh;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:radial-gradient(circle at 14% 10%,rgba(213,181,121,.12),transparent 24%),radial-gradient(circle at 88% 4%,rgba(213,181,121,.08),transparent 18%),linear-gradient(180deg,#020202,#070707 34%,#050505);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,select{font:inherit}button{appearance:none}.app-shell{--shell-max-width: 28rem;--shell-padding-top: .68rem;--shell-padding-inline: .95rem;--shell-padding-bottom: 1.2rem;--topbar-gap: 1rem;--topbar-padding-bottom: .46rem;--title-size: 1.2rem;--clock-size: 1.2rem;--mode-row-gap: .7rem;--mode-row-padding-top: .3rem;--mode-row-padding-bottom: .34rem;--mode-button-gap: .38rem;--mode-button-padding-inline: .78rem;--mode-button-font-size: .78rem;--action-gap: .48rem;--action-size: 2.75rem;--stop-section-gap: .34rem;--stop-section-padding-top: .32rem;--stop-section-padding-bottom: .62rem;--stop-row-gap: .68rem;--control-height: 2.55rem;--control-padding-top: .7rem;--control-padding-right: 2.2rem;--control-padding-bottom: .7rem;--control-padding-left: .9rem;--control-font-size: .88rem;--control-caret-right: .82rem;--filter-toggle-min-width: 6.8rem;--filter-toggle-gap: 1.25rem;--filter-toggle-label-font-size: .88rem;--filter-toggle-padding-top: .64rem;--filter-toggle-padding-right: 2rem;--filter-toggle-padding-bottom: .64rem;--filter-toggle-padding-left: .92rem;--eyebrow-font-size: .72rem;--eyebrow-letter-spacing: .08em;--column-line-width: 3rem;--column-gap: .48rem;--column-destination-gap: .62rem;--column-time-width: 4.35rem;--departures-edge-inset: .2rem;--column-header-font-size: .68rem;--column-header-letter-spacing: .08em;--departure-line-font-size: 1.18rem;--departure-destination-font-size: 1.15rem;--departure-time-font-size: 1.12rem;position:relative;display:grid;align-content:start;gap:0;width:min(100%,var(--shell-max-width));min-height:100vh;min-height:100dvh;margin:0 auto;padding:var(--shell-padding-top) var(--shell-padding-inline) var(--shell-padding-bottom);background:linear-gradient(180deg,#111111eb,#050505f5),var(--panel);border:1px solid var(--panel-edge);border-radius:1rem;box-shadow:var(--shadow-soft),var(--shadow-edge);overflow:hidden}.app-shell:before,.app-shell:after{position:absolute;inset:0;pointer-events:none;content:""}.app-shell:before{background:radial-gradient(circle at 10% 4%,rgba(240,210,154,.12),transparent 18%),radial-gradient(circle at 90% 14%,rgba(240,210,154,.06),transparent 16%);opacity:.9}.app-shell:after{background:repeating-linear-gradient(0deg,rgba(255,255,255,.016) 0,rgba(255,255,255,.016) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 1px,transparent 7px);mix-blend-mode:soft-light;opacity:.22}.app-shell>*{position:relative;z-index:1}.app-shell__topbar,.app-shell__mode-row{border-bottom:1px solid var(--line-soft)}.app-shell__topbar{display:flex;align-items:baseline;justify-content:space-between;gap:var(--topbar-gap);padding:.04rem 0 var(--topbar-padding-bottom)}.app-shell__title{margin:0;min-width:0;color:var(--text-secondary);font-family:Optima,Avenir Next Condensed,Gill Sans,sans-serif;font-size:var(--title-size);font-weight:700;letter-spacing:-.04em;line-height:.94}.app-shell__clock{flex:0 0 auto;color:var(--text-primary);font-size:var(--clock-size);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.app-shell__mode-row{display:flex;align-items:center;gap:var(--mode-row-gap);padding:var(--mode-row-padding-top) 0 var(--mode-row-padding-bottom)}.app-shell__mode{flex:1;min-width:0}.mode-selector{display:flex;flex-wrap:nowrap;gap:var(--mode-button-gap)}.mode-selector__button,.filter-chip,.voice-choice{min-height:2.75rem;border:1px solid var(--line-strong);border-radius:999px;background:linear-gradient(180deg,#ffffff05,#fff0);color:var(--text-muted);cursor:pointer;padding:.3rem var(--mode-button-padding-inline);font-size:var(--mode-button-font-size);font-weight:600;letter-spacing:.02em;text-transform:uppercase;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.mode-selector__button{flex:1 1 0;min-width:0}.app-shell__actions{display:flex;gap:var(--action-gap)}.app-shell__refresh,.app-shell__voice{display:grid;place-items:center;width:var(--action-size);height:var(--action-size);padding:0;border:1px solid var(--line-strong);border-radius:.78rem;background:linear-gradient(180deg,#ffffff06,#fff0);color:var(--text-secondary);cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease,opacity .14s ease}.app-shell__icon{width:1rem;height:1rem}.app-shell__voice-label{display:none}.app-shell__filter-toggle,.stop-selector__select{min-height:var(--control-height);border:1px solid var(--line-strong);border-radius:.82rem;background:linear-gradient(180deg,#ffffff06,#fff0);color:var(--text-primary)}.app-shell__filter-toggle:hover,.app-shell__refresh:hover,.app-shell__voice:hover,.mode-selector__button:hover,.filter-chip:hover,.voice-choice:hover,.stop-selector__select:hover{border-color:#f0d29a47;color:var(--text-primary)}.mode-selector__button.is-active,.filter-chip.is-active,.app-shell__filter-toggle.is-open,.app-shell__voice.is-listening{border-color:var(--interactive);background:linear-gradient(180deg,#d7b57914,#d7b57905);color:var(--interactive-strong)}.app-shell__refresh:focus-visible,.app-shell__voice:focus-visible,.app-shell__filter-toggle:focus-visible,.mode-selector__button:focus-visible,.filter-chip:focus-visible,.voice-choice:focus-visible,.stop-selector__select:focus-visible{outline:1px solid rgba(240,210,154,.42);outline-offset:2px}.app-shell__voice:disabled{cursor:not-allowed;opacity:.36}.app-shell__stop-section{position:relative;display:grid;gap:var(--stop-section-gap);padding:var(--stop-section-padding-top) 0 var(--stop-section-padding-bottom);z-index:3}.app-shell__stop-row{display:flex;align-items:end;gap:var(--stop-row-gap)}.app-shell__stop-row .stop-selector{flex:1 1 auto;min-width:0}.stop-selector{display:grid;gap:.32rem}.stop-selector__label,.filter-controls__label{margin:0;color:var(--text-muted);font-size:var(--eyebrow-font-size);font-weight:700;letter-spacing:var(--eyebrow-letter-spacing);text-transform:uppercase}.stop-selector__field{position:relative;z-index:5}.stop-selector__select{width:100%;padding:var(--control-padding-top) var(--control-padding-right) var(--control-padding-bottom) var(--control-padding-left);font-size:var(--control-font-size);font-weight:600;letter-spacing:.01em;appearance:none}.stop-selector__trigger{display:block;text-align:left}.stop-selector__value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-selector__caret,.app-shell__filter-toggle-caret{position:absolute;right:var(--control-caret-right);top:50%;color:var(--text-secondary);font-size:1rem;line-height:1;transform:translateY(-55%)}.stop-selector__caret{pointer-events:none}.stop-selector__menu{position:absolute;top:calc(100% + .34rem);left:0;right:0;display:grid;gap:.26rem;max-height:min(15rem,50dvh);padding:.34rem;overflow-y:auto;border:1px solid var(--line-strong);border-radius:.82rem;background:linear-gradient(180deg,#131313fa,#070707fa),var(--panel);box-shadow:var(--shadow-soft),var(--shadow-edge);z-index:8}.stop-selector__option{min-height:2.75rem;padding:.56rem .72rem;border:1px solid transparent;border-radius:.64rem;background:transparent;color:var(--text-primary);cursor:pointer;font-size:.86rem;font-weight:600;line-height:1.2;text-align:left}.stop-selector__option:hover,.stop-selector__option:focus-visible{border-color:#f0d29a38;background:#ffffff08;outline:none}.stop-selector__option.is-selected{color:var(--interactive-strong);background:linear-gradient(180deg,#d7b5791a,#d7b57908)}.app-shell__filter-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--filter-toggle-gap);min-width:var(--filter-toggle-min-width);padding:var(--filter-toggle-padding-top) var(--filter-toggle-padding-right) var(--filter-toggle-padding-bottom) var(--filter-toggle-padding-left);color:var(--text-secondary);cursor:pointer;white-space:nowrap}.app-shell__filter-toggle-label{font-size:var(--filter-toggle-label-font-size);font-weight:600;letter-spacing:.01em}.app-shell__filter-toggle-caret{position:absolute;pointer-events:none}.app-shell__filter-panel{display:grid;gap:.9rem}.filter-controls{display:grid;gap:.9rem;padding-top:.1rem}.filter-controls__summary{margin:0;color:var(--text-muted);font-size:.86rem}.filter-controls__group{display:flex;flex-wrap:wrap;gap:.42rem}.filter-chip{min-height:2.75rem;padding:.28rem .72rem;color:var(--text-secondary);font-size:.78rem;text-transform:none}.app-shell__voice-choices{display:grid;gap:.6rem;padding:.85rem 0 0}.app-shell__voice-choices:empty,.app-shell__status:empty{display:none}.voice-choice{color:var(--text-secondary);text-align:left;text-transform:none}.app-shell__status{margin:0;padding:.8rem 0 0;color:var(--text-muted);font-size:.84rem}.app-shell__departures-table{width:calc(100% - (var(--departures-edge-inset) * 2));margin-inline:var(--departures-edge-inset);border-collapse:collapse;table-layout:fixed}.app-shell__column-headers{color:var(--text-muted);font-size:var(--column-header-font-size);font-weight:700;letter-spacing:var(--column-header-letter-spacing);text-transform:uppercase}.app-shell__column-headers th,.departure-card__line,.departure-card__destination,.departure-card__time{min-width:0;padding:0}.app-shell__column-headers th{padding:0 0 .16rem;font-weight:inherit}.app-shell__column-headers span{display:block}.app-shell__column-headers th:first-child,.departure-card__line{width:var(--column-line-width);text-align:center}.app-shell__column-headers th:nth-child(2),.departure-card__destination{padding-left:var(--column-destination-gap)}.app-shell__column-headers th:last-child,.departure-card__time{width:var(--column-time-width);padding-left:var(--column-gap);text-align:right}.departure-card{border-top:1px solid var(--line-soft)}.departure-card td{padding:.98rem 0;vertical-align:middle}.departure-card__line{color:var(--text-primary);font-size:var(--departure-line-font-size);font-weight:700;letter-spacing:-.03em}.departure-card__destination{overflow:hidden}.departure-card__destination-text{display:block;color:var(--text-secondary);font-size:var(--departure-destination-font-size);font-weight:500;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.departure-card__platform{display:block;color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.02em;line-height:1.5;padding-left:var(--departure-destination-inner-offset)}.departure-card__time{color:var(--text-primary);font-size:var(--departure-time-font-size);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.departure-card__time[data-urgency=now]{color:var(--urgency-now)}.departure-card__time[data-urgency=soon]{color:var(--urgency-soon)}@media(min-width:640px){body{padding:0 1.2rem}.app-shell{--shell-max-width: 34rem;--shell-padding-top: .95rem;--shell-padding-inline: 1.1rem;--shell-padding-bottom: 1.5rem}}@media(max-width:390px){.app-shell{--shell-padding-top: clamp(.56rem, 2.4vw, .68rem);--shell-padding-inline: clamp(.5rem, 4vw, .95rem);--shell-padding-bottom: clamp(.96rem, 4vw, 1.2rem);--topbar-gap: clamp(.38rem, 1.8vw, .55rem);--title-size: clamp(.92rem, 4.8vw, 1.2rem);--clock-size: clamp(.92rem, 4.8vw, 1.2rem);--mode-row-gap: clamp(.3rem, 1.3vw, .7rem);--mode-button-gap: clamp(.18rem, 1vw, .38rem);--mode-button-padding-inline: clamp(.34rem, 2vw, .58rem);--mode-button-font-size: clamp(.62rem, 3vw, .78rem);--action-gap: clamp(.18rem, .9vw, .48rem);--action-size: 2.75rem;--stop-row-gap: clamp(.32rem, 1.4vw, .68rem);--control-height: clamp(2.28rem, 7vw, 2.55rem);--control-padding-top: clamp(.58rem, 2.1vw, .7rem);--control-padding-right: clamp(1.55rem, 5.2vw, 2.2rem);--control-padding-bottom: clamp(.58rem, 2.1vw, .7rem);--control-padding-left: clamp(.62rem, 2.1vw, .9rem);--control-font-size: clamp(.74rem, 2.6vw, .88rem);--control-caret-right: clamp(.48rem, 1.8vw, .82rem);--filter-toggle-min-width: clamp(4.8rem, 20vw, 6.8rem);--filter-toggle-gap: clamp(.34rem, 1.4vw, 1.25rem);--filter-toggle-label-font-size: clamp(.7rem, 2.6vw, .88rem);--filter-toggle-padding-top: clamp(.56rem, 2vw, .64rem);--filter-toggle-padding-right: clamp(1.4rem, 4.4vw, 2rem);--filter-toggle-padding-bottom: clamp(.56rem, 2vw, .64rem);--filter-toggle-padding-left: clamp(.58rem, 2vw, .92rem);--eyebrow-font-size: clamp(.58rem, 1.9vw, .72rem);--column-line-width: clamp(2.08rem, 6.2vw, 2.48rem);--column-gap: clamp(.38rem, 1.4vw, .48rem);--column-destination-gap: clamp(.88rem, 3.8vw, .98rem);--column-time-width: clamp(3.1rem, 13vw, 4.35rem);--departures-edge-inset: clamp(.14rem, .9vw, .2rem);--column-header-font-size: clamp(.58rem, 1.9vw, .72rem);--column-header-letter-spacing: .03em;--departure-line-font-size: clamp(.88rem, 4.3vw, 1.15rem);--departure-destination-font-size: clamp(.88rem, 4.3vw, 1.15rem);--departure-time-font-size: clamp(.88rem, 4.3vw, 1.15rem)}}
