/* Immersive atlas: a spatial exhibit with a floating reading room. */
.study-app[data-view=explore]{background:#102622;overflow:hidden}
.study-app[data-view=explore] .study-header{background:#102622;border-bottom:1px solid #b9c6ad24;position:relative;height:64px;padding:12px 25px}
.study-app[data-view=explore] .header-purpose{color:#97aa9b;font-size:10px;letter-spacing:.04em}
.study-app[data-view=explore] .header-date{display:none}
.study-app[data-view=explore] #menuToggle{display:block;margin-left:24px;background:#ffffff05;color:#dddcc7;border:1px solid #abc29740;border-radius:6px;font-size:11px;padding:8px 15px;min-height:34px}
.study-app[data-view=explore] .study-shell{display:block;height:calc(100dvh - 64px);min-height:0;max-width:none;background:#102622}
.study-app[data-view=explore] #main{padding:0;height:100%;min-height:0;max-width:none}
.study-app[data-view=explore] .study-sidebar{display:none}
.study-app[data-view=explore].menu-open .study-sidebar{display:block;position:fixed;left:0;top:64px;bottom:0;width:245px;z-index:80;background:#102b26;box-shadow:15px 0 60px #00171099;padding:20px 15px;overflow:auto}
.study-app[data-view=explore] .study-sidebar nav>a{font-size:12px;min-height:42px}
.study-app[data-view=explore] #viewPager{display:none}
.explorer{--reader-width:390px;--dock-height:144px;height:100%;position:relative;isolation:isolate;background:radial-gradient(ellipse at 37% 48%,#3b5140 0%,#1d3930 39%,#102621 75%);overflow:hidden}
.explorer .ex-topbar,.explorer .ex-mobile-links{display:none}
.explorer .ex-workbench{position:relative;display:block;height:100%;min-height:0;max-width:none;margin:0}
.explorer .ex-map-column{position:absolute;inset:0;display:block;height:auto;min-height:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.explorer #exSceneHost{position:absolute;inset:0 calc(var(--reader-width) + 22px) var(--dock-height) 0;overflow:hidden}
#exWorldScene,#exFallbackScene{position:absolute;inset:0;width:100%;height:100%;min-height:0}
#exFallbackScene{padding:150px 28px 70px}
.explorer .ex-scene-heading{position:absolute;top:25px;left:29px;right:calc(var(--reader-width) + 57px);padding:0;align-items:flex-start;gap:15px;z-index:5;pointer-events:none}
.explorer .ex-scene-heading>div>span{font-size:10px;letter-spacing:.17em;color:#c6b782;margin-bottom:10px}
.explorer .ex-scene-heading h2{font:400 clamp(24px,2.8vw,42px)/1.08 Georgia,serif;letter-spacing:-.04em;max-width:610px;color:#f4f0dd;text-shadow:0 3px 18px #001c1899}
.explorer .ex-map-switch{flex-direction:column;pointer-events:auto;flex:none;padding-top:0}
.explorer .ex-map-switch>button{font-size:9px;padding:7px 9px;min-height:30px;background:#19372ee6;border-color:#6d806345;color:#c6d2bd}
.explorer .ex-map-switch>button[aria-pressed=true]{background:#d1d3ae;color:#193c2a}
.ex-layers{position:absolute;left:28px;top:125px;z-index:5;display:flex;gap:4px;border:1px solid #a5b48c30;border-radius:30px;background:#102a22c9;padding:4px;backdrop-filter:blur(14px)}
.ex-layers button{font-size:10px;border:0;background:none;color:#afbda1;padding:8px 12px;border-radius:25px;min-height:32px;cursor:pointer}
.ex-layers button[aria-pressed=true]{background:#d5d7b5;color:#183c2b;box-shadow:0 3px 10px #071b1450}
.ex-scene-caption{position:absolute;bottom:calc(var(--dock-height) + 16px);left:30px;z-index:5;max-width:min(410px,calc(100% - var(--reader-width) - 170px));pointer-events:none}
.ex-scene-caption>span:first-child{color:#c4ba87;font-size:9px;letter-spacing:.16em;font-weight:650}
.ex-scene-caption>p{font-size:11px;line-height:1.7;color:#b8c6ad;margin:7px 0 10px;max-width:355px;text-shadow:0 2px 9px #102d23}
.ex-render-status{display:block;font-size:7px;letter-spacing:.13em;color:#889f89}
.explorer .ex-reader{position:absolute;right:20px;top:20px;bottom:calc(var(--dock-height) + 20px);width:var(--reader-width);margin:0;max-height:none;min-height:0;z-index:20;border-radius:13px;border:1px solid #fff5;background:#f7f3e7;box-shadow:0 15px 80px #00190f80;display:flex;overflow:hidden;transition:width .3s,top .3s,bottom .3s}
.explorer .ex-reader-top{position:relative;top:auto;padding:14px 18px 0;background:#eee9d9}
.explorer .ex-reader-label{font-size:8px;letter-spacing:.14em;color:#71805f;margin-bottom:10px}
.explorer .ex-live-dot{display:none}
.ex-reader-actions{display:flex;gap:9px;margin-left:auto}
.ex-reader-actions>button{background:transparent;border:0;padding:4px 1px;font-size:9px;color:#69805f;min-height:25px;cursor:pointer}
.explorer .ex-reader-tabs{gap:28px}
.explorer .ex-reader-tabs>button{font-size:11px;min-height:32px;padding-bottom:9px;color:#7f8a6e}
.explorer .ex-reader-tabs>button[aria-pressed=true]{color:#284d35}
.explorer .ex-reader-scroll{overflow-y:auto;max-height:none;overscroll-behavior:contain;flex:1;min-height:0}
.explorer .ex-prose{padding:24px 24px 30px}
.explorer .ex-prose>h2{font-size:29px;line-height:1.12;margin:12px 0 19px}
.explorer .ex-prose p{font-size:13px;line-height:1.8}
.explorer .ex-prose h3{font-size:21px}
.explorer .ex-prose .ex-small-note,.explorer .ex-study-note{font-size:11px}
.explorer .ex-photo>button{height:180px}
.explorer .ex-photo>figcaption{padding:9px 19px 11px}
.explorer .ex-photo figcaption>span{font-size:7px}
.explorer .ex-photo figcaption>strong{font-size:9px}
.explorer .ex-photo details>summary{font-size:9px;line-height:1.6}
.explorer .ex-speaker-context{position:sticky;top:0}
.explorer .ex-source-links>a{font-size:10px}
.explorer .ex-citations>summary{font-size:11px}
.explorer .ex-model li strong{font-size:13px}
.explorer .ex-model li p{font-size:12px}
#exTimelineNotice{display:block;width:calc(100% + 36px);margin:0 -18px;border:0;background:#e3d7b3;color:#465933;text-align:left;padding:10px 18px;font-size:10px;line-height:1.5;cursor:pointer}
.explorer .ex-time-controls{position:absolute;bottom:16px;left:22px;right:22px;height:var(--dock-height);padding:13px 20px 10px;z-index:30;background:linear-gradient(145deg,#16382ce8,#122d23f5);backdrop-filter:blur(22px);border:1px solid #9daf7840;border-radius:13px;box-shadow:0 10px 35px #00190e80;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;grid-template-rows:15px 30px 39px 18px;column-gap:12px;row-gap:2px}
.explorer .ex-time-meta{grid-column:1/-1;font-size:8px;letter-spacing:.18em;margin:0;color:#92aa83}
.explorer .ex-phase-nav{grid-column:2;display:grid;grid-template-columns:4fr 2fr 2fr 4fr 2fr;gap:7px;align-items:center}
.explorer .ex-phase-nav>button{font-size:9px;letter-spacing:.02em;min-height:24px;border:0;border-radius:3px;justify-content:center;padding:3px 6px;color:#a4b99b;background:none;white-space:nowrap}
.explorer .ex-phase-nav>button>b{font-size:10px;color:#809b71}
.explorer .ex-phase-nav>button[aria-pressed=true]{background:#284b34;color:#e6ddad}
.explorer .ex-phase-nav>button[aria-pressed=true]>b{color:#b59d62}
.explorer .ex-milestones{grid-column:2;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:0;margin:0;align-items:start}
.explorer .ex-milestones:before{left:2%;right:2%;top:11px;background:linear-gradient(90deg,#436441,#9c9c62,#466547);height:1px}
.explorer .ex-milestones>button{padding:1px 0 0;min-height:36px;line-height:1.5;font-size:9px;background:transparent;white-space:nowrap;color:#93ad89;cursor:pointer}
.explorer .ex-milestones>button>i{margin:6px auto 9px;width:6px;height:6px;background:#1c3c2d;border-color:#7a9667;transition:box-shadow .4s,background .4s}
.explorer .ex-milestones>button[aria-pressed=true]{color:#f3d896}
.explorer .ex-milestones>button[aria-pressed=true]>i{background:#efc777;border-color:#efd394;box-shadow:0 0 0 5px #d6b26718,0 0 15px #f3c764a8}
.explorer .ex-scrubber{display:contents}
.explorer #exPrevious,.explorer #exNext{grid-row:2/4;align-self:center;border:1px solid #819f6250;border-radius:50%;width:32px;height:32px;min-height:32px;background:#35533744;color:#d3d6ac;font-size:16px;cursor:pointer}
.explorer #exPrevious{grid-column:1}.explorer #exNext{grid-column:3}
.explorer #exTimeRange{grid-row:4;grid-column:2;width:100%;height:3px;align-self:center;accent-color:#c5b56d;opacity:.45;transition:opacity .2s}.explorer #exTimeRange:hover,.explorer #exTimeRange:focus{opacity:1}
.explorer .ex-time-note{grid-column:1/-1;font-size:7px;margin:1px 0 0;color:#719367;text-align:center}
.explorer #exOpenReader{position:absolute;right:25px;top:25px;z-index:22;padding:13px 19px;color:#29482f;border:1px solid #ece6ca;border-radius:7px;background:#e9e2c9;box-shadow:0 4px 25px #041f1580;font-size:12px;cursor:pointer}
#exOpenReader span{margin-left:20px;color:#a47e43}
.explorer.reader-minimized #exSceneHost{right:0}
.explorer.reader-minimized .ex-scene-heading{right:250px}
.explorer.reader-expanded .ex-reader{width:min(660px,calc(100% - 60px));top:15px;bottom:calc(var(--dock-height) + 20px)}
.explorer.reader-expanded .ex-prose{padding:25px 37px}
.explorer.reader-expanded .ex-photo>button{height:230px}
.explorer.reader-expanded .ex-scene-heading,.explorer.reader-expanded .ex-scene-caption{max-width:calc(100% - 740px)}
.explorer [hidden]{display:none!important}
.explorer button:focus-visible{outline:2px solid #dba866;outline-offset:3px}
.explorer .a3d-label-document{width:144px;padding:7px 9px;background:#102a23ed}
.explorer .a3d-label-document span{display:none}
.explorer .a3d-label-document small{font-size:9px;line-height:1.4;margin-top:0}
.explorer.world-ready .ex-map-switch{display:none}
@media(min-width:801px){.explorer .ex-layers{left:auto;right:calc(var(--reader-width) + 34px);top:121px}.explorer.reader-minimized .ex-layers{right:28px}}
@media(min-width:1500px){.explorer{--reader-width:430px}.explorer .ex-reader{right:30px;top:26px}.explorer .ex-scene-heading{top:31px;left:38px}.ex-layers{left:38px;top:138px}.explorer .ex-prose{padding:26px 28px}.explorer .ex-prose p{font-size:14px}.explorer .ex-photo>button{height:215px}.ex-scene-caption{left:38px}}
@media(max-width:1050px) and (min-width:801px){.explorer{--reader-width:335px}.explorer .ex-reader{right:14px;top:16px}.explorer .ex-scene-heading{left:20px;right:370px}.explorer .ex-scene-heading h2{font-size:28px}.ex-layers{left:20px;top:139px}.ex-layers button{font-size:9px;padding:7px 9px}.explorer .ex-phase-nav>button{font-size:8px}.explorer .ex-milestones>button{font-size:8px}.explorer .ex-prose{padding:20px}.explorer .ex-prose>h2{font-size:26px}.ex-scene-caption{left:20px;max-width:330px}.explorer.reader-expanded .ex-scene-heading{opacity:0}}
@media(max-width:800px){
 .study-app[data-view=explore] .study-header{height:58px;padding:9px 15px}.study-app[data-view=explore] .study-shell{height:calc(100dvh - 58px)}.study-app[data-view=explore].menu-open .study-sidebar{top:58px}.study-app[data-view=explore] #main{padding:0}.study-app[data-view=explore] #menuToggle{margin-left:auto;font-size:10px;padding:7px 12px}.explorer{--dock-height:130px;--reader-width:0px}
 .explorer #exSceneHost{inset:0 0 calc(var(--dock-height) + 2px)}
 .explorer .ex-scene-heading{top:20px;left:19px;right:19px;max-width:none;gap:9px}.explorer .ex-scene-heading>div>span{font-size:8px;letter-spacing:.1em;margin-bottom:7px}.explorer .ex-scene-heading h2{font-size:26px;max-width:350px;line-height:1.12}.explorer .ex-map-switch{flex-direction:column}.explorer .ex-map-switch>button{font-size:8px;padding:5px 7px;min-height:26px}
 .ex-layers{left:17px;top:117px;padding:3px;gap:2px}.ex-layers button{font-size:9px;padding:7px 10px;min-height:29px}
 .ex-scene-caption{left:18px;bottom:calc(var(--dock-height) + 26px);max-width:calc(100% - 130px)}.ex-scene-caption>span:first-child{font-size:8px}.ex-scene-caption>p{font-size:10px;line-height:1.5;margin:6px 0;display:none}.ex-render-status{font-size:6px;max-width:210px;line-height:1.8}
 .explorer .ex-reader{left:10px;right:10px;top:auto;bottom:calc(var(--dock-height) + 19px);width:auto;height:52%;max-height:calc(100% - var(--dock-height) - 40px);border-radius:13px;box-shadow:0 0 90px #00150ce0;z-index:22}
 .explorer .ex-reader-top{padding:9px 15px 0;position:relative;top:auto}.explorer .ex-reader-label{font-size:7px;margin-bottom:5px}.explorer .ex-reader-actions>button{font-size:10px;min-height:27px}.explorer .ex-reader-tabs{gap:30px}.explorer .ex-reader-tabs>button{font-size:12px;padding-bottom:8px;min-height:32px}.explorer .ex-reader-scroll{overflow:auto}.explorer .ex-prose{padding:20px}.explorer .ex-prose p{font-size:13px;line-height:1.8}.explorer .ex-prose>h2{font-size:28px}.explorer .ex-photo>button{height:160px}.explorer .ex-speaker-context{position:sticky;top:0}.explorer.reader-expanded .ex-reader{top:12px;bottom:calc(var(--dock-height) + 18px);height:auto;max-height:none;width:auto}.explorer.reader-expanded .ex-prose{padding:22px}.explorer.reader-expanded .ex-scene-heading,.explorer.reader-expanded .ex-scene-caption{max-width:none}
 .explorer #exOpenReader{right:15px;top:auto;bottom:calc(var(--dock-height) + 32px);font-size:10px;padding:10px 12px;max-width:120px}#exOpenReader span{margin-left:6px}.explorer.reader-minimized .ex-scene-heading{right:19px}
 .explorer .ex-time-controls{bottom:9px;left:10px;right:10px;padding:10px 11px;height:var(--dock-height);grid-template-columns:24px minmax(0,1fr) 24px;grid-template-rows:12px 30px 40px 14px;column-gap:7px;row-gap:1px;border-radius:11px}
 .explorer .ex-time-meta{font-size:7px;letter-spacing:.1em}.explorer .ex-phase-nav{grid-column:1/-1;grid-template-columns:repeat(5,1fr);gap:2px}.explorer .ex-phase-nav>button{white-space:normal;font-size:6.5px;line-height:1.2;padding:3px 2px;min-height:28px;display:flex;gap:3px}.explorer .ex-phase-nav>button>b{font-size:8px;margin:0}.explorer .ex-milestones{overflow-x:auto;grid-template-columns:repeat(14,51px);scrollbar-width:none;overscroll-behavior:contain;scroll-snap-type:x proximity;padding:0 6px}.explorer .ex-milestones>button{font-size:8px;scroll-snap-align:center}.explorer .ex-milestones:before{width:700px;right:auto}.explorer #exPrevious,.explorer #exNext{grid-row:3;width:24px;height:26px;min-height:26px;font-size:14px}.explorer .ex-time-note{font-size:6px}.explorer #exTimeRange{opacity:.65}#exTimelineNotice{width:calc(100% + 30px);margin:0 -15px;padding:8px 15px;font-size:9px}
}
@media(max-height:650px) and (min-width:801px){.explorer{--dock-height:124px}.explorer .ex-time-controls{grid-template-rows:12px 26px 33px 15px;padding:9px 18px}.ex-scene-caption>p{display:none}.ex-layers{top:108px}.explorer .ex-scene-heading h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.explorer *{transition:none!important;scroll-behavior:auto!important}}
