.multimedia-dialog{position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden;color:#142653;outline:none}
.multimedia-dialog::backdrop{background:transparent}
.multimedia-dialog[open]{display:grid;place-items:center}
.multimedia-window{position:relative;display:flex;flex-direction:column;width:min(960px,calc(100vw - 40px),calc((100svh - 156px) * 4 / 3));background:#fff7df;border:3px solid #142653;border-radius:8px;box-shadow:7px 7px 0 #fb8ac1,7px 7px 0 3px #142653;overflow:hidden;transform-origin:center}
.multimedia-titlebar{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;gap:15px;align-items:center;min-height:39px;padding:5px 10px;border-bottom:3px solid #142653;background:repeating-linear-gradient(to bottom,#ff9bcc 0 2px,#142653 2px 2.75px,#ff9bcc 2.75px 5px)}
.multimedia-titlebar h2{justify-self:center;min-width:60%;margin:0;padding:2px 18px;border:1.5px solid #142653;background:#fff7df;font:400 16px/1.25 System,Arial,sans-serif;text-align:center}
.multimedia-close{display:grid;place-items:center;width:21px;height:21px;padding:0;border:2px solid #142653;border-radius:0;background:#fff7df;color:#142653;font:400 26px/17px Arial,sans-serif;cursor:pointer}
.multimedia-close span{position:relative;top:-1px}
.multimedia-zoom{width:21px;height:20px;border:2px solid #142653;background:linear-gradient(to bottom,#bbddff 0 4px,#142653 4px 5.5px,#bbddff 5.5px)}
.multimedia-screen{position:relative;aspect-ratio:4/3;background:#000}
.multimedia-video{display:block;width:100%;height:100%;object-fit:contain}
.multimedia-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:82px;height:82px;padding:12px;transform:translate(-50%,-50%);border:3px solid #142653;border-radius:50%;background:#fff7df;color:#142653;box-shadow:4px 4px 0 #142653;cursor:pointer;touch-action:manipulation}
.multimedia-play svg{display:block;width:100%;height:100%}
.multimedia-play[hidden],.multimedia-error[hidden]{display:none}
.multimedia-play:hover,.multimedia-close:hover,.multimedia-exit:hover{background:#54c9ff}
.multimedia-play:active{transform:translate(calc(-50% + 2px),calc(-50% + 2px));box-shadow:2px 2px 0 #142653}
.multimedia-footer{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:12px;min-height:54px;padding:7px 16px 10px;border-top:3px solid #142653}
.multimedia-sticker{position:relative;grid-column:2;justify-self:center;display:flex;align-items:baseline;justify-content:center;gap:6px;width:min(340px,100%);margin:0;padding:3px 28px;border:2px solid #142653;border-radius:49% 51% 47% 53%/48% 44% 56% 52%;background:#ffe45c;color:#142653;box-shadow:3px 3px 0 #fb8ac1,3px 3px 0 2px #142653;transform:rotate(-1.5deg);text-align:center;white-space:nowrap}
.multimedia-sticker span{font:400 13px/1.2 System,Arial,sans-serif}
.multimedia-sticker strong{font:700 20px/1 Prophet,Arial,sans-serif;letter-spacing:-.03em}
.multimedia-sticker::before,.multimedia-sticker::after{content:'✦';position:absolute;top:50%;transform:translateY(-50%);font:20px/1 Georgia,serif;color:#142653}
.multimedia-sticker::before{left:11px}.multimedia-sticker::after{right:11px}
.multimedia-exit{grid-column:3;display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:26px;padding:1px 12px 0;border:2px solid #142653;border-radius:5px;background:#fff7df;color:#142653;box-shadow:3px 3px 0 #142653,inset 0 3px 0 white;cursor:pointer;font:700 15px/1 Prophet,Arial,sans-serif}
.multimedia-dialog button:focus-visible,.multimedia-dialog a:focus-visible{outline:3px dashed #54c9ff;outline-offset:4px}
.multimedia-error{position:absolute;inset:auto 16px 16px;margin:0;padding:12px;background:#fff7df;color:#142653;font:16px/1.4 System,Arial,sans-serif;text-align:center}
.multimedia-error a{color:inherit}
.multimedia-dialog[data-transition] .multimedia-window{will-change:transform,opacity}
body.multimedia-window-open{overflow:hidden}
body.multimedia-window-open .room .glow-image{display:none}
body.multimedia-window-open .room .creature{animation:none}
body.multimedia-window-open .room .base-image{filter:none}
@media(max-width:620px){.multimedia-window{width:min(calc(100vw - 28px),calc((100svh - 156px) * 4 / 3))}.multimedia-titlebar{gap:8px}.multimedia-titlebar h2{min-width:75%;padding-inline:8px;font-size:14px}.multimedia-play{width:66px;height:66px;padding:8px}.multimedia-footer{grid-template-columns:minmax(0,1fr);gap:0;padding-inline:12px}.multimedia-sticker{grid-column:1;width:min(320px,100%);padding-inline:22px}.multimedia-sticker span{font-size:11px}.multimedia-sticker strong{font-size:18px}.multimedia-sticker::before,.multimedia-sticker::after{font-size:17px}.multimedia-sticker::before{left:7px}.multimedia-sticker::after{right:7px}.multimedia-exit{display:none}}
/* The museum pyramid opens a widescreen film in the shared video window. */
.pyramid-button{cursor:pointer;outline:none}
.pyramid-button:focus-visible image{filter:drop-shadow(0 0 8px #54c9ff) drop-shadow(0 0 4px #142653)}
.pyramid-dialog .multimedia-window{width:min(960px,calc(100vw - 40px),calc((100svh - 156px) * 16 / 9))}
.pyramid-dialog .multimedia-screen{aspect-ratio:16/9}
.pyramid-dialog .multimedia-footer{min-height:44px;padding-block:7px}
@media(max-width:620px){.pyramid-dialog .multimedia-window{width:min(calc(100vw - 28px),calc((100svh - 124px) * 16 / 9))}.pyramid-dialog .multimedia-footer{display:none}}

/* The archive terminal stays inside the museum popup window. */
.multimedia-index-dialog{--terminal-ink:#b5e8be;--terminal-dim:#7fa98b;--terminal-line:#355947;--terminal-black:#08130f;color:var(--terminal-ink);font-family:"Lucida Console",Monaco,monospace}
.multimedia-index-dialog::backdrop{background:transparent;backdrop-filter:none}
.multimedia-index-dialog .multimedia-window{width:min(820px,calc(100vw - 64px));max-height:calc(100svh - 48px);overflow:auto;background:var(--terminal-black);color:var(--terminal-ink);scrollbar-color:#52775d #08130f;text-shadow:0 0 12px #a6e9b01b}
.multimedia-index-dialog .multimedia-exit,.index-back{display:block;width:auto;min-width:0;height:auto;flex-shrink:0;margin:0;padding:3px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--terminal-ink);font:12px/1.25 "Lucida Console",Monaco,monospace;white-space:nowrap;cursor:pointer}
.multimedia-index-dialog .multimedia-exit:hover,.index-back:hover{background:var(--terminal-ink);color:var(--terminal-black)}
.multimedia-index-dialog [hidden]{display:none!important}
.multimedia-index{position:relative;padding:0 26px;font-family:"Lucida Console",Monaco,monospace}
.multimedia-index::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#0000000c 3px 4px)}
.terminal-directory{display:flex;justify-content:space-between;gap:20px;padding:27px 0 23px}
.terminal-directory p{margin:0;font:12px/1.25 "Lucida Console",Monaco,monospace;letter-spacing:.035em;color:var(--terminal-dim)}
.terminal-directory p:first-child{color:var(--terminal-ink)}
.terminal-directory p:first-child span{margin-right:10px}
.index-files{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#52775d #08130f}
.index-columns,.index-entry{display:grid;grid-template-columns:.85fr 1.6fr .9fr 1.2fr .6fr 72px;align-items:center;gap:22px;min-width:670px;box-sizing:border-box;text-align:left;white-space:nowrap}
.index-columns{padding:0 15px 12px;color:var(--terminal-dim);font:11px/1.2 "Lucida Console",Monaco,monospace;letter-spacing:.075em;text-transform:uppercase;border-bottom:1px solid var(--terminal-line)}
.index-entry{width:100%;min-height:66px;padding:17px 15px;border:0;border-bottom:1px solid var(--terminal-line);border-radius:0;background:#12251b;color:var(--terminal-ink);font:15px/1.3 "Lucida Console",Monaco,monospace;text-transform:uppercase;cursor:pointer;box-shadow:inset 2px 0 #b5e8be}
.index-entry strong{font-weight:700;letter-spacing:.015em}
.terminal-open{font-size:12px;text-align:right}
.index-entry:hover{background:var(--terminal-ink);color:var(--terminal-black);text-shadow:none}
.index-entry:focus-visible{outline-offset:-4px!important}
.index-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0 24px;color:var(--terminal-dim)}
.index-footer p{margin:0;font:11px/1.3 "Lucida Console",Monaco,monospace;letter-spacing:.045em}
.index-footer p:first-child>span:first-child{margin-right:10px;color:var(--terminal-ink)}
.terminal-cursor{display:inline-block;margin-left:4px;color:var(--terminal-ink)}
.terminal-scroll-hint{display:none}
.multimedia-index-dialog button:focus-visible,.multimedia-index-dialog a:focus-visible,.multimedia-index-dialog .index-files:focus-visible{outline:1px dashed var(--terminal-ink);outline-offset:5px}
.index-player-nav{display:flex;align-items:center;gap:24px;padding:13px 20px;border-bottom:1px solid var(--terminal-line)}
.index-player-nav p{margin:0;font:700 13px/1.25 "Lucida Console",Monaco,monospace}
.index-player-nav>span{margin-left:auto;color:var(--terminal-dim);font:11px/1.2 "Lucida Console",Monaco,monospace}
/* The film fits inside the wide window; its aspect ratio never resizes the shell. */
.multimedia-index-dialog .multimedia-screen{height:min(340px,calc(100svh - 210px));aspect-ratio:auto;background:#000}
.multimedia-index-dialog .multimedia-video{object-fit:contain}
.multimedia-index-dialog .multimedia-play{display:flex;align-items:center;justify-content:center;gap:14px;width:auto;height:auto;padding:18px 25px;border:1px solid var(--terminal-ink);border-radius:0;background:#08130fed;color:var(--terminal-ink);box-shadow:0 0 0 4px #08130f99;font:700 16px/1 "Lucida Console",Monaco,monospace;letter-spacing:.06em}
.multimedia-index-dialog .multimedia-play:hover{background:var(--terminal-ink);color:var(--terminal-black)}
.multimedia-index-dialog .multimedia-play:active{transform:translate(-50%,-50%);box-shadow:0 0 0 2px #08130f99}
.multimedia-index-dialog .multimedia-footer{display:flex;justify-content:space-between;gap:20px;min-height:46px;padding:12px 20px;border-top:1px solid var(--terminal-line)}
.index-film-credit{margin:0;font:12px/1.35 "Lucida Console",Monaco,monospace;text-transform:uppercase}
.index-film-credit span{margin-left:12px;color:var(--terminal-dim);font-size:10px}
.multimedia-index-dialog .multimedia-error{background:var(--terminal-black);color:var(--terminal-ink);border:1px solid var(--terminal-line);font:13px/1.5 "Lucida Console",Monaco,monospace}
@media(max-width:740px){
 .multimedia-index-dialog .multimedia-window{width:calc(100vw - 32px);max-height:calc(100svh - 34px)}
 .multimedia-index{padding-inline:19px}.terminal-directory{padding:24px 0}.terminal-directory p{font-size:10px}.index-columns,.index-entry{gap:18px}.index-entry{font-size:13px}.index-columns{font-size:10px}.index-footer{padding:28px 0 24px;gap:12px}.index-footer p,.terminal-scroll-hint{font:10px/1.2 "Lucida Console",Monaco,monospace}.terminal-record-count{display:none}.terminal-scroll-hint{display:block}
 .multimedia-index-dialog .multimedia-screen{height:auto;max-height:calc(100svh - 190px);aspect-ratio:4/3}.index-player-nav{padding:12px 16px;gap:16px}.index-back{font-size:10px}.index-player-nav p{font-size:12px}.index-player-nav>span{font-size:9px}.multimedia-index-dialog .multimedia-footer{padding:12px 16px}.index-film-credit{font-size:10px}.index-film-credit span{display:none}.multimedia-index-dialog .multimedia-exit{font-size:10px}.multimedia-index-dialog .multimedia-play{font-size:14px;padding:16px 22px}
}
@media(prefers-reduced-motion:reduce){.multimedia-index::after{display:none}}

.multimedia-index-dialog .multimedia-titlebar{color:#142653;text-shadow:none;flex-shrink:0}
.multimedia-index-dialog .multimedia-titlebar h2{font-size:16px}
@media(max-width:620px){.multimedia-index-dialog .multimedia-titlebar h2{font-size:13px;min-width:0;padding-inline:8px}}
