:root{--ink:#111;--muted:#656565;--grid:#d8d8d8;--paper:#fff;--soft:#f4f4f2;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}.shell{width:min(calc(100% - 64px),var(--max));margin:auto}.topbar{height:72px;border-bottom:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;background:rgba(255,255,255,.96);z-index:10}.brand{display:flex;gap:10px;align-items:center}.brand-mark{width:30px;height:30px;border:2px solid var(--ink);display:grid;place-items:center;font-weight:700;font-size:20px;line-height:1}.brand strong,.brand small{display:block;line-height:1.05}.brand strong{font-size:15px;letter-spacing:.08em}.brand small{font:10px 'DM Mono',monospace;letter-spacing:.18em;margin-top:3px}.topbar nav{display:flex;gap:28px;margin-left:80px}.topbar nav a{font-size:12px}.topbar nav a.active{font-weight:700;border-bottom:2px solid var(--ink);padding-bottom:7px}.top-status,.mono,.eyebrow{font:10px 'DM Mono',monospace;letter-spacing:.08em}.status-dot{display:inline-block;width:7px;height:7px;background:var(--ink);border-radius:50%;margin-right:8px}.hero{padding:86px 0 58px;display:grid;grid-template-columns:1fr auto;gap:40px}.eyebrow{margin:0 0 17px}.hero h1{font-size:clamp(42px,6vw,78px);line-height:1.03;letter-spacing:-.04em;margin:0;max-width:820px}.hero h1 em{font-style:normal;color:#5a5a5a}.lede{max-width:570px;color:var(--muted);margin:25px 0 0;font-size:16px}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:31px}.button{display:inline-flex;gap:24px;align-items:center;padding:11px 14px;border:1px solid var(--ink);font-size:12px}.button-dark{background:var(--ink);color:#fff}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:3px}.hero-meta{min-width:205px;border-top:1px solid var(--ink);align-self:end}.hero-meta div{padding:13px 0;border-bottom:1px solid var(--grid)}.hero-meta span,.metric span{font:10px 'DM Mono',monospace;display:block;color:var(--muted);letter-spacing:.06em}.hero-meta strong{display:block;font:12px 'DM Mono',monospace;margin-top:5px}.train-stage{border:1px solid var(--ink);background:var(--soft);padding:17px 18px 14px}.stage-label,.track-caption{display:flex;justify-content:space-between;font:10px 'DM Mono',monospace;letter-spacing:.08em}.train-art{position:relative;overflow:hidden;margin:18px 0 9px;border-top:1px solid var(--grid);border-bottom:1px solid var(--grid);background:linear-gradient(var(--soft),var(--soft)),repeating-linear-gradient(0deg,transparent 0 30px,var(--grid) 31px);background-blend-mode:multiply}.train-art svg{width:100%;height:auto;display:block;min-height:240px}.construction{stroke:var(--grid);stroke-width:1;fill:none}.train-line{stroke:var(--ink);stroke-width:2.5;fill:none;stroke-linecap:square;stroke-linejoin:miter}.car-labels{font:11px 'DM Mono',monospace;letter-spacing:.08em;fill:var(--ink)}.signal{position:absolute;top:18px;width:12px;display:grid;gap:5px}.signal-left{left:20px}.signal-right{right:20px}.signal i{width:8px;height:8px;border:1px solid var(--ink);display:block}.signal i:first-child{background:var(--ink)}.section-rule{border-top:1px solid var(--ink);margin-top:72px;padding-top:23px}.section-heading h2{font-size:29px;letter-spacing:-.03em;line-height:1.1;margin:0}.section-heading>p:last-child{color:var(--muted);margin:8px 0 0}.route-map{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;position:relative;margin-top:56px}.route-line{position:absolute;top:10px;left:0;right:0;height:1px;background:var(--ink)}.station{position:relative;padding-top:29px}.station-dot{position:absolute;top:4px;left:0;width:13px;height:13px;background:var(--paper);border:2px solid var(--ink);border-radius:50%;z-index:1}.station-dot.active{background:var(--ink)}.station small{font:10px 'DM Mono',monospace;color:var(--muted)}.station h3{font-size:13px;margin:8px 0 3px}.station strong{font:15px 'DM Mono',monospace}.station p{font-size:12px;color:var(--muted);margin:8px 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.metric{padding:3px 24px 4px 0;border-right:1px solid var(--grid);margin-right:24px}.metric:last-child{border:0}.metric strong{display:block;font:21px 'DM Mono',monospace;margin:10px 0 4px}.metric small{font-size:11px;color:var(--muted)}.split{display:flex;justify-content:space-between;align-items:end}.crew-table{margin-top:29px;border-top:1px solid var(--ink)}.crew-row{display:grid;grid-template-columns:8% 28% 1fr 13%;align-items:center;min-height:64px;border-bottom:1px solid var(--grid);gap:15px}.crew-head{min-height:34px;font:10px 'DM Mono',monospace;color:var(--muted)}.crew-row b{font-size:12px}.crew-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.car-no{font:13px 'DM Mono',monospace}.online{font:10px 'DM Mono',monospace}.online:before{content:'●';margin-right:7px}.log-grid{display:grid;grid-template-columns:1fr 270px;gap:32px;margin-top:29px}.log-list{border-top:1px solid var(--ink)}.log-list div{display:grid;grid-template-columns:82px 1fr 85px;gap:14px;padding:14px 0;border-bottom:1px solid var(--grid);font-size:12px}.log-list time,.log-list b{font:10px 'DM Mono',monospace}.log-list b{text-align:right}.report{border-left:1px solid var(--ink);padding-left:22px}.report strong{display:block;font:26px 'DM Mono',monospace;margin:9px 0 8px}.report p{font-size:12px;color:var(--muted);margin:0 0 19px}.footer{border-top:1px solid var(--ink);margin-top:74px;padding:17px 0 25px;display:flex;justify-content:space-between;font:10px 'DM Mono',monospace;color:var(--muted)}
@media(max-width:820px){.shell{width:min(calc(100% - 32px),var(--max))}.topbar{padding:0 16px}.topbar nav{display:none}.top-status{font-size:9px}.hero{padding:58px 0 40px;display:block}.hero h1{font-size:48px}.hero-meta{margin-top:42px}.train-art svg{min-width:820px;transform:translateX(-110px)}.train-art{overflow:hidden}.route-map{grid-template-columns:1fr 1fr;gap:12px 24px}.route-line{display:none}.station{border-top:1px solid var(--grid);padding-top:25px}.metrics{grid-template-columns:1fr 1fr;gap:22px 0}.metric{border-right:0;border-bottom:1px solid var(--grid);padding-bottom:17px}.crew-row{grid-template-columns:12% 32% 1fr}.crew-row>span:nth-child(3){font-size:11px}.crew-row>span:last-child{display:none}.log-grid{grid-template-columns:1fr}.report{border-left:0;border-top:1px solid var(--ink);padding:20px 0 0}.footer{display:block;line-height:2}.footer span{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Reference layout: dense left console with a fixed live rail. */
@media(min-width:821px){main{margin-right:var(--rail)}.topbar{padding-right:calc(var(--rail) + 32px)}.terminal-rail{position:fixed;z-index:9;right:0;top:72px;bottom:0;width:var(--rail);background:#fff;border-left:2px solid var(--ink);overflow:auto}.rail-tabs{height:43px;border-bottom:2px solid var(--ink);display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;text-align:center;font-size:11px}.rail-tabs b{height:100%;display:grid;place-items:center;background:var(--ink);color:#fff}.rail-tabs span{font-size:10px}.rail-filter{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid var(--grid);font:10px 'DM Mono',monospace}.rail-filter span{color:var(--muted)}.rail-filter strong{font-weight:400;border:1px solid var(--ink);padding:8px 10px}.feed-item{padding:16px 18px 16px 25px;border-bottom:1px solid var(--grid);position:relative}.feed-item:before{content:'';position:absolute;left:15px;top:16px;bottom:16px;width:2px;background:var(--ink)}.feed-gray:before{background:#aaa}.feed-dark:before{background:#333}.feed-item time,.feed-item b{font:10px 'DM Mono',monospace;color:var(--muted)}.feed-item p{font:12px 'DM Mono',monospace;line-height:1.45;margin:8px 0 7px}.feed-item b{color:var(--ink)} }
.rail-tab{height:100%;border:0;background:#fff;color:var(--ink);font:10px 'DM Mono',monospace;letter-spacing:.08em;cursor:pointer;padding:0 4px}.rail-tab.active{background:var(--ink);color:#fff}.rail-tab:focus-visible,#event-filter:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.rail-filter label{color:var(--muted);font:10px 'DM Mono',monospace}.rail-filter select{border:1px solid var(--ink);background:#fff;color:var(--ink);padding:8px 22px 8px 10px;font:9px 'DM Mono',monospace;letter-spacing:.06em}
.brand-logo{width:34px;height:34px;object-fit:cover;border:1px solid var(--ink);border-radius:0;display:block}
@media(max-width:820px){.terminal-rail{display:none}}
.train-art{background-image:none}
.detail-line{stroke:var(--ink);stroke-width:1.35;fill:none;stroke-linecap:square;stroke-linejoin:miter}
@media(min-width:821px){
  .shell{width:calc(100% - 64px);max-width:none}
  main>.shell{width:calc(100% - 64px)}
  .hero{grid-template-columns:minmax(0,1fr) 220px;gap:52px}
  .hero-copy{min-width:0}
  .train-stage{width:calc(100% - 64px)}
  .train-art svg{min-height:260px}
}
:root{--rail:clamp(280px,20vw,338px)}
.blueprint-train{display:block;width:100%;height:430px;object-fit:cover;object-position:center top;filter:grayscale(1) contrast(1.06);mix-blend-mode:multiply}.train-art>svg{display:none}.train-art{background:#fff}.train-art:after{content:'ENGINEERING VIEW / BIG BOY CLASS REFERENCE';position:absolute;right:14px;bottom:10px;font:9px 'DM Mono',monospace;letter-spacing:.08em;color:#555;background:#fff;padding:3px 5px}
.train-art>svg{display:none!important}.blueprint-train{position:relative;z-index:1}
.blueprint-train{height:auto;max-height:430px;object-fit:contain;object-position:center center}
@media(max-width:820px){.blueprint-train{width:100%;height:auto;max-height:none;transform:none}}
.online:before{content:none!important;display:none!important}.status-dot,.signal{display:none!important}
.departure-meter{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:14px;margin:2px 0 13px;border-top:1px solid var(--grid);padding-top:10px;font:10px 'DM Mono',monospace;letter-spacing:.08em}.meter-track{height:8px;border:1px solid var(--ink);background:#fff}.meter-track i{display:block;height:100%;background:var(--ink)}.departure-meter b{font-weight:400;white-space:nowrap}.station strong{font-size:13px}
@media(max-width:820px){.departure-meter{grid-template-columns:1fr auto;gap:8px}.departure-meter .meter-track{grid-column:1 / -1;grid-row:2}.departure-meter b{grid-column:2;grid-row:1}}
@media(min-width:821px){.hero{padding:42px 0 28px;gap:34px}.hero h1{font-size:clamp(38px,4.8vw,64px);line-height:.98}.lede{margin-top:17px;font-size:14px;line-height:1.42;max-width:650px}.hero-actions{margin-top:21px}.hero-meta{min-width:190px}.hero-meta div{padding:9px 0}.train-stage{margin-top:0}.section-rule{margin-top:48px}}
@media(max-width:820px){.hero{padding:40px 0 28px}.hero h1{font-size:42px}.lede{margin-top:15px}.hero-actions{margin-top:21px}}

/* Industrial railway register: rivets, dispatch labels and mechanical typography. */
body{background:#fff;color:#151515}.topbar{border-bottom:2px solid var(--ink);box-shadow:inset 0 -4px 0 #f0efeb}.brand-mark{border-radius:0;font-family:'DM Mono',monospace}.brand strong{font-size:14px;letter-spacing:.16em}.brand small{letter-spacing:.23em;color:#555}.eyebrow,.mono,.stage-label,.track-caption,.top-status{font-size:9px;letter-spacing:.14em}.hero h1{font-weight:600;letter-spacing:-.035em}.section-rule{border-top:2px solid var(--ink)}.train-stage{border:2px solid var(--ink);position:relative}.train-stage:before,.train-stage:after{content:'';position:absolute;top:8px;bottom:8px;width:5px;background:radial-gradient(circle,#151515 1px,transparent 1.5px);background-size:5px 12px;opacity:.45}.train-stage:before{left:7px}.train-stage:after{right:7px}.route-line{height:2px}.station-dot{border-radius:2px;border-width:2px}.station-dot.active{border-radius:50%}.station small,.station strong,.metric strong,.log-list time,.log-list b,.feed-item time,.feed-item p{font-family:'DM Mono',monospace}.station h3,.crew-row b{letter-spacing:.08em}.metric{border-right:2px solid var(--ink)}.crew-table,.log-list{border-top:2px solid var(--ink)}.crew-row{min-height:70px}.crew-head{font-size:9px;letter-spacing:.14em}.crew-row .car-no{font-size:15px}.online:before{font-size:8px}.report{border-left:2px solid var(--ink)}.footer{border-top:2px solid var(--ink);letter-spacing:.08em}.terminal-rail{border-left:2px solid var(--ink)}.rail-tabs{border-bottom:2px solid var(--ink);font-family:'DM Mono',monospace;letter-spacing:.08em}.rail-tabs b{letter-spacing:.1em}.rail-filter strong{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.08em}.feed-item:before{width:3px}.feed-item p{font-size:11px;letter-spacing:.015em}
@media(max-width:820px){.blueprint-train{height:290px;width:180%;max-width:none;object-position:center top;transform:translateX(-22%)}}
