/* Mission diorama (mission-diorama.js). Every class is md- prefixed. Dark shell matches the home .hx hero. */
.md-root{--md-acc:#e11d48;position:relative;isolation:isolate;background:#060a15;color:#fff;border-radius:var(--r,16px);overflow:hidden;font-family:var(--body,system-ui,sans-serif);max-width:100%}
.md-root *,.md-root *::before,.md-root *::after{box-sizing:border-box}
.md-view{position:relative}
.md-stage{position:relative;height:clamp(400px,58vw,640px);background:radial-gradient(ellipse at 50% 40%,rgba(103,232,249,.18),transparent 62%),radial-gradient(circle at 12% 0,rgba(225,29,72,.26),transparent 46%),radial-gradient(circle at 92% 8%,rgba(139,92,246,.26),transparent 50%),#0b1224;overflow:hidden;outline:0;touch-action:pan-y}
.md-stage:focus-visible{box-shadow:inset 0 0 0 3px #67e8f9}
.md-stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.md-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.md-tag{position:absolute;left:14px;top:14px;z-index:3;font:700 12px/1 var(--body,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:#0f172a;background:#fef08a;border-radius:999px;padding:7px 11px;pointer-events:none}
.md-load{position:absolute;right:14px;top:14px;z-index:3;font:600 12px/1 var(--body,sans-serif);color:#c7d2e6;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 11px;pointer-events:none}
.md-help{position:absolute;right:14px;bottom:12px;z-index:3;font:500 12px/1.3 var(--body,sans-serif);color:#a9b6cc;pointer-events:none;text-align:right;max-width:46%}
.md-mks{position:absolute;inset:0;z-index:2;pointer-events:none}
.md-mk{position:absolute;left:0;top:0;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:2px solid #fff;background:var(--md-acc);color:#fff;font:800 13px/26px var(--display,sans-serif);text-align:center;padding:0;cursor:pointer;pointer-events:auto;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.md-mk::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--md-acc);opacity:0;animation:md-pulse 2s ease-out infinite}
.md-mk:hover,.md-mk.is-on{background:#fff;color:#0f172a}
.md-mk.is-on::before{border-color:#fff}
.md-mk[hidden]{display:none}
@keyframes md-pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.md-bot{position:absolute;z-index:2;width:56px;height:70px;margin:-62px 0 0 -28px;cursor:grab;touch-action:none;transition:left .9s cubic-bezier(.4,0,.2,1),top .9s cubic-bezier(.4,0,.2,1)}
.md-bot.is-drag{cursor:grabbing;transition:none}
.md-bot svg{width:100%;height:100%;display:block;animation:md-bob 2.4s ease-in-out infinite}
@keyframes md-bob{50%{transform:translateY(-4px)}}
.md-flow{animation:md-dash 1.4s linear infinite}
.md-rain{animation:md-dash .8s linear infinite}
@keyframes md-dash{to{stroke-dashoffset:-24}}
.md-panel{position:relative;z-index:4;margin:0;padding:18px 20px 16px;background:#fff;color:#0f172a;border-top:4px solid var(--md-acc)}
.md-who{display:flex;align-items:center;gap:8px;margin:0 0 4px;font:700 12px/1.2 var(--body,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:#64748b}
.md-who i{width:10px;height:10px;border-radius:50%;background:var(--md-acc);display:inline-block}
.md-ttl{margin:0 0 6px;font:800 21px/1.2 var(--display,sans-serif);letter-spacing:-.02em;color:#0f172a}
.md-txt{margin:0 0 12px;font:500 17px/1.5 var(--body,sans-serif);color:#1e293b}
.md-partner{margin:0;padding-top:10px;border-top:1px solid #e2e8f0;font:600 14.5px/1.4 var(--body,sans-serif);color:#475569}
.md-partner a{color:var(--md-acc);font-weight:800;text-decoration:none;white-space:nowrap}
.md-partner a:hover,.md-partner a:focus-visible{text-decoration:underline}
.md-list{list-style:none;margin:0;padding:14px 14px 16px;display:flex;flex-wrap:wrap;gap:8px;background:#0b1224;border-top:1px solid rgba(255,255,255,.1)}
.md-list li{margin:0;min-width:0}
.md-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px 6px 6px;border-radius:999px;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:600 14px/1.2 var(--body,sans-serif);cursor:pointer;text-align:left}
.md-btn b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--md-acc);color:#fff;font:800 13px/28px var(--display,sans-serif);text-align:center}
.md-btn:hover{border-color:#fff}
.md-btn:focus-visible,.md-mk:focus-visible{outline:3px solid #67e8f9;outline-offset:2px}
.md-btn[aria-pressed="true"]{background:#fff;color:#0f172a;border-color:#fff}
.md-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (min-width:900px){
 .md-panel{position:absolute;left:18px;bottom:18px;width:min(390px,40%);border-radius:14px;border-top:0;box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
 .md-panel::after{content:"";position:absolute;left:34px;top:-10px;border:10px solid transparent;border-top:0;border-bottom-color:#fff}
 .md-help{max-width:30%}
 .md-stage{height:clamp(520px,52vw,680px)}
}
@media (max-width:899px){.md-help{display:none}}
@media (max-width:480px){.md-list{display:grid;grid-template-columns:1fr 1fr;padding:12px}.md-btn{width:100%;height:100%}.md-ttl{font-size:19px}.md-txt{font-size:16px}.md-btn{font-size:13px;padding-right:11px}.md-mk{width:26px;height:26px;margin:-13px 0 0 -13px;line-height:22px;font-size:12px}}
@media (prefers-reduced-motion:reduce){.md-mk::before,.md-bot svg,.md-flow,.md-rain{animation:none}.md-bot{transition:none}}
/* final static fallback (no WebGL / reduced motion / ?md=svg): size the stage to the art */
.md-flat .md-stage{height:auto;aspect-ratio:800/560;min-height:0}
@media (min-width:900px){.md-flat .md-stage{height:auto;max-height:640px}.md-flat .md-panel{position:relative;left:auto;bottom:auto;width:auto;border-radius:0;border-top:4px solid var(--md-acc);box-shadow:none}.md-flat .md-panel::after{display:none}}
@media (max-width:480px){.md-flat .md-bot{width:38px;height:48px;margin:-44px 0 0 -19px}.md-flat .md-mk{width:22px;height:22px;margin:-11px 0 0 -11px;line-height:18px;font-size:11px}.md-flat .md-tag{font-size:10px;padding:5px 8px;left:8px;top:8px}}
