/* DUX intro for dux-assistant.ca (v7.8 look): no gate. The opening screen IS the clip's first frame (paused, muted,
   preloaded <video> + first-frame poster), fullscreen, object-fit contain on dark navy, with ONE small pulsing
   ENTER / "tap to enter" cue. Click/tap anywhere, Enter or Space -> the clip with sound. Drop-in, no dependencies. */
@font-face{font-family:"Orbitron";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Orbitron-600-latin.woff2) format("woff2")}
html.dux-intro-open,html.dux-intro-open body{overflow:hidden}
.dux-intro{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:#050B14;color:#E6F7FF;cursor:pointer;
  -webkit-tap-highlight-color:transparent;transition:opacity .9s ease}
.dux-intro.di-playing{cursor:default}
.dux-intro.di-fade{opacity:0;pointer-events:none}
.dux-intro video{display:block;width:100vw;height:100vh;height:100dvh;object-fit:contain;object-position:center;background:#050B14}
.dux-intro.di-novideo{background:#050B14 url(video/dux-intro-first.jpg) center/contain no-repeat}
.dux-intro.di-novideo video{visibility:hidden}
/* the cue: just under the letterboxed 16:9 frame on tall screens, over its lower part on wide ones */
.dux-intro .di-cue{position:absolute;left:50%;transform:translateX(-50%);top:min(calc(50% + 28.125vw + 18px),calc(100% - 104px - env(safe-area-inset-bottom,0px)));
  display:flex;flex-direction:column;align-items:center;gap:6px;min-width:44px;padding:8px 18px;margin:0;border:0;background:none;color:#22D3EE;cursor:pointer;
  animation:diCue 2.4s ease-in-out infinite}
.dux-intro .di-main{font:600 clamp(18px,2.2vw,24px)/1 "Orbitron","Segoe UI",system-ui,sans-serif;letter-spacing:.34em;padding-left:.34em;color:#9AF3FF;
  text-shadow:0 0 6px #22D3EE,0 0 16px rgba(34,211,238,.85),0 0 32px rgba(34,211,238,.45)}
.dux-intro .di-sub{font:500 11px/1 ui-monospace,"Courier New",monospace;letter-spacing:.22em;color:#7FD8EA;text-transform:lowercase;opacity:.85}
.dux-intro .di-cue:focus{outline:none}
.dux-intro .di-cue:focus-visible .di-main{color:#E6FDFF;text-shadow:0 0 8px #22D3EE,0 0 22px #22D3EE,0 0 40px rgba(34,211,238,.7)}
.dux-intro .di-cue:focus-visible .di-sub{text-decoration:underline;text-underline-offset:4px;opacity:1}
.dux-intro.di-playing .di-cue,.dux-intro.di-ending .di-cue{display:none}
@keyframes diCue{0%,100%{opacity:.62}50%{opacity:1}}
.dux-intro .di-skip{position:absolute;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));display:none;
  min-width:44px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid rgba(34,211,238,.6);background:rgba(5,11,20,.55);
  color:#E6F7FF;font:600 13px ui-monospace,"Courier New",monospace;letter-spacing:.12em;cursor:pointer}
.dux-intro.di-playing .di-skip{display:block}
.dux-intro .di-skip:focus-visible{outline:3px solid #F59E0B;outline-offset:3px}
.dux-intro .di-status{position:absolute;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));text-align:center;font:13px ui-monospace,monospace;color:#F59E0B;pointer-events:none}
@media (prefers-reduced-motion:reduce){.dux-intro{transition:none}.dux-intro .di-cue{animation:none;opacity:1}}
