/* Shared page rhythm and restrained chrome. Train/art geometry is unchanged. */
.rail-workspace #main{box-sizing:border-box;padding:28px 32px 38px!important;width:100%;max-width:1240px!important;margin:0 auto!important}
.rail-workspace #main>section,.rail-workspace #main>.social-page,.rail-workspace #main>.forum-page,.rail-workspace #main>.clubs-page{width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box}
.module-heading{margin:0 0 22px!important;min-height:42px;align-items:flex-start}.module-heading h1{margin:0!important;font-size:28px!important;line-height:1.3}.module-heading p{margin:8px 0 0}
.rail-side-nav>button[data-id=journey]{gap:8px!important;white-space:nowrap}.rail-side-nav>button[data-id=journey]>span{white-space:nowrap}.journey-dots{flex:none;gap:2px!important;margin-left:auto}.journey-dots i{width:3px!important;height:3px!important}
.side-wallet{border:1px solid transparent!important;border-radius:12px!important;margin:4px 0;padding:10px!important;box-sizing:border-box}.side-wallet:hover{background:#e7ede6;border-color:#c7d5cc!important;box-shadow:none!important;transform:none!important}.side-wallet:before,.side-wallet:after{display:none!important}
.side-settings.premium-sidebar{font-size:16px!important;padding:12px 9px!important;font-weight:750}.premium-sidebar .premium-train{transform:scale(1.12)}
.studio-credit{position:fixed;right:18px;bottom:5px;font-size:9px;color:#7d8580;pointer-events:none;z-index:5}
.auth-card h1:empty{display:none}.auth-card label{margin:7px 0}.auth-card input{margin:4px 0 0}.auth-card .auth-links>[data-id=register]{font-size:15px;font-weight:750;color:var(--trainy)}.auth-card .auth-links{align-items:center}.auth-card{padding:24px 32px}.auth-card>img{margin-bottom:16px}
/* meadow rail y=535/683; train SVG rail y=700/710, extra canvas below wheels retained */
.auth-landscape{left:2vw;right:2vw;mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 25%,#000 85%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 25%,#000 85%,transparent);-webkit-mask-composite:source-in}
.auth-train{bottom:auto;top:calc(78.331% - var(--auth-rail-offset,69px));width:900px}.auth-train>svg{display:block}
.station-introduction{max-width:620px!important;background:#fffdf6!important;border-radius:20px!important}.station-introduction h1{font-size:27px;margin:0 0 22px}.station-introduction form>label{display:block;margin:14px 0}.station-introduction form input:not([type=radio]){width:100%;box-sizing:border-box;margin:6px 0;padding:12px}.station-introduction .avatar-picker{margin:18px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.avatar-picker label span{font-size:11px}.station-search{margin-top:18px!important}
.departure-formations{margin:0 0 12px}.departure-formations .slot-navigation{max-width:none!important}.departure-formations .train-slots{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible!important}.departure-formations .train-slot{width:auto!important;min-width:0!important;min-height:115px}.slot-mini{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:34px}.train-load-pending svg,.train-load-pending img{visibility:hidden!important}.route-favorite-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.route-card-heading{flex-wrap:wrap;gap:9px}.route-card-heading>span{margin-left:auto}.route-card-heading .icon-button{flex:none}.route-builder .ride-modes{margin-top:10px}.route-load{gap:16px}
.arrival-actions{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px}.arrival-actions p{margin:0;text-align:center}.arrival-actions .button:disabled{background:#e1e3dd!important;border-color:#d1d6ce!important;color:#91978d!important;box-shadow:none;cursor:default}
.collection-info{display:flex;align-items:center;gap:5px;margin-top:10px}.real-train-facts{display:block;margin-top:20px;padding-top:12px;border-top:1px solid #dde3d6}.real-train-facts h3{font-size:16px}.offer-quantity{position:absolute;left:15px;top:14px;font-size:10px;color:#617567}.daily-card:has(.offer-quantity) .offer-rarity{padding-top:14px}
.chat-panel{height:420px!important;display:flex;flex-direction:column}.chat-panel>header{height:48px;min-height:48px;box-sizing:border-box;gap:10px}.chat-trade-slot{margin-right:auto;min-width:85px;min-height:30px;display:flex;align-items:center}.channel-tabs{display:flex!important;flex-wrap:nowrap!important;gap:3px;min-height:42px;overflow-x:auto}.channel-tabs>button{flex:none;white-space:nowrap}.channel-tabs>button:nth-child(-n+3){min-width:70px}.channel-tabs .private-tab-close{width:24px;padding:4px;flex:none}.channel-help{height:32px;min-height:32px;margin:5px 12px!important;font-size:10px}.chat-messages{flex:1;min-height:0}.chat-unread{position:absolute;right:-6px;top:-6px;border:2px solid #fff;background:#a06cba;color:#fff;border-radius:20px;min-width:20px;height:20px;display:grid;place-items:center;font-size:11px;padding:0 3px}.chat-nudge{animation:chat-nudge .5s ease-out}@keyframes chat-nudge{20%,60%{transform:rotate(-4deg)}40%,80%{transform:rotate(4deg)}100%{transform:none}}
.club-search{display:flex;align-items:center;gap:8px;margin:22px 0 16px}.club-search input{margin:0;flex:1}.club-directory{display:flex;flex-direction:column;gap:12px}.club-row{display:flex;align-items:center;gap:20px;padding:22px;border:1px solid #d9e0d5;border-radius:14px;background:#fffdf7}.club-row[hidden]{display:none}.club-row>div{flex:1}.club-row h2{font-size:18px;margin:0 0 6px}.club-row p{margin:4px 0 8px}.club-icon{flex:none;background:color-mix(in srgb,var(--club-color) 13%,#fff);border:1px solid color-mix(in srgb,var(--club-color) 30%,#fff);color:var(--club-color);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;position:relative}.club-icon i{position:absolute;bottom:-2px;right:-2px;background:#fffaf1;border-radius:50%;padding:3px;display:flex}.club-icon-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;border:0;margin:20px 0;padding:0}.club-icon-picker label{text-align:center;cursor:pointer}.club-icon-picker input{position:absolute;opacity:0;width:1px;height:1px}.club-icon-picker input:checked+.club-icon{outline:3px solid var(--trainy);outline-offset:3px}.club-icon-picker input:focus-visible+.club-icon{outline:3px dotted var(--trainy)}.club-bank{margin:26px 0!important;padding:22px!important;background:#f0f1e9;border:1px dashed #c8d0c1;border-radius:14px}.club-bank p{margin:10px 0 18px}.club-bank details{margin-top:18px}.club-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}.meetup-list>article{padding:18px;border:1px solid #d9e0d5;border-radius:12px;margin:10px 0;background:#fffdf7}.meetup-list h3{margin:0 0 8px}.meetup-list article>div{display:flex;gap:12px;margin-top:12px}.club-members article{display:flex;align-items:center;gap:12px}.club-members select{margin-left:auto;width:auto}.club-quests article>small{display:block;margin:12px 0}.club-banner>div{min-width:0}
.book3d-dialog{overflow:hidden!important;padding-top:10px!important}.book3d-dialog .modal-heading{height:36px;min-height:36px;position:relative;z-index:10}.book3d-dialog .modal-body{overflow:hidden!important}.book3d-mount{height:min(60vh,520px)!important;min-height:280px!important;overflow:hidden}.book3d-controls>[data-action=book3d-prev]{left:max(0px,calc(50% - min(370px,40vh)))}.book3d-controls>[data-action=book3d-next]{right:max(0px,calc(50% - min(370px,40vh)))}.css-book-front,.css-book-back{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:none}.css-book-left,.css-book-right{box-shadow:0 2px 0 3px #74482f}.css-book{flex-shrink:0}.book3d-dialog .modal-heading .icon-button{position:absolute;right:6px;top:2px}
@media(max-width:650px){.rail-workspace #main{padding:22px 16px 36px!important}.module-heading h1{font-size:24px!important}.departure-formations .train-slot{min-height:100px;padding:8px 4px}.departure-formations .slot-name{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.departure-formations .train-slot small{font-size:9px}.route-favorite-actions{width:100%;margin:0}.club-row{gap:12px;padding:16px;flex-wrap:wrap}.club-banner{flex-wrap:wrap}.chat-panel{height:min(420px,65dvh)!important}.studio-credit{font-size:8px}.auth-card{padding:22px;box-sizing:border-box}.book3d-mount{height:55vh!important;min-height:260px!important}}
@media(prefers-reduced-motion:reduce){.chat-nudge,.auth-train{animation:none!important}}
body.reduced-motion .chat-nudge{animation:none!important}

.settings-row .entry-language{position:static;inset:auto}.reduce-motion .chat-nudge{animation:none!important}

.rail-workspace #main>section{padding-left:0!important;padding-right:0!important}.module-heading h1{padding-left:0!important}.club-icon-picker input{pointer-events:none}

.module-heading{align-items:flex-start!important}.notice-copy>strong{display:block;margin-bottom:5px}.notice-copy>strong+strong{font-weight:500}
@media(max-width:650px){.rail-workspace #main{padding-top:76px!important}body:has(.first-journey-guide) .rail-workspace #main{padding-bottom:250px!important}}
