/* Shared model viewer controls. All selectors stay inside the viewer. */
.model-viewer{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#131c22;color-scheme:dark;font-synthesis:none}
.model-viewer *{box-sizing:border-box}.model-viewer button,.model-viewer a{-webkit-tap-highlight-color:transparent}.model-viewer button{font:inherit;cursor:pointer;color:inherit;border:0}.model-viewer button:disabled{cursor:wait;opacity:.7}.model-viewer button:focus-visible,.model-viewer a:focus-visible,.model-viewer canvas:focus-visible{outline:3px solid #f4c76e;outline-offset:5px}.model-viewer button:hover{filter:brightness(1.12)}.model-viewer [hidden]{display:none!important}.model-viewer #landscape,.model-viewer #landscape img,.model-viewer #poster,.model-viewer #scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.model-viewer #landscape{z-index:0}.model-viewer #scene{z-index:2;touch-action:none;outline:none}.model-viewer .viewer-topbar{position:absolute;top:0;left:0;width:100%;padding:30px 38px;display:flex;align-items:center;justify-content:space-between;z-index:5;pointer-events:none}.model-viewer .viewer-topbar button{pointer-events:auto}.model-viewer .glass{background:#13212ccd;border:1px solid #ffffff38;backdrop-filter:blur(16px);border-radius:100px;padding:13px 20px;font-size:14px;box-shadow:0 3px 24px #0001}.model-viewer .small{padding:11px 18px}.model-viewer .small span{display:inline-grid;place-items:center;border:1px solid #fff8;border-radius:50%;width:19px;height:19px;margin-left:12px}.model-viewer .eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:600;color:#f1d3a1;margin:0 0 16px}.model-viewer h1{font-family:'IM Fell DW Pica',serif;font-size:clamp(36px,4vw,54px);font-weight:400;letter-spacing:-1.6px;margin:0 0 12px}.model-viewer p{line-height:1.6}.model-viewer .load-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:9px;color:#d1d9df}.model-viewer progress{display:block;width:100%;height:3px;border:0;border-radius:3px;overflow:hidden;background:#ffffff24;accent-color:#edc98d}.model-viewer progress::-webkit-progress-bar{background:#ffffff24}.model-viewer progress::-webkit-progress-value{background:#edc98d;transition:width .2s}.model-viewer .primary{background:#f5e5c6;color:#19242b;border-radius:3px;padding:16px 24px;font-size:15px;font-weight:600;width:100%;margin-top:22px}.model-viewer #retry{margin-top:12px}.model-viewer #journey{position:absolute;z-index:5;left:0;bottom:40px;width:100%;display:flex;align-items:center;justify-content:center;gap:24px;text-shadow:0 2px 8px #000}.model-viewer #journey>span{font-family:'IM Fell DW Pica',serif;font-size:22px}.model-viewer #hud{position:absolute;z-index:4;inset:0;pointer-events:none}.model-viewer #hud button{pointer-events:auto}.model-viewer #crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;border:1px solid white;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px black}.model-viewer #crosshair.active{width:12px;height:12px;border-color:#f6d08a;background:#f6d08a55}.model-viewer .interact{position:absolute;left:50%;top:calc(50% + 28px);transform:translateX(-50%);white-space:nowrap;font-size:14px}.model-viewer kbd{font:inherit;padding:2px 6px;border:1px solid #fff5;border-radius:4px;margin-right:4px}.model-viewer #hint{position:absolute;bottom:87px;left:50%;transform:translateX(-50%);padding:8px 18px;background:#15232bc9;border-radius:50px;font-size:12px;text-align:center;white-space:nowrap}.model-viewer .toolbar{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:8px;white-space:nowrap}.model-viewer .toolbar .glass{padding:12px 18px}.model-viewer dialog{border:1px solid #ffffff29;color:white;background:#14232cf5;border-radius:8px;box-shadow:0 20px 120px #0009;padding:36px;width:480px;max-width:calc(100vw - 28px);max-height:90dvh;overflow:auto}.model-viewer dialog::backdrop{background:#020810a8;backdrop-filter:blur(8px)}.model-viewer dialog h2{font-family:'IM Fell DW Pica',serif;font-size:32px;font-weight:400;margin:0 0 24px}.model-viewer dialog p{font-size:14px;color:#bdc9d1}.model-viewer .close{position:absolute;right:12px;top:12px;padding:2px;width:34px;height:34px;font-size:25px}.model-viewer dl{display:grid;grid-template-columns:110px 1fr;gap:18px;font-size:14px;line-height:1.5}.model-viewer dt{color:#f1d3a1}.model-viewer dd{margin:0}.model-viewer #object-view{width:100%;height:300px;touch-action:none;display:block;border-radius:5px;background:radial-gradient(ellipse,#53606a,#1b2c36)}.model-viewer #inspect{text-align:center;width:570px}.model-viewer #inspect .eyebrow{margin-top:8px}.model-viewer #inspect h2{margin-bottom:16px}.model-viewer #inspect .primary{margin-top:8px}.model-viewer #joystick,.model-viewer #touch-look{display:none}.model-viewer .noscript{position:absolute;z-index:10;background:#14232c;padding:30px;top:30%;left:20%}@media(pointer:coarse),(max-width:600px){.model-viewer #joystick{display:block;pointer-events:auto;position:absolute;left:28px;bottom:100px;width:112px;height:112px;border:1px solid #ffffff68;background:#15232b65;border-radius:50%;touch-action:none}.model-viewer #joystick span{position:absolute;top:33px;left:33px;width:44px;height:44px;background:#fff8;border:1px solid #fffc;border-radius:50%;pointer-events:none}.model-viewer #touch-look{display:block;position:absolute;right:25px;bottom:146px;font-size:12px;text-shadow:0 1px 8px black}.model-viewer #hint{bottom:240px;white-space:normal;max-width:80vw;width:max-content}.model-viewer kbd{display:none}}@media(max-width:600px){.model-viewer .viewer-topbar{padding:20px}.model-viewer h1{font-size:38px}.model-viewer .toolbar{gap:5px;bottom:max(20px,env(safe-area-inset-bottom))}.model-viewer .toolbar .glass{font-size:12px;padding:12px}.model-viewer .interact{max-width:90vw;white-space:normal;text-align:center}.model-viewer dialog{padding:28px 22px}.model-viewer dl{grid-template-columns:90px 1fr;gap:14px}}@media(max-height:520px){.model-viewer .viewer-topbar{padding:16px 24px}.model-viewer .eyebrow{margin-bottom:12px}.model-viewer #joystick{bottom:70px;width:96px;height:96px}.model-viewer #joystick span{top:25px;left:25px}.model-viewer .toolbar{bottom:14px}.model-viewer #hint{bottom:65px}}@media(prefers-reduced-motion:reduce){.model-viewer *{scroll-behavior:auto!important}}.model-viewer .viewer-topbar{gap:12px}@media(max-width:600px){.model-viewer .small{font-size:12px;padding:10px 12px}.model-viewer .small span{margin-left:8px}}
.model-viewer dialog{position:fixed;inset:0;margin:auto;height:fit-content}
.model-viewer .viewer-topbar{justify-content:flex-end}
.model-viewer h1,.model-viewer h2{line-height:1.15;text-transform:none}
.model-viewer .eyebrow,.model-viewer button,.model-viewer kbd{font-family:var(--font-heading)}

.model-viewer #controls dl + p{margin-top:24px}
