@font-face{font-family:"DM Sans";src:url("/departure-sans.ttf") format("truetype");font-display:swap}
@font-face{font-family:"DM Mono";src:url("/departure-mono.ttf") format("truetype");font-display:swap}
@font-face{font-family:Fraunces;src:url("/departure-serif.ttf") format("truetype");font-display:swap}
:root{color-scheme:dark;--coal:#211b14;--wood:#392b1d;--wood-light:#57432a;--brass:#bd9250;--brass-light:#e5c782;--paper:#efe4ca;--ink:#30291f;--muted:#a99b7c;--green:#76916b;--red:#b9634d;--panel:#211f1b;--panel2:#2a2721;--edge:#4e483b;--tile:#191a18;--tile-edge:#403c32}
@keyframes departure-light-blink{0%,100%{opacity:.42;box-shadow:0 0 2px rgba(153,178,129,.28)}50%{opacity:1;box-shadow:0 0 10px rgba(153,178,129,.95)}}
.status-light{animation:departure-light-blink 3.4s ease-in-out infinite}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 30% 35%,#51402c 0,#30271d 48%,#1e1a15 100%);color:var(--paper);font-family:"DM Sans",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.departure-app{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,560px);grid-template-rows:74px 1fr;gap:0 28px;padding:0 28px 18px;position:relative;overflow:hidden}.departure-app:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,239,204,.023) 0 1px,transparent 1px 5px);mix-blend-mode:screen;opacity:.65}.topbar{grid-column:1/-1;grid-row:1;position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(229,199,130,.2);font:10px "DM Mono",monospace;letter-spacing:.8px}.topbar a{color:#c9b995;text-decoration:none}.topbar a:hover{color:var(--brass-light)}.topbar-brand{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center;color:var(--brass-light);font-weight:500;letter-spacing:2px}.topbar-brand i{font-style:normal;color:#968366}.topbar-brand small{grid-column:2;color:#94876e;font-size:7px;letter-spacing:2.2px;margin-top:2px}.brand-star{grid-row:span 2;font-size:17px}.station{grid-column:1;grid-row:2;align-self:center;justify-self:center;width:100%;max-width:1050px;position:relative;text-align:center;padding:22px 0 34px}.station-kicker{display:flex;justify-content:space-between;margin:0 12px 12px;color:#c0ad86;font:9px "DM Mono",monospace;letter-spacing:2px}.station-kicker time{color:var(--brass-light)}.sign-frame{position:relative;padding:18px 16px 12px;border:5px solid #60482a;border-radius:2px;background:linear-gradient(145deg,#725831,#49351f 30%,#3c2d1e);box-shadow:0 22px 54px rgba(0,0,0,.44),inset 0 0 0 2px rgba(237,210,151,.4),inset 0 0 0 7px rgba(29,22,15,.42)}.sign-frame:before,.sign-frame:after{content:"";position:absolute;left:11px;right:11px;height:1px;background:rgba(243,218,166,.35)}.sign-frame:before{top:10px}.sign-frame:after{bottom:8px}.sign-screws{position:absolute;inset:7px;pointer-events:none}.sign-screws i{position:absolute;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f1d48d,#6d502a 65%,#392a19);box-shadow:0 1px 2px #17130e}.sign-screws i:nth-child(1){top:0;left:0}.sign-screws i:nth-child(2){top:0;right:0}.sign-screws i:nth-child(3){bottom:0;left:0}.sign-screws i:nth-child(4){bottom:0;right:0}.sign-header,.sign-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:0 5px;color:#bea77a;font:8px "DM Mono",monospace;letter-spacing:1.35px}.sign-header span:first-child,.sign-bottom span:nth-child(2){text-align:left}.sign-header span:last-child,.sign-bottom span:last-child{text-align:right}.departure-board{display:grid;gap:5px;margin:12px 0 13px;padding:10px 7px 12px;border:1px solid rgba(225,195,130,.14);background:linear-gradient(180deg,#171917,#22211b 49%,#181917 51%,#141614);box-shadow:inset 0 0 22px rgba(0,0,0,.65),0 1px rgba(244,219,158,.11);perspective:1000px;overflow:hidden}.board-row{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:clamp(1px,.17vw,2px);height:clamp(27px,4.3vw,48px);justify-content:center}.split-tile{position:relative;min-width:0;border-radius:2px;background:linear-gradient(180deg,#1e201d,#111311);color:#eee4cc;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 2px 2px rgba(0,0,0,.7);transform-style:preserve-3d;font:500 clamp(11px,1.75vw,22px)/1 "DM Mono",monospace}.split-tile:after{content:"";position:absolute;z-index:5;left:0;right:0;top:50%;height:1px;background:#080a09;box-shadow:0 1px rgba(255,255,255,.055)}.tile-face,.tile-flap{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;backface-visibility:hidden}.tile-face .glyph,.tile-flap .glyph{display:grid;place-items:center;width:100%;height:100%}.tile-upper{clip-path:inset(0 0 50% 0);align-items:start}.tile-lower{clip-path:inset(50% 0 0 0);align-items:end}.tile-upper .glyph{padding-top:1px}.tile-lower .glyph{padding-bottom:1px}.tile-flap{z-index:3}.tile-flap-top{clip-path:inset(0 0 50% 0);transform-origin:bottom;transform:rotateX(0);align-items:start}.tile-flap-bottom{clip-path:inset(50% 0 0 0);transform-origin:top;transform:rotateX(90deg);align-items:end}.tile-flap-top .glyph{padding-top:1px}.tile-flap-bottom .glyph{padding-bottom:1px}.split-tile.rolling .tile-flap-top{animation:old-half .052s ease-in both}.split-tile.rolling .tile-flap-bottom{animation:new-half .07s .035s ease-out both}@keyframes old-half{to{transform:rotateX(-90deg);filter:brightness(.55)}}@keyframes new-half{from{transform:rotateX(90deg);filter:brightness(.55)}to{transform:rotateX(0);filter:brightness(1)}}.board-row.is-highlighted .split-tile{color:#f3d58e;box-shadow:0 1px 0 rgba(255,255,255,.11) inset,0 0 0 1px rgba(232,194,109,.34),0 2px 2px rgba(0,0,0,.7)}.status-light{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 7px #99b281}.sign-bottom{grid-template-columns:9px 1fr auto;letter-spacing:1px}.station-caption{margin:19px 0 17px;color:#d2c4a5;font:500 clamp(17px,2.2vw,23px) Fraunces,serif}.station-actions{display:flex;justify-content:center;gap:8px}.station-button{border:1px solid rgba(226,193,126,.45);border-radius:3px;padding:9px 13px;background:linear-gradient(180deg,#d4b46e,#a47d40);color:#251d14;text-decoration:none;font:600 10px "DM Mono",monospace;letter-spacing:.4px}.station-button:hover{filter:brightness(1.12)}.station-button-quiet{background:rgba(255,255,255,.045);color:#ddcba5;border-color:rgba(226,193,126,.24)}.live-frame-label{margin:12px 0 0;color:#a99366;font:8px "DM Mono",monospace;letter-spacing:1.5px}
@media(max-width:1000px){.departure-app{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:66px 1fr;min-height:100svh;padding:0 18px 12px}.topbar{grid-column:1;grid-row:1}.station{grid-column:1;grid-row:2;max-width:900px;padding:20px 0}}
@media(max-width:600px){.departure-app{padding:0 10px 10px;grid-template-rows:60px 1fr}.topbar{grid-template-columns:1fr auto}.topbar-brand{display:none}.station{padding:25px 0 35px}.station-kicker{font-size:7px;letter-spacing:1px;margin-inline:5px}.sign-frame{padding:15px 7px 11px;border-width:4px}.sign-header,.sign-bottom{font-size:6px;letter-spacing:.65px;gap:3px;padding:0 2px}.departure-board{gap:4px;padding:8px 3px 9px}.board-row{height:clamp(27px,7.4vw,37px);gap:1px}.split-tile{font-size:clamp(9px,3vw,14px)}.station-caption{font-size:17px;margin:19px 0 16px}.station-button{padding:9px 10px;font-size:9px}.live-frame-label{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.status-light{animation:none;opacity:1;box-shadow:0 0 5px rgba(153,178,129,.7)}}

.departure-app{grid-template-columns:minmax(0,1fr);min-height:100svh}
.station{grid-column:1}
@media(max-width:600px){body{min-width:0}}

.public-board .topbar{grid-template-columns:1fr;grid-column:1}
.public-board .topbar-brand{display:flex;justify-content:center}
.public-board .station{max-width:980px}
.public-board .enter-link{background:#dfbd78;color:#251d13;font-weight:700}
