/* Small shared refinements; no changes to rail geometry or painted assets. */
:root{--page-title-size:clamp(25px,2.3vw,32px)}
.rail-workspace #main>section>header h1,.rail-workspace .studio-heading>h1{font-size:var(--page-title-size);line-height:1.2;margin:0 0 10px;font-weight:500}
.rail-workspace #main>section>header.module-heading{margin-bottom:24px}
.rail-workspace #main>section{width:100%;box-sizing:border-box}
.rail-workspace button:focus-visible,.rail-sidebar button:focus-visible,dialog button:focus-visible,summary:focus-visible{outline:2px solid #326c70;outline-offset:3px}
.favorite-toggle{padding:0!important;display:inline-grid;place-items:center;flex-shrink:0}.favorite-toggle svg{display:block;transform:none!important;margin:0!important}
.daily-card{position:relative}.daily-card .shop-favorite{position:absolute;right:14px;top:14px;width:32px;height:32px}.daily-card .offer-rarity{min-height:32px;padding-right:42px;display:flex;align-items:center;margin-bottom:10px}
.offer-collection-note{min-height:21px;font-size:11px;color:#527766;display:flex;align-items:center}.offer-collection-note span,.shop-match-note,.collection-shop-note{display:flex;align-items:center;gap:7px}
.shop-match-note,.collection-shop-note{font-size:12px;line-height:1.6;flex-wrap:wrap;color:#507466;background:#eaf0e4;border-radius:10px;padding:10px 14px;margin:0 0 18px}.collection-shop-note .text-button{margin-left:auto}
.family-progress{display:block;width:min(340px,100%);height:6px;accent-color:#799a7b;margin-top:10px}.family-missing{font-size:12px;color:#6a776d;line-height:1.6;margin:8px 0 0}.collection-shop-link{font-size:11px;display:flex;align-items:center;gap:5px;margin-top:10px}
.first-journey-guide{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #d4dfd1;border-radius:13px;background:#f0f3e9;text-align:left;margin-top:18px}.guide-copy{min-width:0}.guide-copy small{display:block;font-size:10px;letter-spacing:.06em;color:#6a7c6d}.guide-copy strong{display:block;font-size:14px;margin:5px 0}.guide-copy p{font-size:12px;line-height:1.6;color:#637569;margin:0}.guide-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.compact-guide{max-width:680px;margin:20px auto 0}.guide-actions .icon-button{width:30px;height:30px}
.maintenance-summary{padding:10px 12px;border-radius:8px;background:#edf2e6;font-size:12px;line-height:1.6}[data-maintenance-status]{min-height:20px;font-size:12px;color:#647967;margin:8px 0}
.arrival-stamp-summary{display:flex;align-items:center;gap:6px;font-size:12px;color:#7b694f;margin:10px 0}.arrival-sheet{max-height:min(400px,60dvh);overflow:auto}.purchase-notice{gap:10px;max-width:calc(100vw - 24px)}.purchase-notice small{display:flex;gap:4px;align-items:center;line-height:1.5}.purchase-notice .purchase-collection{color:#577954}.purchase-notice .text-button{font-size:12px;padding:6px}.purchase-notice>div{min-width:0}.purchase-notice strong{overflow-wrap:anywhere}
.trip-route-heart{padding:0!important;display:grid;place-items:center}.cab-dashboard .ride-tools .ride-tool{flex:0 0 34px;width:34px;height:34px;padding:0;display:grid;place-items:center}.cab-dashboard .ride-tools .ride-tool svg{flex-shrink:0}
.reduce-motion .journey-dots i{animation:none!important}.reduce-motion *, .reduce-motion *::before,.reduce-motion *::after{scroll-behavior:auto!important}
@media(max-width:650px){.first-journey-guide{flex-wrap:wrap;padding:12px;gap:10px}.guide-actions{width:100%;justify-content:space-between}.daily-card .shop-favorite{right:9px;top:9px}.shop-match-note{font-size:11px}.collection-family .garage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-part h3{overflow-wrap:anywhere}.rail-workspace #main>section>header.module-heading{margin-bottom:18px}.compact-guide{margin-bottom:45px}.purchase-notice{flex-wrap:wrap}.arrival-sheet{max-height:52dvh}}

.rail-workspace #main>section{max-width:1040px;margin-left:auto;margin-right:auto}.first-journey-guide.compact-guide{margin:0 auto 12px;max-width:760px}.train-studio:has(.compact-guide) .carriage-stage{margin-top:0}.save-warning{position:fixed;bottom:10px;right:12px;z-index:100;max-width:500px;background:#fff5dc;border:1px solid #d9bd73;border-radius:12px;padding:12px;box-shadow:0 4px 24px #483e231a;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.save-warning[hidden]{display:none}.save-warning>span{width:100%}

.offer-affordability{display:block;min-height:16px;font-size:10px;color:#7a7767;margin-top:7px}.daily-card .offer-rarity .rarity-badge{max-width:100%;overflow-wrap:anywhere}

.guidance-review details{border-bottom:1px solid #dce3d4;padding:12px 0}.guidance-review summary{cursor:pointer;font-weight:600;font-size:13px}.guidance-review p{font-size:13px;line-height:1.7;color:#647567}
/* Preserve train width/scale; reclaim vertical chrome on shorter displays. */
@media(min-width:651px) and (max-height:790px){
 .in-journey .rail-workspace #main{padding-top:16px!important;padding-bottom:8px!important}
 .in-journey .journey-follow>.module-heading{margin-bottom:10px!important}
 .in-journey .travel-scene{height:clamp(150px,calc(100dvh - 530px),230px)!important;min-height:0!important}
 .in-journey .announcement-space{min-height:44px;margin-bottom:6px}
 .in-journey .travel-route{margin-top:6px}.in-journey .arrival-actions{margin-top:5px}
}
.announcement-card[hidden]{display:none!important}
@media(max-width:650px){
 .in-journey .travel-scene{height:clamp(130px,calc(100dvh - 660px),180px)!important;min-height:0!important}
 .in-journey .arrival-actions{margin-left:72px;width:calc(100% - 72px)}
 .in-journey .arrival-actions>.button{max-width:100%}
}
