.mission-intro{box-sizing:border-box;width:min(760px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #92e8e775;border-radius:22px;background:#071b2beb;color:#f1f9ff;box-shadow:0 24px 90px #0009;font:1.12rem/1.65 system-ui,sans-serif;overflow:auto}
.mission-intro::backdrop{background:#020b17a8}
.mission-intro-panel{position:relative;padding:clamp(22px,4vw,42px);text-align:center}
.mission-intro-panel small{color:#a6d5df;font-size:.78rem;letter-spacing:.08em}
.mission-intro-panel h2{margin:8px 0 20px;font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.25;color:#c7faff}
.mission-intro-panel p{margin:14px 0}
.mission-intro-panel pre{margin:20px 0 8px;padding:14px;border:1px solid #91e3e64d;border-radius:12px;background:#03101ccc;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;font-size:clamp(.9rem,2.3vw,1.15rem);color:#b5ffe0}
.mission-intro-panel button{min-height:46px;min-width:130px;margin-top:16px;padding:10px 28px;border:1px solid #8affdf;border-radius:12px;background:#b4ffea;color:#062b30;font:700 1rem system-ui;cursor:pointer}
.mission-intro-panel button:focus-visible{outline:3px solid #fff;outline-offset:5px}
.mission-intro.has-route{width:min(1120px,calc(100vw - 32px));background:#081327}
.mission-intro-map{position:relative;aspect-ratio:16/9;isolation:isolate}
.mission-intro-map img,.mission-intro-map svg{position:absolute;inset:0;width:100%;height:100%}
.mission-intro-map svg{background:#030a2226}
.intro-route{fill:none;stroke:#b8ffda;stroke-width:4;stroke-dasharray:12 9;stroke-linecap:round;filter:drop-shadow(0 0 4px #073e32)}
.intro-stops{fill:#062d33;stroke:#d4ffe9;stroke-width:2}
.intro-stop-numbers{fill:white;text-anchor:middle;font:700 16px system-ui}
.has-route .mission-intro-panel{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:min(530px,70%);padding:20px 26px;border:1px solid #a5c8e977;border-radius:18px;background:#07192be0;box-shadow:0 12px 40px #0007;font-size:1rem}
.has-route .mission-intro-panel h2{font-size:1.3rem;margin-bottom:12px}
.mission-intro-route-order{font-size:.8rem;color:#bdffe1}
@media(max-width:650px),(max-height:540px){.has-route .mission-intro-panel{position:relative;left:auto;top:auto;transform:none;width:auto;border:0;border-radius:0}.mission-intro-panel{font-size:1rem}.mission-intro.has-route{width:min(800px,calc(100vw - 24px))}}
