@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&display=swap');
:root{color-scheme:dark;--fg:#f3f2ef;--muted:#9c9c9b;--subtle:#707372;--lime:#d6dfc1;--stroke:#ffffff29;--ui:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',Arial,sans-serif;--mono:'DM Mono',ui-monospace,SFMono-Regular,monospace}
*{box-sizing:border-box}body{margin:0;font-family:var(--ui);background:#050607;color:var(--fg);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:1px solid var(--lime);outline-offset:4px}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}
.experience{height:100dvh;min-height:500px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 51% 49%,#171615 0%,#090b0b 43%,#040506 82%)}
#scene{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;display:block;outline:none}#scene:active{cursor:grabbing}.falloff{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 50% 56% at 50% 51%,transparent 28%,#03040422 66%,#03040477 100%)}
.header{position:absolute;top:35px;left:47px;right:47px;display:flex;align-items:center;gap:27px;z-index:2;pointer-events:none}.brand{font-size:17px;font-weight:550;letter-spacing:.13em;display:flex;gap:11px;align-items:center;text-decoration:none;pointer-events:auto}.brand-symbol{width:17px;height:17px;display:inline-block;border:1px solid var(--fg);border-radius:50%;position:relative}.brand-symbol:before,.brand-symbol:after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%}.brand-symbol:before{width:7px;height:7px;border:1px solid var(--fg)}.brand-symbol:after{width:2px;height:2px;background:var(--fg)}.header-sub{font:9px var(--mono);color:var(--subtle);letter-spacing:.07em}.mute{color:#596260}.text-button{background:none;border:0;font:10px var(--mono);letter-spacing:.07em;padding:8px 0}.top-guide{margin-left:auto;pointer-events:auto}.arrow{font-family:var(--ui);font-size:16px;margin-left:7px}
.side{position:absolute;z-index:2;pointer-events:none}.side>*{pointer-events:auto}.left{top:31%;left:6%;max-width:264px}.side-caption{font:9px var(--mono);color:var(--lime);letter-spacing:.1em;display:flex;align-items:center;gap:9px}.shortline{width:17px;height:1px;background:var(--lime)}.left h1{font-size:clamp(27px,3.1vw,45px);font-weight:400;letter-spacing:-.065em;line-height:1.04;margin:27px 0 15px}.left p{font-size:12px;font-weight:350;color:#b4b6b4;line-height:1.55;max-width:195px;margin:0 0 31px}.links{width:137px;border-top:1px solid var(--stroke)}.control{display:flex;align-items:center;gap:12px;text-align:left;width:100%;height:39px;padding:0 0 0 2px;background:transparent;border:0;border-bottom:1px solid var(--stroke);font:9px var(--mono);color:#a6aaa7;letter-spacing:.04em;white-space:nowrap}.control:hover,.control.active{color:var(--fg)}.tiny-circle{display:block;width:5px;height:5px;border:1px solid #9c9d9b;border-radius:50%}.control.active .tiny-circle{background:var(--lime);border-color:var(--lime)}.control .arrow{font-size:12px;margin-left:auto}
.right{right:6%;top:31%;display:flex;flex-direction:column;gap:11px;text-align:right;font:9px var(--mono);color:#a2a6a2;letter-spacing:.06em}.zoom-rail{margin:20px 0 0 auto;display:flex;align-items:center;flex-direction:column;gap:11px}.zoom-rail button{font:21px var(--ui);background:none;border:0;width:29px;height:29px}.zoom-rail input{height:158px;width:3px;appearance:none;-webkit-appearance:none;writing-mode:vertical-lr;direction:rtl;accent-color:var(--lime);background:#cbd0ca48}.zoom-rail input::-webkit-slider-thumb{appearance:none;width:13px;height:3px;background:var(--lime)}
.bottom{position:absolute;bottom:33px;left:47px;right:47px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}.bottom>*{pointer-events:auto}.bottom-left,.bottom-center{font:9px var(--mono);color:#929a96;letter-spacing:.05em}.bottom-left{display:flex;gap:11px;align-items:center;max-width:250px}.fine-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--lime);flex:none}.bottom-center span{color:var(--lime);margin:0 5px}.bottom-actions{display:flex;align-items:center;gap:9px}.subtle-button,.accent-button{font:10px var(--mono);height:40px;padding:0 16px;letter-spacing:.02em}.subtle-button{background:#121515a0;border:1px solid var(--stroke)}.accent-button{background:var(--lime);color:#202821;border:1px solid var(--lime);font-weight:500}.accent-button span{font-size:14px;margin-left:20px}.subtle-button span{font-size:14px;margin-left:9px}
.hotspots{position:absolute;inset:0;pointer-events:none;z-index:3}.hotspot{position:absolute;pointer-events:auto;background:none;border:0;padding:6px;display:flex;align-items:center;gap:9px;transform:translate(-10px,-50%);white-space:nowrap;text-shadow:0 1px 15px #000;transition:opacity .23s}.hotspot .dot{display:block;border:1px solid #eff9cba8;border-radius:50%;height:15px;width:15px;flex:none;position:relative}.hotspot .dot:after{content:'';position:absolute;inset:5px;border-radius:50%;background:var(--lime)}.hotspot .tag{color:#eff6e8;font:9px var(--mono);letter-spacing:.04em}.hotspot:hover .dot,.hotspot.current .dot{border-color:var(--lime);box-shadow:0 0 0 5px #d4dfc126}.hotspot.off{opacity:0;pointer-events:none}
.info-panel{position:absolute;z-index:6;top:29%;right:12%;width:280px;padding:22px 23px;background:#0b0d0df0;border:1px solid #edf2d340;backdrop-filter:blur(18px);box-shadow:0 28px 80px #000a}.info-panel[hidden]{display:none}.info-top{font:9px var(--mono);letter-spacing:.07em;color:var(--lime);display:flex;justify-content:space-between;align-items:center}.info-top button{border:0;background:none;font-size:19px}.info-panel h2{font-size:23px;font-weight:430;letter-spacing:-.04em;line-height:1.2;margin:27px 0 10px}.info-panel p{font-size:12px;color:#b3b9b6;line-height:1.75;margin:0 0 19px}.info-disclaimer{font:8px var(--mono);color:#777f7a;line-height:1.7}.deep-link{width:100%;background:var(--lime);border:0;color:#1b241b;margin-top:23px;padding:12px 9px;display:flex;justify-content:space-between;font:10px var(--mono)}
.loading{position:absolute;inset:0;z-index:10;background:#040505;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:19px;font:9px var(--mono);color:#bec5b9;letter-spacing:.15em;transition:opacity .7s}.loading.hidden{opacity:0;pointer-events:none}.loading-symbol{width:34px;height:34px;border:1px solid #dce6c58a;border-radius:50%;box-shadow:inset 0 0 0 10px #ffffff02;animation:spin 2.6s linear infinite}.loading-symbol:before{content:'';display:block;margin:-2px;width:7px;height:7px;border-radius:50%;background:var(--lime)}@keyframes spin{to{transform:rotate(360deg)}}
.toast{position:absolute;z-index:14;left:50%;bottom:100px;transform:translateX(-50%);padding:11px 17px;background:#171a17;border:1px solid #e4edc44e;font:10px var(--mono);color:#d9e0d4;opacity:0;pointer-events:none;transition:opacity .25s}.toast.show{opacity:1}
.dialog-backdrop{position:absolute;z-index:20;inset:0;background:#000b;backdrop-filter:blur(15px);display:grid;place-items:center;padding:18px}.dialog-backdrop[hidden]{display:none}.dialog{background:#101313;border:1px solid #eef4d02c;width:min(480px,100%);max-height:90dvh;overflow-y:auto;padding:32px 34px;color:#e9ece6}.dialog-kicker{font:9px var(--mono);color:var(--lime);letter-spacing:.07em;display:flex;align-items:center;justify-content:space-between}.close-dialog{font-size:24px;background:none;border:0}.dialog h2{font-size:36px;font-weight:380;letter-spacing:-.055em;line-height:1.08;margin:27px 0 18px}.dialog p{color:#aeb4ad;font-size:12px;line-height:1.7}.dialog small{display:block;color:#777f78;font:9px/1.8 var(--mono);margin-top:21px}.file-label,.apply-button{display:flex;justify-content:space-between;align-items:center;margin-top:26px;width:100%;padding:15px 17px;background:var(--lime);border:0;color:#242e24;font:10px var(--mono);cursor:pointer}.crop-preview{margin-top:22px;aspect-ratio:4/2.7;position:relative;background:#030303;overflow:hidden}.crop-preview canvas{width:100%;height:100%;display:block}.crop-circle{border:1px solid #e9f1e6a8;border-radius:50%;position:absolute;left:50%;top:50%;width:43%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 500px #0003;display:none}.crop-options{margin-top:18px;display:grid;gap:10px}.crop-options label{font:9px var(--mono);display:grid;grid-template-columns:102px 1fr;align-items:center;color:#c4cdc0}.crop-options input{width:100%;accent-color:var(--lime)}.apply-button{margin-top:21px}
.annotate{z-index:11;position:absolute;left:50%;bottom:100px;transform:translateX(-50%);background:#111613e8;border:1px solid #d8e6c147;display:flex;align-items:center;gap:8px;padding:9px}.annotate[hidden]{display:none}.annotate label{font:9px var(--mono);color:var(--lime);white-space:nowrap}.annotate select{background:#1c241f;border:1px solid #ffffff30;color:var(--fg);font:9px var(--mono);padding:8px}.annotate button{padding:8px;background:transparent;border:1px solid #ffffff50;font:9px var(--mono);white-space:nowrap}.annotate button.armed{color:#202820;background:var(--lime)}
@media(max-width:800px){.header{left:23px;right:23px;top:22px}.brand{font-size:14px}.header-sub{display:none}.left{top:auto;bottom:135px;left:24px;max-width:160px}.left h1{font-size:27px;margin:12px 0 9px}.left p{font-size:10px;margin-bottom:13px}.side-caption{font-size:8px}.links{width:124px}.control{height:32px;font-size:8px}.right{top:26%;right:22px;font-size:8px}.zoom-rail{margin-top:7px}.zoom-rail input{height:106px}.bottom{left:24px;right:24px;bottom:22px;align-items:end}.bottom-center{display:none}.bottom-left{font-size:8px;max-width:120px;line-height:1.5}.subtle-button{display:none}.accent-button{height:38px;font-size:9px;padding:0 10px}.accent-button span{margin-left:7px}.info-panel{left:24px;right:24px;top:22%;width:auto}.hotspot .tag{font-size:8px;max-width:130px;overflow:hidden;text-overflow:ellipsis}.dialog{padding:25px 22px}.dialog h2{font-size:28px}.annotate{left:14px;right:14px;transform:none;bottom:93px;flex-wrap:wrap}.annotate label{width:100%}.annotate select{flex:1;min-width:135px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* Scientific depth navigation — distinct from original 3D controls. */
.atlas-depth{position:absolute;inset:0;pointer-events:none;z-index:7}
.atlas-nav{position:absolute;left:6%;top:69%;width:206px;pointer-events:auto}
.atlas-kicker{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.08em;color:var(--lime);padding-bottom:9px;border-bottom:1px solid #ffffff30}
.atlas-kicker small{font-size:9px;color:#a3afa3}
.atlas-step{display:flex;align-items:center;gap:12px;padding:8px 2px;text-align:left;color:#a6b0a9;background:transparent;border:0;border-bottom:1px solid #ffffff1f;width:100%;font:9px var(--mono);letter-spacing:.045em}
.atlas-step b{font-weight:400;color:#829183}
.atlas-step.selected{color:var(--lime)}
.atlas-step.selected b{color:var(--lime)}
.atlas-step:hover{color:#fff}
.atlas-trust{display:block;margin-top:12px;font:8px/1.6 var(--mono);letter-spacing:.055em;color:#868e85}
.atlas-science-panel{position:absolute;right:13%;top:17%;bottom:96px;width:min(390px,42vw);max-height:calc(100dvh - 140px);overflow-y:auto;pointer-events:auto;background:#0c100ff2;border:1px solid #e9ecc235;padding:21px 25px 23px;backdrop-filter:blur(18px);box-shadow:0 24px 85px #000a}
.atlas-science-panel[hidden]{display:none}
.atlas-panel-head{display:flex;align-items:center;justify-content:space-between;color:var(--lime);font:9px/1.5 var(--mono);letter-spacing:.04em}
.atlas-panel-head button{background:transparent;border:0;font-size:22px}
.atlas-science-panel h2{font-weight:400;letter-spacing:-.045em;font-size:24px;margin:20px 0 8px}
.atlas-science-panel>p{color:#aeb9b0;font-size:11px;line-height:1.75}
#atlasArt{min-height:130px;display:flex;align-items:center;flex-direction:column;justify-content:center;background:#151a1822;margin:18px 0 12px}
#atlasArt svg{width:100%;max-height:205px}
.atlas-figure-caption{font:8px var(--mono);color:#84968a;letter-spacing:.08em}
.atlas-live{display:flex;align-items:center;gap:25px;color:#d6dfc1;font-size:51px;min-height:120px}
.atlas-live small{font:9px/1.75 var(--mono);color:#9fa99c;letter-spacing:.05em}
.atlas-fact{display:flex;align-items:center;gap:12px;background:transparent;border:0;border-bottom:1px solid #ffffff20;width:100%;font:9px/1.4 var(--mono);padding:11px 0;color:#aeb9ad;text-align:left}
.atlas-fact b{font-weight:400;color:#727e75}
.atlas-fact span{margin-left:auto;font-size:13px}
.atlas-fact:hover,.atlas-fact.selected{color:var(--lime)}
#atlasDetail{margin-top:14px;border-left:1px solid #d6dfc199;padding:3px 0 3px 14px}
#atlasDetail strong{font:11px var(--mono);font-weight:500;color:#f3f5ec}
#atlasDetail p{font:11px/1.7 var(--ui);color:#b6c0b6;margin-bottom:0}
@media(max-width:900px){.atlas-nav{left:auto;right:20px;top:105px;width:148px}.atlas-step{font-size:8px;padding:6px 1px;gap:6px}.atlas-step b{font-size:8px}.atlas-science-panel{left:12px;right:12px;width:auto;top:15%;bottom:84px;max-height:calc(100dvh - 160px)}.atlas-kicker{font-size:8px}.atlas-trust{font-size:7px}}
@media(max-height:750px) and (min-width:901px){.atlas-nav{top:48%;width:177px}.atlas-step{padding:5px 2px;font-size:8px}}

/* v6 — horizontal depth dock, no collision with the left eye controls */
.atlas-nav{position:absolute;top:auto!important;bottom:93px!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:min(980px,calc(100vw - 370px))!important;display:flex;align-items:center;gap:12px;padding:10px 14px;background:#0b0e0dd9;border:1px solid #ffffff22;backdrop-filter:blur(12px);border-radius:3px}
.atlas-kicker{font-size:8px;white-space:nowrap;min-width:84px;border:0;padding:0;gap:4px}
#atlasSteps{display:flex;min-width:0;flex:1;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#808f8090 transparent;gap:5px}
.atlas-step{flex:0 0 auto;width:auto;display:flex;gap:6px;align-items:center;padding:9px 10px;border:1px solid transparent;white-space:nowrap;font:8px var(--mono);letter-spacing:0;border-radius:2px}
.atlas-step.selected{border-color:#b6c8ad77;background:#c7d6b212;color:#e3ebd8}
.atlas-step b{font-size:8px}
.atlas-nav>.atlas-trust{display:none}
.atlas-science-panel{right:14%;top:14%;bottom:156px;max-height:calc(100dvh - 220px)}
.atlas-journey-nav{display:flex;gap:8px;margin-top:16px}
.atlas-journey-nav button{flex:1;padding:11px 6px;background:#d6dfc1;color:#172119;border:0;font:9px var(--mono);cursor:pointer}
.atlas-journey-nav button:first-child{background:transparent;color:#d6dfc1;border:1px solid #d6dfc17a}
@media(max-width:900px){.atlas-nav{bottom:79px!important;width:calc(100vw - 22px)!important;left:11px!important;right:11px!important;transform:none;padding:7px 8px;gap:7px}.atlas-kicker{min-width:67px;font-size:7px}.atlas-step{padding:8px 7px;font-size:8px}.atlas-science-panel{left:16px;right:16px;top:14%;bottom:142px;max-height:calc(100dvh - 190px)}}
@media(max-height:680px) and (min-width:901px){.atlas-nav{bottom:75px!important}.atlas-science-panel{top:8%;bottom:142px}}


/* Science Atlas vNext — a slim, non-blocking inspector */
.atlas-science-panel{top:16%;right:30px;bottom:158px;width:min(340px,30vw);max-height:calc(100dvh - 230px);padding:18px 20px;box-shadow:0 24px 80px #0009;border-color:#cddcc233}
.atlas-science-panel h2{font-size:22px;margin:17px 0 6px}
.atlas-science-panel>p{font-size:11px;line-height:1.55}
.atlas-science-panel #atlasArt{min-height:92px;margin:12px 0 8px}
.atlas-science-panel #atlasArt svg{max-height:155px}
.atlas-fact{padding:9px 0}
.atlas-journey-nav{position:sticky;bottom:0;background:#101513f5;z-index:2;padding-top:9px;padding-bottom:3px}
.atlas-science-panel .atlas-trust{border-top:1px solid #ffffff23;padding-top:11px}
.atlas-nav{width:min(990px,calc(100vw - 250px))!important}
#atlasSteps{scroll-behavior:smooth}
.atlas-step{transition:background .18s ease,border-color .18s ease,color .18s ease}
@media(max-width:900px){.atlas-nav{width:calc(100vw - 20px)!important}.atlas-science-panel{top:15%;left:16px;right:16px;width:auto;bottom:153px;max-height:calc(100dvh - 230px);padding:17px 18px}.atlas-science-panel #atlasArt svg{max-height:145px}}
@media(max-height:640px){.atlas-science-panel{top:8%;bottom:122px;max-height:calc(100dvh - 155px)}.atlas-nav{bottom:73px!important}}

.light-control{margin-top:23px;text-align:right;width:170px;margin-left:auto;pointer-events:auto}
.light-control label{display:block;font:8px/1.6 var(--mono);letter-spacing:.04em;color:#d0d8c8}
.light-control label span{display:inline-block;margin-left:7px;color:var(--lime)}
.light-control input{width:100%;accent-color:#d6dfc1;margin-top:9px;cursor:pointer}
.light-control small{display:block;font:7px/1.5 var(--mono);color:#89948d;margin-top:5px}
.depth-hint{position:absolute;left:50%;transform:translateX(-50%);top:75px;z-index:3;display:flex;align-items:center;flex-direction:column;gap:5px;pointer-events:none;text-align:center;text-shadow:0 2px 18px #000}
.depth-hint span{font:10px var(--mono);letter-spacing:.18em;color:#e3eadd}
.depth-hint small{font:8px var(--mono);color:#9daaa1;letter-spacing:.07em}
.depth-hint.micro span{color:#d6dfc1}
@media(max-width:900px){.light-control{width:112px;margin-top:11px}.light-control label{font-size:7px}.light-control small{font-size:6px}.depth-hint{top:64px;width:65%}.depth-hint span{font-size:8px}.depth-hint small{font-size:7px}}

/* Irispectra release mobile-first stage: no desktop UI covering the eye */
#scene{touch-action:none}
@media(max-width:820px){
 .experience{min-height:0;height:100dvh;overflow:hidden}
 .header{left:18px!important;right:18px!important;top:max(16px,env(safe-area-inset-top))!important;z-index:30}
 .header-sub{display:none!important}
 .brand{font-size:14px!important;letter-spacing:.14em}
 .side.left{position:absolute!important;top:auto!important;left:14px!important;bottom:calc(118px + env(safe-area-inset-bottom))!important;right:14px!important;max-width:none!important;width:auto!important;z-index:16;pointer-events:none}
 .side.left .side-caption,.side.left h1,.side.left p{display:none!important}
 .side.left .links{display:flex!important;flex-direction:row!important;gap:8px!important;overflow-x:auto!important;width:100%!important;max-width:none!important;padding:7px 3px!important;scrollbar-width:none;pointer-events:auto;align-items:stretch}
 .side.left .links::-webkit-scrollbar{display:none}
 .side.left .control{height:40px!important;width:auto!important;min-width:max-content!important;flex:0 0 auto!important;padding:0 13px!important;font-size:9px!important;background:#0b100fe0!important;border:1px solid #ffffff2b!important;border-radius:13px!important;line-height:1!important}
 .side.right{position:absolute!important;right:12px!important;top:30%!important;left:auto!important;width:50px!important;max-width:50px!important;z-index:20;display:flex!important;flex-direction:column;align-items:center!important}
 .side.right>span{display:none!important}
 .zoom-rail{margin:0!important;display:flex!important;flex-direction:column!important;gap:7px!important;align-items:center!important}
 .zoom-rail button{border:1px solid #ffffff36!important;border-radius:13px!important;background:#0b0f0feb!important;width:46px!important;height:46px!important;font-size:24px!important;color:#fff!important}
 .zoom-rail input{height:105px!important;min-height:105px!important;width:6px!important}
 .light-control{position:absolute!important;right:0!important;top:235px!important;width:78px!important;padding:8px!important;background:#0b0f0edc;border:1px solid #ffffff27;border-radius:12px}
 .light-control label{font-size:7px!important}.light-control small{font-size:6px!important}
 .bottom{position:absolute!important;left:14px!important;right:14px!important;bottom:calc(13px + env(safe-area-inset-bottom))!important;z-index:16!important;align-items:center!important}
 .bottom-left{display:none!important}
 .bottom-actions{display:flex!important;gap:8px!important;width:100%;justify-content:space-between}
 .bottom-actions button{height:48px!important;padding:0 15px!important;font-size:10px!important;border-radius:13px!important}
 .bottom-actions .accent-button{flex:1!important}
 .depth-hint{top:calc(64px + env(safe-area-inset-top))!important;width:calc(100% - 90px)!important;left:50%!important;transform:translateX(-50%)!important;padding:6px 8px!important;background:#070b0acb!important;border-radius:10px;pointer-events:none}
 .depth-hint span{font-size:9px!important}.depth-hint small{font-size:7px!important}
 .atlas-nav{display:none!important}
 .atlas-science-panel{right:10px!important;left:10px!important;bottom:calc(174px + env(safe-area-inset-bottom))!important;top:auto!important;width:auto!important;max-height:37vh!important;overflow:auto!important;padding:14px!important;background:rgba(6,11,11,.95)!important;border-radius:14px!important;z-index:31!important}
 .atlas-depth{pointer-events:none!important}
 .atlas-depth .atlas-nav{pointer-events:none!important}
 .atlas-step{padding:7px 0!important}
 .info-panel{right:11px!important;left:11px!important;top:auto!important;bottom:calc(176px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;max-height:38vh;overflow:auto;background:#080e0ef2!important;z-index:25!important}
 #scene{width:100%;height:100%;touch-action:none}
 .hotspots{z-index:13!important}
 .hotspot .tag{display:none}
 .hotspot.current .tag{display:block;font-size:8px}
 .loading{z-index:70}
}

/* Unified exploration: anatomical routing follows zoom and selection, not scene-menu links. */
#rearBtn,#fundusBtn{display:none!important}
#infoBody{white-space:pre-line}
@media(max-width:820px){
 .links{width:100%;max-width:none}
 .info-panel{max-height:39dvh;overflow-y:auto}
 .depth-hint{max-width:calc(100vw - 28px)}
}

/* Atlas-native interactive polar morphology map */
.morph-trigger{position:absolute;top:73px;right:34px;z-index:38;border:1px solid #d6dfc154;background:#111a17db;color:#edf3e7;padding:12px 16px;border-radius:12px;font:10px var(--mono);letter-spacing:.07em;backdrop-filter:blur(15px)}
.morph-trigger span{margin-left:9px;color:var(--lime);font-size:17px;vertical-align:middle}
.morph-chart{position:absolute;z-index:45;right:26px;top:123px;bottom:26px;max-height:780px;width:min(415px,calc(100vw - 30px));overflow-y:auto;padding:18px;border:1px solid #e5efd52a;background:#09100feb;color:#eaf1e8;box-shadow:0 15px 70px #0009;border-radius:18px;backdrop-filter:blur(22px);scrollbar-width:thin}
.morph-chart[hidden]{display:none}
.morph-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font:9px var(--mono);letter-spacing:.10em;color:#b9cbbf}
.morph-head button{background:transparent;border:0;font-size:24px;line-height:1}
.morph-row{display:flex;justify-content:space-between;align-items:center;margin:17px 0 10px;font:11px var(--mono);letter-spacing:.06em}
.morph-row span{color:var(--lime)}
.morph-side{display:flex;gap:8px}
.morph-side button{flex:1;padding:10px 6px;border-radius:9px;background:#ffffff07;border:1px solid #ffffff24;color:#c5d1c6;font:9px var(--mono)}
.morph-side button[aria-pressed=true]{background:#d6dfc1;color:#182018}
.morph-chart svg{width:100%;height:auto;display:block;margin:12px auto;max-width:342px;touch-action:manipulation}
.morph-chart svg path[data-zone]{cursor:pointer;transition:fill-opacity .12s ease}
.morph-chart svg path[data-zone]:hover{fill-opacity:.45}
.morph-readout{font:11px/1.5 var(--mono);padding:10px;background:#d6dfc113;border:1px solid #d6dfc12b;border-radius:9px}
.morph-description{font:12px/1.55 var(--ui);color:#cbd5cb;margin:12px 0}
.morph-label{font:9px var(--mono);letter-spacing:.11em;color:#b6c8b9;margin:17px 0 9px}
.morph-patterns{display:flex;flex-wrap:wrap;gap:6px}
.morph-pattern{border:1px solid #ffffff29;background:#f5fff209;padding:8px 10px;font:10px var(--mono);border-radius:9px;color:#dce9dd;cursor:pointer}
.morph-pattern.active{background:#d6dfc1;color:#1c281f}
.morph-foot{margin-top:14px;padding-top:12px;border-top:1px solid #ffffff2b;color:#a3b4a8;font:10px/1.55 var(--mono)}
@media(max-width:820px){
.morph-trigger{top:calc(64px + env(safe-area-inset-top));right:12px;padding:8px 10px;font-size:9px;z-index:44}
.morph-chart{top:calc(104px + env(safe-area-inset-top));left:10px;right:10px;bottom:calc(105px + env(safe-area-inset-bottom));width:auto;max-height:none;padding:15px;z-index:50}
.morph-chart svg{max-width:min(320px,83vw)}
}

/* Irispectra compact public atlas / morphology-first release */
.brand{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.15em}
.brand-mark{width:32px;height:32px;object-fit:contain;flex:none}
.header{z-index:34;top:22px;left:24px;right:24px}
.header-sub,.side-caption,.side.left h1,.side.left>p,.right>span:not(#zoomDisplay){display:none!important}
.side.left{position:absolute;left:24px;top:auto;bottom:107px;max-width:650px;z-index:17}
.side.left .links{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
.side.left .control{font-size:10px;letter-spacing:.06em;white-space:nowrap;background:#0c1111db;border:1px solid #ffffff24;border-radius:999px;padding:11px 13px}
.bottom-left{display:none}
.bottom-center{position:absolute;left:0;bottom:-14px;font-size:9px}
.bottom{left:24px;right:24px;bottom:32px}
.release-disclaimer{position:absolute;z-index:10;bottom:8px;left:50%;transform:translateX(-50%);width:min(680px,calc(100vw - 30px));text-align:center;font:9px/1.45 var(--mono);color:#86948d;letter-spacing:.01em;pointer-events:none}
.release-disclaimer span{color:inherit}
.info-panel{top:auto;bottom:118px;right:24px;width:min(335px,calc(100vw - 32px));padding:16px 18px;border-radius:18px;background:#0b1110f5;border-color:#e6f2de36;box-shadow:0 18px 55px #0009;z-index:37}
.info-top{font-size:9px;letter-spacing:.1em;color:#aebfaa}
.info-panel h2{font-weight:450;font-size:24px;line-height:1.06;margin:14px 0}
.info-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:6px 0 14px}
.info-fields>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.info-fields>div:nth-child(3){grid-column:span 2}
.info-fields span{font:9px var(--mono);color:#91a197;letter-spacing:.06em}
.info-fields strong{font-size:12px;font-weight:500;line-height:1.4;color:#eef4ee}
#infoPatternSelect{display:block;background:#141d19;color:#e8f4e9;border:1px solid #dae5d249;padding:8px 5px;font:11px var(--mono);border-radius:8px;max-width:100%;min-width:0}
#infoPatternSelect[hidden]{display:none}
#infoBody{font-size:12px;line-height:1.5;color:#c6d0c9;margin:0 0 9px;white-space:normal!important}
#infoSource{font:9px var(--mono);color:#84948a;line-height:1.5}
.info-disclaimer{display:none!important}
.deep-link{margin-top:12px;border-radius:10px;font-size:10px;padding:12px}
.depth-hint{top:75px;gap:2px;opacity:.88}
.depth-hint span{font:10px var(--mono);letter-spacing:.08em}
#depthExplainer{display:none}
#modeLabel{display:none}
.morph-trigger{right:24px;top:73px;border-radius:999px}
.morph-readout{font:20px/1.2 var(--ui);font-weight:500;letter-spacing:-.035em;background:transparent;border:0;padding:6px 0}
.morph-description{font:12px/1.4 var(--ui);margin:4px 0 11px}
.morph-patterns{max-height:115px;overflow-y:auto;scrollbar-width:thin}
.morph-chart{z-index:48}
@media(max-width:820px){
.header{top:calc(12px + env(safe-area-inset-top));left:12px;right:12px}
.brand-mark{height:31px;width:31px}
.brand{font-size:12px}
.side.left{left:12px!important;right:12px!important;bottom:calc(106px + env(safe-area-inset-bottom))!important}
.side.left .links{flex-wrap:nowrap;overflow-x:auto;gap:7px}
.side.left .control{height:37px!important;font-size:9px!important;border-radius:100px!important;padding:0 12px!important}
.bottom{left:12px!important;right:12px!important;bottom:calc(30px + env(safe-area-inset-bottom))!important}
.bottom-actions button{height:43px!important;border-radius:12px!important}
.bottom-center{left:0;bottom:-17px;font-size:8px}
.release-disclaimer{bottom:calc(4px + env(safe-area-inset-bottom));font-size:8px;line-height:1.3}
.release-disclaimer span{display:none}
.depth-hint{top:calc(59px + env(safe-area-inset-top))!important;left:50%!important;width:auto!important;max-width:65vw;background:none!important}
.morph-trigger{top:calc(92px + env(safe-area-inset-top));left:12px;right:auto;z-index:40;font-size:9px}
.morph-chart{top:calc(136px + env(safe-area-inset-top));bottom:calc(119px + env(safe-area-inset-bottom));z-index:49}
.info-panel{left:12px!important;right:12px!important;width:auto!important;bottom:calc(152px + env(safe-area-inset-bottom))!important;top:auto!important;max-height:42dvh;overflow-y:auto;padding:13px 15px}
.info-panel h2{font-size:20px;margin:9px 0}
.info-fields{margin:5px 0 8px;gap:7px}
#infoBody{font-size:11px;line-height:1.4}
.info-fields strong{font-size:11px}
.info-fields span{font-size:8px}
}

/* Discovery journey: premium compact controls that never cover the specimen */
.tour-control{pointer-events:auto;margin-left:auto;margin-right:14px;border:1px solid #dce9d65c;border-radius:999px;background:#d8e4d1e8;color:#0d1a14;font:10px var(--mono);letter-spacing:.07em;padding:11px 17px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;transition:background .2s ease,color .2s ease}
.tour-control:hover{background:#fbfff0}
.tour-control[aria-pressed=true]{background:#18231e;color:#edf5e9}
.tour-dot{display:block;width:6px;height:6px;border-radius:50%;background:currentColor}
.tour-caption{position:absolute;z-index:24;left:50%;bottom:148px;transform:translateX(-50%);display:flex;gap:15px;align-items:center;min-width:290px;max-width:calc(100vw - 24px);border:1px solid #dcead742;background:#0d1512ee;border-radius:16px;padding:14px 17px;box-shadow:0 20px 90px #0009;backdrop-filter:blur(18px)}
.tour-caption[hidden]{display:none}
.tour-caption span{font:10px var(--mono);color:#bccfbb;white-space:nowrap}
.tour-caption strong{flex:1;font:12px/1.35 var(--ui);font-weight:500}
.tour-caption button{background:transparent;border:0;border-left:1px solid #ffffff2c;color:#b9cbbb;font:10px var(--mono);padding:6px 0 6px 13px;cursor:pointer}
@media(max-width:820px){
.tour-control{position:absolute;right:48px;top:0;max-width:145px;font:9px var(--mono);padding:8px 11px;white-space:nowrap;margin:0}
.top-guide{font-size:9px}
.tour-caption{bottom:calc(164px + env(safe-area-inset-bottom));left:12px;right:12px;min-width:0;transform:none;max-width:none;padding:11px 13px}
.tour-caption strong{font-size:11px}
.morph-trigger{top:calc(105px + env(safe-area-inset-top))}
}
@media(prefers-reduced-motion:reduce){
 .tour-control,.morph-chart svg path[data-zone]{transition:none!important}
}

/* VISUAL SYSTEM V8 — cinematic optical studio, minimal instrument chrome */
.experience{
 background:
  radial-gradient(ellipse 58% 76% at 50% 51%,#18211f 0%,#101716 28%,#080d0c 64%,#030505 100%);
}
.falloff{
 background:
  radial-gradient(ellipse 49% 66% at 50% 51%, transparent 29%,rgba(0,5,4,.22) 63%,rgba(0,2,2,.75) 100%),
  linear-gradient(180deg,rgba(0,0,0,.39) 0%,transparent 19%,transparent 78%,rgba(0,0,0,.30) 100%);
}
.brand{letter-spacing:.17em;font-size:12px;font-weight:570}
.brand-mark{opacity:.90;filter:drop-shadow(0 0 12px rgba(222,246,231,.16))}
.tour-control{background:rgba(219,237,220,.92);border:1px solid rgba(238,255,239,.67);
 box-shadow:0 8px 30px rgba(0,0,0,.24);font-weight:500}
.tour-control[aria-pressed=true]{border-color:rgba(211,231,209,.36)}
.side.left .links{border:0!important}
.side.left .control{
 border:1px solid rgba(244,252,244,.18)!important;
 color:rgba(239,248,241,.82);backdrop-filter:blur(24px);
 box-shadow:0 8px 30px rgba(0,0,0,.16);
 transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.side.left .control:hover{border-color:rgba(234,255,235,.51)!important;
 background:rgba(227,244,229,.14)!important;transform:translateY(-1px)}
.side.left .control.active{background:rgba(214,232,217,.14)!important;
 border-color:rgba(212,238,215,.56)!important;color:#fff}
.zoom-rail button{background:rgba(8,14,12,.80)!important;
 border:1px solid rgba(240,255,240,.20)!important;
 width:44px!important;height:44px!important;border-radius:50%!important;
 backdrop-filter:blur(20px);box-shadow:0 8px 28px rgba(0,0,0,.21);
 transition:background .18s,transform .18s}
.zoom-rail button:hover{background:rgba(210,229,213,.18)!important;transform:scale(1.04)}
.right{color:#d0dbd1}
.light-control{background:rgba(11,16,14,.48);border-radius:12px;padding:10px 8px;
 border:1px solid rgba(235,249,236,.16);backdrop-filter:blur(12px)}
.info-panel,.morph-chart{box-shadow:0 25px 80px rgba(0,0,0,.40);
 border-color:rgba(207,235,209,.24);background:rgba(9,15,13,.92)}
.depth-hint{background:rgba(9,14,12,.30);padding:7px 12px;border-radius:100px;
 backdrop-filter:blur(10px)}
.hotspot .dot{width:19px;height:19px;background:rgba(12,18,14,.24);
 border-color:rgba(233,250,232,.75);box-shadow:0 0 18px rgba(229,251,229,.20)}
.hotspot.current .dot{box-shadow:0 0 0 6px rgba(224,245,215,.10),0 0 28px rgba(229,251,229,.35)}
.subtle-button{border-radius:100px;background:rgba(10,18,15,.61);border-color:rgba(245,255,243,.30)}
.accent-button{border-radius:100px;background:#d9e6d8;color:#15201b;
 box-shadow:0 12px 38px rgba(0,0,0,.25)}
.morph-trigger{border:1px solid rgba(230,253,225,.38);
 background:rgba(7,15,11,.63);backdrop-filter:blur(16px);box-shadow:0 12px 36px rgba(0,0,0,.26)}
@media(max-width:820px){
 .experience{background:radial-gradient(ellipse 94% 67% at 50% 42%,#1b2521 0%,#0a110e 57%,#020403 100%)}
 .falloff{background:radial-gradient(ellipse 90% 54% at 50% 46%,transparent 35%,rgba(1,5,4,.37) 85%,rgba(1,3,3,.62) 100%)}
 .light-control{background:rgba(9,15,12,.74)}
 .depth-hint{backdrop-filter:none;background:transparent}
 .right .zoom-rail button{height:42px!important;width:42px!important}
}

/* Semantic zoom / visibly reversible depth */
.scale-journey{
 position:absolute;left:50%;bottom:99px;transform:translateX(-50%);
 z-index:22;display:flex;align-items:center;justify-content:space-between;
 width:min(450px,calc(100vw - 76px));padding:10px 12px 16px;
 gap:8px;border:1px solid rgba(225,248,229,.18);border-radius:14px;
 background:rgba(5,13,10,.65);backdrop-filter:blur(20px);
 box-shadow:0 15px 55px rgba(0,0,0,.19);pointer-events:none;
}
.scale-marker{
 font:9px/1.1 var(--mono);letter-spacing:.05em;color:rgba(189,213,198,.50);
 white-space:nowrap;transition:color .2s ease;
}
.scale-marker.passed{color:rgba(219,237,220,.70)}
.scale-marker.active{color:#edfce9;text-shadow:0 0 14px rgba(204,250,221,.45)}
.scale-progress{
 position:absolute;left:12px;right:12px;bottom:8px;height:2px;
 background:rgba(227,241,222,.17);border-radius:10px;overflow:hidden;
}
.scale-progress i{
 display:block;height:100%;width:0;
 background:linear-gradient(90deg,#7eafa4,#e3f3d2);
 border-radius:inherit;box-shadow:0 0 12px rgba(219,250,219,.75);
}
.micro-facts{margin:11px 0 12px;border-top:1px solid rgba(233,247,234,.20);border-bottom:1px solid rgba(233,247,234,.16)}
.micro-facts summary{
 cursor:pointer;display:flex;align-items:center;justify-content:space-between;
 padding:11px 0;color:#d7e6d9;font:11px/1.2 var(--ui);list-style:none;
}
.micro-facts summary::-webkit-details-marker{display:none}
.micro-facts summary span{font:15px var(--mono);opacity:.77}
.micro-facts[open] summary span{transform:rotate(45deg)}
#microFactList{padding:1px 0 13px;display:grid;gap:9px}
.fact-entry{display:flex;flex-direction:column;gap:2px}
.fact-entry span{font:9px var(--mono);letter-spacing:.04em;color:#869a8d}
.fact-entry strong{font:11px/1.5 var(--ui);color:#d8e6dc;font-weight:430}
@media(max-width:820px){
 .scale-journey{
  bottom:calc(211px + env(safe-area-inset-bottom));
  width:calc(100vw - 28px);padding:9px 9px 15px;gap:3px;border-radius:11px;
  background:rgba(7,15,11,.51);backdrop-filter:blur(11px);
 }
 .scale-marker{font-size:8px;letter-spacing:0}
 .scale-progress{left:9px;right:9px;bottom:7px}
 .micro-facts summary{font-size:10px}
}
@media(max-width:355px){
 .scale-marker{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
 .scale-marker{transition:none}
}

/* Small, accessible ambient-sound control; no media playback until user intent. */
.header{position:absolute}
.audio-toggle{
 position:absolute;right:0;top:0;z-index:63;
 width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
 color:#e4f5e9;border:1px solid rgba(222,245,229,.30);
 background:rgba(7,14,11,.56);backdrop-filter:blur(16px);
 -webkit-backdrop-filter:blur(16px);pointer-events:auto;
 transition:background .2s,border-color .2s,transform .2s,opacity .2s;
 box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.audio-toggle svg{width:17px;height:17px;display:block;pointer-events:none}
.audio-toggle[data-state=playing]{border-color:rgba(215,247,224,.56);background:rgba(30,57,39,.70)}
.audio-toggle[data-state=muted]{opacity:.68}
.audio-toggle:hover{background:rgba(30,52,39,.78);transform:scale(1.05)}
.audio-toggle:active{transform:scale(.96)}
.top-guide{margin-right:44px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;
 padding:0!important;margin:-1px!important;overflow:hidden!important;
 clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.info-panel{max-height:min(70dvh,625px);overflow-y:auto;scrollbar-width:thin}
.micro-facts[open] summary{color:#eef9ec}
@media(max-width:820px){
 .audio-toggle{right:0;top:0;width:32px;height:32px}
 .audio-toggle svg{width:16px;height:16px}
 .top-guide{display:none!important}
 .info-panel{max-height:min(49dvh,490px)}
}

/* Mobile layout v9: preserve image as hero; make information a peripheral instrument */
@media(max-width:820px){
 .header{top:calc(9px + env(safe-area-inset-top))!important;left:14px!important;right:14px!important}
 .brand{font-size:10.5px!important;letter-spacing:.13em!important;gap:7px!important}
 .brand-mark{width:25px!important;height:25px!important}
 .tour-control{right:37px!important;top:-1px!important;font-size:8px!important;padding:8px 9px!important;min-height:32px!important;letter-spacing:.015em!important;box-shadow:none!important}
 .audio-toggle{width:30px!important;height:30px!important}
 .morph-trigger{top:calc(72px + env(safe-area-inset-top))!important;left:14px!important;padding:8px 11px!important;font-size:8px!important;border-radius:999px!important;box-shadow:none!important}
 .depth-hint{top:calc(78px + env(safe-area-inset-top))!important;left:auto!important;right:14px!important;transform:none!important;opacity:.63!important;padding:5px!important}
 #depthTitle{font-size:8px!important}
 .right{top:36%!important;right:11px!important;gap:5px!important;font-size:8px!important}
 .right #textureStatus{display:none!important}
 .zoom-rail{gap:6px!important;margin:5px 0 0 auto!important}
 .zoom-rail button,.right .zoom-rail button{height:34px!important;width:34px!important;font-size:20px!important;background:rgba(10,16,13,.72)!important;box-shadow:none!important}
 .zoom-rail input{height:96px!important}
 .light-control{padding:5px 7px!important;border-radius:9px!important;gap:4px!important}
 .light-control label{font-size:8px!important}
 .light-control input{width:75px!important;height:14px!important}
 .scale-journey{bottom:calc(142px + env(safe-area-inset-bottom))!important;width:calc(100vw - 28px)!important;left:14px!important;right:14px!important;transform:none!important;min-height:29px!important;padding:7px 9px 11px!important;background:rgba(7,15,11,.35)!important;border-color:rgba(225,248,229,.15)!important;backdrop-filter:blur(9px)!important}
 .scale-marker{font-size:7px!important}
 .scale-progress{bottom:5px!important}
 .side.left{left:12px!important;right:12px!important;bottom:calc(104px + env(safe-area-inset-bottom))!important;max-width:none!important}
 .side.left .links{gap:5px!important;justify-content:center!important}
 .side.left .control{height:30px!important;min-width:0!important;flex:0 1 auto!important;font-size:8px!important;padding:0 9px!important;letter-spacing:0!important;gap:6px!important;border-radius:999px!important;box-shadow:none!important}
 .side.left .control .tiny-circle{width:5px!important;height:5px!important;flex:none}
 .bottom{left:14px!important;right:14px!important;bottom:calc(41px + env(safe-area-inset-bottom))!important}
 .bottom-actions{width:100%!important}
 .bottom-actions button{height:39px!important;border-radius:12px!important;font-size:9px!important;min-width:0!important;padding:0 12px!important}
 .bottom-actions #enterBtn{height:42px!important}
 .release-disclaimer{bottom:calc(4px + env(safe-area-inset-bottom))!important;font-size:7px!important;max-width:82vw!important;opacity:.55!important}
 .info-panel{
  left:14px!important;right:14px!important;top:auto!important;
  bottom:calc(204px + env(safe-area-inset-bottom))!important;
  width:auto!important;max-height:min(26dvh,210px)!important;
  padding:11px 13px!important;border-radius:13px!important;
  background:rgba(8,16,12,.87)!important;
  box-shadow:0 7px 25px rgba(0,0,0,.29)!important;
  border-color:rgba(220,246,225,.26)!important;
  backdrop-filter:blur(17px)!important;overflow-y:auto!important;
 }
 .info-panel:has(.micro-facts[open]){max-height:min(39dvh,320px)!important}
 .info-top{font-size:8px!important}
 .info-top button{font-size:17px!important}
 .info-panel h2{font-size:17px!important;margin:5px 0 9px!important;line-height:1.14!important}
 .info-fields{display:flex!important;flex-wrap:wrap!important;gap:8px 14px!important;margin:3px 0 8px!important}
 .info-fields>div,.info-fields>div:nth-child(3){display:flex!important;flex:1 1 38%!important;min-width:0!important;gap:2px!important}
 .info-fields span{font-size:7px!important}
 .info-fields strong{font-size:9px!important;line-height:1.2!important}
 #infoPatternSelect{padding:5px!important;font-size:9px!important}
 #infoBody{font-size:10px!important;line-height:1.35!important;margin:0 0 6px!important;max-width:95%!important}
 .micro-facts{margin:4px 0 5px!important}
 .micro-facts summary{padding:7px 0!important;font-size:9px!important}
 #microFactList{gap:7px!important}
 .fact-entry strong{font-size:9px!important}
 #infoSource{font-size:7px!important}
 .deep-link{padding:9px!important;font-size:9px!important;margin-top:7px!important}
 .morph-chart{top:calc(112px + env(safe-area-inset-top))!important;bottom:calc(118px + env(safe-area-inset-bottom))!important;left:14px!important;right:14px!important;padding:12px!important}
 .tour-caption{bottom:calc(202px + env(safe-area-inset-bottom))!important;padding:8px 10px!important}
}

/* Mobile specimen-first layout: selection info is a low-profile bottom sheet. */
@media(max-width:820px){
 .info-panel{
  top:auto!important;left:12px!important;right:12px!important;
  bottom:calc(157px + env(safe-area-inset-bottom))!important;
  width:auto!important;
  max-height:112px!important;
  min-height:0!important;
  padding:9px 12px!important;
  border-radius:12px!important;
  background:rgba(7,15,12,.83)!important;
  box-shadow:0 6px 22px rgba(0,0,0,.20)!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
 }
 .info-panel:has(.micro-facts[open]){max-height:175px!important}
 .info-top{font-size:7px!important;line-height:1!important}
 .info-top button{font-size:15px!important}
 .info-panel h2{font-size:14px!important;line-height:1.1!important;margin:5px 0 5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .info-fields{gap:3px 9px!important;margin:0 0 5px!important}
 .info-fields>div{flex:1 1 29%!important;gap:1px!important}
 .info-fields>div:nth-child(3){flex:1 1 100%!important}
 .info-fields span{font-size:6px!important}
 .info-fields strong{font-size:8px!important;line-height:1.1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #infoBody{font-size:9px!important;line-height:1.2!important;margin:0 0 3px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .micro-facts{margin:3px 0!important}
 .micro-facts summary{font-size:8px!important;padding:5px 0!important}
 #infoSource{display:none!important}
 .deep-link{font-size:8px!important;padding:7px 9px!important;margin-top:5px!important}
 .scale-journey{bottom:calc(126px + env(safe-area-inset-bottom))!important}
 .side.left{bottom:calc(88px + env(safe-area-inset-bottom))!important}
 .bottom{bottom:calc(30px + env(safe-area-inset-bottom))!important}
 .release-disclaimer{display:none!important}
}

/* Precision magnification control — stage labels are now navigable buttons. */
.scale-journey{pointer-events:auto;isolation:isolate}
.scale-marker{
 appearance:none;-webkit-appearance:none;
 position:relative;z-index:2;border:0;border-radius:7px;
 background:transparent;color:rgba(195,215,203,.55);
 padding:6px 4px;min-height:28px;cursor:pointer;
 transition:color .20s ease,background-color .20s ease,transform .16s ease;
}
.scale-marker:hover{background:rgba(209,233,217,.10);color:#eef7ee}
.scale-marker:active{transform:scale(.95)}
.scale-marker:focus-visible{outline:2px solid #c6e7c7;outline-offset:3px}
.scale-marker.active{color:#f4fff0;background:rgba(219,248,224,.11)}
.scale-progress{pointer-events:none;z-index:0}
.zoom-rail button.zoom-holding{
 color:#fff!important;border-color:rgba(232,255,237,.76)!important;
 background:rgba(173,205,181,.23)!important;
 box-shadow:0 0 0 5px rgba(224,246,220,.08)!important;
}
@media(max-width:820px){
 .scale-journey{padding:4px 6px 10px!important}
 .scale-marker{padding:4px 2px;min-height:25px;font-size:7px!important;letter-spacing:0!important}
 .scale-progress{left:8px!important;right:8px!important;bottom:5px!important}
 .zoom-rail button{touch-action:none}
}
@media(prefers-reduced-motion:reduce){
 .scale-marker,.zoom-rail button{transition:none!important}
}

/* MICRO EXPEDITION / camera travel rather than specimen rotation */
.micro-explorer{
 position:absolute;left:22px;bottom:195px;z-index:36;
 width:min(310px,calc(100vw - 44px));padding:13px 15px 12px;
 border:1px solid rgba(212,235,220,.24);border-radius:16px;
 background:rgba(6,17,15,.77);color:#e8f3e9;
 backdrop-filter:blur(19px);-webkit-backdrop-filter:blur(19px);
 box-shadow:0 16px 55px rgba(0,0,0,.19);
 transition:opacity .35s,transform .35s;
 pointer-events:auto;
}
.micro-explorer[hidden],.micro-label[hidden]{display:none!important}
.micro-explorer-heading{
 display:flex;align-items:center;gap:8px;
 font:9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
 color:#e3eee2;letter-spacing:.1em;white-space:nowrap;
}
.micro-live-dot{display:inline-block;width:5px;height:5px;flex:none;border-radius:50%;background:#b0dabb;box-shadow:0 0 9px rgba(180,235,194,.35)}
#microStageName{margin-left:auto;color:#a7bea9;font-size:8px;letter-spacing:.12em}
.micro-explorer-help{font:9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
 color:#8da998;margin:11px 0 9px;letter-spacing:.005em}
.micro-explorer-actions{display:flex;align-items:center;gap:6px}
.micro-explorer-actions button{
 height:30px;min-width:30px;padding:0 9px;
 border:1px solid rgba(197,226,207,.18);border-radius:8px;
 background:rgba(160,192,172,.055);
 color:#d8ebdc;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;
 cursor:pointer;transition:background .18s,border-color .18s}
.micro-explorer-actions button:hover{border-color:rgba(210,245,222,.46);background:rgba(184,219,194,.14)}
.micro-explorer-actions button:active{transform:scale(.96)}
.micro-explorer-actions button:focus-visible{outline:2px solid #c5ebcd;outline-offset:2px}
#microBackward,#microForward{font-size:15px;width:31px;padding:0}
#microGlide{margin-left:auto}
.micro-travel{display:flex;align-items:center;gap:9px;margin-top:11px}
.micro-travel-track{position:relative;flex:1;height:2px;background:rgba(213,233,218,.18);overflow:hidden;border-radius:6px}
#microTravel{display:block;height:100%;width:0%;border-radius:6px;background:#c4e4ce;transition:width .17s}
.micro-travel small{font:8px ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;color:#9db3a3}
.micro-label{
 position:absolute;z-index:42;transform:translate(-50%,-100%);
 padding:9px 12px;border:1px solid rgba(214,241,224,.35);
 border-radius:100px;background:rgba(8,21,18,.89);color:#e9f5e8;
 font:10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
 text-transform:uppercase;letter-spacing:.08em;
 max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
 pointer-events:none;box-shadow:0 10px 30px rgba(0,0,0,.30);
}
#scene{touch-action:none}
@media(max-width:820px){
 .micro-explorer{
  left:14px;bottom:calc(198px + env(safe-area-inset-bottom));
  width:min(270px,calc(100vw - 80px));padding:10px 11px;
  border-radius:12px;background:rgba(7,19,15,.73);
 }
 .micro-explorer-heading{font-size:8px;letter-spacing:.045em}
 .micro-explorer-help{font-size:8px;margin:7px 0}
 .micro-explorer-actions button{min-height:28px;height:28px;font-size:8px;padding:0 6px}
 #microBackward,#microForward{font-size:13px;width:29px}
 .micro-travel{margin-top:8px}
 .micro-label{font-size:8px;padding:7px 9px;max-width:170px}
}
@media(max-width:390px){
 .micro-explorer{width:220px;bottom:calc(194px + env(safe-area-inset-bottom))}
 #microGlide{padding:0 4px}
}
@media(prefers-reduced-motion:reduce){
 .micro-explorer,.micro-explorer-actions button,#microTravel{transition:none!important}
}

/* Route-based cinematic science navigation */
.micro-explorer{width:min(344px,calc(100vw - 44px));bottom:184px;max-height:min(440px,65vh);overflow-y:auto;scrollbar-width:none}
.micro-explorer::-webkit-scrollbar{display:none}
.micro-route-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:12px}
.micro-route-row button{
 min-width:0;min-height:27px;padding:6px 3px;
 border-radius:6px;border:1px solid rgba(210,231,215,.14);
 background:rgba(180,209,188,.06);color:#a9b9ad;
 text-align:center;cursor:pointer;letter-spacing:.03em;
 font:8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
 transition:color .15s,border-color .15s,background .15s
}
.micro-route-row button[aria-pressed="true"]{background:rgba(205,226,206,.19);border-color:rgba(215,239,223,.50);color:#f3f8f0}
.micro-route-row button:hover{color:#f2f9f2}
.micro-route-row button:focus-visible,.micro-explore-mode button:focus-visible{outline:2px solid #d2e9d2;outline-offset:2px}
.micro-chapter{margin:10px 0 0;font:11px/1.48 system-ui,-apple-system,sans-serif;
 color:#cbd8cc;letter-spacing:0}
.micro-explore-mode{display:flex;align-items:center;gap:7px;margin:9px 0 0}
.micro-explore-mode button{
 min-height:27px;padding:0 10px;
 border:1px solid rgba(198,221,206,.23);border-radius:6px;
 background:rgba(205,228,208,.08);
 color:#e2eee5;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;
 letter-spacing:.04em;cursor:pointer
}
#microGuide[aria-pressed="true"]{background:rgba(192,232,194,.24);color:#f4fff2}
#microNext{margin-left:auto;background:#dfead8;color:#15241a}
.scale-journey .scale-marker{font-size:9px;letter-spacing:.015em;white-space:nowrap}
.scale-journey{overflow:visible}
@media(max-width:820px){
 .micro-explorer{width:min(298px,calc(100vw - 28px));bottom:calc(177px + env(safe-area-inset-bottom));max-height:40svh}
 .micro-route-row{margin-top:8px;gap:3px}
 .micro-route-row button{min-height:26px;font-size:7px;padding:5px 2px}
 .micro-chapter{font-size:10px;margin:7px 0 0}
 .micro-explore-mode{margin-top:6px}
 .micro-explore-mode button{font-size:8px;padding:0 7px;min-height:25px}
 .scale-journey{padding:6px 5px 9px!important}
 .scale-journey .scale-marker{font-size:7px!important;letter-spacing:-.025em!important;padding:3px 1px;min-height:24px}
}
@media(max-width:390px){
 .micro-explorer{width:min(257px,calc(100vw - 26px));bottom:calc(170px + env(safe-area-inset-bottom))}
 .scale-journey .scale-marker{font-size:6.5px!important}
}

/* Biological field guide / compact route-specific discoverability */
.micro-discoveries{margin-top:10px;padding-top:10px;border-top:1px solid rgba(221,237,218,.16)}
.micro-discoveries-label{display:flex;justify-content:space-between;gap:8px;font:8px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.075em;color:#a5baa9}
.micro-discoveries-label span{font-size:7px;letter-spacing:0;color:#819c89}
.micro-node-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.micro-node-list button{font:8px/1.35 ui-monospace,SFMono-Regular,monospace;max-width:100%;color:#dae8d9;border:1px solid rgba(203,231,207,.19);background:rgba(226,243,227,.055);padding:7px 9px;border-radius:7px;text-align:left;cursor:pointer;transition:background .18s,border-color .18s}
.micro-node-list button:hover,.micro-node-list button[aria-pressed="true"]{background:rgba(200,226,204,.19);border-color:rgba(218,241,220,.51)}
.micro-node-list button:focus-visible,.micro-selected button:focus-visible{outline:2px solid #d1e9d4;outline-offset:2px}
.micro-selected{margin-top:9px;padding:10px;border:1px solid rgba(222,234,213,.17);border-radius:9px;background:rgba(220,231,215,.055)}
.micro-selected[hidden]{display:none!important}
.micro-selected strong{display:block;font:500 13px/1.3 system-ui,sans-serif;color:#eaf4e9}
.micro-selected p{font:11px/1.45 system-ui,sans-serif;color:#c9dacc;margin:6px 0}
.micro-selected small{display:block;font:10px/1.4 system-ui,sans-serif;color:#a7bcab}
.micro-selected small b{display:block;font:8px/1.4 ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em;color:#d2e4d5;margin-bottom:2px}
.micro-selected button{margin-top:10px;padding:7px 10px;border:1px solid rgba(219,239,220,.34);border-radius:7px;background:#dfead8;color:#17291b;font:9px ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em;cursor:pointer}
@media(max-width:820px){.micro-explorer{max-height:49svh}.micro-node-list button{font-size:7px;padding:6px 7px}.micro-selected{padding:8px}.micro-selected strong{font-size:11px}.micro-selected p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.micro-node-list button{transition:none}}

/* Mobile: preserve the microscopy scene as the main content, not a text overlay. */
.micro-panel-toggle{display:none;border:1px solid rgba(210,230,217,.2);background:transparent;color:#e1ece2;border-radius:6px;font:8px ui-monospace,SFMono-Regular,monospace;padding:6px 8px;cursor:pointer}
@media(max-width:820px){
 .experience:has(.micro-explorer:not([hidden])) .side.left{display:none!important}
 .experience:has(.micro-explorer:not([hidden])) .side.right #textureStatus{display:none!important}
 .micro-explorer{top:78px!important;left:12px!important;right:12px!important;bottom:auto!important;width:auto!important;max-height:calc(100svh - 260px)!important;overflow-y:auto!important;padding:10px 12px!important;border-radius:13px!important;background:rgba(5,17,13,.84)!important}
 .micro-panel-toggle{display:inline-flex;flex:none;margin-left:7px}
 #microStageName{font-size:7px!important;margin-left:auto}
 .micro-route-row{margin-top:8px!important}
 .micro-route-row button{min-height:32px!important;font-size:8px!important}
 .micro-panel-details{display:none}
 .micro-explorer.expanded .micro-panel-details{display:block}
 .micro-explorer.expanded{max-height:min(52svh,430px)!important}
 .scale-journey{bottom:calc(122px + env(safe-area-inset-bottom))!important}
 .micro-explorer:not(.expanded){box-shadow:0 9px 28px rgba(0,0,0,.22)!important}
 .micro-explorer-heading{gap:5px!important}
}
@media(max-width:390px){
 .micro-explorer{top:69px!important;left:9px!important;right:9px!important}
 .micro-route-row button{font-size:7px!important;padding:7px 2px!important}
}

/* Consent-based iris sharing, with persistent access on small screens */
.atlas-send-photo{margin-top:16px;padding-top:15px;border-top:1px solid rgba(223,238,219,.22);display:grid;gap:9px}
.atlas-send-photo>label:first-child{font:9px ui-monospace,SFMono-Regular,monospace;letter-spacing:.07em;color:#c9dace}
.atlas-send-photo input[type=email]{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid rgba(215,231,213,.3);border-radius:8px;background:#13221b;color:#f0f7ec;font:13px system-ui}
.atlas-photo-consent{display:flex;align-items:flex-start;gap:9px;color:#d4e0d1;font:11px/1.5 system-ui,sans-serif}
.atlas-photo-consent input{flex:0 0 18px;width:18px;height:18px}
#atlasPhotoSend{background:#e3eee0;color:#0c1910;border:0;border-radius:8px;padding:12px;cursor:pointer}
#atlasPhotoSend:disabled{opacity:.48;cursor:default}
#atlasPhotoStatus{color:#bfd1c2;font:11px/1.45 system-ui;margin:0}
.mobile-upload{display:none}
@media(max-width:820px){
 .mobile-upload{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;padding:10px 12px;border-radius:99px;background:#e0ede0;color:#122015;border:0;font:10px ui-monospace,SFMono-Regular,monospace;cursor:pointer}
 .bottom-actions{display:flex!important;gap:6px;align-items:center}
 .dialog{max-height:calc(100svh - 80px);overflow-y:auto;-webkit-overflow-scrolling:touch}
}

/* Atlas vNext — journey-first controls */
.micro-journey-status{margin:11px 0 0;padding:10px 0 9px;border-top:1px solid rgba(215,239,220,.18);display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:5px;align-items:center}
#microJourneyStep{font:9px ui-monospace,SFMono-Regular,monospace;color:#a7b9a9;letter-spacing:.08em}
#microJourneyTitle{font:500 12px system-ui,sans-serif;color:#f0f5ec;letter-spacing:.025em}
#microJourneyScale{grid-column:2;font:8px ui-monospace,SFMono-Regular,monospace;color:#819e8b;letter-spacing:.06em}
#microJourneyNext{margin-left:auto;background:#dcebdc!important;color:#132419!important;border-color:#dcebdc!important;font-weight:600!important}
@media(max-width:820px){
 .micro-journey-status{margin:7px 0 3px;padding:7px 0 4px;row-gap:3px}
 #microJourneyTitle{font-size:10px}
 #microJourneyScale{font-size:7px}
 .micro-explore-mode{display:flex!important;margin-top:8px!important}
 #microGuide{display:none!important}
 #microJourneyNext{min-height:31px!important;padding:0 14px!important;font-size:9px!important}
 .micro-explorer:not(.expanded) .micro-panel-details{display:none!important}
 .micro-explorer:not(.expanded) .micro-explore-mode{display:flex!important}
 .micro-explorer:not(.expanded) #microJourneyNext{display:inline-flex!important;align-items:center}
}

.micro-mobile-next{display:none}
@media(max-width:820px){
 .micro-mobile-next{display:block;width:100%;margin-top:9px;padding:10px 13px;border:1px solid rgba(222,238,220,.75);border-radius:8px;background:#deeadc;color:#17291b;font:600 10px ui-monospace,SFMono-Regular,monospace;text-align:center;letter-spacing:.06em;cursor:pointer}
 .micro-explorer.expanded .micro-mobile-next{display:none}
}

/* PLR laboratory: interactive cause/effect without implying validated measurements */
.plr-lab{position:absolute;top:110px;right:22px;z-index:33;width:266px;box-sizing:border-box;padding:13px;background:rgba(8,19,15,.88);border:1px solid rgba(207,229,207,.24);border-radius:14px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#eff7ee;box-shadow:0 15px 44px rgba(0,0,0,.15);pointer-events:auto}
.plr-header{display:flex;align-items:center;gap:7px;font:9px ui-monospace,SFMono-Regular,monospace;letter-spacing:.05em}
.plr-header strong{font-weight:600}
.plr-header small{margin-left:auto;color:#acc2ad;font-size:7px}
.plr-dot{width:5px;height:5px;border-radius:100%;background:#b5dfb6;box-shadow:0 0 8px #8ebe9b}
.plr-visual{display:flex;align-items:center;gap:12px;position:relative;padding:12px 2px 11px}
.plr-iris{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;flex:none;position:relative;box-shadow:inset 0 0 0 3px #273c34,0 0 0 1px #668075;background:repeating-conic-gradient(from 9deg,#657f5b 0 4deg,#8b936c 6deg 9deg,#2c5444 11deg 15deg,#ab9160 17deg 19deg,#52735a 22deg 26deg)}
.plr-pupil{width:40%;height:40%;aspect-ratio:1;border-radius:50%;background:#030605;box-shadow:0 0 0 3px rgba(22,35,27,.55),0 0 0 5px rgba(230,211,157,.16);transition:width .09s linear,height .09s linear}
.plr-beam{pointer-events:none;position:absolute;left:36px;top:8px;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle,rgba(250,245,213,.3),transparent 68%);opacity:.2;transition:opacity .1s}
.plr-stats{display:grid;gap:5px}
.plr-stats span{color:#a7b8a8;font:8px ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em}
.plr-stats b{font:600 12px system-ui,sans-serif;letter-spacing:.04em}
.plr-stats small{font:8px ui-monospace,SFMono-Regular,monospace;color:#aec3af}
.plr-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.plr-actions button{border:1px solid rgba(210,230,212,.25);padding:9px 7px;background:rgba(210,235,216,.09);color:#e9f2e8;font:9px ui-monospace,SFMono-Regular,monospace;cursor:pointer;border-radius:7px}
#plrExplore{grid-column:1/-1;background:#e1ebde;color:#11221a}
.plr-pathway{display:none;flex-wrap:wrap;align-items:center;gap:5px;margin-top:10px;color:#d6e7da;font:8px/1.6 ui-monospace,SFMono-Regular,monospace}
.plr-pathway i{color:#8aab91;font-style:normal}
.plr-lab.pathway-open .plr-pathway{display:flex}
.plr-disclaimer{font:9px/1.5 system-ui,sans-serif;color:#9eb4a3;margin:11px 0 0}
.plr-lab.is-flashing .plr-dot{background:white;box-shadow:0 0 10px white}
@media(max-width:820px){
 .plr-lab{top:auto!important;bottom:calc(195px + env(safe-area-inset-bottom));right:10px;left:auto;width:min(216px,58vw);padding:10px;border-radius:12px}
 .plr-header{font-size:8px}
 .plr-header small{font-size:6px}
 .plr-visual{padding:8px 0;gap:8px}
 .plr-iris{width:48px;height:48px}
 .plr-stats span,.plr-stats small{font-size:7px}
 .plr-stats b{font-size:10px}
 .plr-actions button{font-size:8px;padding:8px 4px}
 .plr-disclaimer{font-size:8px;margin-top:7px}
 .plr-lab:has(~ .micro-explorer:not([hidden])){display:none}
 .experience:has(.micro-explorer:not([hidden])) .plr-lab{display:none}
}
@media(max-width:370px){.plr-lab{width:178px}.plr-header{letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.plr-pupil{transition:none}}

/* Microscopy-first interface: remove simulated PLR light card. */
.light-control,.plr-lab{display:none!important}

/* Mobile Atlas: dismiss information without interrupting the 3D journey. */
.micro-panel-dismiss,.micro-panel-reopen{display:none}
@media(max-width:820px){
 .micro-panel-dismiss{display:grid;place-items:center;flex:none;width:27px;height:27px;margin-right:2px;padding:0;border:1px solid rgba(222,238,226,.30);border-radius:50%;background:rgba(255,255,255,.07);color:#eff6ed;font:24px/1 system-ui;cursor:pointer}
 .micro-explorer.mobile-dismissed{display:none!important}
 .micro-panel-reopen:not([hidden]){display:block;position:absolute;z-index:39;top:138px;left:17px;padding:9px 12px;border:1px solid rgba(213,237,220,.5);border-radius:22px;background:rgba(7,19,15,.83);backdrop-filter:blur(12px);color:#e4efe5;font:10px ui-monospace,SFMono-Regular,monospace;letter-spacing:.07em;pointer-events:auto}
}

/* Mobile panel dismiss: position at right edge, beyond the IRIS MAP overlay. */
@media(max-width:820px){
 #microExplorer .micro-explorer-heading{gap:6px!important;min-height:38px;padding-right:0}
 #microExplorer #microPanelDismiss{display:grid!important;position:relative!important;z-index:50!important;flex:0 0 34px!important;margin:0 0 0 5px!important;width:34px!important;height:34px!important;border:1px solid rgba(220,241,227,.65)!important;border-radius:10px!important;background:#dfece0!important;color:#12241a!important;font:25px/1 system-ui!important;pointer-events:auto!important}
 #microExplorer #microPanelToggle{margin-left:auto!important}
 #microPanelReopen:not([hidden]){top:185px!important;left:auto!important;right:17px!important;z-index:45!important}
}
