/* Station scenery is decorative. All controls and changing text remain HTML. */
.landing{--station-unit:min(1vw,calc(1dvh * 16 / 9));--ink:#29453f;--cream:#f5f0da;--paper:#f8f4e6;--green:#31584c;--gold:#c6ad73;--muted:#697d6b;--menu-blue:#537e6b;--menu-navy:#203d37;--menu-border:#8c9971;font:15px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink);background:#203b35;min-height:100dvh;}
body:not(.playing):not(.previewing){background:#203b35;}
.landing button,.landing input,.landing select,.landing a{font:inherit;}
.landing button{border:1px solid #9baa89;border-radius:4px;background:#ece9d5;color:var(--ink);transition:background .16s,box-shadow .16s;}
.landing button:hover{background:#fff9df;color:#183e31;}
.landing button:disabled{background:#d5d8c5;color:#727d6f;opacity:.7;cursor:default;}
.landing button:focus-visible,.landing a:focus-visible,.landing input:focus-visible,.landing select:focus-visible{outline:3px solid #e9bb49;outline-offset:4px;}
.landing input,.landing select{background:#f9f5e6;color:#29453f;border:1px solid #a4af91;border-radius:3px;padding:8px 10px;color-scheme:light;}
.landing input[type=checkbox]{accent-color:#346b54;}
.landing p,.landing .menu-muted{color:#66765f;}
.landing h1,.landing h2{color:inherit;letter-spacing:0;}
.landing .menu-primary{background:#3a6858;border:1px solid #94a979;color:#fff5d6;min-height:42px;letter-spacing:.05em;}
.landing .menu-primary:hover{background:#4b7f67;}
.landing .menu-content{padding:0;display:grid;align-items:center;flex:1;min-width:0;}
.landing .menu-footer{display:none;}
.landing .menu-background{display:none;}
.station-home{position:relative;isolation:isolate;width:100%;aspect-ratio:auto;height:100dvh;max-width:none;margin:auto;overflow:hidden;}
.station-scenery{position:absolute;inset:0;background:url('/assets/station-study-2026-09-13/station-background.png') center/100% 100% no-repeat;background: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;z-index:-1;}
.station-departures-label{position:absolute;top:13.6%;left:12%;right:12%;display:flex;justify-content:space-between;align-items:center;color:#29453f;font-size:clamp(9px,calc(.85 * var(--station-unit)),18px);text-transform:uppercase;letter-spacing:.2em;}
.station-departures-label button{padding:0 4px;background:#f6f1dfd9;border:0;font-size:inherit;}
.landing #menu-public-cards{position:absolute;top:17.5%;left:11.7%;right:11.7%;height:18%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr;gap:2%;margin:0;}
.landing #menu-public-cards>.menu-room-card:first-child{grid-row:auto;}
.landing .menu-room-card{--station-unit:min(.2353vw,.4183dvh);position:relative;display:grid;grid-template-columns:35% 1fr;grid-template-rows:22% 23% 35% 20%;gap:0;padding:9px 10px;background:#243b41;border:5px solid #516365;border-radius:3px;color:#f5efd7;box-shadow:0 5px 0 #172c2e,0 10px 14px #172c2e36;text-align:left;height:100%;min-width:0;overflow:hidden;}
.landing .menu-room-card:hover{background:#2d494a;color:#f5efd7;box-shadow:0 0 0 3px #d5b569,0 8px 15px #1a2f3055;}
.landing .menu-room-card:disabled{background:#35494a;color:#e2dfca;opacity:.7;}
.menu-room-card::after{content:'';position:absolute;inset:5px;border:1px solid #8c9b8b44;pointer-events:none;}
.landing .menu-room-card>canvas{grid-column:1;grid-row:1/-1;width:100%;height:100%;object-fit:contain;background:#20383f;}
.landing .menu-card-badge{position:static;grid-column:2;grid-row:2;background:#20333b;max-width:none;border-radius:0;padding:1px 4px;text-align:center;font-size:clamp(8px,calc(3.4 * var(--station-unit)),16px);letter-spacing:.1em;white-space:nowrap;overflow:hidden;}
.landing .menu-card-label{position:static;display:contents;background:none;backdrop-filter:none;min-height:0;}
.landing .menu-card-label strong{grid-column:2;grid-row:1;font-size:clamp(11px,calc(5 * var(--station-unit)),22px);letter-spacing:.09em;background:#20333b;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px;font-weight:500;line-height:1.4;}
.landing .menu-card-label small{grid-column:2;grid-row:4;font-size:clamp(7px,calc(2.7 * var(--station-unit)),12px);letter-spacing:0;color:#c6d1ba;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.landing .menu-card-timer{position:static;grid-column:2;grid-row:3;align-self:center;justify-self:center;display:flex;align-items:center;gap:3px;background:none;padding:0;letter-spacing:.06em;font-size:clamp(12px,calc(8.2 * var(--station-unit)),36px);font-weight:400;line-height:1.2;white-space:nowrap;}
.flap-cell{display:inline-block;position:relative;min-width:.65em;text-align:center;background:linear-gradient(#25363b 49%,#0f252b 49%,#0f252b 53%,#304249 53%);border:1px solid #162c32;border-radius:2px;color:#f1e9cd;perspective:160px;}
.flap-cell.is-flipping{animation:split-flap .45s ease-out;transform-origin:center;}
@keyframes split-flap{0%{transform:rotateX(0)}40%{transform:rotateX(-85deg);color:#d1c69d}60%{transform:rotateX(50deg)}100%{transform:rotateX(0)}}
.landing .menu-card-seats{position:absolute;left:9px;right:auto;bottom:7px;padding:1px 4px;background:#20383fe8;color:#dbe2c9;border-radius:0;font-size:clamp(8px,calc(3 * var(--station-unit)),13px);}
.landing .menu-empty{padding:15px;border-radius:4px;background:#244139e8;color:#f4eed6;border:2px solid #8c9b81;font-size:clamp(11px,calc(1.1 * var(--station-unit)),20px);}
.station-platforms,.station-services{display:contents;}
.landing .station-train{position:absolute;top:37%;width:20%;height:40%;padding:0;border:0;background:none;border-radius:0;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;z-index:2;}
.train-solo{left:5%;}.train-create{left:28%;}.train-join{left:51%;}.train-ranked{left:74%;}
.train-art{position:absolute;inset:0 0 2%;background-image:url('/assets/station-study-2026-09-13/trains-corrected.png');background-size:400% 100%;background-position-x:calc(var(--train-column) * 100% / 3);background-repeat:no-repeat;transform-origin:50% 95%;animation:train-idle 3.6s ease-in-out infinite;animation-delay:calc(var(--train-column) * -.8s);pointer-events:none;}
@keyframes train-idle{0%,100%{transform:translateY(0) rotate(-.12deg)}45%{transform:translateY(-1px) rotate(.12deg)}65%{transform:translateY(1px)}}
.landing .station-train:hover{background:none;filter:none;}
.station-train:hover .train-art{filter:brightness(1.08);}
.train-sign{position:relative;z-index:1;display:block;max-width:100%;padding:.17em .65em;margin-bottom:15%;font-size:clamp(11px,calc(1.34 * var(--station-unit)),27px);line-height:1.45;text-transform:uppercase;letter-spacing:.035em;background:#213b3a;border:2px solid #dfc994;border-radius:3px;color:#fff3d2;box-shadow:0 3px 0 #172e2b;white-space:nowrap;}
.train-platform{position:absolute;bottom:0;left:15%;right:15%;text-align:center;font-size:clamp(8px,calc(.65 * var(--station-unit)),13px);letter-spacing:.14em;text-transform:uppercase;color:#eff1d9;background:#284940b3;padding:2px 3px;border-radius:2px;}
.landing .station-service{position:absolute;bottom:21%;width:10%;height:23%;border:0;background:none;padding:0;z-index:3;border-radius:0;}
.service-news{left:21.5%;}.service-guide{left:44.5%;}.service-settings{left:67.5%;}
.service-art{display:block;position:absolute;inset:0;background:url('/assets/station-study-2026-09-13/service-sprites.png') no-repeat;background-size:300% 100%;background-position-x:calc(var(--service-column) * 50%);pointer-events:none;}
.landing .station-service:hover{background:none;filter:none;}.station-service:hover .service-art{filter:brightness(1.12);}
.service-sign{position:absolute;left:6%;right:6%;bottom:10%;font-size:clamp(9px,calc(.91 * var(--station-unit)),18px);text-transform:uppercase;letter-spacing:.09em;background:#294c40;color:#fff1cf;border:1px solid #bba873;padding:2px 0;}
.service-settings .service-sign{bottom:12%;}
.station-ticket{position:absolute;z-index:4;left:14%;right:14%;bottom:1.7%;height:19%;padding:1.1% 2% .6%;background:var(--paper);border:2px solid #78907b;border-radius:12px 12px 2px 2px;box-shadow:0 6px 0 #b4bda5,0 9px 0 #496357;transform:perspective(1100px) rotateX(12deg);transform-origin:50% 100%;color:#34594f;}
.station-ticket::before,.raised-ticket::before{content:'';position:absolute;inset:7px;border:1px solid #a2ae8f;border-radius:6px;pointer-events:none;}
.ticket-heading{display:flex;justify-content:space-between;gap:12px;text-transform:uppercase;font-size:clamp(8px,calc(.7 * var(--station-unit)),14px);letter-spacing:.16em;margin-bottom:1%;}
.ticket-fields{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr;gap:1%;height:60%;}
.landing .ticket-fields>button{position:relative;text-align:left;padding:3% 8%;border:1px solid #84977b;border-radius:4px;background:transparent;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.landing .ticket-fields>button:hover{background:#e7e9d6;}
.ticket-fields small{font-size:clamp(8px,calc(.72 * var(--station-unit)),13px);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.ticket-fields strong{font-size:clamp(12px,calc(1.5 * var(--station-unit)),30px);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.ticket-edit{position:absolute;bottom:5%;right:6%;font-size:clamp(7px,calc(.65 * var(--station-unit)),12px);color:#5e785e;}
.ticket-fields .ticket-emblem{font-size:clamp(17px,calc(2 * var(--station-unit)),36px);line-height:1.15;}
.ticket-swatch{width:2.6em;height:1.15em;border-radius:3px;border:1px solid #84977b;background:#e7e9d6;flex:none;}
.ticket-swatch.is-any{background:repeating-linear-gradient(135deg,#e7e9d6 0 4px,#c4ccb8 4px 8px);}
.ticket-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px dashed #8fa07b;padding-top:1%;margin-top:1%;font-size:clamp(7px,calc(.72 * var(--station-unit)),14px);letter-spacing:.1em;}
.station-status{position:absolute;bottom:.15%;left:2%;right:2%;display:flex;justify-content:space-between;gap:12px;align-items:center;color:#dbe5d3;font-size:clamp(8px,calc(.66 * var(--station-unit)),13px);line-height:1.3;}
.station-status p{margin:0!important;color:#ffe4af;max-width:65%;text-align:right;}
.landing #menu-resume{position:absolute;top:36.5%;left:35%;right:35%;z-index:5;margin:0;}
.landing #menu-resume button{font-size:clamp(10px,calc(.8 * var(--station-unit)),16px);padding:4px 8px;background:#f3edce;border:1px solid #5e7c63;color:#315448;}
.landing .menu-section{position:relative;max-width:none;width:100%;aspect-ratio:auto;height:100dvh;min-height:0;margin:auto;border:0;border-radius:0;background:#e9ecd9;color:#29453f;overflow:hidden;}
.landing .menu-section-header{min-height:60px;padding:18px 30px;border-color:#aeb99e;gap:14px;}
.landing .menu-section-header h1{font-size:24px;letter-spacing:.02em;}
.landing .menu-back{position:absolute;left:18px;top:16px;z-index:25;width:auto;height:auto;display:flex;gap:7px;align-items:center;border:1px solid #8da88e;border-radius:3px;padding:6px 10px;background:#f5efdc;color:#2e5547;font-size:18px;}
.menu-back span{font-size:12px;}
.landing .menu-section-scroll{scrollbar-color:#829777 transparent;scrollbar-width:thin;padding:24px;}
.landing .station-console{background:url('/assets/station-study-2026-09-13/console-corrected.png') center/100% 100% no-repeat;color:#f0ecd1;}
.station-console>.menu-section-header{position:absolute;top:33.7%;left:16%;width:68.5%;height:4%;min-height:0;padding:0;border:0;gap:12px;}
.station-console>.menu-section-header .menu-back,.station-book>.menu-section-header .menu-back,.station-toolbox>.menu-section-header .menu-back{position:fixed;left:16px;top:16px;}
.station-console>.menu-section-header h1{font-size:clamp(14px,calc(1.2 * var(--station-unit)),26px);font-weight:500;text-transform:uppercase;white-space:nowrap;}
.station-console #menu-setup-scroll{position:absolute;left:16%;top:40%;width:46.5%;height:30.7%;padding:0 10px 8px 0;}
.station-console .menu-map-heading{gap:10px;border:0;padding:0;}
.station-console .menu-map-heading h2{font-size:clamp(12px,calc(.95 * var(--station-unit)),19px);white-space:nowrap;}
.station-console .menu-search{max-width:42%;}
.station-console .menu-search input{font-size:clamp(10px,calc(.72 * var(--station-unit)),15px);padding:4px 8px;}
.station-console .menu-map-tabs{border-color:#617e68;border-radius:3px;margin:8px 0 6px;padding:2px;}
.station-console .menu-map-tabs button{font-size:clamp(9px,calc(.68 * var(--station-unit)),14px);padding:3px 8px;color:#d4e0be;background:#294637;}
.station-console .menu-map-tabs button[aria-selected=true]{background:#91a485;color:#1d3d32;}
.station-console .menu-map-collection{font-size:10px;margin:2px 0 5px;color:#b7c9aa;}
.station-console #menu-random-map{padding:3px 8px;font-size:clamp(10px,calc(.68 * var(--station-unit)),14px);border:1px solid #617e68;border-radius:3px;background:#294637;color:#e8eccd;}
.station-console .menu-map-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.station-console .menu-map-choice{height:auto;min-height:65px;padding:5px;gap:4px;border:1px solid #65836a;border-radius:3px;background:#203e34;}
.station-console .menu-map-choice canvas{height:100px;border-radius:0;}
.station-console .menu-map-choice strong{font-size:clamp(10px,calc(.75 * var(--station-unit)),14px);color:#e8eccd;}
.station-console .menu-map-choice[aria-pressed=true],.station-console .menu-choice[aria-pressed=true]{border-color:#d8bd7c;background:#436850;box-shadow:inset 0 0 0 1px #d8bd7c;}
.station-console .menu-favorite{right:3px;top:3px;width:18px;height:18px;font-size:14px;padding:0;background:#254238bb;color:#e7d492;}
.station-console .menu-setup-group{padding-top:8px;margin-top:8px;border-color:#608168;}
.station-console .menu-setup-group>h2{font-size:clamp(11px,calc(.8 * var(--station-unit)),16px);margin:0 0 6px;color:#dce1bd;}
.station-console .menu-difficulties{gap:6px;}
.station-console .menu-choice{min-height:34px;flex-direction:row;gap:8px;padding:5px;border-radius:3px;background:#28473a;border-color:#638269;color:#e8ecd0;}
.station-console .menu-choice strong,.station-console .menu-choice span{font-size:clamp(10px,calc(.7 * var(--station-unit)),14px);}
.station-console .menu-choice span{color:#d2b979;}
.station-console .menu-options-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.station-console .menu-options-grid>label{border:1px solid #637b5f;padding:7px;border-radius:3px;background:#314e40;color:#e0e8cb;font-size:clamp(10px,calc(.73 * var(--station-unit)),15px);margin:0;}
.station-console .menu-options-grid input,.station-console .menu-options-grid select{padding:4px 6px;font-size:clamp(10px,calc(.72 * var(--station-unit)),15px);margin-top:3px;}
.station-console .menu-options-grid>label:has(input[type=checkbox]){min-height:48px;gap:6px;}
.station-console .menu-options-grid .hint{font-size:10px;color:#b4c8a7;}
.station-console .menu-muted{color:#b9c9a9;font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;}
.station-console #menu-preview{padding:6px 10px;font-size:12px;background:#708862;color:#fff3d8;}
.console-passengers{position:absolute;left:67.3%;top:36%;width:17.5%;height:35%;padding:0 5px;background:none;border:0;overflow:auto;color:#e7e7c9;}
.console-roster-heading{display:flex;align-items:center;gap:12px;border-bottom:1px solid #77845f;padding-bottom:9px;margin-bottom:12px;}
.console-roster-heading>span{font-size:28px;color:#ddc895;}
.console-roster-heading h2{font-size:clamp(12px,calc(1.05 * var(--station-unit)),21px);text-transform:uppercase;font-weight:400;}
.station-console .menu-roster{margin:0;padding:0;border:0;}
.station-console .menu-members{background:none;border:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.station-console .menu-member{padding:9px 10px;display:block;font-size:clamp(10px,calc(.78 * var(--station-unit)),16px);border:1px solid #829777;border-radius:3px;background:#3d5b49;color:#f3edd1;}
.station-console .menu-member.is-empty{border-style:dashed;background:none;color:#9cad8b;}
.station-console .console-roster-note{font-size:clamp(9px,calc(.7 * var(--station-unit)),14px);color:#a0b492;margin-top:18px;}
.station-console .menu-setup-footer{position:absolute;left:16%;bottom:11.2%;width:69%;height:8.5%;min-height:0;padding:0;border:0;background:none;display:flex;flex-direction:column;justify-content:center;}
.station-console .menu-setup-footer output{font-size:clamp(9px,calc(.75 * var(--station-unit)),15px);color:#e2d6a7;text-align:center;padding:0 5px;margin-bottom:4px;}
.station-console #menu-setup-actions{gap:4%;justify-content:space-between;}
.station-console #menu-setup-actions>button{flex:1;padding:6px 15px;font-size:clamp(11px,calc(.9 * var(--station-unit)),19px);min-height:34px;border-color:#aeaa75;}
.landing .station-console .menu-primary:disabled{background:#455c4c;color:#a4b492;border-color:#8e9871;}
.station-console .menu-code{background:#28473c;color:#ecdfb6;font-size:clamp(9px,calc(.7 * var(--station-unit)),14px);padding:3px 6px;}
.station-console .menu-segmented{border:1px solid #728b6d;border-radius:3px;}
.station-console .menu-segmented button{padding:2px 6px;color:#d8dfbd;background:#314e41;}
.station-console .menu-segmented button[aria-pressed=true]{background:#a2b18a;color:#203d31;}
.landing .station-profile{background:url('/assets/station-study-2026-09-13/station-background.png') center/100% 100%;background: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%;}
.station-profile>.menu-section-header{position:absolute;top:4%;left:15%;right:15%;padding:0;border:0;justify-content:center;}
.station-profile>.menu-section-header h1{background:#f6f0dadf;padding:8px 18px;border-radius:4px;font-size:clamp(16px,calc(1.5 * var(--station-unit)),28px);}
.station-profile>.menu-section-header .menu-back{position:fixed;}
.raised-ticket{position:absolute;left:15%;right:15%;top:15%;bottom:8%;background:#f8f3e0;border:2px solid #748b70;box-shadow:0 7px 0 #abb698,0 12px 0 #48634e;display:flex;flex-direction:column;padding:2% 3%;border-radius:15px 15px 4px 4px;}
.raised-ticket .ticket-heading{font-size:clamp(10px,calc(.85 * var(--station-unit)),18px);margin-bottom:20px;justify-content:flex-start;align-items:center;gap:1.5em;}
.raised-ticket .ticket-heading>span:last-child{text-transform:none;letter-spacing:0;}
.raised-ticket .ticket-footer{justify-content:flex-end;}
.ticket-tabs{display:flex;gap:10px;border-bottom:1px dashed #8fa17b;padding-bottom:15px;}
.landing .ticket-tabs button{flex:1;padding:8px 10px;background:none;border-color:#9aaa84;font-size:clamp(11px,calc(.9 * var(--station-unit)),18px);}
.landing .ticket-tabs button[aria-pressed=true]{background:#3c6653;color:#f7efd3;}
.ticket-details{padding:2% 2%;overflow:auto;min-height:0;flex:1;}
.ticket-details h2{font-size:clamp(22px,calc(2.3 * var(--station-unit)),44px);margin:0 0 15px;}
.ticket-details label{max-width:440px;display:block;}
.ticket-details input{font-size:20px;}
.ticket-details p{margin:12px 0;}
.ticket-details #menu-history{margin-top:25px;}
.ticket-details #menu-history>h3{font-size:16px;}
.ticket-details #result-history p{font-size:12px;border-color:#a4b38d;}
.ticket-sample-tag{font-size:54px;margin:20px 0;color:#77906d;}
.ticket-emblem-large{font-size:70px;color:#426b55;}
.station-eyebrow{text-transform:uppercase;font-size:clamp(9px,calc(.75 * var(--station-unit)),15px);letter-spacing:.18em;color:#6d8064!important;}
/* Hexagonal preferred-color tab: 49 swatches in seven honeycomb rows.
   landing.js paints each swatch from data-color (stylesheet-only CSP).
   The .landing prefix out-ranks the generic .landing button rules. */
.landing .color-hexagon{--hex-gap:4px;--hex-cell:clamp(26px,calc(2.4 * var(--station-unit)),42px);display:flex;flex-direction:column;align-items:center;margin:12px 0;}
.color-hexagon .color-hex-row{display:flex;gap:var(--hex-gap);}
.color-hex-row+.color-hex-row{margin-top:calc(var(--hex-gap) - var(--hex-cell) * .2887);}
.color-hex-row:nth-child(even){transform:translateX(calc((var(--hex-cell) + var(--hex-gap)) / 2));}
.landing .color-hex{width:var(--hex-cell);height:calc(var(--hex-cell) * 1.1547);padding:0;border:0;border-radius:0;background:#d5d8c5;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);}
.landing .color-hex:hover{filter:brightness(1.08);}
.landing .color-hex[aria-pressed=true]{background-image:radial-gradient(circle at 50% 50%,#fff8dd 0 24%,transparent 25%);}
.landing .color-hex:focus-visible{outline:0;filter:drop-shadow(0 0 4px #e9bb49) brightness(1.05);}
.landing .menu-color-any{margin-top:8px;}
.landing .menu-color-any[aria-pressed=true]{background:#3c6653;color:#f7efd3;}
.landing .station-news{background:url('/assets/station-study-2026-09-13/station-background.png') center/100% 100%;background: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%;}
.station-news>.menu-section-header{position:absolute;top:2%;left:15%;right:15%;border:0;justify-content:center;min-height:0;padding:0;}
.station-news>.menu-section-header h1{font-size:clamp(14px,calc(1.35 * var(--station-unit)),27px);background:#f7f0dadf;padding:5px 15px;}
.station-news>.menu-section-header .menu-back{position:fixed;}
.station-news>.menu-section-header h1,.station-profile>.menu-section-header h1{flex:0 1 auto;text-align:center;}
.news-editions{position:absolute;top:9%;left:16%;right:16%;display:flex;gap:10px;justify-content:center;}
.landing .news-editions button{font-size:clamp(10px,calc(.8 * var(--station-unit)),16px);padding:5px 10px;background:#ede9d2;}
.landing .news-editions button[aria-pressed=true]{background:#315746;color:#f9efd3;border-color:#d1bd7e;}
.station-news #menu-news-list{position:absolute;left:20%;right:20%;top:16%;bottom:6%;padding:0;overflow:auto;}
.landing .menu-news-article{min-height:100%;padding:4% 6%;background:#faf4df;border:1px solid #b0a680;box-shadow:4px 6px 0 #566e5266;position:relative;color:#3b4939;font-family:Georgia,serif;}
.landing .menu-news-article+article{margin-top:0;}
.newspaper-masthead{font:bold clamp(22px,calc(2.8 * var(--station-unit)),57px)/1.2 Georgia,serif;text-align:center;border-bottom:4px double #58634b;padding-bottom:12px;margin-bottom:12px;letter-spacing:-.035em;}
.newspaper-meta{display:flex;justify-content:space-between;font:clamp(8px,calc(.65 * var(--station-unit)),13px)/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;border-bottom:1px solid #7b8467;padding-bottom:7px;margin-bottom:17px;}
.landing .menu-news-article h2{font:bold clamp(20px,calc(2.2 * var(--station-unit)),44px)/1.15 Georgia,serif;text-align:center;border:0;margin:0;padding:0;}
.landing .menu-news-article time{font:inherit;color:#6a7257;}
.landing .menu-news-article p{font:clamp(12px,calc(1.05 * var(--station-unit)),20px)/1.6 Georgia,serif;text-align:center;color:#4b5b42;}
.landing .menu-news-article ul{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0;list-style:none;border-top:2px solid #819070;margin-top:18px;}
.landing .menu-news-article li{font:clamp(11px,calc(.9 * var(--station-unit)),18px)/1.5 Georgia,serif;color:#46583f;border-right:1px solid #aeb590;padding-right:12px;}
.landing .menu-news-article li:last-child{border:0;padding:0;}
.newspaper-illustration{margin:16px auto;max-width:75%;}
.newspaper-illustration svg{display:block;width:100%;height:auto;max-height:200px;}
.landing .station-book{background:url('/assets/station-study-2026-09-13/book-background.png') center/100% 100%;}
.station-book>.menu-section-header{position:absolute;top:6%;left:15%;right:15%;border:0;min-height:0;padding:0;}
.book-left{position:absolute;left:16%;top:29%;width:29%;height:45%;overflow:auto;padding-right:2%;}
.book-right{position:absolute;left:54%;top:28%;width:29%;height:48%;overflow:auto;}
.book-left h2{font:600 clamp(22px,calc(2.5 * var(--station-unit)),50px)/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.04em;margin:12px 0;}
.book-left>p:not(.station-eyebrow){font-size:clamp(11px,calc(.9 * var(--station-unit)),18px);}
.book-contents{display:flex;flex-direction:column;margin:6% 0;}
.landing .book-contents button{display:flex;gap:12px;align-items:center;background:none;border:0;border-bottom:1px solid #c7cbb0;border-radius:0;padding:9px 0;text-align:left;font-size:clamp(10px,calc(.88 * var(--station-unit)),18px);}
.book-contents button>span:first-child{color:#899679;}
.book-contents button>span:last-child{margin-left:auto;}
.landing .book-contents button[aria-pressed=true]{color:#224e3d;font-weight:700;background:#dbe3c56b;}
.book-left>small{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#8a9578;}
.book-right h2{font-size:clamp(18px,calc(1.65 * var(--station-unit)),33px);margin:10px 0 15px;}
.book-right svg{display:block;width:100%;max-height:190px;}
.book-right article>p:not(.station-eyebrow){font-size:clamp(11px,calc(1 * var(--station-unit)),20px);line-height:1.6;margin:14px 0;}
.guide-steps{display:flex;justify-content:space-between;gap:6px;font-size:clamp(9px,calc(.72 * var(--station-unit)),14px);text-transform:uppercase;}
.guide-lesson-link{display:inline-block;margin:10px 0;border-bottom:1px solid #788f64;font-size:clamp(10px,calc(.8 * var(--station-unit)),16px);padding:5px 0;}
.book-page-number{display:block;text-align:center;color:#849274;font-size:12px;margin-top:14px;}
.book-right .construction-stage{margin:2px 0 10px;}
.book-right .construction-stage svg{display:block;width:100%;height:auto;max-height:none;background:#e9eed8;border:1px solid #aab894;border-radius:10px;}
.book-right .construction-stage [data-edge]{cursor:pointer;}
.book-right .chapter-theater-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 0 10px;font-size:clamp(11px,calc(.82 * var(--station-unit)),16px);color:#365544;}
.book-right .chapter-theater-controls button{width:32px;height:30px;padding:0;border:1px solid #9aab8d;border-radius:6px;background:#f7f4e5;color:#315b47;cursor:pointer;}
.book-right .chapter-theater-controls button:hover,.book-right .chapter-theater-controls button:focus-visible{background:#dbe8cf;}
/* Chapter navigation belongs to the stage, above its upper-right corner. */
.book-right .stage{position:relative;}
.book-right .chapter-theater-controls{position:absolute;top:8px;right:8px;z-index:2;margin:0;gap:5px;}
.book-right .signal-stage .stage-key{display:none;}
.book-right .signal-stage svg{height:clamp(160px,22vw,340px);}
.book-right .signal-stage [data-ui="fit"]{position:absolute;top:8px;left:8px;width:auto;padding:4px 8px;}
.book-right .chapter-run-controls{position:absolute;bottom:8px;left:8px;right:8px;z-index:2;display:flex;flex-wrap:wrap;gap:4px;margin:0;}
.book-right .chapter-run-controls button{width:auto;padding:4px 7px;font-size:clamp(9px,.75vw,13px);}
.book-right [data-ui="error"]:empty{display:none;}
.book-right .bridge-endpoint{cursor:pointer;}
.book-right .bridge-endpoint:focus{outline:none;}
.book-right .bridge-endpoint:focus-visible polygon{stroke:#fff;stroke-width:3;}
.landing .station-toolbox{background:url('/assets/settings-toolbox-study-2026-10-07/pliers-v2-wide.png') center/100% 100%;}
.station-toolbox>.menu-section-header{position:absolute;top:20%;left:34%;width:48%;height:10%;min-height:0;border:0;padding:0;display:block;color:#f3ecd4;}
.station-toolbox>.menu-section-header h1{font-size:clamp(20px,calc(2.25 * var(--station-unit)),44px);font-weight:500;margin:0;}
.station-toolbox>.menu-section-header p{font-size:clamp(11px,calc(1 * var(--station-unit)),20px);color:#b7c9aa;margin-top:5px;}
.station-toolbox .menu-settings-tabs{position:absolute;top:32%;left:34%;right:20%;justify-content:flex-start;border:0;gap:10px;}
.station-toolbox .menu-settings-tabs button{font-size:clamp(10px,calc(.9 * var(--station-unit)),18px);border:1px solid #798b6d;border-radius:3px;background:#355246;color:#e3e7c6;padding:7px 12px;}
.station-toolbox .menu-settings-tabs button[aria-selected=true]{background:#d2c590;color:#294938;border-color:#efe0a9;}
.station-toolbox>.menu-section-scroll{position:absolute;top:49%;left:21%;width:57%;height:28.5%;padding:0;}
.station-toolbox #menu-display-settings{display:grid;grid-template-columns:1fr 1fr;gap:7%;}
.station-toolbox .menu-setting-row{border:0;border-bottom:1px solid #b7b999;border-radius:0;background:none;padding:7px 0;gap:8px;margin:0;flex-wrap:nowrap;}
.station-toolbox .menu-setting-row strong,.station-toolbox .graphics-settings label>span{font-size:clamp(10px,calc(.8 * var(--station-unit)),16px);font-weight:500;}
.station-toolbox .menu-setting-row small{display:none;}
.station-toolbox .menu-setting-row select{width:46%;font-size:clamp(9px,calc(.68 * var(--station-unit)),14px);padding:3px 4px;flex-shrink:0;}
.station-toolbox .menu-secondary{margin-top:10px;font-size:clamp(9px,calc(.7 * var(--station-unit)),14px);padding:5px 8px;}
.station-toolbox #menu-display-settings p{font-size:clamp(9px,calc(.65 * var(--station-unit)),13px);margin:8px 0;line-height:1.4;}
.station-toolbox .graphics-settings{margin:0;padding:0;border:0;}
.station-toolbox .graphics-settings legend{font-size:clamp(11px,calc(.9 * var(--station-unit)),18px);font-weight:700;padding:0;}
.station-toolbox .graphics-settings .help{margin-top:4px!important;}
.station-toolbox #menu-shortcuts{columns:2;column-gap:7%;}
.station-toolbox #menu-shortcuts .menu-setting-row{break-inside:avoid;}
.station-toolbox #menu-shortcuts kbd{font-size:clamp(9px,calc(.7 * var(--station-unit)),14px);color:#526f4f;}
.landing .menu-section:not(.station-console):not(.station-profile):not(.station-news):not(.station-book):not(.station-toolbox){width:min(1200px,calc(100% - 40px));height:calc(100dvh - 70px);aspect-ratio:auto;border:3px solid #7a9479;box-shadow:0 6px 0 #152e25;border-radius:8px;}
.landing .menu-section:not(.station-console):not(.station-profile):not(.station-news):not(.station-book):not(.station-toolbox)>.menu-section-header{padding-left:155px;}
.landing .menu-centered-card{background:#f6f2df;border-color:#a3b193;color:#2e503f;border-radius:5px;}
.landing .menu-big-icon{background:#dce4c8;color:#4e7254;border-color:#a3b193;}
.landing .menu-room-list{gap:20px;}
.landing .menu-room-list .menu-room-card{height:180px;}
.landing .menu-waiting #menu-waiting-preview{background:#284939;}
.landing .menu-waiting .menu-setup-footer{background:#d7dfc7;border-color:#a4b494;}
.landing .menu-waiting .menu-lobby-facts dt{color:#68805e;}
.landing .menu-waiting .menu-lobby-facts dd{color:#2b513e;}
.menu-lobby-closed{box-sizing:border-box;width:min(420px,calc(100vw - 32px));padding:22px;background:#192d2a;color:#e1ead9;border:1px solid #91ac8f;border-radius:4px;box-shadow:0 12px 60px #071712a0;font-size:13px;line-height:1.7;}
.menu-lobby-closed h2{margin:0 0 16px;font-size:18px;line-height:1.4;}
.menu-lobby-closed-return{width:100%;background:#3a6858;border:1px solid #94a979;color:#fff5d6;letter-spacing:.05em;}
.menu-lobby-closed-return:hover{background:#4b7f67;}
.landing[data-transitioning=true]{pointer-events:none;}
.landing[data-view=profile] .raised-ticket{animation:ticket-rise .48s cubic-bezier(.2,.8,.2,1);}
@keyframes ticket-rise{from{transform:translateY(75%) perspective(1100px) rotateX(18deg);opacity:.2}to{transform:translateY(0);opacity:1}}
.landing .station-arriving{animation:station-arrival .38s ease-out;}
@keyframes station-arrival{from{opacity:.15}to{opacity:1}}
body:not(.playing)>#error{bottom:10px;z-index:100;background:#fff1d9;color:#863d2e;border:1px solid #ba805d;box-shadow:0 3px 14px #102d2355;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;}
body:not(.playing)>#error:empty{display:none;}
.menu-preview-back{background:#f4edda!important;color:#2b5140!important;border:1px solid #759375!important;}
@media(max-width:900px){
 .landing .menu-section{width:100%;min-height:640px;aspect-ratio:auto;height:100dvh;}
 .station-home{width:100%;min-height:620px;aspect-ratio:auto;height:100dvh;}
 .station-scenery{background-size:100% 100%;}
 .landing #menu-public-cards{left:4%;right:4%;height:15%;top:18%;gap:2%;}
 .station-departures-label{left:4%;right:4%;top:15%;font-size:11px;}
 .landing .menu-room-card{border-width:3px;padding:6px;grid-template-columns:30% 1fr;}
 .landing .station-train{top:38%;height:32%;width:23%;}
 .train-solo{left:0;}.train-create{left:25%;}.train-join{left:50%;}.train-ranked{left:75%;}
 .train-sign{font-size:12px;padding:3px 5px;white-space:normal;line-height:1.2;margin-bottom:12%;}
 .train-platform{font-size:8px;left:3%;right:3%;}
 .train-art{background-size:400% 100%;}
 .landing .station-service{bottom:24%;height:18%;width:16%;}
 .service-news{left:17%;}.service-guide{left:42%;}.service-settings{left:67%;}
 .service-sign{font-size:10px;letter-spacing:0;}
 .station-ticket{left:5%;right:5%;height:19%;bottom:3%;padding:12px;transform:perspective(1000px) rotateX(8deg);}
 .ticket-heading{font-size:8px;margin-bottom:8px;}
 .ticket-fields{height:65%;}
 .ticket-fields small{font-size:9px;letter-spacing:0;}
 .ticket-fields strong{font-size:14px;}
 .ticket-edit{font-size:8px;}.ticket-footer{font-size:7px;}
 .station-status{font-size:9px;bottom:1%;}
 .station-console #menu-setup-scroll{left:8%;width:57%;top:36%;height:39%;}
 .station-console>.menu-section-header{left:8%;top:30%;width:83%;}
 .station-console{background-size:100% 100%!important;}
 .console-passengers{left:69%;width:24%;top:36%;height:39%;}
 .station-console .menu-setup-footer{left:8%;width:83%;bottom:10%;}
 .station-console .menu-map-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
 .station-console .menu-options-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .station-console .menu-options-grid label,.station-console .menu-options-grid input,.station-console .menu-options-grid select{font-size:12px;}
 .station-console .menu-map-choice strong{font-size:9px;}
 .station-console .menu-search input{font-size:11px;}
 .station-console .menu-member{font-size:11px;}
 .station-console .menu-segmented button{font-size:9px;}
 .station-console>.menu-section-header h1{font-size:15px;}
 .station-console .menu-code{font-size:10px;max-width:160px;overflow:hidden;}
 .station-profile>.menu-section-header{top:8%;}
 .raised-ticket{left:5%;right:5%;top:20%;bottom:7%;padding:25px;}
 .ticket-details{padding-top:20px;}
 .ticket-details h2{font-size:26px;}
 .ticket-tabs{gap:5px;}
 .landing .ticket-tabs button{font-size:11px;padding:7px;}
 .station-news #menu-news-list{left:8%;right:8%;top:23%;bottom:6%;}
 .station-news>.menu-section-header{top:10%;}
 .news-editions{left:8%;right:8%;top:17%;gap:6px;}
 .landing .news-editions button{font-size:10px;padding:5px;}
 .newspaper-masthead{font-size:32px;}
 .landing .menu-news-article h2{font-size:26px;}
 .landing .menu-news-article p{font-size:15px;}
 .landing .menu-news-article li{font-size:13px;}
 .newspaper-meta{font-size:10px;}
 .station-book{background-size:100% 100%!important;}
 .book-left{left:7%;width:37%;top:29%;height:44%;}
 .book-right{left:55%;width:37%;top:29%;height:45%;}
 .book-left h2{font-size:26px;}
 .book-left p,.book-right article>p:not(.station-eyebrow){font-size:13px;}
 .landing .book-contents button{font-size:12px;gap:7px;}
 .book-right h2{font-size:20px;}
 .station-toolbox{background-size:100% 100%!important;}
 .station-toolbox>.menu-section-header{left:29%;width:61%;top:22%;}
 .station-toolbox>.menu-section-header h1{font-size:26px;}
 .station-toolbox .menu-settings-tabs{left:29%;right:8%;top:33%;}
 .station-toolbox>.menu-section-scroll{left:11%;width:77%;top:49%;height:29%;}
 .station-toolbox .menu-setting-row strong,.station-toolbox .graphics-settings label>span{font-size:12px;}
 .station-toolbox .menu-setting-row select{font-size:11px;}
 .station-toolbox #menu-display-settings p{font-size:10px;}
}
@media(max-width:540px){
 .station-home{min-height:760px;}
 .station-departures-label{top:14%;font-size:10px;}
 .landing #menu-public-cards{top:17%;height:15%;left:2%;right:2%;gap:2%;}
 .landing #menu-public-cards .menu-room-card{grid-template-columns:1fr;grid-template-rows:24% 22% 32% 22%;padding:5px;}
 #menu-public-cards .menu-room-card>canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.15;}
 #menu-public-cards .menu-card-label strong,#menu-public-cards .menu-card-label small,#menu-public-cards .menu-card-badge,#menu-public-cards .menu-card-timer{grid-column:1;z-index:1;}
 #menu-public-cards .menu-card-label strong{font-size:11px;}
 #menu-public-cards .menu-card-badge{font-size:8px;}
 #menu-public-cards .menu-card-timer{font-size:19px;}
 #menu-public-cards .menu-card-seats{left:50%;transform:translateX(-50%);bottom:0;font-size:8px;z-index:2;white-space:nowrap;}
 #menu-public-cards .menu-card-label small{display:none;}
 .landing .station-train{height:25%;top:38%;}
 .train-art{background-size:400% auto;background-position-y:bottom;}
 .train-sign{position:absolute;bottom:36%;font-size:10px;padding:3px 4px;margin:0;max-width:98%;}
 .train-platform{font-size:7px;}
 .landing .station-service{bottom:27%;width:23%;height:14%;}
 .service-news{left:14%;}.service-guide{left:39%;}.service-settings{left:64%;}
 .service-sign{font-size:10px;}
 .station-ticket{height:21%;bottom:4%;left:3%;right:3%;padding:10px;}
 .station-ticket .ticket-heading>span:last-child{display:none;}
 .raised-ticket .ticket-heading{flex-wrap:wrap;gap:2px 1.5em;}
 .ticket-fields{gap:4px;}
 .ticket-fields strong{font-size:12px;}
 .ticket-fields small{font-size:8px;}
 .ticket-edit{font-size:7px;}
 .station-status{font-size:8px;flex-direction:column;align-items:flex-start;gap:2px;}
 .station-status p{max-width:100%;text-align:left;}
 .landing #menu-resume{left:15%;right:15%;top:33%;}
 .landing .station-console{height:auto;min-height:100dvh;background-size:100% 100%!important;background-position:center;background-color:#294b3e;aspect-ratio:auto;overflow:visible;padding:185px 16px 25px;display:flex;flex-direction:column;}
 .station-console>.menu-section-header{position:static;display:flex;width:100%;height:auto;min-height:35px;margin-bottom:12px;flex-wrap:wrap;background:#274638e8;border-radius:4px;padding:8px;}
 .station-console #menu-setup-scroll{position:static;flex:none;width:100%;height:420px;max-height:420px;background:#294938f5;padding:12px;border:1px solid #adad76;border-radius:5px;}
 .station-console .console-passengers{position:static;width:100%;height:auto;max-height:230px;min-height:0;background:#284937f5;border:1px solid #a3a872;border-radius:5px;padding:14px;margin-top:14px;}
 .station-console .menu-setup-footer{position:static;width:100%;height:auto;background:#294a39;padding:12px;margin-top:12px;border-radius:4px;}
 .station-console .menu-member{font-size:13px;}
 .station-console .menu-members{display:grid;grid-template-columns:1fr 1fr;}
 .station-console .menu-map-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .station-console .menu-map-heading h2{font-size:13px;}
 .station-console .menu-options-grid{gap:7px;}
 .station-console .menu-options-grid>label{padding:7px;font-size:11px;}
 .station-console .menu-options-grid input,.station-console .menu-options-grid select{font-size:12px;}
 .station-console .menu-setup-group>h2{font-size:13px;}
 .station-profile{min-height:800px!important;}
 .raised-ticket{padding:20px 15px;left:4%;right:4%;}
 .ticket-details input{font-size:16px;}
 .ticket-details p{font-size:12px;}
 .station-news{min-height:850px!important;}
 .station-news #menu-news-list{left:5%;right:5%;top:25%;}
 .news-editions{flex-wrap:wrap;top:16%;}
 .landing .news-editions button{font-size:10px;}
 .newspaper-masthead{font-size:28px;}
 .landing .menu-news-article ul{grid-template-columns:1fr;gap:0;}
 .landing .menu-news-article li{border-right:0;border-bottom:1px solid #adb68f;padding:8px 0;margin:0;}
 .landing .station-book{min-height:900px;height:auto;display:flex;flex-direction:column;padding:110px 26px 35px;background-size:100% 100%;}
  .station-book>.menu-section-header{top:65px;left:20%;right:20%;}
  .book-left,.book-right{position:static;width:100%;height:auto;padding:20px;background:#f9f5e4;border:1px solid #c0c7aa;}
 .book-left{border-radius:6px 6px 0 0;border-bottom-style:dashed;}
 .book-right{border-top:0;border-radius:0 0 6px 6px;}
 .book-left h2{font-size:28px;}
 .book-left h2 br{display:none;}
 .book-left .book-contents{margin:12px 0;}
  .book-right svg{max-height:160px;}
  .landing .station-toolbox{min-height:900px;background-size:100% 100%;}
 .station-toolbox>.menu-section-header{left:10%;width:80%;top:22%;text-align:center;}
 .station-toolbox>.menu-section-header h1{font-size:24px;}
 .station-toolbox .menu-settings-tabs{left:8%;right:8%;top:34%;justify-content:center;gap:6px;}
 .station-toolbox .menu-settings-tabs button{font-size:11px;padding:7px;}
 .station-toolbox>.menu-section-scroll{left:8%;width:84%;top:48%;height:31%;padding:0 8px;background:#f5efdc;}
 .station-toolbox #menu-display-settings{grid-template-columns:1fr;gap:20px;}
 .station-toolbox #menu-shortcuts{columns:1;}
 .station-toolbox .menu-setting-row{padding:9px 0;}
 .station-toolbox .menu-setting-row strong,.station-toolbox .graphics-settings label>span{font-size:12px;}
 .station-toolbox .menu-setting-row select{font-size:12px;}
 .landing .menu-section:not(.station-console):not(.station-profile):not(.station-news):not(.station-book):not(.station-toolbox){width:calc(100% - 20px);margin:65px 10px 20px;height:calc(100dvh - 90px);}
 .landing .menu-section:not(.station-console):not(.station-profile):not(.station-news):not(.station-book):not(.station-toolbox)>.menu-section-header{padding:65px 18px 15px;}
 .landing .menu-room-list{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){.landing *,.landing *::before,.landing *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}.landing .train-art{transform:none!important;}}

/* Corrected artwork coordinates: percentages follow the independently stretched image.
   Mild perspective/shear follows the console and toolbox recess edges. */
.landing{background:#203b35 url('/assets/station-study-2026-09-13/station-background.png') center/100% 100% fixed;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% fixed;}
.station-departures-label{justify-content:flex-end;}
.station-ticket .ticket-heading{justify-content:flex-start;align-items:center;gap:1.5em;}
.station-ticket .ticket-heading>span:last-child{display:inline;text-transform:none;letter-spacing:0;}
.ticket-fields{height:76%;}
.landing .ticket-field{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:3% 7%;border:1px solid #84977b;border-radius:4px;}
.landing .ticket-field input{width:100%;min-width:0;padding:0;border:0;border-bottom:1px dotted #8f9d7f;border-radius:0;background:transparent;font-size:clamp(14px,1.4vw,29px);font-weight:600;}
.landing .ticket-field select{width:100%;min-width:0;padding:0 0 2px;border:0;border-bottom:1px dotted #8f9d7f;border-radius:0;background:transparent;font-size:clamp(14px,1.4vw,29px);font-weight:600;appearance:auto;}
.profile-error{display:block;color:#872f20;font-size:11px;line-height:1.2;white-space:normal;}
.profile-error:empty{display:none;}
.profile-name-visibility{display:block;color:#315e45;font-size:11px;line-height:1.25;white-space:normal;}
.profile-name-visibility:empty{display:none;}
.ticket-field .profile-name-visibility{position:absolute;top:100%;left:0;right:0;z-index:6;background:#f1efd4;padding:4px;box-shadow:0 2px 5px #203b3540;}
.ticket-field .profile-error{position:absolute;top:100%;left:0;right:0;z-index:6;background:#fff4d7;padding:3px;box-shadow:0 2px 5px #203b3540;}
.landing .menu-room-card{display:block;isolation:isolate;}
.landing .menu-room-card>canvas{position:absolute;inset:0;z-index:-1;object-fit:cover;width:100%;height:100%;opacity:1;}
.landing .menu-card-label strong{position:absolute;top:5%;left:3%;max-width:55%;font-size:clamp(12px,1.05vw,22px);text-align:left;background:#20333be8;}
.landing .menu-card-timer,.landing .menu-card-seats{position:absolute;right:3%;left:auto;display:flex;gap:2px;font-size:clamp(16px,1.65vw,34px);font-weight:400;line-height:1.2;letter-spacing:.02em;transform:none;padding:0;background:none;}
.landing .menu-card-timer{top:5%;bottom:auto;}
.landing .menu-card-seats{bottom:5%;}
.landing .menu-card-badge{position:absolute;left:3%;right:33%;bottom:6%;top:auto;display:flex;flex-wrap:wrap;align-items:flex-start;gap:5px;background:none;text-align:left;white-space:normal;padding:0;overflow:visible;}
.travel-sticker{display:inline-block;padding:2px 6px;border:2px double #90764c;background:#f4e4b9;color:#2c453c;font-size:clamp(9px,.68vw,14px);line-height:1.25;font-weight:bold;letter-spacing:.02em;box-shadow:1px 2px 2px #142f3566;transform:rotate(-3deg);}
.travel-sticker:nth-child(even){transform:rotate(2deg);background:#cddac0;}
.landing .station-train{top:auto;bottom:23%;height:39%;width:23%;}
.train-solo{left:4%;--wheel-x:39%;}.train-create{left:26.8%;--wheel-x:36%;}.train-join{left:50%;--wheel-x:66%;}.train-ranked{left:73%;--wheel-x:70%;}
.train-art{inset:0;background-size:400% 100%;transform-origin:var(--wheel-x) 92%;}
@keyframes train-idle{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.003)}}
.train-sign{margin-bottom:10%;}
.landing .station-service{bottom:21%;width:9%;height:21%;}
.service-news{left:23%;}.service-guide{left:45.5%;}.service-settings{left:68.5%;}
.service-sign{left:8%;right:8%;text-align:center;}
.service-news .service-sign{left:24%;right:3%;}
.service-settings .service-sign{left:18%;right:18%;}
.station-console>.menu-section-header{inset:0;width:100%;height:100%;pointer-events:none;}
.station-console>.menu-section-header>button,.station-console>.menu-section-header>div{pointer-events:auto;}
.station-console #menu-room-visibility{position:absolute;top:13.8%;left:64%;width:18%;display:flex;justify-content:center;gap:6px;border:0;background:none;}
.station-console #menu-room-visibility button{display:flex;gap:1px;border:0;background:#223e36;padding:4px;font-size:clamp(10px,1vw,20px);}
.station-console #menu-room-visibility,.station-console #menu-copy-code{z-index:2;}
.station-console>.menu-section-header #menu-copy-code{position:absolute;top:20%;left:64%;width:18%;max-width:none;font-size:clamp(12px,1.1vw,22px);background:#f5efdcdf;color:#25463c;border:1px solid #516f56;padding:5px;}
.station-console #menu-setup-scroll{left:15%;top:35.7%;width:47.7%;height:35.5%;transform:perspective(1800px) rotateX(2deg) skewX(-2.1deg);transform-origin:100% 0;padding:6px 12px 10px;}
.station-console .console-passengers{left:66.7%;top:36%;width:17.7%;height:35%;transform:skewX(2.2deg);transform-origin:0 0;padding:0 6px;}
.station-console .console-roster-heading{padding-bottom:3px;margin-bottom:0;}
.station-console #station-solo-roster>p,.station-console .menu-roster>p{text-align:right;margin:3px 0 9px;font-size:clamp(10px,.78vw,16px);}
.station-console .menu-members{gap:0;}
.station-console .menu-member,.station-console .menu-member.is-empty{background:transparent;border:0;border-bottom:1px solid #82977770;border-radius:0;padding:9px 3px;}
.station-console .menu-setup-footer{left:14.2%;top:79.7%;bottom:auto;width:70.7%;height:8.8%;display:block;}
.station-console #menu-setup-actions{display:flex;height:100%;gap:4%;}
.landing .station-console #menu-setup-actions>#online-start{flex:0 0 48%;margin-left:auto;}
.landing .station-console #menu-setup-actions>button{height:100%;background:transparent;border:0;box-shadow:none;font-size:clamp(15px,1.3vw,27px);font-weight:700;color:#f4efd3;transform:skewX(-5deg);}
.landing .station-console #menu-setup-actions>button:last-child,.landing .station-console #menu-setup-actions>#play{transform:skewX(5deg);}
.landing .station-console #menu-setup-actions>button:hover{color:#ffe49a;text-shadow:0 0 12px #ffe49a88;}
.landing .station-console #menu-setup-actions>button:disabled{background:transparent;color:#a0aa91;opacity:.5;}
.station-console .menu-setup-footer output{position:absolute;bottom:100%;left:0;right:0;}
.station-news #menu-news-list{top:9%;bottom:4%;}
.landing .menu-news-article+article{margin-top:24px;}
.station-toolbox>.menu-section-scroll{top:49%;left:19.7%;width:60%;height:28.8%;overflow:visible;}
.station-toolbox #menu-display-settings,.station-toolbox #menu-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:5%;height:100%;columns:auto;}
.station-toolbox .toolbox-compartment{height:100%;overflow:auto;padding:6px 12px 14px;transform:perspective(1800px) rotateX(3deg) skewX(-4.2deg);transform-origin:100% 0;scrollbar-width:thin;scrollbar-color:#829777 transparent;}
.station-toolbox .toolbox-compartment:nth-child(2){transform:perspective(1800px) rotateX(3deg) skewX(4.2deg);transform-origin:0 0;}
.station-toolbox .graphics-settings label{flex-wrap:wrap;}
@media(min-width:541px) and (max-width:900px){
 .landing .station-train{height:30%;bottom:27%;}
 .landing .station-service{height:16%;bottom:25%;}
 .station-toolbox>.menu-section-header{left:34%;width:49%;top:20%;}
 .station-toolbox>.menu-section-header h1{font-size:22px;}
 .station-toolbox .menu-settings-tabs{left:34%;right:16%;top:32%;}
 .station-toolbox .menu-settings-tabs button{font-size:11px;padding:5px;}
 .station-console .menu-map-heading{flex-wrap:wrap;}
 .station-console .menu-search{max-width:100%;}
 .station-console .console-passengers{font-size:11px;}
}
@media(max-width:540px){
 .station-home{height:auto;min-height:1100px;}
 .landing #menu-public-cards{top:14%;height:34%;left:8%;right:8%;grid-template-columns:1fr;grid-template-rows:repeat(4,1fr);gap:10px;}
 .landing #menu-public-cards .menu-room-card{padding:8px;}
 #menu-public-cards .menu-room-card>canvas{opacity:1;}
 .landing #menu-public-cards .menu-card-label strong{font-size:15px;}
 .landing #menu-public-cards .menu-card-timer,.landing #menu-public-cards .menu-card-seats{font-size:24px;left:auto;right:3%;transform:none;}
 .landing #menu-public-cards .menu-card-badge{font-size:11px;}
 .travel-sticker{font-size:11px;}
 .station-departures-label{top:10%;left:8%;right:8%;}
 .landing .station-train{height:13%;bottom:35%;width:24%;}
 .train-solo{left:0;}.train-create{left:25%;}.train-join{left:50%;}.train-ranked{left:75%;}
 .train-art{background-size:400% 100%;}
 .train-sign{bottom:0;}
 .landing .station-service{bottom:23%;height:13%;width:23%;}
 .service-news{left:12%;}.service-guide{left:37%;}.service-settings{left:62%;}
  .station-ticket{height:20%;bottom:2.5%;transform:none;}
  .station-ticket .ticket-heading{flex-wrap:wrap;gap:2px;font-size:10px;}
  .station-ticket .ticket-heading>span{width:100%;}
  .ticket-fields{height:76%;gap:6px;}
  .landing .ticket-field{padding:4px 9px;}
  .landing .ticket-field input,.landing .ticket-field select{font-size:16px;}
 .ticket-fields small{font-size:10px;}
 .ticket-fields strong{font-size:14px;}
 .station-console>.menu-section-header{position:static;pointer-events:auto;min-height:0;padding:0;background:none;border:0;margin-bottom:12px;}
 .station-console #menu-room-visibility,.station-console>.menu-section-header #menu-copy-code{position:static;width:100%;}
 .station-console #menu-room-visibility button{font-size:14px;}
 .station-console #menu-setup-scroll{position:static;width:100%;height:420px;transform:none;padding:12px;}
 .station-console .console-passengers{position:static;width:100%;height:auto;transform:none;max-height:240px;}
 .station-console .menu-setup-footer{position:relative;left:auto;top:auto;bottom:auto;width:100%;height:85px;}
 .landing .station-console #menu-setup-actions>button{font-size:15px;transform:none!important;}
 .landing .station-console #menu-setup-actions>#online-start{flex:1;}
 .station-news #menu-news-list{top:10%;bottom:3%;left:5%;right:5%;}
 .station-toolbox>.menu-section-header{top:19%;left:8%;width:84%;}
 .station-toolbox>.menu-section-scroll{left:8%;width:84%;top:45%;height:36%;overflow:auto;background:#f5efdc;padding:10px;}
 .station-toolbox #menu-display-settings,.station-toolbox #menu-shortcuts{display:block;height:auto;}
 .station-toolbox .toolbox-compartment,.station-toolbox .toolbox-compartment:nth-child(2){transform:none;height:auto;overflow:visible;padding:5px 2px 20px;}
}
/* Front wheel anchors measured in each train cell; rail points are normalized
   against the station background. Idle compression fixes the contact point. */
@media(min-width:541px){
 .landing .station-train{--train-width:23%;width:var(--train-width);left:calc(var(--rail-x) - .23 * var(--wheel-x));bottom:23%;}
 .train-solo{--rail-x:13%;--wheel-x:39%;}
 .train-create{--rail-x:35.1%;--wheel-x:36%;}
 .train-join{--rail-x:65.2%;--wheel-x:66%;}
 .train-ranked{--rail-x:89.1%;--wheel-x:70%;}
}
.landing .menu-member{white-space:normal;overflow-wrap:anywhere;min-width:0;}
@media(min-width:541px) and (max-width:900px){
 .station-toolbox .menu-setting-row select{width:55%;}
 .station-toolbox .graphics-settings label>select{width:100%;max-width:100%;}
}
@media(max-width:540px){.station-console .menu-members{display:flex;flex-direction:column;}}

.landing .menu-room-card[aria-disabled=true]{opacity:.7;cursor:default;}

/* Keep station placement compatible with the production stylesheet-only CSP. */
.station-train:nth-child(1) { --train-column: 0; }
.station-train:nth-child(2) { --train-column: 1; }
.station-train:nth-child(3) { --train-column: 2; }
.station-train:nth-child(4) { --train-column: 3; }
.station-service:nth-child(1) { --service-column: 0; }
.station-service:nth-child(2) { --service-column: 1; }
.station-service:nth-child(3) { --service-column: 2; }
/* Art Nouveau ticket engraving and a shared, readable station return sign. */
.landing .menu-back{position:fixed!important;top:16px!important;left:16px!important;width:180px!important;min-height:52px!important;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 19px!important;border:0!important;border-radius:0!important;background:url('/assets/station-study-2026-09-13/station-sign.svg') center/100% 100% no-repeat!important;color:#f9efd0!important;box-shadow:none!important;font-size:22px;line-height:1;z-index:50;}
.landing .menu-back span{font-size:19px;letter-spacing:.055em;}
.landing .menu-back:hover{filter:brightness(1.15);}
.landing .station-login-sign{position:absolute;top:16px;right:16px;z-index:50;width:180px;min-height:52px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:10px 44px;background:url('/assets/station-study-2026-09-13/login-sign.svg') center/100% 100% no-repeat;color:#f9efd0;text-decoration:none;font-size:19px;line-height:1.2;letter-spacing:.03em;white-space:nowrap;}
.landing .station-login-sign:hover{filter:brightness(1.15);color:#fff8df;}
.station-ticket,.raised-ticket{background:radial-gradient(circle at 0 0,#c9b77a 0 4px,transparent 5px),radial-gradient(circle at 100% 0,#c9b77a 0 4px,transparent 5px),linear-gradient(125deg,#fffae9,#eee7cf 55%,#faf3dc);border:4px double #65836a;outline:1px solid #d3bc7d;outline-offset:-11px;box-shadow:0 5px 0 #ab9870,0 10px 20px #132c2870;}
.station-ticket::after,.raised-ticket::after{content:'';position:absolute;left:50%;top:2px;width:108px;height:19px;transform:translateX(-50%);background:url('/assets/station-study-2026-09-13/ticket-crest.svg') center/contain no-repeat;pointer-events:none;}
.ticket-corner{position:absolute;width:36px;height:36px;background:url('/assets/station-study-2026-09-13/ticket-corner.svg') center/contain no-repeat;pointer-events:none;z-index:1;}
.ticket-corner-top-left{top:9px;left:9px;}
.ticket-corner-top-right{top:9px;right:9px;transform:scaleX(-1);}
.ticket-corner-bottom-left{bottom:9px;left:9px;transform:scaleY(-1);}
.ticket-corner-bottom-right{bottom:9px;right:9px;transform:scale(-1);}
.station-ticket .ticket-corner{width:27px;height:27px;}
.raised-ticket .ticket-corner{width:42px;height:42px;}
@media(max-width:540px){.station-ticket .ticket-corner,.station-ticket::after,.raised-ticket .ticket-corner{display:none;}.raised-ticket::after{width:76px;height:14px;}}
.ticket-heading{border-bottom:1px solid #b5ae82;padding-bottom:3px;}
.landing .ticket-field,.landing .ticket-fields>button{background:#f7f3e4bb;border:1px solid #9eaa86;box-shadow:inset 0 0 0 3px #eee9d1;}
/* Toolbox lid: two inset bays hold the live HTML tab buttons. */
.station-toolbox .menu-settings-tabs{top:32%;left:33%;right:17%;display:grid;grid-template-columns:1fr 1fr;gap:3%;padding:7px;background:linear-gradient(#203a33,#39584a);border:2px ridge #b3a06c;border-radius:9px;box-shadow:inset 0 6px 12px #091c19,0 3px 0 #1c322a;}
.station-toolbox .menu-settings-tabs button{min-height:44px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#f4efd3;font-size:clamp(15px,1.3vw,27px);font-weight:700;text-shadow:none;text-transform:none;transform:skewX(-5deg);}
.station-toolbox .menu-settings-tabs button:focus-visible{outline:0;color:#ffe49a;text-shadow:0 0 12px #ffe49a88;}
.station-toolbox .menu-settings-tabs button[data-settings-tab=display]{font-style:italic;}
.station-toolbox .menu-settings-tabs button[aria-selected=true]{background:transparent;color:#ffe49a;text-shadow:0 0 12px #ffe49a88;}
.station-toolbox .menu-settings-tabs button:hover{background:transparent;color:#ffe49a;text-shadow:0 0 12px #ffe49a88;}
.station-modern-console,.station-ranked-console{background:#152e30 url('/assets/station-study-2026-09-13/modern-console.svg') center/100% 100% no-repeat!important;color:#e9e6cf!important;}
.station-ranked-console{background-image:url('/assets/station-study-2026-09-13/ranked-console.svg')!important;}
.landing .station-modern-console>.menu-section-header,.landing .station-ranked-console>.menu-section-header{position:absolute;top:18%;left:19%;right:19%;padding:0;border:0;min-height:0;justify-content:center;}
.station-modern-console>.menu-section-header h1,.station-ranked-console>.menu-section-header h1{flex:0 1 auto;color:#d5e6d6;font-size:clamp(20px,2vw,35px);letter-spacing:.12em;text-transform:uppercase;text-align:center;}
.landing .station-modern-console>.menu-section-scroll,.landing .station-ranked-console>.menu-section-scroll{position:absolute;left:19%;right:19%;top:29%;height:54%;padding:14px;overflow:auto;scrollbar-color:#8ba491 transparent;}
.landing .station-modern-console .menu-centered-card,.landing .station-ranked-console .menu-centered-card{width:min(100%,760px);max-width:none;margin:auto;background:#173a3cdd;border:1px solid #80a696;border-radius:16px;color:#edf0d8;box-shadow:inset 0 0 0 4px #203f3b,0 8px 20px #071b1a80;}
.station-modern-console .menu-big-icon,.station-ranked-console .menu-big-icon{border-radius:50%;background:radial-gradient(circle,#709c88,#244b46 60%,#c4ad72 64%,#183a39 72%);color:#f7eac2;border:0;box-shadow:0 3px 8px #081c1b;}
.station-modern-console .menu-centered-card h2,.station-ranked-console .menu-centered-card h2{color:#f5eac7;}
.station-modern-console .menu-centered-card p,.station-ranked-console .menu-centered-card p{color:#c3d4c3;}
.station-modern-console .menu-centered-card label,.station-ranked-console .menu-centered-card label{color:#d9e4d2;}
.station-modern-console .menu-centered-card input,.station-ranked-console .menu-centered-card select{background:#dce5d3;border:2px inset #729686;color:#1b3933;}
.station-modern-console .menu-primary,.station-ranked-console .menu-primary{background:linear-gradient(#a5b99b,#4d7768);border:2px solid #d5be7b;border-radius:32px;box-shadow:inset 0 2px 3px #e6eacd,0 5px 0 #0f2e2b;color:#122e2b;font-weight:700;}
.station-modern-console #menu-join-error{max-width:760px;margin:12px auto;color:#ffe0b0;text-align:center;}
.station-ranked-console .menu-centered-card{background:#102c39e8;border-color:#76a7b4;}
.station-ranked-console .menu-primary{background:linear-gradient(#a9d9d8,#447d8c);}
.station-departure-board{background:repeating-linear-gradient(90deg,#142d32 0 8px,#173438 8px 16px)!important;color:#f0ecd4!important;border:10px double #c6b57d!important;box-shadow:inset 0 0 0 8px #315649,0 0 22px #081e20!important;}
.station-departure-board::before,.station-departure-board::after{content:'❦';position:absolute;top:12px;color:#c7b47e;font-size:35px;}.station-departure-board::before{left:22%;}.station-departure-board::after{right:22%;}
.landing .station-departure-board>.menu-section-header{border-bottom:2px solid #b7a774!important;justify-content:center;padding-left:24px!important;padding-right:24px!important;}
.station-departure-board>.menu-section-header h1{flex:1;text-align:center;color:#f4e8bf;letter-spacing:.14em;text-transform:uppercase;}
.station-departure-board #menu-room-search{background:#e5ead5;}
.station-departure-board .menu-room-card{border-color:#9aaf8f;background:#243b41;}
@media(max-width:700px){
 .landing .menu-back{top:8px!important;left:8px!important;width:135px!important;min-height:40px!important;font-size:17px;}.landing .menu-back span{font-size:15px;}
 .landing .station-login-sign{top:8px;right:8px;width:135px;min-height:44px;padding:8px 32px;font-size:15px;}
 .station-toolbox .menu-settings-tabs{left:8%;right:8%;top:34%;padding:4px;gap:5px;}.station-toolbox .menu-settings-tabs button{min-height:37px;font-size:11px;}
 .landing .station-modern-console,.landing .station-ranked-console{background-size:auto 100%!important;}
 .landing .station-modern-console>.menu-section-header,.landing .station-ranked-console>.menu-section-header{top:70px;left:5%;right:5%;}
 .landing .station-modern-console>.menu-section-scroll,.landing .station-ranked-console>.menu-section-scroll{top:135px;left:5%;right:5%;height:calc(100% - 160px);padding:8px;}
 .landing .station-modern-console .menu-centered-card,.landing .station-ranked-console .menu-centered-card{padding:20px 16px;gap:14px;}
 .station-departure-board::before,.station-departure-board::after{display:none;}
 .station-departure-board>.menu-section-header{padding-top:62px!important;}
}
.landing .menu-section.station-modern-console,.landing .menu-section.station-ranked-console,.landing .menu-section.station-departure-board{width:100%!important;height:100dvh!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.landing .menu-section.station-departure-board{border:10px double #c6b57d!important;box-shadow:inset 0 0 0 8px #315649,0 0 22px #081e20!important;}
.landing .menu-content{padding:0!important;}
.landing .menu-section{box-sizing:border-box;}
.landing .menu-content{grid-template-columns:minmax(0,1fr);}
.landing .menu-section.station-modern-console,.landing .menu-section.station-ranked-console,.landing .menu-section.station-departure-board{min-width:0!important;margin:0!important;}
@media(max-width:700px){
 .landing .station-modern-console:not(.menu-waiting)>.menu-section-scroll,.landing .station-ranked-console>.menu-section-scroll{top:190px;height:calc(100% - 215px);}
}
.station-toolbox .menu-settings-tabs{background:url('/assets/station-study-2026-09-13/toolbox-lid-recesses.svg') center/100% 100% no-repeat;border:0;box-shadow:none;padding:9px;}
/* Join and Ranked use dashboard bays; Waiting panels use the whole page. */
.landing [data-menu-page="join"].station-modern-console,.landing [data-menu-page="waiting"].station-modern-console{background:#152e30 url('/assets/station-study-2026-09-13/join-console-tgv.png') center/100% 100% no-repeat!important;}
.landing [data-menu-page="join"]>.menu-section-header,.landing [data-menu-page="ranked"]>.menu-section-header{position:absolute;top:0;left:0;width:100%;height:0;min-height:0;padding:0;border:0;pointer-events:none;}
.landing [data-menu-page="join"]>.menu-section-scroll{left:18.5%;right:auto;top:38%;width:63%;height:32%;padding:0;overflow:auto;scrollbar-color:#8ba491 transparent;}
.landing [data-menu-page="join"]>.menu-section-scroll{display:grid;grid-template-rows:minmax(0,1fr) auto;row-gap:3%;}
.landing [data-menu-page="waiting"] .waiting-layout-panel{position:absolute;left:var(--setup-x,0%);top:var(--setup-y,0%);width:var(--setup-width,100%);height:var(--setup-height,100%);right:auto;bottom:auto;transform:rotate(var(--setup-tilt,0deg)) skewX(var(--setup-skew,0deg));min-width:0;min-height:0;}
.landing [data-menu-page="ranked"].station-ranked-console{background:#152e30 url('/assets/station-study-2026-09-13/ranked-console-shinkansen.png') center/100% 100% no-repeat!important;}
.landing [data-menu-page="ranked"]>.menu-section-scroll{left:14%;right:auto;top:38%;width:72%;height:32%;padding:0;display:grid;grid-template-rows:minmax(0,1fr) auto;row-gap:3%;overflow:auto;scrollbar-color:#8ba491 transparent;}
.landing [data-menu-page="join"] #menu-join-controls,.landing [data-menu-page="ranked"] .menu-centered-card{align-self:stretch;justify-self:center;width:min(100%,850px);max-width:850px;height:100%;margin:0;padding:8px 20px;display:flex;flex-direction:column;justify-content:center;gap:10px;background:transparent;border:0;border-radius:0;color:#edf0d8;box-shadow:none;}
.landing [data-menu-page="join"] #menu-join-controls h2,.landing [data-menu-page="ranked"] .menu-centered-card h2{margin:0;color:#f5eac7;font-size:clamp(17px,1.7vw,27px);}
.landing [data-menu-page="join"] #menu-join-controls p,.landing [data-menu-page="ranked"] .menu-centered-card p{margin:0;color:#c3d4c3;text-align:center;}
.landing [data-menu-page="join"] #menu-join-controls label,.landing [data-menu-page="ranked"] .menu-centered-card label{display:grid;gap:5px;max-width:520px;width:100%;margin:0 auto;color:#d9e4d2;text-align:center;}
.landing [data-menu-page="join"] #menu-join-controls input,.landing [data-menu-page="ranked"] .menu-centered-card input,.landing [data-menu-page="ranked"] .menu-centered-card select{width:100%;background:#dce5d3;border:2px inset #729686;color:#1b3933;}
.landing [data-menu-page="join"] #menu-join-error{align-self:stretch;justify-self:stretch;display:flex;align-items:center;justify-content:center;margin:0;color:#ffe0b0;text-align:center;}
.landing [data-menu-page="join"] #menu-join-error:empty{visibility:hidden;}
.landing [data-menu-page="ranked"] .ranked-console-note{align-self:stretch;justify-self:stretch;margin:0;color:#d8e5d8;text-align:center;background:transparent;border:0;outline:0;box-shadow:none;}
.landing [data-menu-page="join"]>.menu-page-actions,.landing [data-menu-page="waiting"]>.menu-page-actions,.landing [data-menu-page="ranked"]>.menu-page-actions{position:absolute;left:18.5%;top:76%;width:63%;height:13%;right:auto;bottom:auto;padding:0;display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;border:0;box-shadow:none;}
.landing [data-menu-page="ranked"]>.menu-page-actions{left:15%;width:70%;}
.landing [data-menu-page="join"]>.menu-page-actions>#online-join,.landing [data-menu-page="ranked"]>.menu-page-actions>#queue-join{width:min(100%,420px);height:76%;min-height:0;margin:0;}
.landing :is([data-menu-page="join"],[data-menu-page="ranked"])>.menu-page-actions>:is(#online-join,#queue-join){height:100%;padding:6px 15px;background:transparent;border:0;border-radius:0;box-shadow:none;font-size:clamp(15px,1.3vw,27px);font-weight:700;color:#f4efd3;transform:skewX(5deg);}
.landing :is([data-menu-page="join"],[data-menu-page="ranked"])>.menu-page-actions>:is(#online-join,#queue-join):hover{background:transparent;color:#ffe49a;text-shadow:0 0 12px #ffe49a88;}
.landing :is([data-menu-page="join"],[data-menu-page="ranked"])>.menu-page-actions>:is(#online-join,#queue-join):disabled{background:transparent;color:#a0aa91;opacity:.5;}
@media(max-width:540px){
 .landing :is([data-menu-page="join"],[data-menu-page="ranked"])>.menu-page-actions>:is(#online-join,#queue-join){font-size:15px;transform:none;}
}
@media(max-width:700px){
 .landing [data-menu-page="join"].station-modern-console,.landing [data-menu-page="waiting"].station-modern-console,.landing [data-menu-page="ranked"].station-ranked-console{background-size:auto 100%!important;}
 .landing [data-menu-page="join"]>.menu-section-scroll,.landing [data-menu-page="ranked"]>.menu-section-scroll{left:6%;right:6%;top:38%;width:auto;height:34%;padding:8px;background:#17363bbd;border:1px solid #7b9c8a;border-radius:8px;}
 .landing .station-modern-console:not(.menu-waiting)>.menu-section-scroll,.landing .station-ranked-console>.menu-section-scroll{left:6%;right:6%;top:38%;width:auto;height:34%;padding:8px;}
 .landing [data-menu-page="join"] #menu-join-controls,.landing [data-menu-page="ranked"] .menu-centered-card{width:100%;padding:10px 12px;gap:8px;background:transparent;border:0;border-radius:0;box-shadow:none;}
 .landing [data-menu-page="join"]>.menu-page-actions,.landing [data-menu-page="waiting"]>.menu-page-actions,.landing [data-menu-page="ranked"]>.menu-page-actions{left:6%;right:6%;top:76%;width:auto;height:13%;}
}

/* The Gazette uses one framed issue for News, Privacy, Legal and Social Media. */
.station-news .news-paper{position:absolute;left:20%;right:20%;top:17%;bottom:4%;display:flex;flex-direction:column;min-height:0;background:linear-gradient(100deg,#f2ecd8,#faf5e2 11% 90%,#ece7d1);border:3px double #557362;outline:2px solid #c9b47d;outline-offset:-9px;box-shadow:5px 8px 0 #324a3855;color:#354638;}
.station-news .news-paper-corner{position:absolute;z-index:1;width:46px;height:46px;pointer-events:none;border-top:2px solid #b7965a;border-left:2px solid #b7965a;border-radius:75% 0 0 0;}
.station-news .news-paper-corner::before{content:"";position:absolute;width:16px;height:16px;left:7px;top:7px;border-top:2px solid #70917c;border-left:2px solid #70917c;border-radius:100% 0 0 0;}
.station-news .news-paper-corner::after{content:"";position:absolute;width:5px;height:5px;left:29px;top:3px;background:#bb9959;border-radius:50%;}
.station-news .corner-tl{top:10px;left:10px;}.station-news .corner-tr{top:10px;right:10px;transform:scaleX(-1);}.station-news .corner-bl{bottom:10px;left:10px;transform:scaleY(-1);}.station-news .corner-br{bottom:10px;right:10px;transform:scale(-1);}
.station-news .news-paper-heading{flex:none;display:flex;flex-direction:column;align-items:center;padding:18px 6% 0;text-align:center;}
.station-news .news-paper-heading h2{margin:0;color:#2e5145;font:bold clamp(26px,calc(2.8 * var(--station-unit)),55px)/1.16 Georgia,serif;letter-spacing:-.035em;}
.station-news .news-paper-heading p{margin:3px 0 0;color:#648071;font:700 clamp(10px,calc(.9 * var(--station-unit)),15px)/1.4 Arial,sans-serif;letter-spacing:.1em;}
.station-news .news-paper-heading img{display:block;width:min(76%,540px);height:clamp(34px,calc(5 * var(--station-unit)),60px);object-fit:contain;}
.station-news .news-editions{position:absolute;top:auto;bottom:100%;left:4%;right:4%;display:flex;flex-wrap:wrap;align-items:end;gap:6px;z-index:2;}
.landing .station-news nav.news-editions button{display:flex;flex:1;align-items:center;justify-content:center;gap:5px;min-width:min-content;height:49px;padding:8px 8px 5px;border:2px solid #b7985c;border-bottom:0;border-radius:48% 48% 0 0 / 52% 52% 0 0;background:linear-gradient(130deg,#d9e4d2,#b9cdb7 75%,#a8bdab);box-shadow:inset 0 0 0 3px #f3ebd0,2px -2px 5px #1b3f293d;color:#214b40;font:700 clamp(11px,calc(.85 * var(--station-unit)),15px)/1.15 Georgia,serif;white-space:normal;}
.landing .station-news .news-editions button[aria-selected=true]{height:55px;background:linear-gradient(#fff9e8,#faf5e2);border-color:#b7985c;color:#1d513c;box-shadow:inset 0 0 0 3px #e5d4a4,2px -2px 5px #1b3f293d;}
.landing .station-news .news-editions button:hover{filter:brightness(1.07);}
.landing .station-news .news-editions button:focus-visible{outline:3px solid #d39d43;outline-offset:3px;}
.station-news .news-editions button span{color:#ad7f42;font:18px/1 Georgia,serif;}
.station-news #menu-news-list,.station-news #menu-privacy,.station-news #menu-legal,.station-news #menu-social{position:static;left:auto;right:auto;top:auto;bottom:auto;flex:1;min-height:0;padding:0 6%;overflow:auto;border-top:1px solid #8fa182;scrollbar-color:#9bab8b transparent;}
.station-news #menu-privacy[hidden],.station-news #menu-legal[hidden],.station-news #menu-news-list[hidden],.station-news #menu-social[hidden]{display:none;}
.landing .station-news .menu-news-article{min-height:100%;padding:10px 0 25px;background:transparent;border:0;border-bottom:2px solid #aeb590;box-shadow:none;}
.landing .station-news .menu-news-article+article{margin-top:0;padding-top:25px;}
.station-news .newspaper-masthead{display:none;}
.station-news .newspaper-meta{color:#667557;}
.landing .station-news .menu-privacy-article{min-height:100%;padding:10px 0 25px;background:transparent;border:0;box-shadow:none;color:#354638;font:16px/1.55 Georgia,serif;}
.landing .station-news .menu-privacy-article h2{font:700 clamp(24px,2.2vw,40px)/1.2 Georgia,serif;text-align:center;border:0;padding:0;margin:22px 0 18px;}
.landing .station-news .menu-privacy-article h3{font:700 clamp(17px,1.4vw,23px)/1.3 Georgia,serif;margin:24px 0 7px;}
.landing .station-news .menu-privacy-article p{color:#354638;font:inherit;text-align:left;margin:8px 0;overflow-wrap:anywhere;}
.landing .station-news .menu-privacy-article a{color:#235c49;text-decoration-thickness:1px;text-underline-offset:2px;}
.landing .station-news .menu-privacy-article .legal-missing{background:#f7e2bd;padding:1px 4px;color:#713e16;}
.landing .station-news .menu-privacy-article button{margin-top:16px;background:#315746;color:#f9efd3;}
.landing .station-news .menu-privacy-article .legal-report-link{display:inline-block;margin-top:8px;padding:9px 14px;border:1px solid #294f40;background:#315746;color:#f9efd3;font:700 14px/1.25 Arial,sans-serif;text-decoration:none;}
.landing .station-news .menu-privacy-article .legal-report-link:hover{filter:brightness(1.08);}
.landing #menu-privacy-code-output{display:block;margin-top:10px;font:14px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;}
@media(max-width:900px){.station-news .news-paper{left:8%;right:8%;top:23%;bottom:4%;}.station-news .news-paper-heading{padding-top:14px;}.station-news .news-paper-heading img{height:45px;}}
@media(max-width:540px){.station-news .news-paper{left:5%;right:5%;top:21%;bottom:3%;}.station-news .news-paper-heading{padding:16px 4% 0;}.station-news .news-paper-heading h2{font-size:clamp(24px,6.5vw,32px);}.station-news .news-paper-heading p{font-size:10px;letter-spacing:.04em;}.station-news .news-paper-heading img{width:88%;height:33px;}.station-news .news-paper-corner{width:24px;height:24px;}.station-news .news-editions{left:0;right:0;width:100%;gap:3px;}.landing .station-news nav.news-editions button{flex:1;min-width:min-content;height:42px;padding:8px 2px 3px;gap:1px;font-size:9px;}.landing .station-news .news-editions button[aria-selected=true]{height:48px;}.station-news .news-editions button span{font-size:10px;}.station-news #menu-news-list,.station-news #menu-privacy,.station-news #menu-legal,.station-news #menu-social{padding:0 6%;}.landing .station-news .menu-privacy-article{font-size:14px;}}

/* A permanent sign keeps support within reach in every Gazette edition. */
.landing .station-news{height:100dvh;min-height:0!important;}
.station-news .news-editions{right:4%;}
.landing .station-news .news-editions button{flex:1;min-width:0;padding-inline:8px;white-space:normal;line-height:1.15;}
.station-news #menu-donations{position:static;flex:1;min-height:0;padding:0 6%;overflow:auto;border-top:1px solid #8fa182;scrollbar-color:#9bab8b transparent;}
.station-news #menu-donations[hidden]{display:none;}
.station-news .news-donation-footer{flex:none;display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 6% 12px;border-top:1px solid #aeb590;}
.landing .station-news .donation-sign{flex:none;display:grid;place-items:center;width:218px;height:68px;background:url('/assets/donation-sign.svg') center/100% 100% no-repeat;color:#fff0c5;font:700 24px/1 Georgia,serif;letter-spacing:.08em;text-shadow:0 2px 1px #0e3025;filter:drop-shadow(0 3px 2px #24463735);text-decoration:none;transition:filter .15s;}
.landing .station-news .donation-sign:hover{filter:brightness(1.12) drop-shadow(0 3px 2px #24463735);}
.landing .station-news .donation-sign:focus-visible{outline:3px solid #b47d30;outline-offset:3px;border-radius:28px;}
.landing .station-news .news-donation-footer p{max-width:240px;margin:0;color:#48634e;font:13px/1.4 Georgia,serif;}
.station-news .donation-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:18px 0;list-style:none;}
.station-news .donation-rewards li{display:flex;flex-direction:column;align-items:center;gap:7px;padding:15px 8px;border:1px solid #a4ac87;border-radius:20px 20px 3px 3px;background:#e8ecd7;text-align:center;}
.station-news .donation-rewards img{width:44px;height:44px;}
.landing .station-news .donation-rewards h3{margin:0;font:700 17px/1.25 Georgia,serif;}
.landing .station-news .donation-rewards p{margin:4px 0 0;text-align:center;}
@media(max-width:900px){.station-news .news-editions button span{display:none;}}
@media(max-width:540px){
 .station-news .news-editions{right:0;}
 .landing .station-news .news-editions button{padding-inline:2px;font-size:10px;}
 .station-news .news-donation-footer{flex-direction:column;gap:4px;padding:6px 6% 12px;}
 .landing .station-news .news-donation-footer p{max-width:none;text-align:center;font-size:12px;}
 .station-news .donation-rewards{grid-template-columns:1fr;}
 .station-news .donation-rewards li{flex-direction:row;gap:14px;padding:10px 16px;border-radius:12px;text-align:left;}
 .landing .station-news .donation-rewards p{text-align:left;}
}
