/* Shared exhibition treatment and functional controls. */
body { isolation:isolate; }
.bg-flags { z-index:-1; }
.flag { opacity:.48; }
[hidden] { display:none!important; }
.leaflet-marker-icon.atlas-cyclone { position:absolute; padding:0; border:0; margin:0; }
.atlas-cyclone svg { display:block; position:absolute; inset:0; width:36px; height:36px; max-width:none; }
.atlas-cyclone.is-selected { border:0; outline:2px solid #fff2d4; outline-offset:3px; }
.atlas-place-label span { -webkit-text-stroke:1.5px #000!important; paint-order:stroke fill; text-shadow:0 1px 2px #000!important; }
.atlas-data-panel strong { overflow-wrap:anywhere; }
.story-main>section,.library-main,.marker-main>section { border:1px solid rgba(223,187,113,.35); background:rgba(4,24,32,.85); padding:clamp(18px,3vw,40px); margin-block:24px; }
.site-search-dialog { width:min(760px,calc(100% - 32px)); max-height:85dvh; padding:24px; color:#f5e8bc; background:#071d26; border:1px solid #dfbb71; font-family:var(--nav); }
.site-search-dialog::backdrop { background:rgba(0,6,10,.85); }
.site-search-dialog form { display:flex; gap:12px; align-items:end; }
.site-search-dialog label { flex:1; }
.site-search-dialog input { display:block; width:100%; box-sizing:border-box; padding:12px; margin-top:8px; font:inherit; background:#020d13; color:inherit; border:1px solid #8a7648; }
.site-search-dialog button { font:inherit; padding:12px; color:inherit; border:1px solid #8a7648; background:#102b34; cursor:pointer; }
.site-search-results { list-style:none; padding:0; }
.site-search-results li { border-top:1px solid #8a7648; }
.site-search-results a { display:block; padding:14px 0; }
.site-search-results strong,.site-search-results small { display:block; }
.site-search-results p { font-size:15px; line-height:1.5; margin:6px 0; }

/* Stage 3: balanced collections and visual timeline panel. */
.timeline-detail{display:flex;flex-direction:column;min-height:620px}
.timeline-visual{margin:-1rem -1rem 1.5rem;overflow:hidden;border:1px solid rgba(241,202,120,.28);background:#020a10;aspect-ratio:16/10}
.timeline-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#020a10}
.timeline-detail-actions{margin-top:auto}
.beach-source-rail,.downtown-source-rail,.documents-source-rail,.book-source-rail{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:1120px){.beach-source-rail,.downtown-source-rail,.documents-source-rail,.book-source-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.beach-source-rail,.downtown-source-rail,.documents-source-rail,.book-source-rail{grid-template-columns:1fr!important}.timeline-detail{min-height:0}.timeline-visual{margin:0 0 1.25rem}}

/* Stage 4: shared viewer controls on narrative and marker pages. */
.story-source-button{display:block;width:100%;padding:0;border:1px solid rgba(216,181,100,.5);background:#06141b;cursor:zoom-in}
.story-source-button img{display:block;width:100%;margin:0}
.marker-viewer-canvas{height:min(65vh,680px);overflow:hidden;display:grid;place-items:center;background:#020a10;touch-action:none;cursor:grab}
.marker-viewer-canvas:active{cursor:grabbing}
#marker-viewer-image{max-width:none!important;max-height:none!important;width:auto;height:auto;transform-origin:center center;user-select:none}
.marker-view-controls{flex-wrap:wrap;justify-content:center!important}
.viewer-toolbar button[hidden]{display:none!important}

/* Pass 39 Stage 6: paper archive grouping */
.paper-subgroup{margin:1.6rem 0 2.4rem}.paper-subgroup>h3{margin:0 0 .35rem;font-family:"Poiret One",sans-serif;font-size:clamp(1.45rem,2.4vw,2rem);letter-spacing:.04em}.paper-subgroup>p{max-width:72ch;margin:0 0 1rem}.paper-source-leads{margin-top:1rem;display:grid;gap:.75rem}.paper-source-leads a{display:grid;gap:.25rem;padding:1rem 1.1rem;border:1px solid rgba(185,147,82,.48);background:rgba(20,24,27,.38);text-decoration:none}.paper-source-leads a span{font-size:.94rem;line-height:1.5}.paper-subgroup .documents-source-rail{margin-top:.75rem}

.source-state{display:inline-block;margin-left:.45rem;padding:.15rem .45rem;border:1px solid rgba(217,182,111,.45);border-radius:999px;font-size:.72rem;letter-spacing:.03em;opacity:.9}.source-state[data-mode="local-preview"],.source-state[data-mode="direct-pdf"],.source-state[data-mode="video-embed"]{background:rgba(217,182,111,.12)}

/* Stage 9F — visual research-library cards */
.research-visual-card>img,.research-visual-card>.research-image-link img{width:100%;height:210px;object-fit:contain;background:#06151c;border:1px solid rgba(210,180,108,.35);margin:0 0 14px}.research-image-link{display:block}.research-source-pending{height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#0b222c,#06151c);border:1px solid rgba(210,180,108,.55);color:#f3e6bc;margin-bottom:14px;padding:18px}.research-source-pending strong{font-family:Georgia,serif;font-size:1.75rem}.research-source-pending span{font-size:1.05rem;margin-top:6px}.research-source-pending small{max-width:28ch;margin-top:12px;color:#cdbb89}.research-interpretations .research-visual-card{display:flex;flex-direction:column}.research-interpretations .research-visual-card>a:last-child{margin-top:auto}@media(max-width:700px){.research-visual-card>img,.research-visual-card>.research-image-link img,.research-source-pending{height:180px}}

.wind-source-card{border:1px solid rgba(184,151,93,.5);background:linear-gradient(145deg,rgba(246,239,224,.96),rgba(229,219,198,.92));padding:18px;margin:0}.wind-source-media strong{display:block;font-family:Georgia,serif;font-size:1.05rem;line-height:1.35;margin:.35rem 0}.wind-source-media p{margin:.45rem 0 .8rem}.wind-source-card figcaption{margin-top:10px;font-size:.86rem;opacity:.78}

/* Stage 9I — mobile navigation repair and standalone-page consistency */
@media(max-width:860px){
  body.nav-open .site-header .main-nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px 22px 16px;background:rgba(1,7,12,.98);border-bottom:1px solid rgba(209,151,61,.36);z-index:50}
  body.nav-open .site-header .main-nav a{display:block;padding:11px 0;border-top:1px solid rgba(209,151,61,.18)}
}
