/* Station Field Atlas: rail wayfinding board */
:root{--canvas:#f1eee7;--surface:#fffdf8;--ink:#182522;--muted:#5b655f;--line:#c9c3b7;--rail:#0b5a4d;--signal:#f2c84b;--recovery:#a13e32;--soft:#e7eee8;--paper-shadow:0 12px 30px rgba(24,37,34,.10)}
body{background:var(--canvas);color:var(--ink);letter-spacing:.005em}a{color:var(--rail)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline-color:var(--recovery)}
.app-header{max-width:none;padding:14px clamp(16px,4vw,48px);background:var(--surface);border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:10}.brand{font-size:15px;letter-spacing:.08em;text-transform:uppercase}.brand b{color:var(--recovery)}main{max-width:1180px;padding-top:24px}
.day-head{align-items:flex-end;border-bottom:1px solid var(--ink);padding-bottom:10px}.day-head h1{font-size:clamp(25px,4vw,38px);letter-spacing:-.04em}.day-head>a{font-weight:bold;color:var(--rail)}.day-status{border-bottom:1px solid var(--line);padding:4px 0 10px}.day-status span{font-variant-numeric:tabular-nums}
.view-tabs{gap:0;border-bottom:2px solid var(--ink)}.view-tabs button{font-size:13px;text-transform:uppercase;letter-spacing:.05em}.view-tabs button[aria-current=page]{color:var(--ink)}.view-tabs button[aria-current=page]:after{height:5px;background:var(--signal);left:0;right:0}.workspace{gap:34px}.desktop-timeline{border-right:2px solid var(--ink)}.desktop-timeline h2{font-size:14px;text-transform:uppercase;letter-spacing:.1em}.desktop-timeline button[aria-current=true]{background:var(--signal);color:var(--ink)}
.step-picker{border-left:5px solid var(--signal);padding-left:12px}.step-picker label{font-weight:bold;text-transform:uppercase;letter-spacing:.08em}.route-title{font-size:clamp(26px,4vw,36px);letter-spacing:-.035em;margin-top:3px}.card-top{font-variant-numeric:tabular-nums}.route-context{background:var(--ink);color:#fff;padding:10px 12px;margin:0 -4px 16px}.route-context b{letter-spacing:.05em}.route-context .line-dot{border:2px solid #fff}.station-pair{border-bottom:1px dashed var(--line);padding-bottom:14px}.station-pair strong{border:2px solid var(--ink);border-radius:3px;background:var(--surface);font-size:14px}
.next-action{background:var(--signal);border:2px solid var(--ink);border-radius:4px;box-shadow:var(--paper-shadow);padding:18px 20px}.next-action .field-label{color:var(--ink);font-weight:bold;text-transform:uppercase;letter-spacing:.08em}.next-action strong{font-size:clamp(22px,4vw,30px);letter-spacing:-.02em}.instruction{font-weight:500}.arrival-row{border-bottom:2px solid var(--ink)}.arrival-row .field-label{font-weight:bold;text-transform:uppercase;letter-spacing:.06em}.route-actions a.primary{background:var(--rail);border-color:var(--rail)}.route-actions button{border:2px solid var(--ink);background:var(--surface)}
.route-photos{border-top:2px solid var(--ink);padding-top:14px}.photo-section-head h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em}.photo-strip{gap:10px}.photo-preview{border:1px solid var(--line);background:var(--surface);padding-bottom:9px;box-shadow:0 4px 12px rgba(24,37,34,.07);border-radius:4px;overflow:hidden}.photo-preview img{height:148px;border-radius:0;background:#d8ddd6}.photo-preview.scene-photo img{object-fit:cover}.photo-preview strong,.photo-preview small{padding-left:10px;padding-right:10px}.photo-preview strong{margin-top:8px}.photo-preview small{line-height:1.4}
.pass-benefits{margin:18px 0;padding:16px 18px;background:var(--surface);border:2px solid var(--ink);border-top:8px solid var(--signal);box-shadow:var(--paper-shadow)}.pass-benefits h3{margin:0 0 5px;font-size:18px}.pass-benefits>p:first-of-type{font-weight:bold}.pass-benefits details{border-top:1px solid var(--line)}.pass-benefits summary{font-size:14px}.pass-benefits ul{margin:0 0 10px;padding-left:20px;font-size:14px}.pass-benefits>p:last-child{font-size:12px;color:var(--muted);margin:12px 0 0}.warning{background:#f8dfd3;border:2px solid var(--recovery);border-radius:4px}.warning summary{color:var(--recovery)}
.home-start{background:var(--ink);color:#fff;padding:24px;margin:0 0 30px;border:0}.home-start p{color:#e5ece7}.home-start .primary{background:var(--signal);border-color:var(--signal);color:var(--ink)}.home-start button{border-color:#fff;background:transparent;color:#fff}.home-start button:hover{background:#2c403b}.home-head h1{font-size:clamp(30px,5vw,52px);letter-spacing:-.05em}.home-day-list button{padding:18px 8px;border-left:4px solid transparent}.home-day-list button:hover{background:var(--surface);border-left-color:var(--signal)}.home-date{font-weight:bold}.home-day-list strong{font-size:16px}.home-day-list small{line-height:1.45}.luggage{background:var(--surface);border:1px solid var(--line);border-radius:4px}.match-info{border-top:2px solid var(--ink);padding-top:14px}
.bottom{background:var(--ink);border-top:0;box-shadow:0 -6px 20px rgba(24,37,34,.18);transition:transform 180ms ease-out}.bottom>*{border:1px solid #fff}.bottom .primary{background:var(--signal);color:var(--ink);border-color:var(--signal)}.bottom.view-hidden,.bottom.scroll-hidden{transform:translateY(130%)}.photo-gallery{gap:18px 14px}.photo-gallery .photo-preview{box-shadow:none}.photo-gallery .photo-preview img{height:170px}.finish{background:var(--soft);border-left:5px solid var(--rail);border-radius:0}
@media(min-width:850px){main{padding-left:32px;padding-right:32px}.workspace{grid-template-columns:280px minmax(0,720px)}.photo-preview img{height:210px}.photo-gallery .photo-preview img{height:190px}.bottom{padding-left:330px}}
@media(max-width:430px){main{padding-left:16px;padding-right:16px}.view-tabs button{font-size:11px;letter-spacing:0}.view-tabs span{display:none}.home-day-list small:last-child{display:none}.photo-preview img{height:128px}.photo-preview strong{font-size:12px}.photo-preview small{font-size:10px}.bottom{padding-left:10px;padding-right:10px}.bottom>*{font-size:12px}}
@media(prefers-reduced-motion:reduce){.bottom{transition:none}}
