/* Stretch scenery to the viewport; keep placements on their undistorted canvas. */
.landing .station-home{width:100%;height:100dvh;min-height:0;aspect-ratio:auto;overflow:hidden;background:#203b35 url('/assets/station-study-2026-09-13/station-background.png') center/100% 100% no-repeat;background:#203b35 image-set(url('/assets/station-study-2026-09-13/station-background.webp') type('image/webp'),url('/assets/station-study-2026-09-13/station-background.png') type('image/png')) center/100% 100% no-repeat;}
.station-canvas{position:absolute;left:50%;top:50%;width:1672px;height:941px;transform:translate(-50%,-50%) scale(var(--scene-scale,1));transform-origin:center;isolation:isolate;--station-unit:16.72px;}
.station-canvas .station-scenery{display:none;}
.landing .station-canvas .station-positioned{position:absolute;right:auto;bottom:auto;margin:0;transform:translate(-50%,-100%) rotate(var(--item-tilt)) scale(var(--item-scale));transform-origin:50% 100%;}
.landing .station-canvas .station-train{width:310px;height:387.5px;}
.station-canvas .train-art{inset:0;background-size:100% 100%;background-position:center;animation:none;transform:none;}
.landing .station-canvas .train-art,.landing .station-canvas .service-art{transform:scaleX(var(--item-mirror,1))!important;transform-origin:center;}
.station-canvas .train-sign{position:absolute;left:50%;top:100%;font-size:20px;margin:0;bottom:auto;transform-origin:center;}
.landing .station-canvas .station-service{width:150px;height:198px;}
.station-canvas .service-sign{font-size:15px;}
.station-canvas .station-departures-label{top:13.6%;left:12%;right:12%;font-size:14px;}
.landing .station-canvas #menu-public-cards{top:17.5%;left:11.7%;right:11.7%;height:18%;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr;gap:3%;}
.landing .station-canvas .menu-card-label strong{font-size:18px;}
.landing .station-canvas .menu-card-timer,.landing .station-canvas .menu-card-seats{font-size:28px;}
.station-canvas .travel-sticker{font-size:12px;}
.station-canvas .station-ticket{left:14%;right:14%;bottom:var(--ticket-bottom,0px);height:19%;transform:perspective(1100px) rotateX(12deg);}
.station-canvas .ticket-heading{flex-wrap:nowrap;font-size:12px;}
.station-canvas .ticket-heading>span{width:auto;}
.station-canvas .ticket-fields{height:60%;grid-template-columns:2fr 1fr 1fr 1fr 2fr;gap:1%;}
.station-canvas .ticket-fields small{font-size:12px;}
.station-canvas .ticket-fields strong{font-size:25px;}
.landing .station-canvas .ticket-field input{font-size:25px;}
.station-canvas .station-status{font-size:11px;}
.landing .station-layout-toggle{position:absolute;top:12px;left:12px;z-index:12;background:#f5f0da;border:1px solid #8a9f87;padding:8px 12px;font-size:13px;}
.landing .station-layout-panel{position:absolute;z-index:15;top:12px;right:12px;width:min(310px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;overscroll-behavior:contain;padding:14px;background:#f6f1e2;border:1px solid #93a58c;border-radius:8px;box-shadow:0 6px 25px #203b3533;font:12px/1.45 system-ui,sans-serif;color:#29453f;}
.station-layout-panel[hidden]{display:none;}
.layout-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:17px;}
.landing .layout-heading button{padding:2px 10px;font-size:24px;}
.landing .station-layout-panel p{font-size:12px;margin:8px 0 12px;}
.station-layout-panel label{display:block;margin:8px 0;}
.landing .station-layout-panel input,.landing .station-layout-panel select{font:13px system-ui,sans-serif;width:100%;margin-top:4px;padding:7px;}
.layout-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.layout-variants{padding:0;border:0;margin:14px 0;}
.layout-variants>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;max-height:270px;overflow:auto;padding:3px;scrollbar-width:thin;}
.landing .layout-variants button{padding:3px;background:#e1e7d9;font-size:10px;}
.layout-variants img{display:block;width:100%;height:76px;object-fit:contain;background:conic-gradient(#fff6 25%,transparent 0 50%,#fff6 0 75%,transparent 0) 0 0/12px 12px;}
.landing .layout-variants button[aria-pressed=true]{outline:2px solid #547b62;background:#f5eac5;}
.landing .layout-check{display:flex;gap:8px;align-items:center;}
.landing .layout-check input{width:auto;margin:0;}
.layout-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.landing .layout-actions button,.layout-import{font:12px system-ui,sans-serif;padding:9px;text-align:center;}
.landing .layout-actions [data-action=save]{background:#3e6956;color:#fff4d4;}
.layout-import{border:1px solid #9baa89;border-radius:4px;background:#ece9d5;cursor:pointer;margin:0!important;}
.layout-import input{position:absolute;width:1px!important;height:1px;padding:0!important;opacity:0;}
.layout-import:focus-within{outline:3px solid #e9bb49;}
.layout-editing .station-positioned{touch-action:none;cursor:grab;outline:1px dashed #f7edc899;}
.layout-editing .station-positioned.layout-selected{outline:3px solid #e3bc64;outline-offset:3px;z-index:10;}
.layout-editing .station-positioned:active{cursor:grabbing;}
.layout-hide-signs .train-sign,.layout-hide-signs .service-sign{visibility:hidden;}
.layout-editing .station-canvas .station-positioned:hover .train-art,.layout-editing .station-canvas .station-positioned:hover .service-art{filter:none;}
@media(max-width:600px){.landing .station-layout-panel{top:58px;max-height:calc(100% - 70px);}}
/* Solo/Create Room use the same local editor gate as the station landing. */
.setup-layout-toggle{position:fixed;right:18px;top:16px;z-index:75;padding:9px 14px;}
.setup-layout-panel{position:fixed;right:16px;top:62px;z-index:80;width:310px;max-height:calc(100vh - 80px);overflow:auto;background:#edf0dc;color:#193c31;border:2px solid #66826b;border-radius:8px;padding:14px;box-shadow:0 8px 28px #0008;font:13px sans-serif;}
.setup-layout-panel p{font:12px/1.5 sans-serif;}.setup-layout-panel label{display:block;}.setup-layout-panel input,.setup-layout-panel select{width:100%;color:#193c31;background:#fffdf1;}.setup-layout-panel button{color:#193c31;background:#d7dfbd;}
/* Match the ID-specific scenery rules so edited poses win the cascade. */
@media(min-width:761px){.landing .station-console :is(#menu-setup-scroll,.console-passengers,.menu-setup-footer,#menu-room-visibility,#menu-copy-code){left:var(--setup-x);top:var(--setup-y);width:var(--setup-width);height:var(--setup-height);bottom:auto;transform:rotate(var(--setup-tilt)) skewX(var(--setup-skew));}}
@media(min-width:761px){.landing .station-toolbox :is(.menu-section-header,.menu-settings-tabs,.menu-section-scroll),.landing .station-book :is(.book-left,.book-right){left:var(--setup-x);top:var(--setup-y);width:var(--setup-width);height:var(--setup-height);right:auto;bottom:auto;transform:rotate(var(--setup-tilt)) skewX(var(--setup-skew));}}
@media(min-width:761px){.landing :is(.station-modern-console,.station-ranked-console)>:is(.menu-section-header,.menu-section-scroll,.menu-setup-footer,.menu-page-actions){left:var(--setup-x);top:var(--setup-y);width:var(--setup-width);height:var(--setup-height);right:auto;bottom:auto;transform:rotate(var(--setup-tilt)) skewX(var(--setup-skew));}}
.setup-editing [data-setup-item]{outline:1px dashed #f6e594;cursor:move;touch-action:none;}.setup-editing [data-setup-item].setup-selected{outline:3px solid #ffe590;}.setup-editing [data-setup-item] *{pointer-events:none;}
.landing [data-menu-page="waiting"]>.waiting-layout-canvas{position:absolute;inset:0;overflow:visible;pointer-events:none;}
.landing [data-menu-page="waiting"]>.waiting-layout-canvas>.waiting-layout-panel{pointer-events:auto;}
.setup-editing [data-menu-page="waiting"]>.waiting-layout-canvas>[data-setup-item]{pointer-events:auto;}
.landing .station-modern-console.menu-waiting>.waiting-layout-overlay{position:absolute;left:0;top:0;right:auto;bottom:auto;width:100%;height:100%;padding:0;display:block;transform:none;pointer-events:none;background:none;border:0;box-shadow:none;}
.landing [data-menu-page="waiting"]>.waiting-layout-overlay>[data-setup-item]{pointer-events:auto;}
.landing [data-menu-page="waiting"] .waiting-layout-actions{overflow:visible;}
@media(max-width:760px){.setup-layout-panel{width:min(310px,calc(100vw - 32px));}}

/* A standalone square sprite keeps the embossed cog circular at every scale. */
.landing .station-canvas .service-settings .service-art{
 background-image:url('/assets/station-study-2026-09-13/settings-cart-embossed.png');
 background-size:contain;
 background-position:center bottom;
}
