/* v6.50 interactive WebGL railway */
.rail48-shell{min-width:0;border:1px solid #3d6472;border-radius:14px;overflow:hidden;background:#0c1b25;color:#e3f1f2;box-shadow:0 14px 36px #020b1499}
.rail48-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:11px 13px;background:#0e2733;border-bottom:1px solid #365564}
.rail48-toolbar strong{font-size:15px;letter-spacing:.12em;color:#c7f38d}.rail48-toolbar strong span{display:block;font-size:9px;letter-spacing:.08em;color:#85a5b1}
.rail48-camera-actions{display:flex;gap:6px;flex-wrap:wrap}.rail48-camera-actions button{font-size:11px;padding:8px 11px;border:1px solid #3a5d6a;color:#d8e7e7;background:#163342;border-radius:6px}.rail48-camera-actions button.active,.rail48-camera-actions button:hover{background:#c9f18c;color:#193228;border-color:#c9f18c}
.rail48-stage{position:relative;height:clamp(350px,55vh,670px);min-height:320px;overflow:hidden;background:linear-gradient(180deg,#32556b,#8fa5a9);touch-action:none}.rail48-webgl-slot,.rail48-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.rail48-canvas{outline:none}.rail48-canvas:focus-visible{outline:2px solid #bce689;outline-offset:-2px}
.rail48-hud{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:stretch;gap:5px;flex-wrap:wrap;pointer-events:none}.rail48-hud span{padding:6px 10px;border:1px solid #65828c77;border-radius:6px;background:#081922d9;min-width:82px;backdrop-filter:blur(6px)}.rail48-hud small{display:block;color:#a7c3ce;font-size:8px;letter-spacing:.12em}.rail48-hud b{font-size:18px;color:#f2f9e9;font-variant-numeric:tabular-nums}.rail48-hud b i{font-size:9px;font-style:normal;color:#b4d5da}.rail48-hud b.aspect-red{color:#ff7676}.rail48-hud b.aspect-yellow{color:#f9cf81}.rail48-hud b.aspect-green{color:#b4eb8b}
.rail48-credit{position:absolute;right:12px;bottom:13px;background:#071822ab;color:#b7d5d4;border-radius:5px;padding:5px 7px;letter-spacing:.09em;font-size:9px;pointer-events:none}
.rail48-modehint{padding:8px 12px;font-size:11px;color:#afc5cc;background:#0f2935}
.rail48-mobile-walk{position:absolute;bottom:12px;left:12px;display:none;flex-direction:column;align-items:center;gap:2px;touch-action:none}.rail48-mobile-walk>div{display:flex;gap:2px}.rail48-mobile-walk button{min-width:38px;min-height:38px;touch-action:none;background:#102732d1;border:1px solid #8fada7b0;color:#e6f2de;padding:5px}
.rail48-unavailable{display:grid;place-content:center;text-align:center;gap:9px;height:100%;padding:25px;color:#fff}.rail48-unavailable p{font-size:12px;color:#d0dfea}
@media(max-width:700px){.rail48-stage{height:clamp(300px,48vh,475px)}.rail48-toolbar strong{font-size:12px}.rail48-camera-actions button{font-size:10px;padding:7px}.rail48-hud{top:5px;left:5px;right:5px}.rail48-hud span{min-width:59px;padding:3px 5px}.rail48-hud b{font-size:12px}.rail48-mobile-walk{display:flex}.rail48-credit{font-size:7px}.rail48-modehint{font-size:10px}}

/* v6.50 render controls: responsive quality and scene lighting. */
.rail49-light-wrap{font-size:10px;display:inline-flex;align-items:center;gap:6px;color:#bfd1d8;border:1px solid #3a5d6a;border-radius:6px;padding:0 7px}
.rail49-light-wrap select{font:inherit;color:#dbeadf;background:#173341;border:0;outline:0;padding:7px 0;cursor:pointer}
.rail48-hud span:last-child{border-color:#b7df8b66}
@media(max-width:700px){.rail49-light-wrap{padding:0 5px}.rail49-light-wrap select{padding:6px 0}.rail48-camera-actions{gap:4px}.rail48-hud span:last-child{display:none}}

/* v6.51 living 3D railway environment controls */
.rail51-select{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:#c9d7df;border:1px solid #3b6070;border-radius:6px;padding:0 7px}
.rail51-select select{background:#173341;color:#e4f1e8;border:0;outline:none;font:inherit;padding:7px 0;cursor:pointer}
.rail48-camera-actions [data-rail51-audio][aria-pressed="true"]{background:#234938;border-color:#87bc82;color:#e4f9cf}
@media(max-width:700px){.rail51-select{padding:0 4px}.rail51-select select{padding:6px 0;max-width:90px}}
