@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jost-latin-400-normal-q-RKOgPK.woff2)format("woff2"),url(/assets/jost-latin-400-normal-C7S-3Ky6.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jost-latin-500-normal-41lBe9I9.woff2)format("woff2"),url(/assets/jost-latin-500-normal-B-AtzreL.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jost-latin-600-normal-C497H-z9.woff2)format("woff2"),url(/assets/jost-latin-600-normal-Bv_M0d15.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-italic-DCuhXWyK.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-italic-BcJbkSJ4.woff)format("woff")}@font-face{font-family:Libre Caslon Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-caslon-text-latin-400-normal-CfldDPV-.woff2)format("woff2"),url(/assets/libre-caslon-text-latin-400-normal-WtjoQ5sB.woff)format("woff")}@font-face{font-family:Libre Caslon Text;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/libre-caslon-text-latin-700-normal-D1WVYPaO.woff2)format("woff2"),url(/assets/libre-caslon-text-latin-700-normal-B3n-DWsl.woff)format("woff")}@font-face{font-family:Libre Caslon Text;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/libre-caslon-text-latin-400-italic-snTzlHlN.woff2)format("woff2"),url(/assets/libre-caslon-text-latin-400-italic-C1OAqZ6C.woff)format("woff")}:root,html[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0e1726;--surface:#16233a;--ink:#f4eddf;--ink-2:#cbc3b3;--ink-3:#939aa8;--ink-dim:#6c7383;--rule:#c9a96e52;--accent:#c9a96e;--tag:#c9a96e8c;--good:#7cc596;--warning:#ffa940;--critical:#ff8070;--rain:#8dbbe8;--alert-bg:#b3263a;--alert-ink:#fff8ee;--font-display:"Cormorant Garamond", Garamond, Georgia, serif;--font-body:"Jost", Futura, system-ui, sans-serif;--display-weight:600;--hero-track:-.01em;--serif-style:italic;--label-case:uppercase;--label-size:1.25rem;--label-track:.2em;--label-weight:500}html[data-theme=green]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#10231b;--surface:#183126;--ink:#f2ebda;--ink-2:#cdc6b3;--ink-3:#94a59a;--ink-dim:#6b7d72;--rule:#caa86a52;--accent:#caa86a;--tag:#caa86a8c;--good:#9fd3a2;--warning:#ffae45;--critical:#ff8676;--rain:#9fc6e3;--alert-bg:#a8323a;--alert-ink:#fff8ee}html[data-theme=ivory]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f4efe5;--surface:#ebe4d6;--ink:#1d1a16;--ink-2:#4d473f;--ink-3:#6b6458;--ink-dim:#887f72;--rule:#7b243340;--accent:#7b2433;--tag:#7b243373;--good:#2e7a45;--warning:#9a5800;--critical:#b3261e;--rain:#2a66a3;--alert-bg:#a3202c;--alert-ink:#fff;--font-display:"Libre Caslon Text", "Big Caslon", Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--display-weight:700;--hero-track:-.02em;--label-weight:600;--label-track:.18em}html[data-theme=graphite]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--ink:#f0efec;--ink-2:#c3c2b7;--ink-3:#898781;--ink-dim:#6e6d68;--rule:#2a2a28;--accent:#c3c2b7;--tag:#4a4a46;--good:#0ca30c;--warning:#fab219;--critical:#f0706a;--rain:#7cb4f0;--alert-bg:#d03b3b;--alert-ink:#fff;--font-display:"Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--display-weight:700;--hero-track:-.045em;--serif-style:normal;--label-case:none;--label-size:1.67rem;--label-track:0;--label-weight:500}html{background:var(--page);font-size:min(1vw,1.7778vh)}html[data-layout=echo]{font-size:min(1vw,1.6vh)}body{background:var(--page);min-height:100vh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;user-select:none;justify-content:center;align-items:center;margin:0;display:flex;overflow:hidden}h1,h2{font:inherit;margin:0}.icon,.wx-icon{flex:none;width:1em;height:1em}.board{box-sizing:border-box;flex-direction:column;gap:1.8rem;width:100rem;height:56.25rem;padding:2.8rem 3.75rem 2.6rem;display:flex}.board--echo{height:62.5rem}.main,.weather{grid-template-columns:minmax(0,.8fr) .1rem minmax(0,1.2fr);column-gap:3.3rem;display:grid}.main{flex:1;min-height:0}.divider{background:var(--rule)}.header{flex:none;justify-content:space-between;align-items:flex-start;column-gap:3rem;min-width:0;display:flex}.header-left{flex-direction:column;align-items:flex-start;row-gap:.8rem;min-width:0;padding-top:.4rem;display:flex}.date{font-family:var(--font-display);font-style:var(--serif-style);color:var(--ink-2);font-size:2.5rem;font-weight:500;line-height:1.1}.live{color:var(--ink-3);white-space:nowrap;align-items:center;column-gap:.6rem;font-size:1.35rem;display:flex}.live-dot{background:var(--good);border-radius:50%;flex:none;width:.75rem;height:.75rem}.live--old{color:var(--warning);font-weight:600}.live--old .live-dot{background:var(--warning)}.live--paused .live-dot{box-shadow:inset 0 0 0 .15rem var(--ink-3);background:0 0}.clock{flex:none;align-items:baseline;column-gap:.7rem;line-height:.9;display:flex}.clock-time{font-family:var(--font-display);font-size:6.45rem;font-weight:var(--display-weight);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}.clock-ampm{letter-spacing:.1em;color:var(--ink-2);font-size:1.67rem;font-weight:500}.banner{box-sizing:border-box;border-radius:.75rem;align-items:center;column-gap:.8rem;min-width:0;max-width:100%;padding:.5rem 1.35rem .5rem 1.05rem;font-size:2rem;line-height:1.15;display:flex}.banner .icon{stroke-width:2px;font-size:2.1rem}.banner-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.banner strong{font-weight:600}.banner--critical{background:var(--alert-bg);color:var(--alert-ink)}.banner--warning{box-shadow:inset 0 0 0 .15rem var(--warning);color:var(--ink)}.banner--warning .icon{color:var(--warning)}.banner-more{opacity:.85;flex:none;margin-left:.4rem;font-size:1.55rem;font-weight:500}.section{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.section--old>:not(.label),.weather--old .wx-now>:not(.wx-now-text),.weather--old .wx-now-text>:not(.wx-old),.weather--old .wx-grid{opacity:.45}.label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-track);text-transform:var(--label-case);color:var(--accent);white-space:nowrap;align-items:center;column-gap:.8rem;line-height:1.5;display:flex}.label .icon{stroke-width:1.8px;font-size:1.9rem}.label-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.label-note{letter-spacing:.02em;text-transform:none;color:var(--ink-3);align-items:center;column-gap:.4rem;margin-left:auto;font-size:1.25rem;font-weight:500;display:inline-flex}.label-note--warn{color:var(--warning);font-weight:600}.label-note .icon{stroke-width:2.4px;font-size:1.4rem}.status{color:var(--ink-2);white-space:nowrap;align-items:center;column-gap:.6rem;font-weight:500;display:inline-flex}.status .icon{stroke-width:2.4px}.status--good .icon{color:var(--good)}.status--warning{color:var(--warning);font-weight:600}.status--critical{color:var(--critical);font-weight:600}.status--neutral{color:var(--ink-3)}.hero{align-items:baseline;column-gap:.95rem;margin-top:.2rem;line-height:1;display:flex}.hero-num{font-family:var(--font-display);font-size:12.3rem;font-weight:var(--display-weight);letter-spacing:var(--hero-track);font-variant-numeric:lining-nums tabular-nums}.hero-unit{font-family:var(--font-display);font-style:var(--serif-style);color:var(--ink-2);font-size:3.75rem;font-weight:500}.drive-status{margin-top:.3rem;font-size:2.1rem}.drive-facts{border-top:.1rem solid var(--rule);grid-template-columns:auto minmax(0,1fr);column-gap:2.9rem;margin-top:auto;padding-top:1.35rem;display:grid}.fact{flex-direction:column;row-gap:.3rem;min-width:0;display:flex}.fact-label{color:var(--ink-3);font-size:1.35rem}.fact-value{white-space:nowrap;text-overflow:ellipsis;font-size:2.7rem;font-weight:600;overflow:hidden}.fact-value--time{font-variant-numeric:tabular-nums}.drive-alt{color:var(--ink-3);margin-top:1.15rem;font-size:1.55rem}.line-alert{align-items:flex-start;column-gap:.8rem;margin-top:1rem;font-size:1.55rem;line-height:1.3;display:flex}.line-alert .icon{color:var(--warning);stroke-width:2px;font-size:1.9rem}.line-alert span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.train-head,.train{grid-template-columns:9.2rem minmax(0,1fr) 6.7rem 14.8rem;column-gap:1.25rem;display:grid}.train-head{border-bottom:.1rem solid var(--rule);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:1.2rem;padding-bottom:.6rem;font-size:1.05rem;font-weight:600}.train-head>:last-child{text-align:right}.train-list{flex-direction:column;flex:1;min-height:0;margin:0;padding:0;list-style:none;display:flex}.train{flex:1 1 0;align-items:center;min-height:0}.train+.train{border-top:.1rem solid var(--rule)}.train-time{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:3.5rem;font-weight:600;line-height:1}.train-when{white-space:nowrap;align-items:center;column-gap:.8rem;min-width:0;font-size:2.2rem;font-weight:500;display:flex}.train-countdown{text-overflow:ellipsis;min-width:0;overflow:hidden}.tag{border:.1rem solid var(--tag);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-radius:99rem;flex:none;padding:.15rem .7rem;font-size:1rem;font-weight:600}.train-arr{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:2.1rem}.train-status{flex-direction:column;align-items:flex-end;row-gap:.1rem;min-width:0;font-size:1.9rem;display:flex}.train-was{color:var(--ink-3);font-size:1.25rem}.train--cancelled .train-time{color:var(--ink-dim);text-decoration:line-through;text-decoration-thickness:.2rem}.train--cancelled .train-when,.train--cancelled .train-arr{color:var(--ink-dim)}.empty{color:var(--ink-2);margin:auto 0;font-size:2.6rem}.unavailable{color:var(--ink-2);align-items:center;column-gap:1.2rem;margin:auto 0;font-size:2.4rem;font-weight:600;display:flex}.unavailable .icon{color:var(--warning);font-size:3.2rem}.unavailable-why{color:var(--ink-3);font-size:1.6rem;font-weight:400}.weather{box-sizing:border-box;border-top:.1rem solid var(--rule);flex:none;height:12.1rem;padding-top:1.55rem}.board--echo .weather{height:13.75rem}.weather>.unavailable{grid-column:1/-1}.wx-now{align-items:center;column-gap:1.25rem;min-width:0;display:flex}.wx-now-icon{stroke-width:1.5px;font-size:6rem}.wx-temp{font-family:var(--font-display);font-size:7.8rem;font-weight:var(--display-weight);letter-spacing:var(--hero-track);font-variant-numeric:lining-nums;line-height:1}.wx-now-text{flex-direction:column;row-gap:.25rem;min-width:0;padding-left:.4rem;display:flex}.wx-cond{font-family:var(--font-display);font-style:var(--serif-style);white-space:nowrap;text-overflow:ellipsis;font-size:2.2rem;font-weight:600;line-height:1.15;overflow:hidden}.wx-sub{color:var(--ink-2);white-space:nowrap;font-size:1.45rem}.wx-old{color:var(--warning);white-space:nowrap;align-items:center;column-gap:.4rem;font-size:1.3rem;font-weight:600;display:flex}.wx-grid{grid-column:3;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;column-gap:.85rem;min-width:0;margin:0;padding:0;list-style:none;display:grid}.wx-cell{flex-direction:column;align-items:center;row-gap:.4rem;min-width:0;display:flex}.wx-cell-head{white-space:nowrap;align-items:center;column-gap:.5rem;display:flex}.wx-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:1.35rem;font-weight:600}.wx-pop{color:var(--rain);align-items:center;column-gap:.15rem;font-size:1.35rem;font-weight:600;display:inline-flex}.wx-pop .icon{stroke-width:2.4px;font-size:1.1rem}.wx-cell-body{flex-direction:column;align-items:center;row-gap:.3rem;display:flex}.wx-cell .wx-icon{stroke-width:1.6px;font-size:3.1rem}.wx-cell-temp{white-space:nowrap;font-size:2.1rem;font-weight:600}.wx-low{color:var(--ink-3);font-weight:400}.board--echo .wx-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;row-gap:1.4rem}.board--echo .wx-cell{align-items:stretch;row-gap:.45rem}.board--echo .wx-cell-head{justify-content:space-between}.board--echo .wx-label,.board--echo .wx-pop{font-size:1.17rem}.board--echo .wx-cell-body{flex-direction:row;align-items:center;column-gap:.6rem}.board--echo .wx-cell .wx-icon{font-size:2.5rem}.board--echo .wx-cell-temp{font-size:2.03rem}.idle{text-align:center;grid-column:1/-1;justify-content:center;align-items:center;row-gap:1rem}.idle-icon{color:var(--ink-3);font-size:5rem}.idle-msg{font-family:var(--font-display);font-size:3.6rem;font-weight:600}.idle-sub{color:var(--ink-2);font-size:1.9rem}.boot{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.boot-error{color:var(--ink-2);font-size:2.6rem}.diag{box-sizing:border-box;user-select:text;width:100vw;height:100vh;padding:24px;font-size:18px;overflow:auto}.diag h1{margin-bottom:16px;font-size:26px;font-weight:700}.diag table{border-collapse:collapse}.diag th,.diag td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:6px 16px 6px 0}.diag th{color:var(--ink-2);white-space:nowrap;font-weight:600}.diag td{word-break:break-word}.diag-bad td{color:var(--warning);font-weight:700}
