:root{--red:#ed0b26;--ink:#06111a;--panel:#0b1823;--line:#32495a;--muted:#9babb8;--blue:#2ab4ff;--paper:#f3efe7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 50% 0,#1a2d3d 0,#07111a 50%,#040a10 100%);color:#fff;font-family:Arial,Helvetica,sans-serif}
button,input{font:inherit}
.topbar{height:64px;padding:0 30px;background:rgba(3,12,20,.97);display:flex;align-items:center;gap:28px;position:sticky;top:0;z-index:50;border-bottom:1px solid #243442}
.brand{display:flex;align-items:center;text-decoration:none}
.topbar .brand{margin-right:auto}
.brand img{display:block;width:122px;height:40px}
.topbar nav{display:flex;align-self:stretch;gap:25px;align-items:center;flex:1}
.topbar nav a{color:#fff;text-decoration:none;font-size:11px;font-weight:800;white-space:nowrap}
.topbar nav a.active{border-bottom:3px solid var(--red);height:100%;display:flex;align-items:center}
.secondary,.live-button{border:1px solid #607080;border-radius:9px;color:#fff;background:transparent;padding:13px 18px;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}
.live-button{background:var(--red);border-color:var(--red)}
main{max-width:1440px;margin:auto}
.hero{min-height:260px;position:relative;display:flex;align-items:center;justify-content:flex-end;padding:30px 50px;overflow:hidden;background:var(--paper) url('/assets/bkg-papa.png') left center/cover no-repeat;color:#07111a}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,240,229,0),rgba(246,240,229,.2) 52%,rgba(246,240,229,.02));pointer-events:none}
.hero-copy,.countdown{position:relative;z-index:1}
.hero-copy{position:absolute;left:50%;top:50%;width:max-content;max-width:calc(100% - 420px);transform:translate(-50%,-50%);text-align:center}
.hero-copy p{font-size:10px;letter-spacing:.25em;font-weight:900}
.hero-copy h1{font:500 clamp(42px,4.8vw,66px)/.88 Georgia,serif;margin:8px 0;white-space:nowrap}
.hero-copy h1 span{display:block;font:600 clamp(18px,2.5vw,32px)/1.5 Arial,sans-serif;letter-spacing:.42em}
.countdown{width:295px;background:rgba(5,16,26,.88);padding:16px;border-radius:10px;color:#fff;box-shadow:0 10px 35px #0004}
.countdown>b{font-size:12px}
.countdown>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}
.countdown span{text-align:center}
.countdown strong{display:grid;place-items:center;background:linear-gradient(#f11430,#c9001c);border-radius:8px;height:76px;font-size:38px}
.countdown small{display:block;margin-top:7px;font-size:9px;font-weight:900}
.experience{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:9px;padding:9px 15px}
.tracker-panel,.agenda,.module{border:1px solid var(--line);border-radius:7px;background:rgba(7,17,26,.92);overflow:hidden}
.tracker-toolbar{min-height:66px;display:flex;align-items:center;gap:14px;padding:7px 10px;color:#bac8d2;font-size:12px}
.tracker-meta{display:grid;gap:4px;min-width:170px}
.tracker-meta #clock{color:#fff;font-weight:900}
.status{background:#253645;border:1px solid #526473;padding:9px 16px;border-radius:7px;color:#fff;font-weight:900;letter-spacing:.06em}
.status.live{background:linear-gradient(180deg,#f31935,#c90020);border-color:#ff4d62;box-shadow:0 0 22px #ed0b2655}
.status.live:before{content:"";display:inline-block;width:9px;height:9px;margin-right:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px #ffffff22;animation:livePulse 1.4s ease-out infinite}
.status.demo{background:linear-gradient(180deg,#e72b42,#a70b22)}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 4px #ffffff20}50%{box-shadow:0 0 0 8px #ffffff05}}
.map-shell{display:grid;grid-template-columns:1fr;min-height:440px}
.view-switcher{padding:8px;background:#07131d;display:grid;gap:7px}
.view-switcher{display:none}
.view-switcher button{border:1px solid #32495a;border-radius:8px;background:#0d1b26;color:#fff;min-height:105px;font-size:10px;font-weight:900}
.view-switcher button b{font-size:28px;display:block;margin-bottom:8px}
.view-switcher button small{display:block;color:#aab6bf;margin-top:5px}
.view-switcher button.active{border-color:var(--red);box-shadow:inset 0 0 20px #ed0b2628}
.map{position:relative;min-width:0;background:#07131d url('https://svs.gsfc.nasa.gov/vis/a000000/a003600/a003615/earth_noClouds.0330.jpg') 33.2% 46.3%/170% auto no-repeat;overflow:hidden}
.main-live{position:relative;min-width:0;min-height:440px;background:#02070c}
.main-live iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#02070c}
.map.google-base{background:#07131d}
.static-map{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:fill;opacity:0}
.map.static-ready .static-map{opacity:1}
.map-live-panel{position:absolute;z-index:8;top:12px;left:12px;display:flex;align-items:stretch;gap:8px}
.map-live-panel .status{display:flex;align-items:center;padding:0 18px;font-size:14px}
.map-context{display:grid;grid-template-columns:auto auto;gap:2px 14px;align-items:center;padding:8px 13px;border:1px solid #516676;border-radius:7px;background:#07131eea;color:#fff;box-shadow:0 7px 18px #0006}
.map-context strong{font-size:9px;color:#afbec9;text-transform:uppercase}
.map-context b{grid-row:1 / 3;grid-column:2;font-size:17px}
.map-context span{font-size:9px;color:#d6e0e6}
.flight-route{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.flight-route path{fill:none;vector-effect:non-scaling-stroke}
.route-halo{stroke:#07111a;stroke-width:7;opacity:.82}
.route-line{stroke:#ffd16d;stroke-width:3;stroke-dasharray:10 8;filter:drop-shadow(0 0 4px #ffad32)}
.route-stop{fill:#fff;stroke:#299fff;stroke-width:3;vector-effect:non-scaling-stroke}
.agenda-pin{fill:#fff;stroke:#299fff;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #299fff)}
.agenda-stop{pointer-events:all;cursor:pointer;outline:none}
.agenda-hit{fill:transparent;stroke:none}
.agenda-stop:hover .agenda-pin,.agenda-stop:focus .agenda-pin{fill:#ed0b26;stroke:#fff;filter:drop-shadow(0 0 9px #ed0b26)}
.agenda-label{fill:#fff;font:700 18px Arial,sans-serif;paint-order:stroke;stroke:#07111a;stroke-width:7;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.agenda-date{fill:#b9dfff;font:700 13px Arial,sans-serif;paint-order:stroke;stroke:#07111a;stroke-width:6;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.telemetry-card{margin-left:auto;min-width:270px;display:grid;grid-template-columns:auto auto;gap:3px 14px;padding:9px 13px;background:#101f2a;border:1px solid #405565;border-radius:7px;font-size:11px}
.telemetry-card strong{grid-row:1 / 3;align-self:center;padding-right:13px;border-right:1px solid #405565;color:#fff}
.telemetry-card span,.telemetry-card small{color:#b6c2ca}
.telemetry-card a{color:#fff}
.pope-marker{display:none;position:absolute;z-index:4;left:57%;top:48%;width:48px;height:48px;border:3px solid #ffc04a;border-radius:50%;box-shadow:0 0 0 7px #ffb42b33,0 4px 20px #000;overflow:hidden;transform:translate(-50%,-50%);transition:left 1s linear,top 1s linear}
.pope-marker.visible{display:block}
.pope-marker img{width:100%;height:100%;object-fit:cover;object-position:50% 24%}
.map-credit{position:absolute;z-index:7;right:8px;bottom:6px;padding:3px 5px;border-radius:3px;background:#06111ab8;color:#dbe4e9;font-size:8px;pointer-events:none}
.map.google-base .map-credit{display:none}
.section-title{min-height:50px;border-bottom:1px solid #2b3e4d;display:flex;align-items:center;justify-content:space-between;padding:0 14px}
.section-title h2{font-size:14px;margin:0}
.section-title span{color:#b3c0c8;font-size:10px}
.agenda-list{max-height:440px;overflow:auto}
.agenda-item{width:100%;display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;text-align:left;color:#fff;background:transparent;border:0;border-bottom:1px solid #223440;padding:13px;cursor:pointer}
.agenda-item:hover,.agenda-item:focus,.agenda-item.saved{background:#172633;outline:none}
.agenda-item time{color:#ff5364;font-size:10px;font-weight:900}
.agenda-item b{font-size:12px}
.agenda-item small{display:block;color:var(--muted);margin-top:4px}
.agenda-save{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#94a4af;font-size:18px;font-weight:900;cursor:pointer}
.agenda-save:hover,.agenda-save:focus{background:#223440;color:#fff;outline:none}
.lower-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:9px;padding:0 15px 28px}
.camera-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:8px}
.camera-grid button[data-camera]{display:none}
.camera-grid button{position:relative;text-align:left;background:#0d1b26;border:1px solid #314657;border-radius:7px;color:#fff;padding:0 0 9px;overflow:hidden}
.camera-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.camera-thumb--square img{aspect-ratio:1/1}
.play-icon{position:absolute;z-index:2;left:50%;top:42%;width:34px;height:34px;border:1.5px solid #fff;border-radius:50%;background:#06111ac9;box-shadow:0 4px 14px #0008;transform:translate(-50%,-50%)}
.play-icon:after{content:"";position:absolute;left:52%;top:50%;border-left:10px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;transform:translate(-42%,-50%)}
.camera-grid button:hover .play-icon,.camera-grid button:focus .play-icon{background:#ed0b26;border-color:#fff}
.camera-grid b,.camera-grid small{display:block;padding:0 8px}
.camera-grid b{margin-top:8px;font-size:11px}
.camera-grid small{color:#aebbc4;margin-top:3px;font-size:9px}
.trivia{padding-bottom:12px}
.trivia>p,.trivia>small{display:block;padding:0 14px}
.trivia>p{font:17px/1.25 Georgia,serif}
.answers{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 14px 10px}
.answers button{border:1px solid #76838c;border-radius:7px;background:#eef0f1;color:#111;padding:8px;font-weight:900}
.answers button.correct{background:#1e9b5b;color:#fff}
.answers button.wrong{background:var(--red);color:#fff}
.trivia-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px}
.trivia-footer small{color:#d8e0e5}
.trivia-footer button{min-width:104px;height:36px;border:1px solid #ff4d62;border-radius:6px;background:#ed0b26;color:#fff;font-size:10px;font-weight:900;letter-spacing:.04em}
.trivia-footer button:disabled{opacity:.62;cursor:wait}
.directions{padding-bottom:11px}
.directions label{display:block;font-size:9px;color:#aab8c2;margin:12px 14px 4px}
.directions input,.directions select{margin:0 14px;width:calc(100% - 28px);height:42px;border:0;border-radius:6px;padding:0 10px;background:#fff;color:#111}
.travel-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:8px 14px}
.travel-modes button{min-height:55px;border:1px solid #32495a;border-radius:6px;background:#10202c;color:#fff}
.travel-modes button.active{border-color:var(--blue)}
.travel-modes span{display:block;font-size:8px;margin-top:4px}
.maps-button{height:36px;margin:0 14px;width:calc(100% - 28px);border:1px solid #526878;border-radius:5px;background:#152632;color:#fff;font-size:10px;font-weight:900}
dialog{width:min(680px,92vw);max-height:92dvh;overflow:auto;border:1px solid #526878;border-radius:12px;background:#0a1721;color:#fff;padding:18px;box-shadow:0 25px 80px #000}
dialog::backdrop{background:#02070cbb}
.dialog-close{position:sticky;z-index:2;top:0;float:right;width:44px;height:44px;border:0;border-radius:50%;background:#07131de8;color:#fff;font-size:28px}
.dialog-image{width:100%;border-radius:8px;max-height:55vh;object-fit:cover}
.location-photo{aspect-ratio:16/9;object-fit:cover;background:#12222d}
.location-map{aspect-ratio:640/420;object-fit:cover;border:1px solid #526878;background:#12222d}
.location-map-frame{display:block;width:100%;height:min(52vh,420px);min-height:300px;border:1px solid #526878;border-radius:8px;background:#12222d}
.location-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.directions-map{width:100%;height:min(62vh,560px);min-height:360px;border:1px solid #526878;border-radius:8px;background:#12222d}
.camera-player{width:100%;height:min(62vh,560px);min-height:360px;border:1px solid #526878;border-radius:8px;background:#12222d}
.my-agenda-list{display:grid;gap:8px}
.my-agenda-list button{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;width:100%;border:1px solid #314858;border-radius:8px;background:#0d202d;color:#fff;padding:12px;text-align:left;cursor:pointer}
.my-agenda-list button:hover,.my-agenda-list button:focus{border-color:#ed0b26;background:#172633;outline:none}
.my-agenda-list time{color:#ff5364;font-size:10px;font-weight:900}
.my-agenda-list b{font-size:13px}.my-agenda-list small{display:block;margin-top:4px;color:#9babb8}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:#fff;color:#07111a;padding:11px 17px;border-radius:30px;font-weight:900;font-size:11px;transition:.2s;z-index:80}
.toast.on{transform:translate(-50%,0);opacity:1}
@media(max-width:1050px){.topbar nav{display:none}
.secondary{margin-left:auto}
.experience{grid-template-columns:1fr}
.agenda-list{max-height:300px}
.lower-grid{grid-template-columns:1fr 1fr}
.cameras{grid-column:1/-1}
.hero-copy{max-width:calc(100% - 360px)}
.hero-copy h1{font-size:clamp(38px,4.7vw,52px)}
.countdown{width:260px}
}
@media(max-width:700px){.topbar{height:58px;padding:0 12px;gap:9px}
.brand img{width:104px;height:auto}
.secondary{display:inline-flex;align-items:center;padding:10px 9px;font-size:9px}
.live-button{font-size:9px;padding:11px}
.hero{min-height:360px;padding:265px 14px 16px;background-position:left top;background-size:auto;display:block}
.hero:after{background:linear-gradient(180deg,rgba(246,240,229,0) 30%,rgba(246,240,229,.72) 64%,rgba(246,240,229,.9))}
.hero-copy{position:relative;left:auto;top:auto;width:auto;max-width:none;transform:none}
.hero-copy h1{font-size:clamp(31px,11vw,39px)}
.countdown{width:100%;margin-top:13px}
.experience{padding:7px}
.map-shell{grid-template-columns:1fr}
.view-switcher{grid-template-columns:repeat(3,1fr);order:2}
.view-switcher button{min-height:70px}
.view-switcher button b{font-size:18px;margin-bottom:3px}
.map{min-height:360px}
.main-live{min-height:360px}
.telemetry-card{width:100%;min-width:0;margin-left:0;grid-template-columns:1fr}
.telemetry-card strong{grid-row:auto;padding:0 0 5px;border-right:0;border-bottom:1px solid #405565}
.lower-grid{grid-template-columns:1fr;padding:0 7px 20px}
.cameras{grid-column:auto}
.camera-grid{grid-template-columns:1fr 1fr}
.tracker-toolbar{flex-wrap:wrap}
.tracker-meta{min-width:0;flex:1}
.map-live-panel{top:8px;left:8px;right:8px;gap:5px}
.map-live-panel .status{padding:0 10px;font-size:10px}
.map-context{flex:1;padding:7px 9px;gap:1px 8px}
.map-context b{font-size:14px}
dialog{width:calc(100vw - 14px);max-height:calc(100dvh - 14px);padding:12px;border-radius:9px}
dialog h2{font-size:20px;padding-right:48px}
.location-map{max-height:none}
}
