.central{--cw:clamp(20px, calc((min(100vw, 1240px) - 340px) / 24), 40px);--wood:#2b261d;--honey:#f5b83d;--lamp:#e8c46a;color:#eef1f5;width:min(1240px,100vw - 32px);transform-origin:var(--origin);background:radial-gradient(70% 55% at 50% -5%,#3a3326 0%,#1a1a1c 55%,#0f1115 100%);border-radius:22px;flex-direction:column;gap:16px;margin:20px 0 0 calc(50% + -1*min(620px,50vw - 16px));padding:26px 28px 0;animation:.6s cubic-bezier(.2,.8,.2,1) both central-arrive;display:flex;position:relative;overflow:hidden}.central.leaving{pointer-events:none;animation:.7s cubic-bezier(.6,0,.8,.4) both central-doors}@keyframes central-arrive{0%{opacity:0;transform:scale(.96)}}@keyframes central-doors{to{opacity:0;transform:scale(3.2)}}.central-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.central-head h2{font-family:var(--font-display);color:var(--honey);margin:0;font-size:32px;font-weight:600;line-height:1.05}.central .central-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#a9b3c1;margin:0 0 4px;font-size:12px}.clock-flaps{gap:16px;display:flex}.hangers{justify-content:center;gap:40%;height:22px;margin-bottom:-20px;display:flex}.hangers span{background:#3a3326;width:6px}.departures{border:6px solid var(--wood);background:#0a0b0e;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px 14px;display:flex;box-shadow:0 20px 50px #0009,inset 0 0 60px #000c}.departures-top{justify-content:space-between;align-items:center;padding:0 4px 6px;display:flex}.lamp{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--lamp);font-size:22px;animation:2.4s infinite lamp}.all-lines{letter-spacing:.14em;text-transform:uppercase;color:#8a94a3;font-size:12px}@keyframes lamp{50%{opacity:.8}}.central.desk .board-cols,.central.desk .board-row{grid-template-columns:max(calc(var(--cw) + 12px), 96px) calc(var(--cw) * 11 + 40px) max(calc(var(--cw) * 2 + 20px), 88px) calc(var(--cw) * 7 + 30px) 1fr;place-items:center start;gap:10px;display:grid}.board-cols{border-bottom:1px solid var(--wood);letter-spacing:.18em;text-transform:uppercase;color:#a08a4a;padding:0 8px 6px;font-size:13px}.board-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px;position:relative}.board-row:hover,.board-row:focus-visible{background:#f5b83d12}.board-row .arrow{border:2px solid var(--lamp);width:36px;height:36px;color:var(--lamp);border-radius:50%;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.flaps{--fw:var(--cw);--fh:calc(var(--cw) * 1.39);--fs:calc(var(--cw) * .91);gap:3px;display:inline-flex}.flaps.mid{--fw:min(28px, calc((100vw - 84px) / 11));--fh:calc(var(--fw) * 1.5);--fs:var(--fw);gap:2px}.flaps.sm{--fw:16px;--fh:26px;--fs:16px;gap:2px}.flap{width:var(--fw);height:var(--fh);background:#1b1f27;border-radius:4px;flex-shrink:0;display:inline-block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0a0c10}.flap:after{content:"";z-index:1;background:#07090c;height:2px;position:absolute;top:50%;left:0;right:0}.flap.gap{width:calc(var(--fw) * .5);box-shadow:none;background:0 0}.flap.gap:after{display:none}.strip{transform:translateY(calc(var(--steps) * var(--fh) * -1));flex-direction:column;display:flex}.strip.moving{animation:flap-spin var(--dur) steps(var(--n), end) var(--start) both}.strip span{height:var(--fh);line-height:var(--fh);text-align:center;font-family:Courier New,Courier,Liberation Mono,monospace;font-size:var(--fs);background:linear-gradient(#2a303b 49%,#161a21 51%);font-weight:700}@keyframes flap-spin{0%{transform:translateY(0)}}.doors{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.door{min-height:112px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:linear-gradient(#1b212b,#12161d);border:1px solid #2b3442;border-radius:14px;padding:0;display:flex;position:relative;overflow:hidden}.door:hover,.door:focus-visible{box-shadow:0 0 22px color-mix(in srgb, var(--light) 45%, transparent)}.door.open{box-shadow:0 0 24px var(--light)}.leaf{background:var(--line);flex-shrink:0;width:56px;position:relative;overflow:hidden}.leaf span{background:var(--line);width:28px;transition:transform .26s ease-in;position:absolute;top:0;bottom:0}.leaf span:first-child{border-right:1px solid #00000059;left:0}.leaf span:nth-child(2){left:28px}.leaf span:before{content:"";background:#ffffff38;border-radius:2px;width:10px;height:15px;position:absolute;top:12px;left:9px}.door.open .leaf span:first-child{transform:translate(-28px)}.door.open .leaf span:nth-child(2){transform:translate(28px)}.leaf b{z-index:1;text-align:center;font-family:var(--font-display);color:#eef1f5;font-size:22px;position:absolute;bottom:8px;left:0;right:0}.door-text{flex-direction:column;gap:3px;min-width:0;padding:12px 14px;display:flex}.door-plat{letter-spacing:.14em;text-transform:uppercase;color:#a9b3c1;font-size:12px}.door-name{font-family:var(--font-display);font-size:21px;font-weight:600}.door-blurb{color:#c9d1dc;font-size:14px;line-height:1.35}.door-peek{align-items:center;gap:8px;margin-top:auto;padding-top:6px;display:flex;overflow:hidden}.peek{color:#fff;background:var(--line);animation:peek-roll .85s cubic-bezier(.2, .8, .2, 1) var(--start) both;border-radius:4px 12px 12px 4px;padding:3px 9px;font-size:13px;font-weight:700}@keyframes peek-roll{0%{transform:translate(-320px)}}.door-peek .more{color:#a9b3c1;font-size:13px}.ticker{border-top:1px solid var(--wood);background:#0f1115f5;margin:0 -28px;padding:9px 0;overflow:hidden}.ticker-track{white-space:nowrap;letter-spacing:.04em;color:var(--lamp);font-size:15px;font-weight:700;animation:34s linear infinite marquee}@keyframes marquee{0%{transform:translate(100vw)}to{transform:translate(-100%)}}.central.phone{border-radius:0;gap:12px;width:100vw;max-width:430px;margin:12px 0 0 calc(50% - min(215px,50vw));padding:16px 12px 0}.central.phone .central-head h2{font-size:26px}.central.phone .eyebrow{font-size:11px}.central.phone .departures{padding:8px}.central.phone .lamp{font-size:16px}.central.phone .all-lines{font-size:11px}.clock-row{border-bottom:1px solid var(--wood);justify-content:space-between;padding:2px 0 8px;display:flex}.central.phone .board-row{border-top:1px solid #1f1b14;border-radius:0;flex-direction:column;gap:6px;padding:8px 0 8px 8px;display:flex}.central.phone .board-row:before{content:"";background:var(--line);border-radius:2px;width:4px;position:absolute;top:8px;bottom:8px;left:0}.row-caption{letter-spacing:.12em;text-transform:uppercase;color:#a08a4a;align-items:center;gap:8px;width:100%;font-size:13px;font-weight:700;display:flex}.row-caption .plat{color:var(--lamp)}.row-caption .arrow{width:28px;height:28px;margin-left:auto;font-size:16px}.central.phone .doors{grid-template-columns:1fr;gap:10px}.central.phone .door{min-height:86px}.central.phone .door-plat{display:none}.central.phone .door-name{font-size:18px}.central.phone .door-blurb{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.central.phone .ticker{margin:0 -12px}.train{flex-direction:row-reverse;align-items:flex-end;gap:3px;display:inline-flex}.car.talk{color:#fff;background:#1a1f27;border-radius:4px;align-items:center;gap:3px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.head{letter-spacing:.02em;color:#fff;background:var(--line);border-radius:3px 14px 14px 3px;align-items:center;min-width:54px;height:24px;padding:0 14px 0 8px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.head span{z-index:1;position:relative}.head.h1{background:var(--honey,#f5b83d);color:#1a140a;border-radius:3px 24px 24px 3px}.head.h2{color:#1a1f27;background:linear-gradient(#f4f1ea 62%,#3f6fd8 62% 74%,#f4f1ea 74%);border-radius:3px 28px 9px 3px}.head.h3{clip-path:polygon(0 0,74% 0,100% 100%,0 100%);padding-right:22px}.head.h4{color:#ffcf70;background:#2a2f38;border-bottom:4px solid #c0392b;border-radius:3px 4px 4px 3px}.head.h5{color:#1a140a;background:#f5b83d;border-radius:4px 16px 6px 4px}.head.h6{color:#1a140a;background:repeating-linear-gradient(90deg,#f5b83d 0 8px,#1a140a 8px 12px);border-radius:3px 20px 20px 3px}.head.h6 span{background:#f5b83d;border-radius:4px;padding:0 4px}.head.h7{color:#1a1f27;border-bottom:4px solid var(--line);background:#d9dde3;border-radius:3px 9px 4px 3px}.head.h8{background:#c0392b;border-radius:8px 8px 3px 3px}.head.h9{color:#7bd88f;background:0 0;border:2px solid #7bd88f;box-shadow:0 0 8px #7bd88f}.head.h10{color:#1a1f27;font-family:var(--font-display);background:#f4f1ea;border-right:3px dashed #12161d;border-radius:3px}.head.h11{color:#1a140a;clip-path:polygon(14% 0,86% 0,100% 50%,86% 100%,14% 100%,0 50%);background:#f5b83d;padding:0 14px}.head.h12{background:linear-gradient(#22272f 50%,#1a1e25 50%);border:1px solid #3a4250;border-radius:3px;font-family:Courier New,monospace}.head.h13{color:#12161d;clip-path:polygon(0 15%,72% 0,100% 50%,72% 100%,0 85%);background:#8fb4d9;padding-right:20px}.head.h14{background:#3a4250}.head.h14:after{content:"";background:#ffe9a8;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:5px;box-shadow:0 0 8px 3px #ffcf70}.head.h15{color:#1a140a;background:linear-gradient(90deg,#ff8a6b,#f5b83d)}.head.h16{background:var(--light);color:#0b2724;border-radius:3px 7px 3px 3px}.head.h17{color:#12161d;background:#eef1f5;border-radius:12px}.head.h18{color:#7aa7ff;background:#7aa7ff14;border:1.5px dashed #7aa7ff;font-family:Courier New,monospace}.head.h19{background:var(--light);color:#1b1430;border-radius:14px 24px 5px 5px}.head.h20{color:#f5b83d;background:#1b212b;border:2px solid #f5b83d}.linemap{flex-direction:column;gap:14px;width:min(1240px,100vw - 32px);margin:20px 0 0 calc(50% + -1*min(620px,50vw - 16px));animation:.5s cubic-bezier(.2,.8,.2,1) both central-arrive;display:flex}.linemap-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.line-badge{color:#fff;background:var(--line);border-radius:999px;padding:4px 12px;font-size:15px;font-weight:700}.map-scroll{border:1px solid var(--line);background:var(--panel);border-radius:18px;overflow-x:auto}.map{height:420px;margin:0 auto;position:relative}.map .track{background:var(--line);transform-origin:0;border-radius:5px;height:10px;position:absolute}.map .track.cold{background:#8fb4d9}.depot,.branch-end{flex-direction:column;align-items:flex-start;gap:2px;display:flex;position:absolute}.station{width:30px;height:30px;position:absolute}.station .label{flex-direction:column;align-items:flex-start;gap:2px;display:flex;position:absolute;top:36px;left:0}.station.station-fork .label{text-align:right;align-items:flex-end;inset:auto 32px 40px auto}.station .dot,.depot .dot,.branch-end .dot{border:6px solid var(--ink);background:var(--panel);border-radius:50%;width:30px;height:30px}.station .dot{position:absolute;top:0;left:0}.depot .dot{border-color:#8fb4d9;width:24px;height:24px}.branch-end{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.branch-end .dot{border-color:var(--line)}.station b,.depot b,.branch-end b{white-space:nowrap;font-size:15px}.station small,.depot small{color:var(--muted);white-space:nowrap;font-size:12px}.map-train{cursor:pointer;animation:train-roll 1s cubic-bezier(.2, .8, .2, 1) calc(.3s + var(--i) * .1s) both;background:0 0;border:1.5px solid #0000;border-radius:10px;padding:4px;position:absolute}.map-train.picked{background:#f5b83d33;border-color:#c98a00}.map-train.parked{opacity:.75}@keyframes train-roll{0%{transform:translate(-900px)}}.map-detail{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;gap:4px;padding:16px 20px;display:flex}.map-detail strong{font-family:var(--font-display);font-size:22px}.muted{color:var(--muted)}.linestops{margin-top:12px;animation:.45s cubic-bezier(.2,.8,.2,1) both central-arrive}.stops-bar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:8px;display:flex}.stops-bar .back{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:28px}.stops-title{flex-direction:column;flex-grow:1;align-items:flex-start;gap:3px;display:flex}.stops-title small{color:var(--muted);font-size:12px}.plate{color:#1a140a;width:36px;height:48px;font-family:var(--font-display);background:#f5b83d;border-radius:4px;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex}.stops-blurb{margin:8px 0 4px;font-size:14px}.stops{padding-bottom:16px;position:relative}.stops .rail{background:var(--line);border-radius:5px;width:10px;position:absolute;top:18px;bottom:24px;left:18px}.stop-row{width:100%;min-height:56px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:6px;padding:4px 8px 4px 9px;display:flex;position:relative}.stop-row.open{background:#f5b83d24}.stop-row .dot{border:6px solid var(--ink);background:var(--bg);z-index:1;border-radius:50%;flex-shrink:0;width:28px;height:28px;position:relative}.stop.siding .stop-row .dot{border:5px solid #8fb4d9;width:22px;height:22px;margin:3px}.stop-text{flex-direction:column;flex-grow:1;min-width:0;display:flex}.stop-text b{font-size:18px;line-height:24px}.stop-text small{color:var(--muted);font-size:14px}.pill{background:var(--line);color:#fff;border-radius:999px;flex-shrink:0;margin-top:3px;padding:3px 9px;font-size:12px;font-weight:700}.stop.siding .pill{background:#8fb4d9}.chev{color:var(--muted);font-size:24px;line-height:1;transition:transform .25s}.stop-row.open .chev{transform:rotate(90deg)}.stop-trains{flex-direction:column;gap:8px;margin:0 0 10px 50px;display:flex}.train-card{border:1px solid var(--line);background:var(--panel);animation:card-in .4s cubic-bezier(.2, .8, .2, 1) calc(var(--i) * 60ms) both;border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.train-card strong{font-size:17px;line-height:1.3}.train-card .train{align-self:flex-start}@keyframes card-in{0%{opacity:0;transform:translate(-60px)}}.stop-trains .empty{border:1px dashed var(--line);color:var(--muted);border-radius:12px;margin:0;padding:12px;font-style:italic}.branch{border:1px solid var(--line);border-left:6px solid var(--line);border-left-color:var(--line);background:var(--panel);width:calc(100% - 50px);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;margin:0 0 8px 50px;padding:14px 12px;font-weight:700;display:block}@media (prefers-reduced-motion:reduce){.central,.central.leaving,.linemap,.linestops,.strip.moving,.peek,.map-train,.train-card,.ticker-track,.lamp{animation:none}}:root{--bg:#f4f2ed;--panel:#fff;--ink:#1b2130;--muted:#5d6577;--line:#dcd8cf;--navy:#1f3f7f;--navy-soft:#e5ecf8;--green:#5a9330;--green-soft:#e6f1da;--amber:#b16a00;--red:#b3261e;--font-ui:"Figtree", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-display:"Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif}@media (prefers-color-scheme:dark){:root{--bg:#12151c;--panel:#1a1f29;--ink:#eef0f4;--muted:#a3abba;--line:#2c3443;--navy:#86a9ee;--navy-soft:#22304c;--green:#8fcb57;--green-soft:#223420;--amber:#f0b45a;--red:#ff8a80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);margin:0;line-height:1.5}.shell{max-width:860px;padding:24px max(16px, env(safe-area-inset-right)) 40px max(16px, env(safe-area-inset-left));margin:0 auto}.hero h1{font-family:var(--font-display);margin:0;font-size:clamp(32px,6vw,48px);line-height:1.05}.hero p{color:var(--green);font-family:var(--font-display);margin:6px 0 0;font-size:20px;font-style:italic}.notice{border:1px solid var(--line);background:var(--navy-soft);color:var(--ink);border-radius:12px;margin:24px 0 16px;padding:12px 14px}.screens{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:14px}.card h2{margin:0 0 4px;font-size:17px}.card p{color:var(--muted);margin:0;font-size:14px}.card small{color:var(--navy);margin-top:8px;font-weight:600;display:block}footer{color:var(--muted);margin-top:32px;font-size:12.5px}.version{font-variant-numeric:tabular-nums}.auth-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;gap:12px;max-width:420px;margin:24px 0;padding:18px;display:grid}.auth-card h2{margin:0;font-size:20px}.muted{color:var(--muted);margin:0;font-size:14px}.field{gap:4px;font-size:14px;font-weight:600;display:grid}.field input{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;border-radius:10px;padding:10px 12px;font-weight:400}.field input:focus-visible,.btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.btn{border:1px solid var(--navy);background:var(--navy);color:var(--bg);font:inherit;cursor:pointer;border-radius:10px;padding:10px 16px;font-weight:600}.btn:disabled{opacity:.6;cursor:wait}.btn.secondary{color:var(--navy);background:0 0}.btn.link{color:var(--navy);background:0 0;border:0;justify-self:start;padding:4px 0;font-weight:500;text-decoration:underline}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.error{color:var(--red);margin:0;font-size:14px}.ok{color:var(--green);margin:0;font-size:14px}.accountbar{border:1px solid var(--line);background:var(--green-soft);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:24px 0 0;padding:10px 14px;display:flex}.teaser{margin:28px 0 8px;padding:clamp(8px,3vw,20px) 0 0;position:relative}.teaser:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse 34% 40% at 24% 36%, color-mix(in srgb, var(--green) 14%, transparent), transparent), radial-gradient(ellipse 30% 38% at 78% 30%, color-mix(in srgb, var(--navy) 9%, transparent), transparent);height:440px;position:absolute;inset:-40px -24px auto}.eyebrow{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 14px;font-size:12.5px;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:var(--green);width:28px;height:2px}.teaser-title{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(46px,11vw,92px);font-weight:500;line-height:.98}.teaser-title em{color:var(--green);font-weight:400}.teaser-lede{max-width:34em;color:var(--muted);margin:18px 0 0;font-size:clamp(16px,2.2vw,19px)}.teaser-grid{grid-template-columns:1fr;align-items:center;gap:28px;margin-top:36px;display:grid}@media (width>=720px){.teaser-grid{grid-template-columns:1.35fr 1fr;gap:48px}}.steps{gap:0;margin:0;padding:0;list-style:none;display:grid}.step{border-top:1px solid var(--line);grid-template-columns:56px 1fr;gap:8px;padding:18px 0;display:grid}.step:last-child{border-bottom:1px solid var(--line)}.step-number{font-family:var(--font-display);color:var(--navy);opacity:.55;font-size:44px;font-style:italic;line-height:1}.step h3{margin:2px 0 4px;font-size:18px}.step p{color:var(--muted);margin:0;font-size:15px}.clock{text-align:center;margin:0}.clock svg{width:min(100%,280px);height:auto;overflow:visible}.arc{fill:none;stroke:var(--navy);stroke-width:9px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:.6s ease-out forwards draw}.arc-seen{stroke:var(--green)}.clock-number{font-family:var(--font-display);fill:var(--ink);font-size:54px}.clock-unit{letter-spacing:.18em;text-transform:uppercase;fill:var(--muted);font-size:12px}.clock figcaption{color:var(--muted);margin-top:6px;font-size:13px}.you{border-left:3px solid var(--green);background:var(--green-soft);border-radius:0 12px 12px 0;margin-top:32px;padding:16px 18px}.you p{margin:0}.you .soon{color:var(--muted);margin-top:6px;font-size:14px}.rise{opacity:0;animation:.7s cubic-bezier(.2,.7,.2,1) forwards rise;animation-delay:var(--d,0s);transform:translateY(10px)}@keyframes rise{to{opacity:1;transform:none}}@keyframes draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.rise{opacity:1;animation:none;transform:none}.arc{stroke-dashoffset:0;animation:none}}footer{flex-wrap:wrap;align-items:baseline;gap:6px 18px;display:flex}.footer-link{color:var(--navy)}.env-bar{z-index:1000;color:#fff;letter-spacing:.06em;text-align:center;background:repeating-linear-gradient(45deg,#b45309,#b45309 12px,#92400e 12px 24px);flex-wrap:wrap;justify-content:center;gap:2px 18px;padding:3px 10px;font:700 12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;position:sticky;top:0;box-shadow:0 1px 6px #00000059}
