*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#080f1d;color:#dbe7ef;font-family:"Segoe UI",Arial,sans-serif}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid #82dcff;outline-offset:5px}button:disabled{cursor:wait;opacity:.55}button{color:inherit}button[hidden],[hidden]{display:none!important}.tour{position:relative;width:100%;height:100dvh;overflow:hidden}.stage{position:absolute;inset:0}.stage canvas{display:block;width:100%;height:100%;touch-action:none;outline:0}.tour-header{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:23px 32px;gap:20px;background:linear-gradient(#050b14c9,transparent);pointer-events:none;z-index:3}.tour-header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:13px;text-shadow:0 1px 8px #0009}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid #749bac76;background:#1124388c;color:#a2e4fd;font:500 29px Georgia,serif}.brand strong{display:block;font-size:15px;font-weight:500;letter-spacing:.1px}.brand small{display:block;margin-top:5px;font-size:8px;letter-spacing:1.8px;color:#9bb2c5}.tour-header nav{display:flex;gap:7px;align-items:center}.tour-header nav button,.reset{background:#08121dbd;border:1px solid #91b4d42b;backdrop-filter:blur(8px);border-radius:3px;padding:11px 15px;font-size:12px}.tour-header nav button:hover,.reset:hover,.secondary:hover{background:#172b3e;border-color:#70c3e77a}.tour-header nav [data-open="help"]{width:39px;padding:10px;font-size:15px}.invitation{position:absolute;left:36px;bottom:122px;width:304px;padding:24px 27px;background:linear-gradient(125deg,#0a1524e8,#0a1524c9);border:1px solid #82a5c030;border-top-color:#83c9e76b;backdrop-filter:blur(14px);box-shadow:0 15px 65px #0004;z-index:2}.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.5px;color:#8bc9e5}.eyebrow i,.location i{width:5px;height:5px;display:inline-block;background:#7ad6fb;border-radius:50%;box-shadow:0 0 9px #40bff787}.invitation h1{font-size:31px;font-weight:500;margin:16px 0 12px;letter-spacing:-.6px}.invitation p{font-size:13px;line-height:1.85;color:#aabfce;margin:0 0 22px}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:#aedff0;color:#0a2232;border:0;padding:13px 16px;font-size:13px;font-weight:600;transition:background .2s}.primary:hover{background:#d7f4ff}.primary span{font-size:21px;font-weight:300}.invitation small{display:block;margin-top:14px;font-size:10px;color:#849eb2}.tour.is-visiting .invitation{display:none}.reticle{position:absolute;left:50%;top:50%;width:5px;height:5px;border:1px solid #e6faffb8;border-radius:50%;box-shadow:0 1px 5px #0008;pointer-events:none;opacity:0}.is-visiting .reticle{opacity:1}.target{position:absolute;top:calc(50% + 26px);left:50%;transform:translateX(-50%);background:#091623ed;border:1px solid #78beda65;border-radius:3px;padding:11px 16px;max-width:calc(100% - 40px);font-size:12px;box-shadow:0 4px 20px #0005;z-index:2}.target span{display:block;color:#86a5bb;font-size:10px;margin-top:4px}.tour-hud{position:absolute;bottom:22px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;gap:14px;z-index:2;pointer-events:none}.tour-hud>*{pointer-events:auto}.location{display:flex;align-items:center;gap:12px;background:#07121eb5;padding:12px 17px;border:1px solid #82a6bf24;border-radius:3px;backdrop-filter:blur(8px)}.location small{display:block;color:#8fa6b9;font-size:9px;margin-bottom:4px}.location strong{display:block;font-size:12px;font-weight:500}.location-number{color:#758c9f;font-size:9px;letter-spacing:1.5px;border-inline-start:1px solid #8da6b834;padding-inline-start:17px;margin-inline-start:15px}.keyboard-hint{display:flex;align-items:center;gap:19px;font-size:10px;color:#b5c7d8;text-shadow:0 1px 4px #000;background:#06101a73;padding:10px 15px;border-radius:3px}.keyboard-hint span{white-space:nowrap}kbd{display:inline-grid;place-items:center;border:1px solid #a6bac640;min-width:17px;min-height:19px;padding:1px 3px;margin:0 1px;font:9px Arial,sans-serif;border-radius:2px}.reset{font-size:10px;white-space:nowrap;padding:12px}.tour-dialog{width:min(730px,calc(100vw - 40px));max-height:calc(100dvh - 48px);color:#d8e7f0;background:#101d2bec;border:1px solid #799db442;border-radius:6px;padding:36px;box-shadow:0 30px 120px #0008;backdrop-filter:blur(18px);overflow:auto}.tour-dialog::backdrop{background:#040a13a6;backdrop-filter:blur(5px)}.tour-dialog h2{font-size:29px;font-weight:500;margin:15px 0 12px;letter-spacing:-.5px}.tour-dialog p{color:#a5bacb;font-size:13px;line-height:1.9;margin:12px 0 22px}.close{position:absolute;left:17px;top:14px;width:32px;height:32px;border:1px solid #8aadc037;background:#1a2a37;font-size:23px;font-weight:200;border-radius:3px}.map-layout{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:26px}.floorplan{width:100%;max-height:315px;stroke:#5c829a;stroke-width:1;fill:none;background:#0b1824;border:1px solid #79a7c51f;padding:12px}.floorplan rect{fill:#182e40;stroke:#5f8aa5}.floorplan circle{fill:#182e40;stroke:#70ccef}.floorplan .map-dot{fill:#90dcf8}.floorplan .map-path{stroke:#5ca2c5;stroke-dasharray:3 5}.floorplan text{stroke:none;fill:#9bb7ca;text-anchor:middle;font-size:11px;font-family:"Segoe UI",Arial}.map-destinations{display:grid;gap:8px}.map-destinations button{display:flex;align-items:center;gap:15px;text-align:right;background:#102538;border:1px solid #7fa6bd2b;padding:15px 14px;border-radius:3px}.map-destinations button:hover,.exhibit-list button:hover{background:#1c3549;border-color:#64b3d76b}.map-destinations button>span:first-child{color:#6f9cbb;font-size:11px}.map-destinations button strong{font-size:14px;font-weight:500;display:block}.map-destinations button small{display:block;color:#8faabd;font-size:10px;margin-top:5px}.map-destinations button>span:last-child{margin-inline-start:auto;color:#81c2df}.exhibit-list{display:grid;gap:9px}.exhibit-list button{display:flex;align-items:center;gap:20px;text-align:right;padding:15px;border:1px solid #81a7bf2a;background:#102538;border-radius:3px}.exhibit-list img{width:66px;height:85px;object-fit:contain;background:#08131e;padding:5px}.exhibit-list strong{display:block;font-size:19px;font-weight:500}.exhibit-list small{display:block;color:#86a7be;font-size:10px;margin-bottom:7px}.exhibit-list bdi{display:block;font-size:12px;color:#97b5ca;margin-top:6px}.exhibit-list button>span:last-child{margin-inline-start:auto;color:#91d5ef}.help-dialog{width:min(640px,calc(100vw - 36px))}.help-dialog p{margin-bottom:18px}.help-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:23px 0}.secondary{background:#142d40;border:1px solid #79b5d356;padding:12px 16px;border-radius:3px;font-size:12px}.help-actions label{font-size:12px;color:#a5bdcc;display:flex;align-items:center;gap:10px}select{background:#112739;color:#d9e9f3;border:1px solid #83a9bf4d;padding:9px 12px;border-radius:3px}.tour-dialog .source-note{font-size:11px;line-height:1.8;color:#7f9aaf;border-top:1px solid #91b2c62a;padding-top:18px}.text-link{color:#99d3ed;font-size:12px}.inspection-dialog[open]{width:min(850px,calc(100vw - 36px));display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.inspection-media{padding:20px;display:flex;align-items:center;justify-content:center;background:#08131c;min-height:310px}.inspection-media img{max-width:100%;max-height:52dvh;object-fit:contain}.inspection-copy .primary{font-size:12px;margin-top:24px}.inspection-copy button{display:block;margin-top:17px;padding:0;background:none;border:0;color:#a4bece;font-size:12px}.inspection-copy bdi{display:block;color:#91b7ce;font-size:12px}.fallback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 35px));max-height:65dvh;overflow:auto;background:#101e2eee;border:1px solid #72b4d548;padding:30px}.fallback h2{font-size:26px;font-weight:500}.fallback p{font-size:13px;line-height:1.8;color:#abc1d1}.fallback [data-fallback-links]{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:20px 0}.fallback a{padding:13px;background:#1a3146;font-size:12px;border:1px solid #80a6bc27}.status{position:absolute;bottom:88px;right:32px;max-width:calc(100vw - 64px);font-size:11px;color:#aed3e7;text-shadow:0 1px 6px #000;pointer-events:none}.status:empty{display:none}.touch-move,.touch-turn{display:none}.no-webgl .invitation,.no-webgl .reticle,.no-webgl .touch-move,.no-webgl .touch-turn,.no-webgl .keyboard-hint{display:none}.no-webgl .stage{background:radial-gradient(ellipse at 50% 45%,#193850,#0c1422 70%)}
.help-links{display:flex;gap:20px;flex-wrap:wrap}
.collection-heading{display:flex;justify-content:space-between;align-items:center;color:#b9d1df;font-size:14px;font-weight:500;margin:23px 0 7px}.collection-heading span{font-size:11px;color:#849fae}.inspection-copy .record-description{white-space:pre-line}.fallback [data-fallback-links]>button{padding:13px;background:#1a3146;color:#d8e8f0;font:12px/1.6 "Segoe UI",Arial,sans-serif;border:1px solid #80a6bc27;text-align:start;cursor:pointer}
@media(max-width:1050px){.keyboard-hint{gap:11px}.keyboard-hint span:last-child{display:none}.tour-header{padding:19px 23px}.tour-hud{left:23px;right:23px}.location-number{display:none}}
@media(max-width:820px),(pointer:coarse){.keyboard-hint{display:none}.touch-move{display:grid;grid-template-columns:repeat(3,43px);grid-template-rows:repeat(2,43px);gap:5px;position:absolute;left:20px;bottom:max(93px,calc(78px + env(safe-area-inset-bottom)));direction:ltr;z-index:2}.touch-move button,.touch-turn button{background:#081523ad;border:1px solid #8bbbd54d;backdrop-filter:blur(8px);border-radius:5px;font:20px Arial;color:#c0e7f8;touch-action:none;user-select:none}.touch-move button:active,.touch-turn button:active{background:#467d9b}.touch-move [data-move="forward"]{grid-column:2}.touch-move [data-move="left"]{grid-row:2;grid-column:1}.touch-move [data-move="back"]{grid-row:2;grid-column:2}.touch-move [data-move="right"]{grid-row:2;grid-column:3}.touch-turn{display:flex;gap:7px;position:absolute;right:20px;bottom:max(95px,calc(78px + env(safe-area-inset-bottom)));z-index:2;direction:ltr}.touch-turn button{width:43px;height:43px}.invitation{bottom:210px;left:20px;width:280px;padding:23px}.tour-hud{bottom:max(17px,env(safe-area-inset-bottom))}.status{bottom:77px}.location{padding:10px 13px}.reset{padding:12px 10px}.target{top:calc(46% + 20px)}.reticle{top:46%}}
@media(max-width:520px){.tour-header{padding:15px;gap:9px;flex-wrap:wrap}.brand{gap:10px}.brand-mark{width:35px;height:35px;font-size:24px}.brand strong{font-size:12px}.brand small{font-size:7px;letter-spacing:1px}.tour-header nav{width:100%;justify-content:flex-end;gap:6px}.tour-header nav button{font-size:10px;padding:8px 11px}.tour-header nav [data-open="help"]{width:31px;padding:6px}.invitation{bottom:213px;left:17px;width:255px;padding:21px}.invitation h1{font-size:28px;margin:13px 0 10px}.invitation p{font-size:12px;margin-bottom:16px}.tour-hud{left:17px;right:17px}.location{gap:8px}.location strong{font-size:11px}.location small{font-size:8px}.reset{font-size:9px}.tour-dialog{padding:29px 23px;max-height:calc(100dvh - 28px);width:calc(100vw - 28px)}.tour-dialog h2{font-size:24px;margin-top:15px}.map-layout{grid-template-columns:1fr;gap:15px}.floorplan{display:none}.map-destinations button{padding:13px}.tour-dialog p{font-size:12px}.exhibit-list button{padding:11px;gap:12px}.exhibit-list img{width:55px;height:71px}.exhibit-list strong{font-size:17px}.inspection-dialog[open]{grid-template-columns:1fr;gap:18px}.inspection-media{min-height:180px;padding:13px}.inspection-media img{max-height:31dvh}.inspection-copy .primary{margin-top:15px}.inspection-copy p{margin:12px 0}.fallback{top:51%;padding:24px}.fallback h2{font-size:23px}.fallback [data-fallback-links]{grid-template-columns:1fr}}
@media(max-height:520px){.tour-header{padding:12px 20px;flex-wrap:nowrap}.tour-header nav{width:auto}.brand small{display:none}.invitation{left:20px;bottom:88px;width:253px;padding:16px 21px}.invitation h1{font-size:25px;margin:9px 0}.invitation p{font-size:11px;line-height:1.6;margin-bottom:12px}.invitation small{margin-top:7px;font-size:9px}.invitation .primary{padding:9px 14px}.touch-move,.touch-turn{bottom:86px}.tour-hud{bottom:12px}.status{display:none}.tour-dialog{max-height:calc(100dvh - 20px)}.inspection-dialog[open]{grid-template-columns:1fr 1fr}.inspection-media{min-height:150px}.inspection-media img{max-height:55dvh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.mouse-look .stage canvas{cursor:none}.mouse-look .keyboard-hint{border:1px solid #72cce64d}
.exhibit-list .collection-heading{grid-column:1/-1;margin:16px 0 4px;padding:9px 0;color:#b3dbea;font-size:15px;font-weight:500}
.collection-heading span{font-size:11px;color:#90a7b7;margin-inline-start:8px}
.inspection-copy .record-description{white-space:pre-line}
.fallback .collection-heading{grid-column:1/-1;margin:15px 0 3px;font-size:14px;color:#b3dbea}
.loading-overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#14293cea,#080f1df7);backdrop-filter:blur(12px)}.loading-card{width:min(350px,calc(100vw - 64px));text-align:center;color:#dcf0fa}.loading-mark{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 29px;border:1px solid #79cce76b;background:#10253880;box-shadow:0 0 35px #42b6db1a;color:#a2e4fd;font:42px Georgia,serif}.loading-card label{display:block;font-size:23px;letter-spacing:.5px;margin-bottom:20px}.loading-track{display:flex;align-items:center;gap:14px;direction:ltr}.loading-track progress{appearance:none;-webkit-appearance:none;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;background:#294357}.loading-track progress::-webkit-progress-bar{background:#294357}.loading-track progress::-webkit-progress-value{background:linear-gradient(90deg,#3b91ba,#a0e4ff);border-radius:4px}.loading-track progress::-moz-progress-bar{background:#8edbfa}.loading-track bdi{min-width:34px;font-size:11px;color:#91c5dd;text-align:right}.loading-card small{display:block;min-height:18px;margin-top:15px;font-size:11px;color:#8daabe}.is-loading .tour-header,.is-loading .tour-hud,.is-loading .invitation{visibility:hidden}.is-loading .stage{pointer-events:none}

/* The picked-up box (box-viewer.js) and the sound switch, 29 October 2026. */
.inspection-media.has-box{flex-direction:column;align-items:stretch;padding:12px}
.box-viewer{position:relative;width:100%;height:min(52dvh,440px);touch-action:none;cursor:grab;outline:0;background:radial-gradient(ellipse at 50% 40%,#1d3346,#08131c 70%)}
.box-viewer:active{cursor:grabbing}.box-viewer:focus-visible{outline:2px solid #82dcff;outline-offset:2px}
.box-viewer canvas{display:block;width:100%;height:100%}
.box-viewer-hint{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:10px;color:#86a5bb;pointer-events:none}
.box-viewer-tools{display:flex;gap:8px;justify-content:center;margin-top:10px}
.box-viewer-tools button{background:#142d40;border:1px solid #79b5d356;padding:8px 14px;border-radius:3px;font-size:12px}
.tour-header nav [data-sound][aria-pressed="true"]{color:#7f9aaf;text-decoration:line-through}
@media(max-width:520px){.box-viewer{height:34dvh}}

/* 29 October 2026 (owner): a larger exhibit window, right to left, the close mark centred in its button, page turning. */
.inspection-dialog[open]{width:min(1180px,calc(100vw - 32px));grid-template-columns:1.15fr 1fr;gap:36px;direction:rtl}
.inspection-copy{direction:rtl;text-align:right}
.inspection-copy .record-description{white-space:pre-line;max-height:44dvh;overflow:auto;font-size:14px}
.inspection-media{min-height:420px}
.inspection-media img{max-height:68dvh}
.close{display:grid;place-items:center;padding:0;line-height:1;font-size:22px}
.inspection-media.has-pages{flex-direction:column;gap:10px}
.page-controls{display:flex;align-items:center;gap:14px;font-size:12px;color:#a9c2d3}
.page-controls button{width:36px;height:32px;border:1px solid #79b5d356;background:#142d40;border-radius:3px;font-size:16px}
@media(max-width:520px){.inspection-dialog[open]{grid-template-columns:1fr}.inspection-media{min-height:200px}.inspection-media img{max-height:40dvh}}

/* The guide's reading and the playable pinball (29 October 2026, night). */
.inspection-copy .guide-play{display:inline-flex;align-items:center;gap:8px;margin:14px 0 4px;padding:9px 16px;border:1px solid #79b5d356;background:#142d40;border-radius:999px;font-size:13px;color:#d8eef8}
.inspection-copy .guide-play[aria-pressed="true"]{background:#1f4a64;border-color:#82dcff}
.inspection-media.has-game{padding:8px;min-height:auto}
.pinball{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}
.pinball canvas{height:min(72dvh,720px);aspect-ratio:400/720;width:auto;max-width:100%;border-radius:6px;outline:0;box-shadow:0 0 30px #7a5bff55}
.pinball canvas:focus-visible{outline:2px solid #82dcff}
.pinball-touch{display:flex;gap:8px}.pinball-touch button{padding:10px 16px;border:1px solid #79b5d356;background:#142d40;border-radius:6px;font-size:13px;touch-action:none}

/* 30 October 2026 (owner): a bigger exhibit window, the picture or 3D box on the left and the text on the right in a
   larger type, and the guide's play mark pointing right to left. */
.inspection-dialog[open]{width:min(1560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);grid-template-columns:minmax(330px,.8fr) 1.35fr;gap:40px;padding:40px 44px}
.inspection-copy{order:-1}
.inspection-copy h2{font-size:36px}
.inspection-copy bdi{font-size:14px}
.inspection-copy .eyebrow{font-size:13px}
.inspection-copy .record-description{font-size:18px;line-height:1.85;color:#c6d6e2;max-height:52dvh}
.inspection-copy .primary{font-size:14px}
.inspection-copy button{font-size:14px}
.inspection-media{min-height:min(74dvh,720px)}
.inspection-media img{max-height:78dvh}
.box-viewer{height:min(72dvh,700px)}
.pinball canvas{height:min(80dvh,820px)}
.inspection-copy .guide-play{font-size:15px;padding:10px 18px;direction:rtl}
.guide-play svg{width:14px;height:14px;fill:currentColor;flex:none}
@media(max-width:820px){.inspection-dialog[open]{grid-template-columns:1fr;padding:30px 20px}.inspection-copy{order:0}.inspection-media{min-height:200px}.inspection-media img{max-height:44dvh}.box-viewer{height:42dvh}.inspection-copy .record-description{font-size:16px;max-height:none}}

/* The air hockey game and the pinball machines' tables (30 October 2026). */
.air-hockey{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}
.air-hockey canvas{height:min(76dvh,800px);aspect-ratio:480/800;width:auto;max-width:100%;border-radius:10px;outline:0;box-shadow:0 0 34px #ff2a2a44;touch-action:none;cursor:none}
.air-hockey canvas:focus-visible{outline:2px solid #82dcff}
.game-keys{margin:0;font-size:14px;color:#c9d7e4;text-align:center;direction:rtl}
.pinball-glass{width:min(100%,300px);aspect-ratio:1.1;object-fit:cover;object-position:top;border-radius:4px;box-shadow:0 0 24px #0008}
.pinball canvas{height:min(58dvh,640px)}
.pinball-glass{width:auto;height:min(22dvh,220px)}
.pinball canvas{height:min(50dvh,580px)}

/* 30 October 2026 (owner): the text starts at the top of the window; games open wide, with the keys and the way out. */
.inspection-dialog[open]{align-items:start}
.inspection-copy{padding-top:18px}
.inspection-dialog.game-mode[open]{width:min(1720px,calc(100vw - 16px));max-height:calc(100dvh - 16px);grid-template-columns:minmax(240px,300px) 1fr;gap:24px;padding:22px 26px}
.game-mode .inspection-copy .record-description{font-size:15px;max-height:60dvh}
.game-mode .inspection-copy h2{font-size:28px}
.game-mode .inspection-media{min-height:0;padding:8px}
.air-hockey canvas{width:auto;height:calc(100dvh - 140px);max-height:1000px;aspect-ratio:480/800;max-width:100%}
.pinball{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px}
.pinball canvas{height:calc(100dvh - 120px);max-height:900px}
.pinball-side{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:320px}
.pinball-glass{height:auto;width:min(300px,100%)}
.game-keys b{color:#ffd27a}
@media(max-width:820px){.inspection-dialog.game-mode[open]{grid-template-columns:1fr}.pinball canvas{height:70dvh}}

.inspection-copy .record-credit{font-size:13px;color:#8fa6b9;margin:0 0 14px}
.inspection-copy .record-credit,.inspection-copy .record-credit a{font-size:14px;color:#b9cddb}.inspection-copy .record-credit a{text-decoration:underline}

/* The memory form inside the exhibit window (30 October 2026). */
.inspection-media.has-embed{padding:0;background:#fff;min-height:min(78dvh,760px);align-items:stretch}
.inspection-media.has-embed iframe{width:100%;min-height:min(78dvh,760px);border:0;background:#fff}
.inspection-copy .record-go{display:block;width:100%;margin:0 0 12px;padding:12px 16px;text-align:right;background:#1c3a50;color:#e4f1f8;border:1px solid #79b5d356;font:inherit;cursor:pointer}.inspection-copy .record-go:hover,.inspection-copy .record-go:focus-visible{background:#285171}
