/* Cozumel Desvelado · expedition visual system */
:root{
  color-scheme:dark;
  --navy:#061622;--teal:#58d1df;--gold:#ddb77a;--ink:#edf6f7;
  --muted:#a8c0c8;--line:#284654;--paper:#071b29;--white:#102d3e;
  --atlas-surface:#102d3e;--atlas-subtle:#143748;--atlas-border:#315565;
  --atlas-accent:#5bd3e1;--atlas-deep:#082331;--atlas-gold:#ddb77a;
  --sans:system-ui,-apple-system,'Segoe UI',sans-serif;
}
html{background:#061622}body{background:radial-gradient(circle at 80% 6%,#12394c 0,#071c2b 35%,#061622 78%);color:var(--ink)}
::selection{background:#5bd3e1;color:#062332}a{color:#83e0eb}a:hover{color:#c7f5f8}
.sidebar{background:#071a29;border-color:#244656}
.sidebar #nav a.active{background:#123e51;box-shadow:inset 3px 0 #60d6e2}
#nav .nav-icon,.private-label{color:#69dce8}
.topbar{background:#081b29;border-color:#244553;color:#eef7f9}
.breadcrumb,.breadcrumb b{color:#acc6cd}
.top-actions .button,.top-actions .icon-btn{background:#102e3f;color:#e8f5f7;border:1px solid #315466}
.top-actions .button:hover,.top-actions .icon-btn:hover{background:#19495d;color:#fff}
.top-actions #install-app{color:#092431;background:#63d4e2;border-color:#63d4e2;font-weight:700}
.global-search-bar{background:#081d2c;border-color:#2a4c5a}
.global-search-bar label{color:#b9d4d9;font-weight:650}
.global-search-controls input,.global-search-controls button{background:#102e3e;border-color:#315869;color:#ecf7f8}
.global-search-controls input::placeholder{color:#9bb6c0}
.global-search-controls input:focus{background:#143c4c}
.global-search-controls button:hover{background:#1b4d60;color:#fff}
main{color:var(--ink)}main h1,main h2,main h3{color:#f0f8f8}
main :is(h1,h2,h3){font-family:var(--sans);font-weight:700;letter-spacing:-.025em}
main .reader-text :is(h1,h2,h3),main .book-page :is(h1,h2,h3){font-family:Georgia,serif;font-weight:400}
main :is(.eyebrow,.orientation-number,.orientation-action-label){color:#6cdeeb}
.button,.icon-btn,main :is(button,select,input,textarea){color:inherit}
.button{background:#153648;border:1px solid #386070;color:#eff9fa}
.button:hover{background:#1f5063;color:#fff}
.button.primary,main .button.primary{background:#62d2e0;border-color:#62d2e0;color:#072330;font-weight:750}
.button.primary:hover,main .button.primary:hover{background:#9ae9f0;color:#061d2a}
main :is(.panel,.card,.route-card,.catalog-item,.atlas-card,.orientation-action,.orientation-quick,.orientation-explainer,.orientation-backups,.orientation-group,.road-card,.path-card,.clue-card,.road-find,.road-documents,.road-connection-panel,.source-map-frame,.concordance,.method-panel,.library-lead article,.book-timeline article,.comparison-grid>section,.map-place-list,.reader-index,.reader,.reader-text,.research-reading,.finding-grid article,.home-shortcut,.access-notice,.map-workbench,.explore-detail,.explore-plan,.point-detail,.point-results,.point-backups){background:#102c3c;border-color:#315363;color:#e8f3f5;box-shadow:0 15px 36px #020d1766}
main :is(.orientation-welcome,.orientation-quick,.orientation-explainer,.orientation-backups,.explore-detail,.point-intro,.road-explanation,.field-pause-note,.discovery-strip,.comparison-note,.access-notice,.point-backups){background:#133847;border-color:#376272;color:#e7f5f6}
main :is(.orientation-action,.card,.quick-card,.home-shortcut,.road-card,.path-card,.clue-card,.point-list-item):hover{background:#1a4050;border-color:#62cbda}
main :is(.orientation-action,.orientation-welcome,.orientation-overview a,.orientation-links>a,.orientation-links>button){color:#eef8f9}
main :is(.orientation-action p,.orientation-overview span,.orientation-welcome span span,.orientation-links span,.orientation-group>p,.orientation-steps p,.orientation-explainer dd,.orientation-backups p,.caption,.fig-caption,.citation,.route-meta,.entry-meta,.map-caption,.map-footnote,.plan-help,.point-list-item small){color:#b3cbd1}
main .orientation-action{padding:25px;transition:transform .2s,border-color .2s,background .2s;min-height:185px}
main .orientation-action:hover{transform:translateY(-3px)}
main .orientation-action h2{font-family:var(--sans);font-weight:700;letter-spacing:-.025em}
main .orientation-welcome{border-radius:22px;padding:21px 24px}
main .orientation-help-mark{background:#62d2e0;color:#08232f}
main .orientation-overview a,main .orientation-next{border-color:#315565}
main .orientation-links{background:#2f5262;border-color:#2f5262}
main .orientation-links>a,main .orientation-links>button{background:#102c3c}
main .orientation-links>a:hover,main .orientation-links>button:hover{background:#1c4556}
main .orientation-group summary span,main .orientation-overview span{color:#abc7cf}
main .orientation-group summary:before,main .orientation-steps li::marker{color:#65dce8}
main .orientation-backups td,main .orientation-backups th{border-color:#3a5b69}
main .orientation-backups th{background:#194051}
main :is(.map-switch,.map-tabs,.reader-toolbar,.scene-tabs,.search-dialog-header){background:#143849;border-color:#355a69}
main .reader-toolbar :is(.button,button,input),main .reader-controls :is(.button,button,input),main .reader-bottom :is(.button,button){background:#11394a;border:1px solid #4d7080;color:#eff9fa}
main .reader-toolbar :is(.button,button):hover,main .reader-bottom :is(.button,button):hover{background:#23586a;color:#fff}
main .reader-toolbar :is(.button,button):disabled,main .reader-bottom :is(.button,button):disabled{opacity:.4}
main .map-switch a,main .map-tabs button{color:#d2e7ea}
main .map-switch a[aria-current],main .map-tabs button[aria-pressed=true]{background:#60d1df;color:#082431}
main :is(.map-caption,.map-tools,.map-bottom-tools,.map-legend,.reader-index){background:#102e3e;color:#e1f0f2}
main .map-legend span,main .path-meta,main .evidence-chip,main .road-card small{color:#abc8d0}
main .map-place-list button,main .point-list-item{background:#143647;border-color:#355b6b;color:#e8f5f7}
main .point-list-item.selected,main .map-place-list button[aria-pressed=true]{background:#205466;color:#fff}
main :is(.road-find input,.road-find select,.road-connection-panel select,.orientation-search input,.point-toolbar input,.point-toolbar select,.point-detail textarea,.point-detail select){background:#0b2636;border-color:#4a7481;color:#f2fbfb}
main :is(input,textarea,select)::placeholder{color:#a5bec6}
main :is(input[type=search],input[type=text],input[type=number],textarea,select){background:#0d2a3a;border-color:#426b7a;color:#f0fafb}
main select option{background:#0d2a3a;color:#f0fafb}
main .research-intro,main .immersive-stage{background:#061827}
main .scene-context{background:#173a49;color:#ecf7f8}
#detail,#global-search-dialog{background:#102d3e;border-color:#3a6171;color:#edf8fa}
#detail .dialog-top,#global-search-dialog .search-dialog-header{background:#173c4e;border-color:#3a6171}
#global-search-dialog .search-answer{background:#164151;border-color:#57bbc8;color:#eaf7f8}
#global-search-dialog .global-search-result{background:#122f40;border-color:#3b6170;color:#ecf7f8}
#global-search-dialog .global-search-result b{color:#83e6ed}
#global-search-dialog .search-filter select,#global-search-dialog #search-query{background:#0b2838;border:1px solid #4b7785;color:#f1fafb}
#global-search-dialog .search-filter select option{background:#0b2838;color:#f1fafb}
#global-search-dialog .search-scope,#global-search-dialog #global-search-status,#global-search-dialog .global-search-result small,#global-search-dialog #global-search-coverage{color:#acc8d0}
#global-search-dialog .global-search-result:hover{background:#1c4555}
#global-search-dialog .search-dialog-title .icon-btn{background:#1b4557;color:#edf8f9}
footer{color:#a5c1ca}

/* A field-book cover with the existing moving landscape behind a usable choice. */
.home-presentation{background:#071b29;border:1px solid #3a5e6d;border-radius:38px;box-shadow:0 25px 65px #0008;overflow:hidden}
.home-presentation-scene{min-height:570px;padding:32px clamp(24px,5vw,64px) 40px;background:#081b2a}
.home-presentation video{object-position:50% 40%}
.home-presentation-shade{background:linear-gradient(180deg,#061a29a8 0%,#061a2966 28%,#04131fcc 62%,#04121cf5 100%)}
.home-presentation-copy{max-width:700px;margin-top:auto;pointer-events:auto}
.home-presentation-copy .eyebrow{font:700 .9rem/1.4 var(--sans);letter-spacing:.19em;color:#77e3ed}
.home-presentation-copy h1{font:400 clamp(3rem,6vw,5rem)/.98 var(--sans);letter-spacing:.005em;text-transform:uppercase;color:#fff;margin:18px 0 20px}
.home-presentation-copy h1 strong{font-weight:800}
.home-presentation-copy p{font:400 clamp(1.05rem,2vw,1.35rem)/1.45 var(--sans);max-width:530px;color:#eef7fa}
.home-presentation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px;max-width:610px}
.home-presentation-actions a{min-height:60px;padding:15px 20px;border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:750;text-decoration:none;font-size:1rem}
.home-presentation-actions .home-primary{background:#64d5e2;color:#082431;border:1px solid #64d5e2}
.home-presentation-actions .home-primary:hover{background:#a2edf3;color:#051f2c}
.home-presentation-actions .home-secondary{background:#081f2acc;color:#eef9fa;border:1px solid #80a7b4}
.home-presentation-actions .home-secondary:hover{background:#16495d;color:#fff}
#home-presentation-toggle{background:#0b2b3bcc;border:1px solid #7db4c0;border-radius:13px;color:#eaf7fa;min-height:44px}
.home-presentation-footer{background:#0b2d3b;padding:14px 24px;gap:10px}
.home-presentation-footer>span{color:#bbd3d9}.home-presentation-footer a{font-weight:650;color:#95e9ef}

@media(max-width:850px){
 .sidebar{height:70px;padding:10px 16px;background:#071b29}
 .brand{font-size:.78rem}.brand strong{font-size:.84rem}.brand-mark{height:46px;width:46px}
 .topbar{top:10px;right:15px;height:50px;min-height:50px}
 .top-actions #share,.top-actions #text-size{display:none}
 .global-search-bar{padding:12px 20px;background:#071b29;border-bottom:1px solid #284959}
 .global-search-bar label{font-size:.84rem;margin-bottom:5px}
 .global-search-controls input{font-size:1rem}
 main{padding:20px 20px 40px}
 #orientation-mobile-nav{background:#071a28;border-color:#2c4c5c;box-shadow:0 -12px 32px #020e19dd}
 #orientation-mobile-nav a,#orientation-mobile-nav button{color:#9fbcc7}
 #orientation-mobile-nav [aria-current=page],#orientation-mobile-nav button.active{background:#143e50;color:#72deeb}
 #orientation-mobile-nav .orientation-nav-icon{width:1.55rem;height:1.55rem}
}
@media(max-width:620px){
 .home-presentation{border-radius:29px}
 .home-presentation-scene{min-height:610px;padding:22px 26px 28px}
 .home-presentation-copy h1{font-size:clamp(2.55rem,10vw,3.6rem);line-height:1.02}
 .home-presentation-copy .eyebrow{font-size:.75rem;letter-spacing:.12em}
 .home-presentation-copy p{font-size:1.05rem;line-height:1.45}
 .home-presentation-actions{grid-template-columns:1fr;gap:11px;margin-top:22px}
 .home-presentation-actions a{min-height:58px}
 .home-presentation-footer{padding:12px 20px}
 .home-presentation-footer>span{font-size:.75rem}
 .orientation-actions{gap:13px}
 main .orientation-action{min-height:0;padding:22px}
 .global-search-controls input{min-width:0}
}
@media(max-width:380px){
 .brand{font-size:.67rem}.brand strong{font-size:.7rem}
 .top-actions #install-app{font-size:.82rem;padding-inline:10px}
 .home-presentation-scene{padding-inline:19px;min-height:590px}
 .home-presentation-copy h1{font-size:2.45rem}
}
@media(prefers-reduced-motion:reduce){main .orientation-action{transition:none}}
@media print{html,body{background:#fff;color:#111;print-color-adjust:exact}main :is(.panel,.card,.reader-text){background:#fff;color:#111;box-shadow:none}#orientation-mobile-nav{display:none}}

/* Keep foreground and background paired in every interactive surface. */
main :is(.quick-card,.empty,.note,.plan-inventory,.landscape-reading,.documentary,.finding-grid article,.comparison-grid>section,.map-stage.is-expanded,.field-pause-note,.discovery-strip,.comparison-note,.review-note){background:#143747;border-color:#426575;color:#eaf6f8}
main :is(.empty,.note,.plan-inventory,.landscape-reading,.documentary,.field-pause-note,.discovery-strip,.comparison-note) :is(p,small,span){color:#d1e4e8}
main :is(.point-intro,.path-intro,.explore-header p,.plan-help,.stop-name small,.map-footnote,.map-caption,.map-legend span,.point-list-item small,.orientation-action p,.orientation-overview span){color:#c2d9df}
main :is(.map-caption,.map-tools,.map-bottom-tools,.map-legend,.reader-index,.map-base-bar){background:#153949;color:#edf8f9}
main :is(.map-base-bar button,.map-base-bar .base-info){background:#102e3e;border-color:#4b7080;color:#e9f6f7}
main :is(.map-base-bar button[aria-pressed=true],.map-base-bar button.active){background:#62d2e0;color:#072330}
main .point-toolbar details,main .point-toolbar summary,main .point-filter-summary{background:#143747;border:1px solid #426575;color:#f0f9fa}
main :is(.point-toolbar details[open] .filter,.point-toolbar details[open] label){color:#eaf7f8}
main :is(.orientation-action,.orientation-group,.orientation-quick,.orientation-explainer,.orientation-backups,.plan-inventory,.home-shortcut,.quick-card,.empty){background:#143747;color:#eaf6f8;border-color:#426575}
main :is(.orientation-action,.home-shortcut,.quick-card) :is(h2,h3,strong){color:#f3fbfb}
main :is(.orientation-action,.home-shortcut,.quick-card) :is(p,small){color:#c4dce1}
main :is(.orientation-action,.home-shortcut,.quick-card):hover{background:#1c4859}
#main .explore-plan{background:#102c3c;border-color:#426575;color:#eaf6f8}
#main .explore-plan :is(.empty,.plan-empty){background:#143747;border-color:#69828a;color:#d9e9ec}
#main .library-shortcuts a{background:#143747;border-color:#426575;color:#a6ecf2}
main :is(.field-live,.satellite-bridge,.road-gap,.evidence-chip,.research-banner,.evidence-letter,.network-node,.reveal-scroll,.photo-open){background:#143747;border-color:#426575;color:#e9f5f7}
main :is(.field-live,.satellite-bridge,.road-gap,.research-banner,.reveal-scroll) :is(a,p,span){color:#d2e9ed}
main :is(.evidence-letter,.network-node){color:#8ce9f1}
main :is(.point-map,.field-map,.comparison-map){color:#183845}
main table :is(th,tr:nth-child(even)){background:#194354;color:#edf8f9}
#detail .orientation-group{background:#143747;color:#f0fafb;border-color:#4a7081}
#detail .orientation-group summary{background:#143747;color:#f0fafb}
#detail .orientation-group summary span,#detail .orientation-group>p{color:#c6dce1}
#detail .orientation-group summary:before{color:#6de0e9}
#detail .orientation-links{background:#385b6a;border-color:#385b6a}
#detail .orientation-links>button{background:#102e3e;color:#f3fafb}
#detail .orientation-links>button:hover{background:#205163}
#detail .orientation-links>button span{color:#c4dce1}
#detail #dialog-content h2{color:#f4fbfc}
#detail #close-dialog{background:#62d2e0;color:#082431;border:1px solid #62d2e0;font-weight:700;padding:8px 13px;gap:7px;white-space:nowrap}
#detail #close-dialog:hover{background:#a4edf2;color:#061d29}

/* The moving island occupies the full viewport with an obvious exit. */
body[data-view="animada"]{overflow:hidden;background:#061622}
body[data-view="animada"] .shell{display:block;min-height:100dvh}
body[data-view="animada"] :is(.sidebar,.topbar,.global-search-bar,footer,#orientation-mobile-nav){display:none!important}
body[data-view="animada"] .orientation-breadcrumb{display:none!important}
body[data-view="animada"] .body{width:100%;min-height:100dvh}
body[data-view="animada"] main{padding:0;margin:0;max-width:none;min-height:100dvh}
.animated-fullscreen{height:100dvh;width:100%;position:relative;background:#061622}
.animated-fullscreen .fusion-frame{height:100dvh;min-height:0;width:100%;border:0;border-radius:0;background:#061622}
.animated-exit{position:fixed;z-index:30;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));padding:11px 16px;min-height:48px;border-radius:12px;background:#072939f2;color:#fff;border:1px solid #8ac5d0;font-size:.92rem;font-weight:700;box-shadow:0 5px 22px #0009;display:flex;align-items:center;gap:8px}
.animated-exit:hover,.animated-exit:focus-visible{background:#65d7e3;color:#072331}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(max-width:620px){#detail #close-dialog{font-size:.88rem;padding:8px 11px}.animated-exit{font-size:.82rem;min-height:46px;padding:10px 12px}}
