
/* Shared shell for introduction and protected lesson playback. */
html body .intro-video-dialog{display:none;box-sizing:border-box;width:min(1040px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:22px;margin:auto;overflow:auto;overscroll-behavior:contain;border:1px solid var(--ecg-ui-border);border-bottom:3px solid #050b14;border-radius:20px;background:linear-gradient(145deg,#253043,#121b28);box-shadow:inset 0 1px var(--ecg-ui-silver-highlight),0 4px 0 #060b13,0 24px 70px #0009;color:var(--ecg-ui-text);font-family:'Segoe UI',Arial,sans-serif}
html body .intro-video-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:7px}
html body .intro-video-dialog::backdrop{background:#030710db;backdrop-filter:blur(4px)}
html body .intro-video-dialog .intro-video-eyebrow{grid-column:1;grid-row:1;margin:0;color:var(--ecg-ui-accent-soft);font-size:10px;font-weight:700;letter-spacing:.13em;line-height:1.4}
html body .intro-video-dialog h2{grid-column:1;grid-row:2;margin:0 0 12px;font:700 24px/1.25 'Segoe UI',Arial,sans-serif;letter-spacing:-.025em}
html body .intro-video-dialog .intro-video-close{grid-column:2;grid-row:1/3;align-self:start;display:grid;place-items:center;min-width:44px;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--ecg-ui-border);border-radius:12px;background:linear-gradient(#2b394e,#182437);box-shadow:inset 0 1px #e0edff20,0 2px 0 #090f19;color:var(--ecg-ui-silver-bright);font:600 13px/1.2 'Segoe UI',Arial,sans-serif;cursor:pointer;transition:background .18s,transform .18s}
html body .intro-video-dialog .intro-video-close:hover{background:var(--ecg-ui-selected-bg);border-color:var(--ecg-ui-accent)}.intro-video-close:active{transform:translateY(1px)}
html body .intro-video-dialog .intro-video-player{grid-column:1/-1;min-width:0;aspect-ratio:16/9;border:1px solid #91a7c440;border-radius:12px;background:#050810;box-shadow:0 0 0 4px #080f1a50,0 10px 25px #0004;overflow:hidden}
html body .intro-video-dialog .intro-video-player[hidden]{display:none}
html body .intro-video-dialog .lesson-video-status,html body .intro-video-dialog .lesson-video-links{grid-column:1/-1;font-size:14px;line-height:1.5;margin:6px 0;color:#becbde}.lesson-video-status:empty,.lesson-video-links:empty{display:none}
html body .intro-video-dialog :focus-visible{outline:2px solid #d0a6ff;outline-offset:3px}
html body #academy-map#academy-map [data-action="intro-video"]{display:flex!important;align-items:center;justify-content:center;gap:12px;min-height:48px!important;border:1px solid #bd99e06b!important;border-radius:12px!important;background:linear-gradient(#756091,#503d6c)!important;box-shadow:inset 0 1px #e7d2ff35,0 3px 0 #0a101b!important;color:#f6f0ff!important;font:650 15px/1.4 'Segoe UI',Arial,sans-serif!important;text-shadow:none!important;transition:background .18s,transform .18s,box-shadow .18s}
html body #academy-map#academy-map [data-action="intro-video"]:hover{background:linear-gradient(#8b6da9,#624b82)!important;box-shadow:inset 0 1px #f4e5ff50,0 3px 0 #0a101b,0 7px 18px #b387df25!important}
html body #academy-map#academy-map [data-action="intro-video"]:focus-visible{outline:2px solid #d0a6ff!important;outline-offset:3px}
@media(max-width:899px){
 html body #academy-map#academy-map .planet-preview.mobile-panel-fixed:has([data-action="intro-video"]){border:1px solid var(--ecg-ui-border)!important;border-bottom:3px solid #050b14!important;border-radius:20px!important;background:linear-gradient(145deg,#253043,#121b28)!important;box-shadow:inset 0 1px var(--ecg-ui-silver-highlight),0 4px 0 #060b13,0 24px 70px #0009,0 0 0 100vmax #030710b3!important;padding:20px!important;gap:8px!important}
 html body #academy-map#academy-map .planet-preview.mobile-panel-fixed:has([data-action="intro-video"]) .mobile-panel-actions{padding-top:16px!important;border-top:1px solid #8a9db32b!important}
 html body #academy-map#academy-map .planet-preview.mobile-panel-fixed:has([data-action="intro-video"]) .preview-close{background:linear-gradient(#2b394e,#182437)!important;box-shadow:inset 0 1px #e0edff20,0 2px 0 #090f19!important;border-color:var(--ecg-ui-border)!important}
 html body #academy-map#academy-map .planet-preview.mobile-panel-fixed:has([data-action="intro-video"]) .preview-header h2{font-size:23px!important;line-height:1.25!important;font-weight:700!important;text-transform:none!important;letter-spacing:-.025em!important}
}
@media(max-width:599px){html body .intro-video-dialog{width:calc(100vw - 24px);padding:16px 12px;border-radius:18px}html body .intro-video-dialog[open]{column-gap:10px}html body .intro-video-dialog h2{font-size:20px;margin-bottom:10px}html body .intro-video-dialog .intro-video-close{font-size:12px;padding:8px}html body .intro-video-dialog .intro-video-player{border-radius:9px}}
@media(prefers-reduced-motion:reduce){html body .intro-video-close,html body #academy-map#academy-map [data-action="intro-video"]{transition:none;transform:none}}
