.station-viewer{position:relative;width:100%;height:100%;min-width:0;display:flex;flex-direction:column;}
.station-model-stage{position:relative;flex:1;min-height:400px;width:100%;}
.station-model-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline:none;}
.station-model-stage canvas.is-dragging{cursor:grabbing;}
.station-model-stage canvas:focus-visible{outline:1px solid #a5e7ff;outline-offset:-6px;border-radius:18px;}
.station-model-tools{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;padding:8px 0;}
.station-model-tools button,.station-model-links>*{border:1px solid #a2ddf755;background:#0a2035aa;color:#e5f5ff;border-radius:999px;cursor:pointer;font:13px/1.4 Arial,sans-serif;transition:background .2s,transform .2s,box-shadow .2s;}
.station-model-tools button{width:36px;height:36px;font-size:20px;}
.station-model-tools button:hover,.station-model-links>*:hover{background:#174562d9;box-shadow:0 0 20px #62d9ff33;transform:translateY(-2px);}
.station-model-tools button:focus-visible,.station-model-links>*:focus-visible{outline:2px solid #b8eaff;outline-offset:3px;}
.station-model-help{font:10px/1.6 Consolas,monospace;color:#c3deed;max-width:250px;margin-left:5px;text-shadow:0 1px 5px #000;}
.station-model-links{display:flex;justify-content:center;gap:12px;}
.station-model-links>*{padding:10px 20px;text-decoration:none;}
.station-model-status{min-height:18px;margin:8px 0 0!important;text-align:center;font-size:12px!important;color:#b7eddc!important;}
#contact .has-station3d>*:not(.station-viewer){display:none!important;}
#contact .post-scene{z-index:1!important;opacity:1!important;}
#contact .post-scene .phonebooth,#contact .post-scene .booth-door{background:linear-gradient(90deg,#14283d,#395b72 70%,#122539);border-color:#86cde3;}
#contact .post-scene .booth-roof,#contact .post-scene .postbox-front,#contact .post-scene .postbox-top{background:linear-gradient(110deg,#64879d,#142c43);border-color:#8fd5ed;}
#contact .post-island{background:radial-gradient(ellipse,#355b76,#0a2035 65%,#061324);}
html:has(body[data-scene="contact"]){height:auto!important;overflow-y:auto!important;}
body[data-scene="contact"]{height:auto!important;min-height:100dvh;overflow-x:hidden;overflow-y:auto!important;}
body[data-scene="contact"] #main{position:relative!important;inset:auto!important;margin:98px 6% 0!important;padding:0!important;height:auto!important;min-height:0;overflow:visible!important;}
body[data-scene="contact"] #contact.scene-active{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)!important;grid-template-rows:auto auto;align-items:center;gap:12px 3%;height:auto!important;max-height:none!important;min-height:calc(100dvh - 235px);padding:0!important;overflow:visible!important;}
#contact .contact-scene.post-scene{position:relative!important;inset:auto!important;grid-column:2!important;grid-row:1/3!important;width:100%!important;height:610px!important;max-width:720px!important;transform:none!important;}
#contact .contact-intro{grid-column:1!important;grid-row:1;align-self:end;padding-top:28px;}
#contact .contact-actions{grid-column:1!important;grid-row:2;align-self:start;padding-bottom:30px;}
#contact .contact-orbit{display:none!important;}
body[data-scene="contact"] .chapter-controls{position:relative!important;inset:auto!important;margin:24px 6% 35px;}
body[data-scene="contact"] .scene-status{display:none;}
@media(max-width:900px){
 body[data-scene="contact"] #contact.scene-active{grid-template-columns:1fr!important;gap:16px;}
 #contact .contact-intro{grid-column:1!important;grid-row:1;align-self:start;padding-top:0;}
 #contact .contact-scene.post-scene{grid-column:1!important;grid-row:2!important;height:520px!important;width:100%!important;max-width:650px!important;}
 #contact .contact-actions{grid-column:1!important;grid-row:3;padding-bottom:0;}
 #contact .contact-intro h2{font-size:clamp(38px,7vw,64px)!important;max-width:100%;}
 body[data-scene="contact"] #main{margin-top:82px!important;}
 .station-model-stage{min-height:350px;}
}
@media(max-width:480px){#contact .contact-scene.post-scene{height:480px!important;}.station-model-stage{min-height:320px;}.station-model-help{max-width:200px;font-size:9px;}.station-model-tools{gap:6px;}.station-model-links>*{padding:9px 15px;}}
@media(prefers-reduced-motion:reduce){.station-model-tools button,.station-model-links>*{transition:none;}}
