@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--bg:#071019;--panel:#0d1822;--panel2:#12222e;--ink:#f6f1e7;--muted:#9fb0bc;--line:rgba(255,255,255,.12);--gold:#e4bd69;--accent:#e4bd69;--safe:env(safe-area-inset-bottom)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}.serif{font-family:'Playfair Display',Georgia,serif}.muted{color:var(--muted)}button,input{font:inherit}button{cursor:pointer}.glass{background:rgba(8,18,26,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.28)}
/* landing */body.home{overflow-x:hidden}.hero{height:min(86vh,820px);min-height:640px;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 40%,#173149 0,#0a1620 42%,#071019 72%)}#heroMap{position:absolute;inset:0;opacity:.48}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,11,16,.97) 0%,rgba(5,11,16,.82) 36%,rgba(5,11,16,.22) 72%,rgba(5,11,16,.55) 100%),linear-gradient(0deg,#071019 0%,transparent 28%);pointer-events:none}.homeNav{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,5vw,72px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brandMark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;border:1px solid rgba(228,189,105,.45);background:linear-gradient(145deg,rgba(228,189,105,.18),rgba(255,255,255,.03));font-size:19px}.brandText strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:17px}.brandText small{display:block;color:#b7c3ca;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:2px}.homeNav .navPill{padding:9px 14px;border-radius:999px;background:rgba(7,15,22,.55);border:1px solid var(--line);text-decoration:none;font-size:13px}.heroCopy{position:relative;z-index:4;width:min(690px,88vw);padding-top:clamp(150px,24vh,230px);margin-left:clamp(20px,7vw,110px)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:700;font-size:11px}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(48px,6vw,86px);line-height:.98;margin:15px 0 22px;max-width:720px}.hero p{color:#c7d2d9;line-height:1.7;font-size:clamp(15px,1.4vw,18px);max-width:650px}.heroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.btn{border:1px solid var(--line);background:#12202a;color:#fff;padding:12px 17px;border-radius:12px;text-decoration:none;display:inline-flex;align-items:center;gap:9px;font-weight:600}.btn.primary{background:linear-gradient(135deg,#e1b85e,#c69235);color:#171108;border-color:#eccb83}.btn:hover{transform:translateY(-1px)}.homeSection{padding:68px clamp(20px,7vw,110px)}.sectionHead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.sectionHead h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(30px,4vw,48px);margin:0}.sectionHead p{max-width:620px;color:var(--muted);line-height:1.6;margin:0}.studyGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.studyCard{position:relative;min-height:330px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,#12232e,#09131b);text-decoration:none;transition:.25s;box-shadow:0 18px 55px rgba(0,0,0,.24)}.studyCard:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--card) 55%,#fff 20%)}.cardArt{height:148px;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 30%,color-mix(in srgb,var(--card) 45%,transparent),transparent 40%),linear-gradient(145deg,#163247,#0e1d28)}.cardArt::before,.cardArt::after{content:"";position:absolute;border-radius:50%;border:1px solid color-mix(in srgb,var(--card) 50%,transparent)}.cardArt::before{width:250px;height:250px;right:-80px;top:-140px}.cardArt::after{width:150px;height:150px;right:30px;top:-55px}.cardRoute{position:absolute;left:28px;right:28px;bottom:28px;height:44px}.cardRoute svg{width:100%;height:100%}.cardRoute path{fill:none;stroke:var(--card);stroke-width:3;stroke-linecap:round;stroke-dasharray:7 6}.cardRoute circle{fill:#f8e0a0;stroke:#10212d;stroke-width:3}.cardBody{padding:22px}.cardBadge{display:inline-flex;padding:6px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--card) 45%,transparent);color:color-mix(in srgb,var(--card) 70%,white 30%);font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.studyCard h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;margin:12px 0 9px}.studyCard p{color:#aebdc7;line-height:1.55;font-size:13px;margin:0}.cardMeta{display:flex;justify-content:space-between;align-items:center;margin-top:20px;color:#d9c58e;font-size:12px}.featureStrip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:42px}.feature{border:1px solid var(--line);border-radius:18px;padding:18px;background:#0c1720}.feature b{display:block;margin-bottom:7px}.feature span{font-size:12px;color:var(--muted);line-height:1.45}.footer{padding:30px clamp(20px,7vw,110px) 45px;color:#758896;font-size:12px;border-top:1px solid var(--line)}
/* explorer */body.explorer{height:100vh;overflow:hidden}.explorerShell{height:100vh;display:grid;grid-template-columns:390px 1fr;grid-template-rows:68px 1fr 142px;grid-template-areas:'top top' 'panel map' 'panel timeline';background:#071019}.topbar{grid-area:top;display:flex;align-items:center;gap:12px;padding:0 15px;border-bottom:1px solid var(--line);background:rgba(7,15,22,.94);z-index:20}.topBrand{min-width:250px}.topBrand strong{font-family:'Playfair Display',Georgia,serif;font-size:16px}.topBrand small{display:block;color:#8194a1;font-size:10px;letter-spacing:.09em;text-transform:uppercase;margin-top:2px}.storySwitch{display:flex;gap:6px;flex:1;overflow:auto;scrollbar-width:none}.storySwitch::-webkit-scrollbar{display:none}.storyBtn{white-space:nowrap;border:1px solid var(--line);background:#0c1720;color:#a8b5be;border-radius:999px;padding:8px 12px;font-size:12px;opacity:.72}.storyBtn.active{opacity:1;color:white;border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent) inset}.topTools{display:flex;gap:6px}.iconBtn{border:1px solid var(--line);background:#0f1d27;color:#eef5f8;width:39px;height:39px;border-radius:11px;display:grid;place-items:center}.iconBtn.active{border-color:var(--accent);color:var(--accent)}.infoPanel{grid-area:panel;background:linear-gradient(#0d1a24,#09131b);border-right:1px solid var(--line);padding:20px;overflow:auto;position:relative;z-index:12}.stageKicker{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:700}.stageTitle{font-family:'Playfair Display',Georgia,serif;font-size:30px;line-height:1.05;margin:8px 0 8px}.chapterName{font-size:13px;font-weight:700;color:var(--accent)}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.chip{border:1px solid var(--line);border-radius:999px;padding:6px 8px;color:#bdcad2;font-size:11px;background:#0f1d27}.chip.warn{border-style:dashed;color:#dcc693}.eventCard{border:1px solid var(--line);border-radius:18px;background:#101e28;padding:17px;position:relative;overflow:hidden}.eventCard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.eventCard h3{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8597a3;margin:0 0 9px}.eventText{font-size:14px;line-height:1.62;color:#e2e8ec}.people,.refs{font-size:12px;line-height:1.5;color:#aebec8;margin-top:12px}.refs{padding-top:11px;border-top:1px solid var(--line);color:#dfc47f}.studyHidden .eventText,.studyHidden .people,.studyHidden .refs{filter:blur(8px);user-select:none}.revealBox{display:none;border:1px dashed #4b606e;border-radius:12px;padding:13px;text-align:center;color:#b7c5cd;margin-top:10px}.studyHidden .revealBox{display:block}.panelNav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.panelNav button{border:1px solid var(--line);background:#0d1b25;color:white;border-radius:11px;padding:10px}.panelNav button:last-child{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:#ffe5a3}.chapterSummary{margin-top:15px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;line-height:1.55;color:#91a3af}.chapterSummary b{display:block;text-transform:uppercase;letter-spacing:.12em;color:#cad5db;font-size:10px;margin-bottom:6px}.mapWrap{grid-area:map;position:relative;overflow:hidden}.map{position:absolute;inset:0}.mapShade{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px rgba(4,10,15,.45);z-index:2}.mapHUD{position:absolute;right:14px;top:14px;z-index:5;display:flex;flex-direction:column;gap:7px}.hudBtn{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(8,17,24,.82);backdrop-filter:blur(10px);color:white;font-size:15px}.hudBtn.active{border-color:var(--accent);color:var(--accent)}.chapterTabs{position:absolute;left:14px;top:14px;right:70px;z-index:5;display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding-bottom:4px}.chapterTabs::-webkit-scrollbar{display:none}.chapterTab{border:1px solid rgba(255,255,255,.15);background:rgba(8,17,24,.82);backdrop-filter:blur(10px);color:#c2ced5;border-radius:999px;padding:8px 11px;font-size:11px;white-space:nowrap;opacity:.65}.chapterTab.active{opacity:1;color:white;border-color:var(--chapter);box-shadow:0 0 0 1px color-mix(in srgb,var(--chapter) 40%,transparent) inset}.searchBox{position:absolute;left:14px;bottom:14px;z-index:6;width:min(360px,calc(100% - 95px))}.searchInput{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(7,16,23,.9);color:white;border-radius:13px;padding:11px 13px 11px 38px;outline:none}.searchIcon{position:absolute;left:13px;top:12px;color:#8fa0ac}.searchResults{display:none;margin-top:6px;max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:13px;background:rgba(8,17,24,.96);backdrop-filter:blur(16px)}.searchResults.open{display:block}.searchItem{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.07);cursor:pointer}.searchItem:last-child{border:0}.searchItem b{font-size:12px}.searchItem small{display:block;color:#8da0ab;font-size:10px;margin-top:2px}.timeline{grid-area:timeline;background:#09141c;border-top:1px solid var(--line);padding:9px 12px;overflow:hidden}.timelineHead{height:27px;display:flex;align-items:center;justify-content:space-between;color:#8194a1;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.timelineScroller{height:94px;display:flex;gap:8px;overflow:auto;padding:2px 0 8px;scroll-behavior:smooth;scrollbar-width:thin}.timeCard{min-width:185px;width:185px;border:1px solid var(--line);border-radius:12px;background:#0e1b25;padding:9px;opacity:.42;position:relative;transition:.2s;cursor:pointer}.timeCard:hover{opacity:.75}.timeCard.active{opacity:1;border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent) inset;transform:translateY(-1px)}.timeCard .num{position:absolute;right:8px;top:4px;font-size:22px;color:#536673;font-weight:700}.timeCard .place{font-size:11px;font-weight:700;padding-right:26px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeCard .when{font-size:9.5px;color:#d0b675;margin:4px 0}.timeCard .mini{font-size:9.5px;color:#8fa0aa;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobileStageNav{display:none}.mobileHandle{display:none}.drawer{position:fixed;right:14px;top:80px;z-index:40;width:300px;border-radius:16px;padding:15px;display:none}.drawer.open{display:block}.drawer h3{font-family:'Playfair Display',Georgia,serif;margin:0 0 12px}.setting{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:12px}.switch{width:40px;height:23px;border-radius:999px;background:#293a45;position:relative;border:1px solid rgba(255,255,255,.1)}.switch::after{content:"";width:17px;height:17px;border-radius:50%;background:#c8d4da;position:absolute;left:3px;top:2px;transition:.2s}.switch.on{background:color-mix(in srgb,var(--accent) 55%,#20303a)}.switch.on::after{left:18px;background:white}.tourBadge{position:absolute;top:70px;left:50%;transform:translateX(-50%);z-index:7;background:rgba(8,17,24,.9);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:11px;color:#c8d4db;opacity:0;pointer-events:none}.traveler{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0d1820;border:2px solid var(--accent);box-shadow:0 7px 25px rgba(0,0,0,.42);font-size:17px}.ancientLabel{font-family:'Playfair Display',Georgia,serif;color:#fff7df;font-weight:800;font-size:13px;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;background:rgba(5,13,20,.94);border:1px solid rgba(239,190,86,.9);padding:5px 9px;border-radius:8px;box-shadow:0 3px 0 rgba(0,0,0,.34),0 8px 24px rgba(0,0,0,.44),0 0 0 1px rgba(255,255,255,.04) inset;text-shadow:0 1px 2px #000;opacity:1;pointer-events:none}.ancientLabel.water{font-style:italic;color:#d8f3ff;font-size:11px;border-color:rgba(113,207,247,.9);background:rgba(5,20,30,.94)}.stopMarker{width:18px;height:18px;border-radius:50%;border:3px solid #fff;background:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.48);transition:.2s}.stopMarker.dim{width:10px;height:10px;border-width:2px;opacity:.45}.stopMarker.approx{border-style:dashed}.stopMarker.water{box-shadow:0 0 0 4px rgba(96,194,238,.22),0 4px 14px rgba(0,0,0,.5)}.maplibregl-popup-content{background:#0e1a23!important;color:white!important;border:1px solid rgba(255,255,255,.13);border-radius:12px!important;padding:10px 12px!important;box-shadow:0 15px 40px rgba(0,0,0,.35)!important}.maplibregl-popup-tip{border-top-color:#0e1a23!important;border-bottom-color:#0e1a23!important}.maplibregl-ctrl-group{background:rgba(8,17,24,.82)!important;border:1px solid rgba(255,255,255,.15)!important}.maplibregl-ctrl-group button{background-color:transparent!important}.maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(1)}.maplibregl-ctrl-attrib{background:rgba(8,17,24,.72)!important;color:#9aabb5!important}.maplibregl-ctrl-attrib a{color:#b7c7cf!important}.loadError{position:absolute;inset:0;display:none;place-items:center;background:#0b1821;z-index:10;text-align:center;padding:30px}.loadError.show{display:grid}.loadError b{font-family:'Playfair Display',Georgia,serif;font-size:24px}.loadError p{color:#9fb0bc;max-width:480px;line-height:1.6}.mobileOnly{display:none}
@media(max-width:1180px){.studyGrid{grid-template-columns:1fr}.featureStrip{grid-template-columns:repeat(2,1fr)}.explorerShell{grid-template-columns:1fr;grid-template-rows:60px 1fr 120px;grid-template-areas:'top' 'map' 'timeline'}.infoPanel{position:fixed;left:8px;right:8px;bottom:126px;max-height:68vh;border:1px solid var(--line);border-radius:18px;transform:translateY(calc(100% - 58px));transition:.25s;z-index:30;padding-top:12px}.infoPanel.open{transform:translateY(0)}.mobileHandle{display:block;width:46px;height:5px;background:#40515c;border-radius:99px;margin:-3px auto 12px}.topBrand{min-width:150px}.topBrand strong{font-size:14px}.topBrand small{display:none}.storySwitch{display:none}.mobileOnly{display:grid}.timeline{padding-left:8px;padding-right:8px}.timeCard{min-width:150px;width:150px}.chapterTabs{right:62px}.searchBox{bottom:12px}.topTools .desktopOptional{display:none}.maplibregl-ctrl-bottom-right{bottom:52px!important}}
@media(max-width:650px){.homeNav{padding:16px}.brandText small{display:none}.hero{min-height:680px}.heroCopy{margin-left:20px;padding-top:175px}.hero h1{font-size:50px}.homeSection{padding:50px 18px}.sectionHead{display:block}.sectionHead p{margin-top:12px}.featureStrip{grid-template-columns:1fr}.cardArt{height:128px}.topbar{padding:0 8px}.topBrand{min-width:130px}.topTools{margin-left:auto}.iconBtn{width:37px;height:37px}.stageTitle{font-size:25px}.drawer{left:10px;right:10px;top:70px;width:auto}.chapterTabs{left:8px;top:8px}.searchBox{left:8px}.tourBadge{top:62px}}

/* v4: rutas de alto contraste + navegación táctil */
@media(max-width:1180px){
  .explorerShell{grid-template-rows:60px minmax(0,1fr) 176px;grid-template-areas:'top' 'map' 'timeline'}
  .infoPanel{bottom:182px}
  .timeline{padding:8px 8px calc(8px + env(safe-area-inset-bottom));overflow:hidden}
  .timelineHead{display:none}
  .mobileStageNav{height:62px;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:8px;align-items:stretch;margin-bottom:7px}
  .mobileStepBtn{border:1px solid rgba(255,255,255,.16);background:#10202b;color:#fff;border-radius:13px;font-size:24px;font-weight:700;display:grid;place-items:center;min-width:0}
  .mobileStepBtn.next{border-color:color-mix(in srgb,var(--accent) 72%,rgba(255,255,255,.15));color:#ffe5a3}
  .mobileStageCurrent{min-width:0;text-align:left;border:1px solid color-mix(in srgb,var(--accent) 70%,rgba(255,255,255,.12));background:linear-gradient(135deg,#10202b,#0b1821);color:#fff;border-radius:13px;padding:7px 12px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px;align-content:center}
  .mobileStageCurrent span{grid-row:1/3;align-self:center;color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border-right:1px solid rgba(255,255,255,.1);padding-right:10px}
  .mobileStageCurrent strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
  .mobileStageCurrent small{font-size:9px;color:#91a4af;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
  .timelineScroller{height:88px;gap:8px;padding:0 0 5px;scroll-snap-type:x mandatory;scroll-padding:8px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .timeCard{min-width:min(72vw,360px);width:min(72vw,360px);height:80px;scroll-snap-align:center;opacity:.5;padding:10px 11px}
  .timeCard.active{opacity:1;transform:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent) inset,0 8px 22px rgba(0,0,0,.24)}
  .timeCard .place{font-size:12px}
  .timeCard .when{font-size:10px}
  .timeCard .mini{font-size:10px;-webkit-line-clamp:1}
  .timeCard .num{font-size:23px}
  .chapterTabs{left:8px;right:60px;top:8px;padding-right:8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .chapterTab{padding:9px 13px;font-size:11px;scroll-snap-align:start;opacity:.78}
  .chapterTab.active{opacity:1}
  .maplibregl-ctrl-bottom-right{bottom:54px!important}
  .searchBox{bottom:10px;width:min(330px,calc(100% - 82px))}
}
@media(max-width:650px){
  .explorerShell{grid-template-rows:56px minmax(0,1fr) 170px}
  .infoPanel{bottom:176px;left:6px;right:6px;max-height:72vh}
  .topBrand{min-width:0;max-width:42vw}
  .topBrand strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .topTools{gap:4px}
  .iconBtn{width:35px;height:35px;border-radius:10px}
  .mobileStageNav{grid-template-columns:48px minmax(0,1fr) 48px;height:58px}
  .mobileStageCurrent{padding:6px 9px;column-gap:7px}
  .mobileStageCurrent span{font-size:9px;padding-right:7px}
  .mobileStageCurrent strong{font-size:11.5px}
  .timeCard{min-width:78vw;width:78vw;height:78px}
  .chapterTab{font-size:10.5px;padding:8px 11px}
  .searchBox{left:8px;bottom:8px;width:calc(100% - 72px)}
  .searchInput{padding-top:10px;padding-bottom:10px}
  .ancientLabel{font-size:11px;padding:4px 7px}
}


/* v5: móvil real con 100dvh, barra fija y paneles independientes */
.desktopOnly{display:inline}.mobileSheetHead,.mobileSheetClose,.mobileBottomNav,.timelineClose{display:none}
body.explorer,.explorerShell{height:100dvh;min-height:100dvh}
@media(max-width:1180px){
  body.explorer{height:100dvh;min-height:100dvh;overflow:hidden}
  .explorerShell{height:100dvh;min-height:100dvh;grid-template-columns:1fr;grid-template-rows:56px minmax(0,1fr);grid-template-areas:'top' 'map';padding-bottom:calc(76px + env(safe-area-inset-bottom));overflow:hidden}
  .topbar{height:56px;padding:0 8px;gap:7px}
  .topBrand{min-width:0;max-width:calc(100vw - 180px);flex:1}
  .topBrand strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .topTools{margin-left:auto;gap:4px}
  .iconBtn{width:35px;height:35px;border-radius:10px}
  .storySwitch{display:none}.mobileOnly{display:grid}.desktopOnly{display:none!important}.topTools .desktopOptional{display:none}
  .mapWrap{min-height:0}
  .chapterTabs{left:8px;right:62px;top:8px;gap:7px;padding-right:12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .chapterTab{font-size:11px;padding:9px 13px;scroll-snap-align:start;opacity:.82}
  .chapterTab.active{opacity:1}
  .mapHUD{right:8px;top:8px}.hudBtn{width:43px;height:43px}
  .searchBox{left:8px;bottom:10px;width:calc(100% - 72px)}
  .maplibregl-ctrl-bottom-right{bottom:55px!important}

  /* ficha: completamente fuera de pantalla hasta que el usuario la abra */
  .infoPanel{display:block;position:fixed;left:7px;right:7px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:60;max-height:calc(100dvh - 145px);overflow:auto;border:1px solid var(--line);border-radius:22px 22px 16px 16px;padding:12px 16px 18px;background:linear-gradient(180deg,#0d1c27 0%,#09151e 100%);box-shadow:0 -18px 45px rgba(0,0,0,.42);transform:translateY(calc(100% + 24px));transition:transform .28s cubic-bezier(.2,.8,.2,1)}
  .infoPanel.open{transform:translateY(0)}
  .mobileSheetHead{display:block;position:sticky;top:-12px;height:30px;margin:-2px -4px 8px;background:linear-gradient(#0d1c27 65%,rgba(13,28,39,0));z-index:3}
  .mobileHandle{display:block;position:absolute;left:50%;top:4px;transform:translateX(-50%);width:44px;height:5px;background:#425661;border-radius:99px;margin:0}
  .mobileSheetClose{display:grid;place-items:center;position:absolute;right:0;top:-4px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#122530;color:#fff;font-size:21px;line-height:1}
  .infoPanel .panelNav{display:none}
  .stageTitle{font-size:28px}

  /* barra de navegación siempre visible */
  .mobileBottomNav{display:grid;grid-template-columns:48px minmax(0,1fr) 66px 48px;gap:7px;align-items:stretch;position:fixed;left:0;right:0;bottom:0;height:calc(76px + env(safe-area-inset-bottom));padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:80;background:rgba(6,15,22,.97);border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -10px 30px rgba(0,0,0,.35);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobileArrow,.mobileStagesBtn,.mobileCurrent{min-width:0;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:#10212c;color:#fff}
  .mobileArrow{font-size:25px;font-weight:800;display:grid;place-items:center}
  .mobileArrow.next{border-color:color-mix(in srgb,var(--accent) 75%,rgba(255,255,255,.15));color:#ffe7a7}
  .mobileCurrent{padding:7px 10px;text-align:left;display:grid;align-content:center;overflow:hidden}
  .mobileCurrent span{font-size:8.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);font-weight:800;white-space:nowrap}
  .mobileCurrent strong{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
  .mobileCurrent small{font-size:8.5px;line-height:1.1;color:#8fa2ae;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
  .mobileStagesBtn{display:grid;place-items:center;align-content:center;gap:1px;color:#d7e0e5}
  .mobileStagesBtn span{font-size:18px;line-height:1}.mobileStagesBtn small{font-size:9px}

  /* lista de etapas: drawer propio, no ocupa la pantalla siempre */
  .timeline{display:block;position:fixed;left:7px;right:7px;bottom:calc(82px + env(safe-area-inset-bottom));height:min(52dvh,430px);z-index:55;border:1px solid var(--line);border-radius:20px;background:#09161f;padding:10px;box-shadow:0 -18px 45px rgba(0,0,0,.42);transform:translateY(calc(100% + 30px));transition:transform .28s cubic-bezier(.2,.8,.2,1);overflow:hidden}
  .timeline.mobileOpen{transform:translateY(0)}
  .timelineHead{display:flex;height:38px;align-items:center;padding:0 3px 7px;font-size:10px}.timelineClose{display:grid;margin-left:auto;width:32px;height:32px;place-items:center;border:1px solid var(--line);background:#122530;color:#fff;border-radius:50%;font-size:20px}
  .timelineScroller{height:calc(100% - 40px);display:grid;grid-template-columns:1fr;gap:8px;overflow-y:auto;overflow-x:hidden;padding:0 1px 10px;scroll-snap-type:y proximity}
  .timeCard{width:100%;min-width:0;height:auto;min-height:82px;scroll-snap-align:start;opacity:.64;padding:11px 12px}
  .timeCard.active{opacity:1;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 58%,transparent) inset,0 8px 22px rgba(0,0,0,.24)}
  .timeCard .place{font-size:12.5px}.timeCard .when{font-size:10px}.timeCard .mini{font-size:10px;-webkit-line-clamp:2}.timeCard .num{font-size:25px}
  .mobileStageNav{display:none!important}
  .ancientLabel{font-size:11px;padding:4px 7px}
}
@media(max-width:430px){
  .mobileBottomNav{grid-template-columns:44px minmax(0,1fr) 58px 44px;gap:5px;padding-left:6px;padding-right:6px}
  .mobileStagesBtn small{font-size:8px}.mobileCurrent{padding-left:8px;padding-right:8px}.mobileCurrent strong{font-size:11.5px}
  .chapterTab{font-size:10.5px;padding:8px 11px}.topBrand{max-width:36vw}.searchInput{font-size:14px}
}
