/* Photographic model-railway edition. One moving transparent train layer. */
html body.eots-site-refresh #eotsJunction{margin:18px 16px 22px;border:1px solid #9e855a;border-radius:12px;overflow:hidden;background:#0b222b;color:#efe4cc;box-shadow:0 12px 30px #0003;isolation:isolate;}
#eotsJunction *{box-sizing:border-box;}
#eotsJunction .ej-stage{position:relative;height:clamp(250px,27vw,365px);overflow:hidden;background:#293d40;isolation:isolate;}
html body.eots-site-refresh #eotsJunction .ej-backdrop{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover;object-position:center 65%;margin:0!important;}
#eotsJunction .ej-lightwash{position:absolute;inset:0;background:linear-gradient(180deg,#06151bc9,transparent 42%,transparent 80%,#071a2340);pointer-events:none;}
#eotsJunction .ej-title{position:absolute;left:24px;right:20px;top:20px;z-index:2;pointer-events:none;}
#eotsJunction .ej-kicker{font:750 10px/1.5 system-ui;letter-spacing:.17em;color:#f2d393;text-shadow:0 1px 3px #000;}
html body.eots-site-refresh #eotsJunction h2{margin:7px 0 0!important;font:500 clamp(24px,3vw,38px)/1.2 Georgia,serif!important;letter-spacing:0!important;color:#fff2d4!important;text-shadow:0 2px 8px #000b;}
#eotsJunction .ej-train{position:absolute;bottom:15%;left:0;width:58%;z-index:1;animation:ej-real-pass 32s linear -8s infinite;transform:translateX(15%);filter:drop-shadow(0 3px 1px #0007);}
html body.eots-site-refresh #eotsJunction .ej-engine-photo{display:block;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;margin:0!important;}
#eotsJunction .ej-steam{position:absolute;left:83%;top:-5%;width:6%;aspect-ratio:1;border-radius:50%;background:#e7dfd0;filter:blur(3px);animation:ej-real-steam 3s ease-out infinite;opacity:0;}
#eotsJunction .ej-steam-b{animation-delay:-1s;}
#eotsJunction .ej-steam-c{animation-delay:-2s;}
#eotsJunction .ej-season-tag{position:absolute;right:16px;bottom:16px;padding:6px 10px;border:1px solid #d1b27699;border-radius:4px;background:#10222bcc;color:#f5dfb8;font:700 9px/1.4 system-ui;letter-spacing:.1em;}
#eotsJunction .ej-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid #9e855a80;background:#102a32;}
#eotsJunction .ej-theme-label{display:flex;align-items:center;gap:8px;margin-right:auto;font:650 12px/1.4 system-ui;color:#d5c398;}
html body.eots-site-refresh #eotsJunction :is(select,button){min-height:44px;max-width:100%;padding:8px 11px;border:1px solid #8b9273;border-radius:5px;background:#21453d;color:#fff0cf;font:700 12px/1.4 system-ui;white-space:normal;cursor:pointer;}
#eotsJunction button:hover{background:#315f50;}
#eotsJunction :is(select,button):focus-visible{outline:3px solid #ffe0a0;outline-offset:3px;}
#eotsJunction [hidden]{display:none!important;}
#eotsJunction .ej-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:0 16px 12px;font:400 11px/1.6 system-ui;color:#b5c9c9;}
#eotsJunction[data-holiday="halloween"] .ej-lightwash{background:linear-gradient(180deg,#172036dc,transparent 48%,#6d341522);}
#eotsJunction[data-light="night"] .ej-backdrop{filter:brightness(.65) saturate(.85);}
#eotsJunction[data-holiday="christmas"] .ej-backdrop{filter:none;}
#eotsJunction[data-light="dusk"] .ej-lightwash{background:linear-gradient(180deg,#242447b0,transparent 48%,#5a2c3922);}
#eotsJunction .ej-scene *{animation-play-state:paused!important;}
#eotsJunction[data-running="true"] .ej-scene *{animation-play-state:running!important;}
#eotsJunction[data-motion="off"] .ej-train{animation:none!important;transform:translateX(30%);}
#eotsJunction.ej-restart .ej-scene *{animation:none!important;}
@keyframes ej-real-pass{0%{transform:translateX(-110%);}80%,100%{transform:translateX(180%);}}
@keyframes ej-real-steam{0%{opacity:.55;transform:translate(0,0) scale(.5);}100%{opacity:0;transform:translate(-60px,-65px) scale(2.8);}}
@media(max-width:700px){html body.eots-site-refresh #eotsJunction{margin:16px 12px;}#eotsJunction .ej-stage{height:275px;}#eotsJunction .ej-title{left:16px;top:16px;}#eotsJunction .ej-backdrop{object-position:center 64%;}#eotsJunction .ej-train{width:105%;bottom:15%;}#eotsJunction[data-motion="off"] .ej-train{transform:translateX(-8%);}#eotsJunction .ej-toolbar{gap:7px;padding:11px;}#eotsJunction .ej-theme-label{flex:1 1 100%;}#eotsJunction .ej-toolbar button{flex:1 1 40%;}#eotsJunction .ej-bottom{padding:0 12px 11px;}#eotsJunction .ej-season-tag{font-size:8px;bottom:10px;right:10px;}}
#eotsJunction .ej-train-badge{position:absolute;left:9%;top:49%;max-width:27%;padding:2px 4px;border:1px solid #baa06c;border-radius:2px;background:#12342deb;color:#f3dca3;font:700 clamp(5px,.55vw,8px)/1.2 Georgia,serif;letter-spacing:.04em;white-space:nowrap;}
#eotsJunction[data-holiday="halloween"] .ej-engine-photo{filter:sepia(.25) saturate(1.25);}
#eotsJunction[data-holiday="halloween"] .ej-train-badge{background:#783e24;}
#eotsJunction[data-holiday="thanksgiving"] .ej-train-badge{background:#72522c;}
#eotsJunction[data-holiday="christmas"] .ej-train-badge{background:#842f31;}
#eotsJunction[data-holiday="newyear"] .ej-train-badge{background:#24477c;}
#eotsJunction[data-holiday="easter"] .ej-train-badge{background:#5a4775;}
#eotsJunction .ej-headlight{position:absolute;left:95%;top:26%;width:28%;height:25%;pointer-events:none;animation:ej-lamp-shimmer 3.8s ease-in-out infinite alternate;opacity:.7;}
#eotsJunction .ej-headlight:before{content:"";position:absolute;inset:0;clip-path:polygon(0 42%,100% 0,100% 100%,0 58%);background:linear-gradient(90deg,#fff5c5a6,#ffe9a638,transparent);}
#eotsJunction .ej-headlight i{position:absolute;left:0;top:45%;width:3.5%;aspect-ratio:1;border-radius:50%;background:#fff9cf;box-shadow:0 0 7px 3px #ffde8bb0;}
@keyframes ej-lamp-shimmer{from{opacity:.45;}to{opacity:.85;}}
/* Align the trimmed wheels with the foreground rail. */
#eotsJunction .ej-train{bottom:17%;}
@media(max-width:700px){#eotsJunction .ej-train{bottom:21%;}}
#eotsJunction .ej-host{position:absolute;right:2%;bottom:11%;width:clamp(78px,10vw,140px);aspect-ratio:1;background-size:200% 200%;background-repeat:no-repeat;background-position:0 0;z-index:3;filter:drop-shadow(0 3px 3px #0005);animation:ej-host-wave 2.4s steps(1,end) infinite;}
#eotsJunction.ej-speaking .ej-host{filter:drop-shadow(0 0 7px #f4d28a88);}
#eotsJunction .ej-cylinder-steam{position:absolute;left:78%;bottom:-2%;width:10%;height:18%;border-radius:50%;background:#eee7d4;filter:blur(3px);opacity:0;animation:ej-cylinder 2s ease-out infinite;}
#eotsJunction .ej-steam{background:#c9c6bc;}
@keyframes ej-cylinder{0%{opacity:0;transform:scale(.5);}20%{opacity:.45;}100%{opacity:0;transform:translate(22px,8px) scale(2);}}
@keyframes ej-host-wave{0%,100%{background-position:0 0;}25%{background-position:100% 0;}50%{background-position:0 100%;}75%{background-position:100% 100%;}}
@media(max-width:700px){#eotsJunction .ej-host{width:83px;right:0;bottom:12%;}#eotsJunction .ej-season-tag{left:12px;right:auto;bottom:8px;}}
/* v1.7 uses a single arrival/stop/departure sequence; no continuous train loop. */
#eotsJunction .ej-train{animation:none!important;}
#eotsJunction .ej-auto-label{margin-right:auto;font:750 10px/1.6 system-ui;letter-spacing:.08em;color:#dbc18d;}
#eotsJunction[data-phase="arriving"] .ej-steam,#eotsJunction[data-phase="departing"] .ej-steam{animation-duration:1.7s;}
#eotsJunction[data-phase="greeting"] .ej-cylinder-steam,#eotsJunction[data-phase="dwell"] .ej-cylinder-steam{animation-duration:3s;}
#eotsJunction[data-holiday="independence"] .ej-train-badge{background:#7c2d33;border-color:#d9e3ee;}
#eotsJunction:is([data-holiday="memorial"],[data-holiday="veterans"]) .ej-train-badge{background:#23364f;border-color:#bda275;}
/* v1.8: registered smokestack emission and phase-controlled running gear. */
#eotsJunction .ej-stack-emitter{position:absolute;left:85.45%;top:0;width:0;height:0;pointer-events:none;}
#eotsJunction .ej-smoke-puff{position:absolute;left:0;top:0;width:clamp(12px,1.7vw,28px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#a5a297d9 20%,#c0bdb2a6 55%,#d4d0c200 75%);filter:blur(1px);opacity:0;animation:ej-stack-smoke 2.8s ease-out infinite;}
#eotsJunction .ej-smoke-b{animation-delay:-.7s;}
#eotsJunction .ej-smoke-c{animation-delay:-1.4s;}
#eotsJunction .ej-smoke-d{animation-delay:-2.1s;}
#eotsJunction[data-phase="arriving"] .ej-smoke-puff,#eotsJunction[data-phase="departing"] .ej-smoke-puff{animation-duration:2s;}
@keyframes ej-stack-smoke{0%{opacity:.85;transform:translate(-50%,-85%) scale(.4);}35%{opacity:.7;}100%{opacity:0;transform:translate(calc(-50% - 65px),-100px) scale(3.8);}}
html body.eots-site-refresh #eotsJunction svg.ej-running-gear{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;overflow:visible;pointer-events:none;}
#eotsJunction .ej-wheel-rotor{transform-box:fill-box;transform-origin:center;animation:ej-drive-turn 1.2s linear infinite;}
#eotsJunction .ej-wheel-small .ej-wheel-rotor{animation-duration:.6s;}
#eotsJunction .ej-rod-orbit{animation:ej-drive-rod 1.2s linear infinite;}
#eotsJunction .ej-scene :is(.ej-wheel-rotor,.ej-rod-orbit){animation-play-state:paused!important;}
#eotsJunction[data-running="true"]:is([data-phase="arriving"],[data-phase="departing"]) .ej-scene :is(.ej-wheel-rotor,.ej-rod-orbit){animation-play-state:running!important;}
@keyframes ej-drive-turn{to{transform:rotate(360deg);}}
@keyframes ej-drive-rod{0%,100%{transform:translate(0,-10px);}25%{transform:translate(10px,0);}50%{transform:translate(0,10px);}75%{transform:translate(-10px,0);}}
/* v1.9: a shared masthead keeps the existing camera beside the railway. */
html body.eots-site-refresh #eotsFocusHeader .ef-masthead[data-ej-merged="1"]{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;padding:20px!important;background:#0d2730!important;}
html body.eots-site-refresh #eotsFocusHeader .ef-masthead[data-ej-merged="1"]:before{background:none!important;}
#eotsFocusHeader .ef-masthead[data-ej-merged="1"]>.ef-brand{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(240px,.7fr);column-gap:24px;align-items:start;text-align:left!important;width:auto!important;max-width:none!important;margin:0 0 18px!important;}
html body.eots-site-refresh #eotsFocusHeader .ef-masthead[data-ej-merged="1"] h1{grid-column:1;margin:2px 0 4px!important;max-width:none!important;font-size:clamp(24px,2.6vw,36px)!important;line-height:1.25!important;white-space:normal!important;}
#eotsFocusHeader .ef-masthead[data-ej-merged="1"] .ef-kicker{grid-column:1;margin:0 0 4px!important;font-size:10px!important;}
#eotsFocusHeader .ef-masthead[data-ej-merged="1"] .ef-intro{grid-column:1;margin:4px 0!important;font-size:14px!important;line-height:1.5!important;}
#eotsFocusHeader .ef-masthead[data-ej-merged="1"] .ef-time{grid-column:2;grid-row:1/span 6;align-items:flex-end!important;min-width:0;max-width:100%!important;margin:0!important;font-size:12px!important;}
#eotsFocusHeader .ef-masthead[data-ej-merged="1"] .ef-visitors{max-width:100%!important;width:auto!important;box-sizing:border-box;margin:7px 0 0!important;}
#eotsFocusHeader .ef-masthead[data-ej-merged="1"] .elh-welcome{grid-column:1;margin:4px 0 0!important;justify-self:start;}
#eotsFocusHeader .ef-masthead[data-ej-merged="1"] .elh-welcome-note{grid-column:1;margin:2px 0 0!important;}
#eotsFocusHeader .ej-merged-grid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(280px,1fr);align-items:start;gap:16px;}
html body.eots-site-refresh #eotsFocusHeader .ej-merged-grid #eotsJunction{margin:0!important;min-width:0;}
#eotsFocusHeader .ej-merged-grid #eotsJunction .ej-stage{height:auto;min-height:0;aspect-ratio:3.2;}
#eotsFocusHeader .ej-merged-grid #eotsJunction h2{font-size:clamp(21px,2.1vw,31px)!important;}
#eotsFocusHeader .ej-merged-grid #eotsJunction .ej-title{top:15px;left:16px;}
#eotsFocusHeader .ej-merged-grid .elh-camera{width:100%;min-width:0;margin:0!important;padding:7px!important;border:1px solid #a48d5f99;background:#183640;border-radius:10px;box-sizing:border-box;}
#eotsFocusHeader .ej-merged-grid .elh-camera-heading{gap:7px;padding:7px 7px 9px;}
html body.eots-site-refresh #eotsFocusHeader .ej-merged-grid .elh-current-camera{font-size:20px!important;line-height:1.3!important;padding:1px 7px 6px;}
#eotsFocusHeader .ej-merged-grid .elh-camera-credit{margin:0 7px 8px;}
#eotsFocusHeader .ej-merged-grid .elh-camera-status{flex-basis:100%!important;}
#eotsFocusHeader .ej-merged-grid .elh-camera-footer{padding:7px 3px 3px;gap:7px;}
#eotsFocusHeader .ej-merged-grid .elh-camera-footer button{flex:1;}
#eotsFocusHeader .ej-merged-grid .elh-sound-controls{padding:7px 3px 3px;}
#eotsFocusHeader .ej-merged-grid .elh-screen{aspect-ratio:16/9;}
@media(max-width:1050px){#eotsFocusHeader .ej-merged-grid{grid-template-columns:minmax(0,1fr);}#eotsFocusHeader .ej-merged-grid .elh-camera{max-width:640px;justify-self:center;}}
@media(max-width:700px){html body.eots-site-refresh #eotsFocusHeader .ef-masthead[data-ej-merged="1"]{padding:14px!important;}#eotsFocusHeader .ef-masthead[data-ej-merged="1"]>.ef-brand{grid-template-columns:minmax(0,1fr);gap:4px;}#eotsFocusHeader .ef-masthead[data-ej-merged="1"] .ef-time{grid-column:1;grid-row:auto;align-items:flex-start!important;margin-top:6px!important;}#eotsFocusHeader .ej-merged-grid #eotsJunction .ej-stage{height:245px;aspect-ratio:auto;}#eotsFocusHeader .ej-merged-grid #eotsJunction .ej-train{bottom:26.8%;}#eotsFocusHeader .ej-merged-grid .elh-camera{max-width:none;}}
/* Photographic vapor sprites: each particle rises, curls and dissipates. */
#eotsJunction .ej-smoke-puff{width:clamp(30px,4vw,65px);aspect-ratio:1;background-image:var(--ej-smoke-texture);background-size:200% 200%;background-repeat:no-repeat;background-position:0 0;background-color:transparent;border-radius:0;filter:none;animation-name:ej-textured-smoke;animation-duration:4s;transform-origin:50% 90%;}
#eotsJunction .ej-smoke-b{background-position:100% 0;animation-delay:-1s;}
#eotsJunction .ej-smoke-c{background-position:0 100%;animation-delay:-2s;}
#eotsJunction .ej-smoke-d{background-position:100% 0;animation-delay:-3s;}
#eotsJunction[data-phase="arriving"] .ej-smoke-puff,#eotsJunction[data-phase="departing"] .ej-smoke-puff{animation-duration:3s;}
#eotsJunction .ej-cylinder-steam{background:var(--ej-smoke-texture) 100% 100%/200% 200% no-repeat;width:13%;height:auto;aspect-ratio:1.7;filter:brightness(1.35);border-radius:0;left:78%;bottom:-3%;animation-name:ej-textured-steam;}
@keyframes ej-textured-smoke{0%{opacity:.45;transform:translate(-50%,-90%) scale(.35);}25%{opacity:.8;}100%{opacity:0;transform:translate(calc(-50% - 80px),-130px) scale(2.4) rotate(-9deg);}}
@keyframes ej-textured-steam{0%{opacity:0;transform:translate(0,0) scale(.3);}20%{opacity:.65;}100%{opacity:0;transform:translate(45px,5px) scale(1.8);}}
#eotsJunction .ej-cab-engineer{position:absolute;left:39%;top:20%;width:5%;aspect-ratio:3/4;background-image:var(--ej-crew-texture);background-size:600% 300%;background-position:var(--ej-cab-a);background-repeat:no-repeat;animation:ej-cab-wave 1.6s steps(1,end) infinite;}
@keyframes ej-cab-wave{0%,49%{background-position:var(--ej-cab-a);}50%,100%{background-position:var(--ej-cab-b);}}
#eotsFocusHeader .ej-merged-grid{align-items:stretch;}
#eotsFocusHeader .ej-merged-grid #eotsJunction{display:flex;flex-direction:column;}
#eotsFocusHeader .ej-merged-grid #eotsJunction .ej-stage{flex:1 1 auto;}
#eotsFocusHeader .ej-merged-grid .elh-camera{align-self:start;}
/* v1.10: explicit native effects survive CSS animation combining/removal. */
#eotsJunction[data-effects="native"] .ej-scene :is(.ej-smoke-puff,.ej-cylinder-steam,.ej-wheel-rotor,.ej-rod-orbit,.ej-headlight,.ej-host,.ej-cab-engineer){animation:none!important;}
#eotsJunction .ej-stack-emitter{z-index:4;}
#eotsJunction .ej-smoke-puff{display:block;width:clamp(42px,5vw,74px);background-color:transparent;background-image:var(--ej-smoke-texture);}
#eotsJunction .ej-smoke-e{background-position:0 100%;}
#eotsJunction .ej-smoke-f{background-position:100% 0;}
#eotsJunction .ej-vapor{background-position:100% 100%;filter:brightness(1.25);}
#eotsJunction .ej-cylinder-steam{z-index:4;display:block;width:17%;opacity:0;}
#eotsJunction .ej-cylinder-b{left:66%;bottom:-6%;width:14%;}
#eotsJunction .ej-cab-engineer{left:38.2%;top:4%;width:7%;aspect-ratio:3/4;z-index:3;background:none;transform-origin:50% 90%;filter:drop-shadow(0 1px 1px #0008);}
#eotsJunction .ej-host{background:none;width:clamp(86px,10vw,130px);aspect-ratio:3/4;right:.7%;bottom:11%;transform-origin:50% 90%;}
#eotsJunction :is(.ej-crew-body,.ej-crew-hand){position:absolute;display:block;inset:0;background-image:var(--ej-crew-texture);background-size:600% 300%;background-position:var(--ej-cab-a);background-repeat:no-repeat;}
#eotsJunction .ej-crew-body{clip-path:polygon(36% 0,100% 0,100% 100%,0 100%,0 70%,36% 65%);}
#eotsJunction .ej-crew-hand{clip-path:polygon(0 0,36% 0,36% 65%,0 70%);transform-origin:34% 62%;}
#eotsJunction[data-holiday="halloween"] :is(.ej-host,.ej-cab-engineer){filter:drop-shadow(0 0 3px #e6d6af99);}
#eotsJunction .ej-wheel-rotor{transform-box:fill-box;transform-origin:center;}
#eotsJunction .ej-rod-orbit{transform:translate(0,-28px);}
@media(max-width:700px){#eotsJunction .ej-host{width:76px;right:0;}#eotsJunction .ej-cab-engineer{width:7.5%;left:38%;}}
/* v1.11: stable scene box; moving characters and camera copy never resize it. */
#eotsFocusHeader .ej-merged-grid{align-items:start;}
#eotsFocusHeader .ej-merged-grid #eotsJunction{display:block;align-self:start;overflow-anchor:none;}
#eotsFocusHeader .ej-merged-grid #eotsJunction .ej-stage{flex:none;height:clamp(280px,27vw,390px);min-height:0;aspect-ratio:auto;contain:layout paint;overflow-anchor:none;}
#eotsJunction .ej-scene{overflow-anchor:none;}
#eotsJunction .ej-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;min-height:66px;}
#eotsJunction .ej-bottom>span{min-width:0;line-height:1.6;}
#eotsJunction .ej-train{width:34%;}
html body.eots-site-refresh #eotsJunction .ej-passenger-coach{position:absolute;display:block;width:90%;bottom:0;left:-91%;aspect-ratio:2085/475;}
html body.eots-site-refresh #eotsJunction .ej-coach-2{left:-182%;}
html body.eots-site-refresh #eotsJunction .ej-coach-photo{display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;}
html body.eots-site-refresh #eotsJunction .ej-coach-gear{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;overflow:visible;}
#eotsJunction .ej-coach-label{position:absolute;left:26%;right:26%;top:32%;text-align:center;white-space:nowrap;color:#f5d696;font:650 clamp(3px,.38vw,6px)/1.2 Georgia,serif;letter-spacing:.08em;}
#eotsJunction .ej-ghost-wave{display:none;position:absolute;inset:0;background:var(--ej-ghost-texture) 0 0/400% 100% no-repeat;}
#eotsJunction[data-holiday="halloween"] .ej-ghost-wave{display:block;}
#eotsJunction[data-holiday="halloween"] :is(.ej-crew-body,.ej-crew-hand){display:none;}
#eotsJunction[data-holiday="halloween"] :is(.ej-cab-engineer,.ej-host){filter:drop-shadow(0 1px 2px #10232a66);}
#eotsFocusHeader .ej-merged-grid .elh-camera-heading{min-height:64px;align-content:start;}
html body.eots-site-refresh #eotsFocusHeader .ej-merged-grid .elh-current-camera{min-height:84px;}
#eotsFocusHeader .ej-merged-grid .elh-camera-status{min-height:66px;}
@media(max-width:1050px){#eotsFocusHeader .ej-merged-grid #eotsJunction .ej-stage{height:330px;}}
@media(max-width:700px){#eotsFocusHeader .ej-merged-grid #eotsJunction .ej-stage{height:245px;}#eotsJunction .ej-train{width:34%;}#eotsJunction .ej-bottom{min-height:106px;grid-template-columns:minmax(0,1fr);gap:2px;}#eotsFocusHeader .ej-merged-grid .elh-current-camera{min-height:84px;}#eotsJunction .ej-host{width:68px;bottom:2%;}}
/* Place the platform character in the foreground below the rail, clear of the engine. */
#eotsJunction .ej-host{right:2%;bottom:4px;width:auto;height:var(--ej-host-height,72px);max-height:100px;aspect-ratio:3/4;}
#eotsJunction .ej-season-tag{left:14px;right:auto;bottom:12px;max-width:72%;}
/* v1.12: twelve coaches retain their scale; the long consist passes the station. */
#eotsJunction .ej-train{filter:none;}
html body.eots-site-refresh #eotsJunction .ej-caboose{position:absolute;display:block;left:-1147%;bottom:0;width:54%;aspect-ratio:2053/687;}
html body.eots-site-refresh #eotsJunction .ej-caboose-photo{display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;}
html body.eots-site-refresh #eotsJunction .ej-caboose-gear{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;overflow:visible;}
#eotsJunction .ej-caboose-occupant{position:absolute;left:44%;top:-16%;width:14%;aspect-ratio:3/4;clip-path:inset(0 0 28% 0);}
#eotsJunction[data-holiday="halloween"] .ej-caboose-occupant{filter:drop-shadow(0 0 2px #ddf6ca);}
#eotsJunction .ej-caboose-marker{position:absolute;left:4.5%;top:26%;width:1.5%;aspect-ratio:.55;border-radius:50%;background:#e24526;box-shadow:0 0 3px #ff493766;}
/* v1.13: register actual visible texture outlets at the measured stack mouth. */
#eotsJunction .ej-stack-emitter{left:85.6741573%;top:.3853565%;width:20%;height:0;}
#eotsJunction .ej-smoke-puff{width:100%;--ej-tip-x:51%;--ej-tip-y:86.5%;background-position:0 0;transform-origin:var(--ej-tip-x) var(--ej-tip-y);}
#eotsJunction :is(.ej-smoke-b,.ej-smoke-d,.ej-smoke-f){--ej-tip-x:50%;--ej-tip-y:97.5%;background-position:100% 0;}
#eotsJunction :is(.ej-smoke-c,.ej-smoke-e,.ej-vapor){background-position:0 0;}
#eotsJunction .ej-vapor{filter:brightness(1.3);}
#eotsJunction .ej-stack-jet{position:absolute;left:0;bottom:-.5px;width:16%;height:auto;aspect-ratio:.42;background:linear-gradient(to top,#b8b5aabf,#c1beb287 40%,#b9b6ab44 72%,#b9b6ab00);clip-path:polygon(35% 100%,65% 100%,100% 20%,70% 0,20% 0,0 20%);filter:blur(.4px);transform:translateX(-50%);transform-origin:50% 100%;pointer-events:none;opacity:.65;}

/* The official Big Boy film opens on request, clear of the animated station scene. */
html body.eots-site-refresh #eotsJunction .ej-bigboy-watch{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:8px 11px;border:1px solid #a58b57;border-radius:5px;background:#193b42;color:#f5d99e;font:700 12px/1.4 system-ui;text-decoration:none;cursor:pointer;}
#eotsJunction .ej-bigboy-watch:hover{background:#295057;}#eotsJunction .ej-bigboy-watch[aria-disabled="true"]{opacity:.55;cursor:wait;}#eotsJunction .ej-bigboy-watch:focus-visible{outline:3px solid #ffe0a0;outline-offset:3px;}
html body.eots-site-refresh dialog.ej-bigboy-cinema{box-sizing:border-box;width:960px;max-width:calc(100vw - 28px);max-height:92dvh;overflow:auto;padding:0;border:1px solid #b29863;border-radius:13px;background:#102932;color:#fff0d3;box-shadow:0 24px 90px #000a;z-index:999999;}
dialog.ej-bigboy-cinema::backdrop{background:#020c14e6;}
.ej-bigboy-cinema .ej-bigboy-film-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 23px;}
.ej-bigboy-cinema .ej-bigboy-film-heading span{font:750 10px/1.6 system-ui;letter-spacing:.14em;color:#dec28a;}
html body.eots-site-refresh .ej-bigboy-cinema h2{margin:4px 0 0!important;font:500 clamp(22px,3vw,31px)/1.2 Georgia,serif!important;color:#fff0ce!important;letter-spacing:0!important;}
html body.eots-site-refresh .ej-bigboy-cinema .ej-bigboy-film-close{flex:none;min-height:44px;padding:8px 13px;border:1px solid #b59d6d;border-radius:5px;background:#25463f;color:#ffe9bd;font:700 12px/1.4 system-ui;cursor:pointer;}
.ej-bigboy-cinema .ej-bigboy-film-screen{position:relative;aspect-ratio:16/9;background:#02070c;}
html body.eots-site-refresh .ej-bigboy-cinema iframe{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0;}
.ej-bigboy-cinema .ej-bigboy-film-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 23px;}
.ej-bigboy-cinema .ej-bigboy-film-footer p{margin:0;color:#c1cec9;font:400 12px/1.6 system-ui;}
html body.eots-site-refresh .ej-bigboy-cinema .ej-bigboy-film-footer a{flex:none;min-height:44px;display:inline-flex;align-items:center;color:#e7cb92;font:700 12px/1.5 system-ui;text-underline-offset:4px;}
.ej-bigboy-cinema :is(a,button):focus-visible{outline:3px solid #ffe0a0;outline-offset:3px;}
@media(max-width:600px){.ej-bigboy-cinema .ej-bigboy-film-heading{padding:15px;align-items:flex-start;flex-direction:column;gap:12px;}.ej-bigboy-cinema .ej-bigboy-film-footer{padding:10px 15px;flex-direction:column;align-items:flex-start;gap:2px;}}

/* No. 4014 establishes the scale; the anniversary renderer sizes its cars in model feet. */
#eotsJunction[data-engine="bigboy-4014"] .ej-train{width:54%;}
html body.eots-site-refresh #eotsJunction[data-engine="bigboy-4014"] .ej-passenger-coach{width:56.6666667%;}
html body.eots-site-refresh #eotsJunction[data-engine="bigboy-4014"] .ej-caboose{width:34%;}
#eotsJunction[data-engine="bigboy-4014"] .ej-stack-emitter{left:85.5432781%;top:1.6438356%;}
#eotsJunction[data-engine="bigboy-4014"] .ej-headlight{left:90.2394107%;top:6.8493151%;width:26%;height:22%;transform:translateY(-50%);}
#eotsJunction[data-engine="bigboy-4014"] .ej-headlight i{top:50%;transform:translate(-50%,-50%);}
#eotsJunction[data-engine="bigboy-4014"] .ej-cylinder-steam{left:85.5%;bottom:-1%;width:13%;}
#eotsJunction[data-engine="bigboy-4014"] .ej-cylinder-b{left:57%;bottom:-1%;width:12%;}
#eotsJunction[data-engine="bigboy-4014"] .ej-cab-engineer{left:30.6%;top:21%;width:4.3%;clip-path:inset(0 0 45% 0);}
#eotsJunction[data-engine="bigboy-4014"] .ej-train-badge{left:9%;top:54%;max-width:25%;background:#172523ee;}
#eotsJunction[data-engine="bigboy-4014"] .ej-running-gear :is(.ej-mainrod,.ej-piston-stem){transform-origin:0 0;}
@media(max-width:700px){html body.eots-site-refresh #eotsJunction .ej-toolbar .ej-bigboy-watch{flex:1 1 60%;min-width:0;padding:8px 7px;font-size:10px;}html body.eots-site-refresh #eotsJunction .ej-toolbar [data-ej-pause]{flex:1 1 30%;min-width:0;padding:8px 6px;font-size:10px;}}

/* The tender keeps only its original UNION PACIFIC lettering in every season. */
#eotsJunction[data-engine="bigboy-4014"] .ej-train-badge{display:none!important;}
#eotsJunction .ej-anniversary-stock{position:absolute;display:block;bottom:0;}
html body.eots-site-refresh #eotsJunction .ej-anniversary-art{display:block!important;width:100%!important;height:100%!important;max-width:none!important;overflow:hidden;margin:0!important;}
html body.eots-site-refresh #eotsJunction .ej-anniversary-gear{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;overflow:visible;}
#eotsJunction .ej-anniversary-stock .ej-wheel-rotor{transform-box:fill-box;transform-origin:center;}

/* Knuckles stay joined on one train transform, including the caboose. */
#eotsJunction .ej-anniversary-stock{z-index:1;}
html body.eots-site-refresh #eotsJunction .ej-coupling-link{position:absolute;display:block;bottom:14.24657534%;height:2.73972603%;min-height:1.5px;max-width:none!important;overflow:visible;pointer-events:none;z-index:3;}

/* v1.29: the Christmas portrait and snowfall stay inside the existing scene. */
#eotsJunction .ej-christmas-portrait{position:absolute;top:13px;right:13px;z-index:4;width:clamp(72px,8vw,104px);margin:0;padding:3px 3px 5px;border:1px solid #d5b771;border-radius:9px;background:linear-gradient(140deg,#244b3e,#152f29);box-shadow:0 3px 12px #0005;pointer-events:none;overflow:hidden;}
html body.eots-site-refresh #eotsJunction .ej-christmas-portrait img{display:block;width:100%!important;height:auto!important;aspect-ratio:2/3;max-width:none!important;max-height:none!important;margin:0!important;border-radius:5px;object-fit:contain;}
#eotsJunction .ej-christmas-portrait figcaption{margin:3px 0 0;padding:0;text-align:center;color:#fff1c8;font:700 clamp(8px,.85vw,11px)/1.3 Georgia,serif;white-space:nowrap;}
#eotsJunction[data-holiday="christmas"] .ej-title{right:calc(clamp(72px,8vw,104px) + 28px);}
#eotsJunction .ej-winter-snow{position:absolute;inset:0;overflow:hidden;z-index:2;pointer-events:none;contain:strict;}
#eotsJunction .ej-winter-snow i{display:block;position:absolute;left:var(--ej-snow-x);top:-10px;width:var(--ej-snow-size);height:var(--ej-snow-size);border-radius:50%;background:#fff;opacity:.55;animation:ej-christmas-snow var(--ej-snow-time) linear var(--ej-snow-delay) infinite;}
@keyframes ej-christmas-snow{from{transform:translate(-12px,-5px);}to{transform:translate(16px,440px);}}
#eotsJunction[data-motion="off"] .ej-winter-snow{display:none!important;}
@media(prefers-reduced-motion:reduce){#eotsJunction .ej-winter-snow{display:none!important;}}
@media(max-width:700px){#eotsJunction .ej-christmas-portrait{top:12px;right:10px;width:72px;}#eotsJunction[data-holiday="christmas"] .ej-title{right:94px;}#eotsJunction[data-holiday="christmas"] .ej-kicker{font-size:8px;letter-spacing:.08em;}}

#eotsJunction .ej-consist-roster{margin:0;padding:10px 16px;border-top:1px solid #ad8b5544;color:#c6d7d2;font:12px/1.6 system-ui;background:#102b34;overflow-anchor:none;}
#eotsJunction .ej-consist-roster summary{color:#ebce92;font-weight:700;cursor:pointer;min-height:32px;padding:4px 0;}
#eotsJunction .ej-consist-roster ol{columns:2;column-gap:30px;padding-left:20px;}
#eotsJunction .ej-consist-roster li{break-inside:avoid;margin:2px 0;}
@media(max-width:520px){#eotsJunction .ej-consist-roster ol{columns:1;}}
