/* Each realm keeps its native composition, in one shared scrolling world. */
.airport-scenery{height:1200px}
.train-carriage{position:absolute;left:0;width:1600px;height:1200px;isolation:isolate;overflow:hidden;background:#281516}
.train-background,.train-motion,.train-runner{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.train-motion{z-index:1}.train-runner{z-index:2}
.train-platform{position:absolute;z-index:3;width:126px;height:95px;margin:-33px 0 0 -63px;border:0;background:none;padding:0;color:#fff0c9;text-align:center;cursor:pointer}
.train-platform::before{content:'';position:absolute;left:10px;top:0;width:106px;height:58px;border:2px solid #cba363;border-radius:40%;background:radial-gradient(ellipse at 36% 24%,#8b4350,#562431 68%,#361d28);box-shadow:inset 0 2px 3px #dfb78d55,inset 0 -4px 4px #1c101b99,0 4px 0 #725035,0 8px 8px #07040c77}
.train-platform span{position:relative;display:block;font:600 28px/58px Georgia,serif;letter-spacing:1px;text-shadow:0 2px #241323}
.train-platform small{position:relative;display:block;top:9px;font:13px/20px system-ui;color:#ead8b8;text-shadow:0 1px 3px #000}
.train-platform:hover::before,.train-platform[aria-pressed=true]::before{outline:3px solid #ffe1a0;outline-offset:4px;filter:brightness(1.12)}
.train-platform:focus-visible{outline:3px solid #f7d78f!important;outline-offset:8px}
.business-area-tabs{display:flex;gap:10px;padding:10px 25px;border-top:1px solid #a9997433;background:#f8f1df}
.business-area-tabs button{padding:10px 18px;border:1px solid #a69877;border-radius:10px;background:#fffaf0;color:#324b42;font-size:14px;font-weight:700}
.business-area-tabs [aria-pressed=true]{background:#294943;color:#fff3da;border-color:#294943}
.business-area-tabs [data-business-area=train][aria-pressed=true]{background:#542c38;border-color:#542c38}
.train-reservation-note{padding:14px 24px;color:#ecddbf;background:#33212a;font-size:14px;border-top:1px solid #b2926255}
[data-business-area=train] .expression-map-viewport{background:#29191d;scrollbar-color:#967757 #35252a}
@media(max-width:680px){.business-area-tabs{padding:8px;gap:6px}.business-area-tabs button{flex:1;padding:9px 6px;font-size:12px}}

/* Prevent native blue selection/image dragging without blocking map gestures. */
.expression-map[data-theme="airport"] .expression-map-viewport,
.expression-map[data-theme="airport"] .expression-map-viewport *{user-select:none;-webkit-user-select:none}
.expression-map[data-theme="airport"] .expression-map-viewport img{-webkit-user-drag:none}
.dining-carriage{position:absolute;left:0;width:1600px;height:1200px;isolation:isolate;overflow:hidden;background:#3a271e}
.dining-background,.dining-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.dining-motion{z-index:1}
.dining-platform{position:absolute;z-index:3;width:170px;height:90px;margin:-43px 0 0 -85px;padding:0;border:0;background:none;color:#283c30;text-align:center;cursor:pointer}
.dining-place-setting{position:absolute;left:25px;top:0;width:120px;height:76px;pointer-events:none;filter:drop-shadow(1px 5px 3px #3c251450)}
.dining-platform span{position:relative;display:block;padding-top:43px;font:600 24px/26px Georgia,serif;text-shadow:0 1px #fff8e8;pointer-events:none}
.dining-platform small{position:relative;display:block;top:9px;font:11px/15px system-ui;color:#493422;text-shadow:0 1px #fff4da;pointer-events:none}
.dining-platform:hover .dining-place-setting,.dining-platform[aria-pressed=true] .dining-place-setting{filter:drop-shadow(0 0 3px #fff3a8) drop-shadow(1px 5px 3px #3c251460) brightness(1.06)}
.dining-platform:focus-visible{outline:3px solid #355841!important;outline-offset:3px;border-radius:18px}
.business-area-tabs [data-business-area=dining][aria-pressed=true]{background:#554126;border-color:#554126}
.business-theme-mist{position:absolute;left:-12px;right:-12px;height:120px;z-index:6;pointer-events:none;background:linear-gradient(transparent 0%,#bcbca746 24%,#d0cdb4e8 48%,#d0cdb4ed 52%,#b8bea346 78%,transparent 100%);filter:blur(8px)}
.business-theme-mist::after{content:'';position:absolute;inset:-12px 0;background:radial-gradient(ellipse at 20% 50%,#e9e4cb55,transparent 58%),radial-gradient(ellipse at 75% 45%,#d3dfd555,transparent 60%);filter:blur(12px)}
@media(max-width:680px){.business-area-tabs{flex-wrap:wrap}.business-area-tabs button{min-width:105px}}
.poker-realm{position:absolute;left:0;width:1600px;height:1200px;isolation:isolate;overflow:hidden;background:#0d3d2e}
.poker-background,.poker-liquid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.poker-liquid{z-index:1}
.poker-platform{position:absolute;z-index:3;width:132px;height:103px;margin:-38px 0 0 -66px;padding:0;border:0;background:none;text-align:center;cursor:pointer;color:#fff6dc}
.poker-counter{position:absolute;left:5px;top:0;width:122px;height:78px;pointer-events:none;filter:drop-shadow(1px 6px 3px #06191088)}
.poker-platform span{position:relative;display:block;font:600 27px/68px Georgia,serif;text-shadow:0 2px 2px #102519;pointer-events:none}
.poker-platform[data-counter-tone=dark] span{color:#172c25;text-shadow:0 1px #fff8e2}
.poker-platform[data-counter-kind=plaque] span{line-height:66px}
.poker-platform[data-counter-kind=plaque] .poker-counter{height:70px;top:4px}
.poker-platform small{position:relative;display:block;top:9px;font:12px/19px system-ui;color:#fff4d5;text-shadow:0 1px 3px #08291d;pointer-events:none}
.poker-platform:hover .poker-counter,.poker-platform[aria-pressed=true] .poker-counter{filter:drop-shadow(0 0 5px #ffe5a4) drop-shadow(1px 6px 3px #06191088) brightness(1.07)}
.poker-platform:focus-visible{outline:3px solid #ffdea0!important;outline-offset:4px;border-radius:30px}
.business-area-tabs [data-business-area=poker][aria-pressed=true]{background:#123d30;border-color:#123d30}
.pool-realm{position:absolute;left:0;width:1600px;height:1200px;isolation:isolate;overflow:hidden;background:#155e40}
.pool-background,.pool-route,.pool-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.pool-route{z-index:1}.pool-motion{z-index:2}
.pool-platform{position:absolute;z-index:3;width:140px;height:126px;margin:-47px 0 0 -70px;padding:0;border:0;background:none;text-align:center;cursor:pointer;color:#fff4d6}
.pool-ball{position:absolute;left:24px;top:0;width:92px;height:92px;border-radius:50%;background:var(--ball-color);box-shadow:inset -9px -12px 14px #00171099,inset 3px 4px 5px #ffffff50,5px 10px 7px #072d26aa,1px 3px 2px #092219;overflow:hidden;pointer-events:none}
.pool-ball::before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 31% 22%,#ffffffd9 0%,#ffffff55 9%,#ffffff00 28%),radial-gradient(circle at 38% 31%,#ffffff20 15%,transparent 48%,#00000070 100%);z-index:2}
.pool-platform.is-striped .pool-ball{background:linear-gradient(173deg,#f5edd9 0%,#f5edd9 22%,var(--ball-color) 23%,var(--ball-color) 76%,#ebe0c6 77%)}
.pool-ball-number{position:absolute;left:22px;top:31px;width:49px;height:44px;border-radius:50%;background:radial-gradient(ellipse at 35% 25%,#fffdf2,#e9dfc6);color:#17241d;font:700 25px/44px Georgia,serif;letter-spacing:-1px;box-shadow:0 1px 1px #ffffff50;z-index:1}
.pool-platform small{position:absolute;top:102px;left:0;width:100%;font:12px/18px system-ui;color:#fff5de;text-shadow:0 2px 3px #082c20;pointer-events:none}
.pool-platform:hover .pool-ball,.pool-platform[aria-pressed=true] .pool-ball{outline:3px solid #ffdfa0;outline-offset:5px}
.pool-platform:focus-visible{outline:3px solid #ffdfa0!important;outline-offset:5px;border-radius:25px}
.business-area-tabs [data-business-area=pool][aria-pressed=true]{background:#18563b;border-color:#18563b}
.lounge-realm{position:absolute;left:0;width:1600px;height:1200px;isolation:isolate;overflow:hidden;background:#241715}
.lounge-background,.lounge-walkway,.lounge-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.lounge-walkway{z-index:1}.lounge-motion{z-index:2}
.lounge-platform{position:absolute;z-index:3;width:132px;height:110px;margin:-38px 0 0 -66px;padding:0;border:0;background:none;text-align:center;cursor:pointer;color:#193129}
.lounge-record{position:absolute;left:8px;top:0;width:116px;height:76px;border:2px solid #b59960;border-radius:50%;background:repeating-radial-gradient(ellipse at center,#171a1c 0px,#171a1c 3px,#353332 4px,#181b1c 5px);box-shadow:inset 0 2px 2px #e7cd9266,0 4px 0 #75603e,0 7px 0 #141619,3px 10px 8px #08090999;overflow:hidden;pointer-events:none}
.lounge-record::after{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 10deg,transparent 0deg,#f7e6be30 35deg,transparent 75deg,transparent 190deg,#fff0cc20 225deg,transparent 255deg);pointer-events:none}
.lounge-record-label{position:absolute;left:24px;top:15px;width:64px;height:43px;border:1px solid #b9995e;border-radius:50%;background:radial-gradient(ellipse at 35% 20%,#fcf0cd,#d9c192);font:700 25px/42px Georgia,serif;color:#233930;text-shadow:0 1px #fff4d1;letter-spacing:.3px}
.lounge-platform small{position:absolute;top:89px;left:0;width:100%;font:12px/18px system-ui;color:#fff0d5;text-shadow:0 2px 3px #07080a;pointer-events:none}
.lounge-platform:hover .lounge-record,.lounge-platform[aria-pressed=true] .lounge-record{outline:2px solid #f6d385;outline-offset:4px;filter:brightness(1.12)}
.lounge-platform:focus-visible{outline:3px solid #ffe4a7!important;outline-offset:6px;border-radius:25px}
.business-area-tabs{flex-wrap:wrap}.business-area-tabs [data-business-area=lounge][aria-pressed=true]{background:#502e37;border-color:#502e37}
