/* AstroShield Radar v1.2.10 · presentation orbit, decay and signal data */
.presentation-body {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: #020812;
    color: #f5fbff;
}
.presentation-backdrop {
    position: fixed;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(2,8,18,.97) 0%, rgba(2,8,18,.84) 48%, rgba(2,8,18,.54) 100%),
        url('../img/astroshield-cover-wide.jpg') center / cover no-repeat;
}
.presentation-backdrop::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 75% 45%, rgba(0,218,255,.2), transparent 33%),
        linear-gradient(180deg, transparent 60%, rgba(2,8,18,.86));
}
.presentation-header {
    position: sticky;
    top: 0;
    z-index: 80;
    display: grid;
    grid-template-columns: minmax(220px, auto) minmax(180px, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: .8rem clamp(1rem,3vw,3rem);
    border-bottom: 1px solid rgba(99,226,255,.24);
    background: rgba(2,8,18,.9);
    backdrop-filter: blur(16px);
    transition: transform .3s ease, opacity .3s ease;
}
.presentation-brand { display: inline-flex; align-items: center; gap: .8rem; color: #fff; text-decoration: none; min-width: 0; }
.presentation-brand span:last-child { display: grid; min-width: 0; }
.presentation-brand small { color: #65dfee; letter-spacing: .12em; }
.presentation-brand strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.presentation-live-state {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 38px;
    max-width: 100%;
    padding: .45rem .8rem;
    border: 1px solid rgba(99,226,255,.22);
    border-radius: 999px;
    background: rgba(5,25,42,.72);
    color: #cfe3eb;
    font-size: .82rem;
    text-align: center;
}
.presentation-live-dot { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: #ffc861; box-shadow: 0 0 14px currentColor; }
.presentation-live-state.is-ok .presentation-live-dot { background: #54e3a4; }
.presentation-live-state.is-warning .presentation-live-dot { background: #ffc861; }
.presentation-live-state.is-error .presentation-live-dot { background: #ff5d71; }
.presentation-actions { display: flex; overflow-x: auto; align-items: center; justify-content: flex-end; gap: .45rem; scrollbar-width: thin; }
.presentation-actions button,
.presentation-actions a {
    min-height: 46px;
    flex: 0 0 auto;
    border: 1px solid rgba(99,226,255,.42);
    border-radius: 999px;
    padding: .62rem .88rem;
    background: rgba(4,21,38,.9);
    color: #fff;
    font: inherit;
    font-size: .86rem;
    text-decoration: none;
    cursor: pointer;
    touch-action: manipulation;
}
.presentation-actions button:hover,
.presentation-actions a:hover,
.presentation-actions button:focus-visible,
.presentation-actions a:focus-visible { border-color: #8cf5ff; background: rgba(9,57,76,.94); }
.presentation-actions button[aria-pressed='true'] { background: #075d6c; border-color: #80f1ff; }
.presentation-progress { position: sticky; top: 63px; z-index: 79; height: 4px; background: rgba(126,207,255,.08); overflow: hidden; }
.presentation-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,#4d8dff,#56d7ff,#54e3a4); box-shadow: 0 0 18px rgba(86,215,255,.8); }
.presentation-controls-hidden .presentation-header { transform: translateY(-110%); opacity: 0; pointer-events: none; }
.presentation-controls-hidden .presentation-progress { top: 0; }
.presentation-stage { width: min(1600px, 100%); margin: 0 auto; padding: clamp(1rem,2.2vw,2.4rem); }
.presentation-cover { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; min-height: 14vh; }
.presentation-cover h1 { margin: .18rem 0 .4rem; font-size: clamp(2rem,4.4vw,4.8rem); line-height: 1; }
.presentation-cover p { margin: 0; color: #c9dce7; }
.presentation-clock { flex: 0 0 auto; text-align: right; display: grid; }
.presentation-clock span { color: #6fe6f4; font-size: .72rem; letter-spacing: .16em; }
.presentation-clock time { font-size: clamp(2rem,3.5vw,4rem); font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.05; }
.presentation-clock small { color: #c9dce7; }
.presentation-scenes { min-height: min(64vh, 760px); scroll-margin-top: 118px; }
.presentation-scene { animation: presentation-scene-in .45s ease both; }
.presentation-scene[hidden] { display: none !important; }
@keyframes presentation-scene-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.presentation-object,
.presentation-orbit-layout,
.presentation-visibility-layout,
.presentation-context-layout { margin-top: clamp(1rem,2vh,1.7rem); }
.presentation-object { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(390px,.75fr); gap: clamp(1rem,2vw,2rem); align-items: stretch; }
.presentation-object-main,
.presentation-facts,
.presentation-note,
.presentation-empty,
.presentation-globe-shell,
.presentation-orbit-facts,
.presentation-visibility-card,
.presentation-weather-card,
.presentation-context-copy,
.presentation-qr-card {
    border: 1px solid rgba(99,226,255,.3);
    border-radius: 26px;
    background: rgba(3,15,29,.86);
    box-shadow: 0 24px 70px rgba(0,0,0,.35);
    backdrop-filter: blur(12px);
}
.presentation-object-main { padding: clamp(1.4rem,3.4vw,3.5rem); display: flex; flex-direction: column; justify-content: center; min-height: clamp(360px,42vh,610px); min-width: 0; }
.presentation-state-row { display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap; }
.presentation-badges { display: flex; gap: .6rem; flex-wrap: wrap; }
.presentation-badges span,
.presentation-forecast-state,
.presentation-scene-object {
    border: 1px solid #5edbe8;
    border-radius: 999px;
    padding: .35rem .7rem;
    color: #93f6ff;
    background: rgba(4,30,45,.72);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
}
#presentation-interest { color: #ffce6a; border-color: #ffb93f; }
.presentation-forecast-state.is-confirmed { color: #b7ffd9; border-color: #54e3a4; background: rgba(18,80,58,.55); }
.presentation-forecast-state.is-stale { color: #ffd798; border-color: #ffc861; }
.presentation-object h2 { margin: 1rem 0 .2rem; min-width: 0; font-size: clamp(2.3rem,5.4vw,6rem); line-height: .96; overflow-wrap: anywhere; }
#presentation-object-id { color: #a9c5d4; font-size: clamp(1rem,1.5vw,1.3rem); overflow-wrap: anywhere; }
.presentation-countdown-wrap { margin-top: auto; padding-top: 2rem; display: grid; gap: .35rem; min-width: 0; }
.presentation-countdown-wrap span { color: #6fe6f4; letter-spacing: .16em; font-size: .78rem; }
.presentation-countdown-wrap strong { max-width: 100%; color: #78effa; font-size: clamp(2.35rem,6.2vw,6.6rem); line-height: 1; font-variant-numeric: tabular-nums; text-shadow: 0 0 28px rgba(49,220,242,.35); overflow-wrap: anywhere; }
.presentation-countdown-wrap small { font-size: clamp(1rem,1.5vw,1.3rem); color: #fff; }
.presentation-facts { margin: 0; padding: clamp(1rem,2vw,2rem); display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; min-width: 0; }
.presentation-facts div,
.presentation-orbit-facts div,
.presentation-pass-facts div,
.presentation-weather-facts div,
.presentation-context-facts div { min-width: 0; padding: .95rem; border: 1px solid rgba(99,226,255,.16); border-radius: 16px; background: rgba(8,31,50,.6); }
.presentation-facts dt,
.presentation-orbit-facts dt,
.presentation-pass-facts dt,
.presentation-weather-facts dt,
.presentation-context-facts dt { color: #93aebc; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.presentation-facts dd,
.presentation-orbit-facts dd,
.presentation-pass-facts dd,
.presentation-weather-facts dd,
.presentation-context-facts dd { margin: .35rem 0 0; font-size: clamp(.98rem,1.45vw,1.3rem); font-weight: 700; overflow-wrap: anywhere; }
.presentation-scene-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-top: clamp(1rem,2vh,1.5rem); }
.presentation-scene-heading h2 { margin: .1rem 0 0; font-size: clamp(1.8rem,3.5vw,3.7rem); line-height: 1.05; }
.presentation-orbit-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(330px,.55fr); gap: clamp(1rem,2vw,2rem); min-height: clamp(480px,58vh,720px); }
.presentation-globe-shell { position: relative; min-height: 480px; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 50% 48%, rgba(19,88,132,.24), rgba(2,8,18,.98) 60%); }
#presentation-globe { position: absolute; inset: 0; z-index: 2; opacity: 1; transition: opacity .25s ease; }
.presentation-globe-fallback { position: absolute; inset: 50% auto auto 50%; z-index: 1; width: min(58%,460px); aspect-ratio: 1; transform: translate(-50%,-50%); overflow: hidden; border: 1px solid rgba(112,213,255,.55); border-radius: 50%; background: #092445 url('../img/earth-blue-marble.jpg') center / auto 100% no-repeat; box-shadow: inset -52px -22px 95px rgba(0,0,0,.66), inset 18px 8px 42px rgba(95,211,255,.12), 0 0 70px rgba(52,168,230,.24); transition: opacity .25s ease; }
.presentation-globe-fallback::before { content: ''; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 32% 27%, rgba(255,255,255,.11), transparent 31%), linear-gradient(105deg, transparent 45%, rgba(0,0,0,.5) 80%); pointer-events: none; }
.presentation-globe-fallback::after { content: ''; position: absolute; inset: -2%; border: 2px solid rgba(92,210,255,.32); border-radius: 50%; box-shadow: 0 0 28px rgba(92,210,255,.34); pointer-events: none; }
.presentation-globe-fallback span,
.presentation-globe-fallback i { display: none; }
.presentation-globe-shell.is-cesium-ready .presentation-globe-fallback { opacity: .18; }
.presentation-globe-shell.has-earth-texture .presentation-globe-fallback { opacity: 0; }
.presentation-globe-shell.is-earth-error #presentation-globe { opacity: 0 !important; pointer-events: none; }
.presentation-globe-shell.is-earth-error .presentation-globe-fallback { opacity: 1; }
.presentation-globe-credit { position: absolute; right: .8rem; bottom: .75rem; z-index: 5; max-width: calc(100% - 1.6rem); padding: .35rem .55rem; border: 1px solid rgba(116,196,226,.22); border-radius: 9px; background: rgba(2,8,18,.74); color: #b8d2df; font-size: .68rem; line-height: 1.25; }
.presentation-globe-status { position: absolute; left: 1rem; bottom: 2.85rem; z-index: 4; max-width: calc(100% - 2rem); padding: .55rem .75rem; border: 1px solid rgba(98,223,239,.28); border-radius: 12px; background: rgba(2,8,18,.88); color: #cfe3eb; font-size: .82rem; line-height: 1.45; }
.presentation-globe-shell.is-orbit-unavailable { border-color: rgba(255,200,97,.48); }
.presentation-globe-shell.is-orbit-unavailable .presentation-globe-status { border-color: rgba(255,200,97,.5); color: #ffe0a3; background: rgba(43,31,7,.9); }
.presentation-orbit-facts dd { hyphens: auto; }
#presentation-orbit-method { font-size: clamp(.92rem,1.15vw,1.08rem); line-height: 1.45; font-weight: 650; }
.presentation-orbit-facts { margin: 0; padding: 1rem; display: grid; grid-template-columns: 1fr; align-content: start; gap: .8rem; }
.presentation-orbit-facts .is-wide { grid-column: 1 / -1; }
.presentation-visibility-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem,2vw,2rem); }
.presentation-visibility-card,
.presentation-weather-card,
.presentation-context-copy,
.presentation-qr-card { padding: clamp(1.2rem,2.5vw,2.2rem); min-width: 0; }
.presentation-card-heading { display: flex; align-items: center; gap: .9rem; }
.presentation-card-heading > span { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 auto; border: 1px solid rgba(99,226,255,.35); border-radius: 15px; background: rgba(13,73,94,.42); color: #82eff9; font-size: 1.45rem; }
.presentation-card-heading div { display: grid; min-width: 0; }
.presentation-card-heading small { color: #79dce9; letter-spacing: .12em; }
.presentation-card-heading strong { font-size: clamp(1.35rem,2.3vw,2.2rem); overflow-wrap: anywhere; }
.presentation-location-note { margin: .5rem 0 1rem 3.9rem; color: #9fb8c5; }
.presentation-visibility-result { display: flex; align-items: center; gap: 1rem; margin: 1.2rem 0; padding: 1.1rem; border: 1px solid rgba(99,226,255,.16); border-radius: 18px; background: rgba(8,31,50,.65); }
.presentation-visibility-result.is-positive { border-color: rgba(84,227,164,.45); background: rgba(22,72,57,.5); }
.presentation-visibility-result.is-negative { border-color: rgba(255,200,97,.38); }
.presentation-visibility-result.is-loading { border-color: rgba(86,215,255,.5); background: rgba(10,50,76,.58); }
.presentation-visibility-result.is-loading .presentation-visibility-icon { animation: presentation-pulse 1.4s ease-in-out infinite; }
.presentation-visibility-icon { font-size: 2.6rem; color: #75e9f6; }
.presentation-visibility-result div { min-width: 0; }
.presentation-visibility-result small { color: #93aebc; letter-spacing: .1em; }
.presentation-visibility-result strong { display: block; font-size: clamp(1.25rem,2.5vw,2.2rem); line-height: 1.1; overflow-wrap: anywhere; }
.presentation-visibility-result p { margin: .35rem 0 0; color: #cfe0e8; }
.presentation-pass-facts,
.presentation-weather-facts,
.presentation-context-facts { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.presentation-inline-link { display: inline-flex; margin-top: 1rem; }
.presentation-weather-main { display: flex; align-items: center; gap: 1rem; margin: 1.2rem 0; min-height: 92px; padding: 1.1rem; border-radius: 18px; background: rgba(8,31,50,.65); }
.presentation-weather-main > span { font-size: 3rem; }
.presentation-weather-main div { display: grid; min-width: 0; }
.presentation-weather-main strong { font-size: clamp(1.25rem,2.2vw,2rem); overflow-wrap: anywhere; }
.presentation-weather-main small { color: #a9c0cc; }
.presentation-weather-card > p { color: #aec2cc; }
.presentation-context-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); gap: clamp(1rem,2vw,2rem); }
.presentation-context-hero { display: flex; align-items: flex-start; gap: 1.2rem; }
.presentation-context-hero > span { display: grid; place-items: center; width: 74px; height: 74px; flex: 0 0 auto; border: 1px solid rgba(99,226,255,.4); border-radius: 24px; background: radial-gradient(circle, rgba(86,215,255,.26), rgba(4,25,42,.82)); color: #8cf4ff; font-size: 2.2rem; }
.presentation-context-hero div { min-width: 0; }
.presentation-context-hero small { color: #71dfeb; letter-spacing: .13em; }
.presentation-context-hero h3 { margin: .2rem 0 .45rem; font-size: clamp(2rem,4vw,4rem); line-height: 1; overflow-wrap: anywhere; }
.presentation-context-hero p { margin: 0; max-width: 70ch; color: #d0e0e8; font-size: clamp(1rem,1.5vw,1.25rem); }
.presentation-context-facts { margin-top: 1.2rem; }
.presentation-explainer { margin-top: 1rem; padding: 1rem 1.1rem; border-left: 4px solid #ffc861; border-radius: 12px; background: rgba(72,55,19,.35); }
.presentation-explainer p { margin: .35rem 0 0; color: #e6dfca; }
.presentation-qr-card { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.presentation-qr { display: grid; place-items: center; width: 212px; min-height: 212px; margin: .6rem auto 1rem; padding: 12px; border-radius: 18px; background: #fff; color: #04111c; }
.presentation-qr img,
.presentation-qr canvas { max-width: 100%; height: auto !important; }
.presentation-qr-card > strong { font-size: 1.3rem; overflow-wrap: anywhere; }
.presentation-qr-card > p:not(.eyebrow) { max-width: 34ch; color: #b7cbd5; }
.presentation-note { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; margin-top: 1rem; padding: .9rem 1.2rem; }
.presentation-note p { margin: 0; color: #d3e4ec; }
.presentation-note > span { flex: 0 0 auto; color: #8fb4c3; font-size: .8rem; }
.presentation-scene-nav { display: grid; grid-template-columns: repeat(4,1fr); gap: .7rem; margin-top: 1rem; }
.presentation-scene-nav button { display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 52px; border: 1px solid rgba(99,226,255,.22); border-radius: 16px; background: rgba(3,15,29,.82); color: #bcd1da; cursor: pointer; touch-action: manipulation; }
.presentation-scene-nav button > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(86,215,255,.12); color: #7ce8f4; font-weight: 800; }
.presentation-scene-nav button.is-active { border-color: #6ee8f4; background: rgba(9,68,85,.78); color: #fff; box-shadow: 0 0 24px rgba(86,215,255,.14); }
.presentation-dots { display: flex; justify-content: center; gap: .7rem; padding: 1rem; }
.presentation-dots button { width: 15px; height: 15px; padding: 0; border: 1px solid #70dce8; border-radius: 50%; background: transparent; cursor: pointer; }
.presentation-dots button.is-active { background: #70e7f3; box-shadow: 0 0 18px rgba(112,231,243,.8); }
.presentation-footer { display: flex; justify-content: center; gap: 1.3rem; flex-wrap: wrap; padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom)); color: #8fa8b5; font-size: .76rem; }
.presentation-empty { margin-top: 2rem; padding: 2rem; text-align: center; }
.presentation-body .cesium-viewer-bottom,
.presentation-body .cesium-viewer-toolbar,
.presentation-body .cesium-viewer-animationContainer,
.presentation-body .cesium-viewer-timelineContainer,
.presentation-body .cesium-widget-credits { display: none !important; }
.presentation-body .cesium-widget,
.presentation-body .cesium-widget canvas { border-radius: 25px; }
@media (max-width: 1180px) {
    .presentation-header { grid-template-columns: 1fr auto; }
    .presentation-live-state { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; }
    .presentation-progress { top: 111px; }
    .presentation-object { grid-template-columns: minmax(0,1fr) minmax(330px,.8fr); }
    .presentation-orbit-layout { grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); }
}
@media (max-width: 900px) {
    .presentation-header { position: relative; grid-template-columns: 1fr; gap: .65rem; }
    .presentation-brand { justify-self: start; }
    .presentation-live-state { grid-column: auto; grid-row: auto; justify-self: stretch; }
    .presentation-actions { justify-content: flex-start; padding-bottom: .15rem; }
    .presentation-progress { position: relative; top: 0; }
    .presentation-cover { align-items: stretch; flex-direction: column; gap: 1rem; min-height: 0; }
    .presentation-clock { text-align: left; }
    .presentation-scenes { scroll-margin-top: 1rem; }
    .presentation-object,
    .presentation-orbit-layout,
    .presentation-visibility-layout,
    .presentation-context-layout { grid-template-columns: 1fr; }
    .presentation-object-main { min-height: auto; }
    .presentation-globe-shell { min-height: min(62vh,560px); }
    .presentation-note { align-items: stretch; flex-direction: column; }
    .presentation-note > span { flex: auto; }
    .presentation-controls-hidden .presentation-header { transform: none; opacity: 1; pointer-events: auto; }
}
@media (max-width: 640px) {
    .presentation-stage { padding: .85rem; }
    .presentation-header { padding: .75rem .85rem; }
    .presentation-brand .brand-orbit { width: 45px; }
    .presentation-actions button,
    .presentation-actions a { min-height: 48px; padding-inline: .8rem; }
    .presentation-cover h1 { font-size: clamp(2rem,10vw,3rem); }
    .presentation-object h2 { font-size: clamp(2.15rem,12vw,3.7rem); }
    .presentation-countdown-wrap strong { font-size: clamp(2.1rem,13vw,4.2rem); }
    .presentation-facts,
    .presentation-orbit-facts,
    .presentation-pass-facts,
    .presentation-weather-facts,
    .presentation-context-facts { grid-template-columns: 1fr 1fr; }
    .presentation-facts div,
    .presentation-orbit-facts div,
    .presentation-pass-facts div,
    .presentation-weather-facts div,
    .presentation-context-facts div { padding: .78rem; }
    .presentation-scene-heading { align-items: flex-start; flex-direction: column; }
    .presentation-scene-object { max-width: 100%; overflow-wrap: anywhere; }
    .presentation-globe-shell { min-height: 420px; }
    .presentation-globe-fallback { width: min(82vw,360px); }
    .presentation-globe-status { left: .7rem; right: .7rem; bottom: 3.05rem; max-width: none; }
    .presentation-globe-credit { right: .7rem; bottom: .65rem; }
    .presentation-location-note { margin-left: 0; }
    .presentation-context-hero { flex-direction: column; }
    .presentation-qr { width: min(212px,100%); }
    .presentation-scene-nav { position: static; grid-template-columns: repeat(4,minmax(76px,1fr)); overflow-x: auto; margin-inline: -.85rem; padding: .6rem .85rem calc(.6rem + env(safe-area-inset-bottom)); background: rgba(2,8,18,.72); border-block: 1px solid rgba(99,226,255,.12); }
    .presentation-scene-nav button { flex-direction: column; gap: .2rem; min-height: 62px; padding: .35rem; font-size: .72rem; }
    .presentation-footer { display: none; }
}
@media (max-width: 390px) {
    .presentation-facts,
    .presentation-orbit-facts,
    .presentation-pass-facts,
    .presentation-weather-facts,
    .presentation-context-facts { grid-template-columns: 1fr; }
    .presentation-orbit-facts .is-wide { grid-column: auto; }
    .presentation-visibility-result { align-items: flex-start; }
    .presentation-card-heading strong { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
    .presentation-scene { animation: none; }
    .presentation-header { transition: none; }
}

@keyframes presentation-pulse { 0%,100% { opacity:.55; transform:scale(.96); } 50% { opacity:1; transform:scale(1.04); } }

/* AstroShield Radar v1.2.10 · decayed-object and radio-signal presentation */
.presentation-orbit-state {
    margin: .35rem 0 0;
    max-width: 72ch;
    color: #a9c5d2;
    font-size: clamp(.9rem,1.25vw,1.05rem);
}
.presentation-orbit-state.is-historical {
    color: #ffe09a;
}
.presentation-signal-fact small {
    display: block;
    margin-top: .45rem;
    color: #9fb8c5;
    font-size: .78rem;
    line-height: 1.45;
}
.presentation-globe-legend {
    position: absolute;
    z-index: 5;
    top: .85rem;
    left: .85rem;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .7rem;
    max-width: min(78%,680px);
    padding: .55rem .7rem;
    border: 1px solid rgba(99,226,255,.22);
    border-radius: 14px;
    background: rgba(2,12,24,.78);
    color: #d9eaf1;
    font-size: .72rem;
    line-height: 1.25;
    backdrop-filter: blur(8px);
    pointer-events: none;
}
.presentation-globe-legend span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}
.presentation-globe-legend span[hidden] { display: none !important; }
.presentation-globe-legend i {
    width: .68rem;
    height: .68rem;
    flex: 0 0 auto;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 50%;
    box-shadow: 0 0 10px currentColor;
}
.presentation-globe-legend [data-legend="current"] i { background: #54e3a4; color: #54e3a4; }
.presentation-globe-legend [data-legend="last"] i { background: #ffd166; color: #ffd166; }
.presentation-globe-legend [data-legend="signal"] i { background: #4cb7ff; color: #4cb7ff; }
.presentation-globe-legend [data-legend="tip"] i { background: #ff8c52; color: #ff8c52; }
.presentation-globe-shell.is-historical-orbit {
    border-color: rgba(255,209,102,.42);
    box-shadow: inset 0 0 50px rgba(255,209,102,.04), 0 18px 50px rgba(0,0,0,.26);
}
@media (max-width: 640px) {
    .presentation-globe-legend {
        top: .65rem;
        left: .65rem;
        right: .65rem;
        max-width: none;
        gap: .35rem .55rem;
        font-size: .66rem;
    }
    .presentation-globe-status {
        bottom: 3.55rem;
    }
    .presentation-signal-fact small {
        font-size: .74rem;
    }
}

/* AstroShield Radar v1.2.10 · sichtbare Positions- und TIP-Marker */
.presentation-globe-minimap {
    position: absolute;
    z-index: 6;
    top: .85rem;
    right: .85rem;
    width: min(220px, 30%);
    aspect-ratio: 2 / 1;
    overflow: hidden;
    border: 1px solid rgba(116, 213, 255, .42);
    border-radius: 12px;
    background: #08213d url('../img/earth-blue-marble.jpg') center / 100% 100% no-repeat;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .34), inset 0 0 22px rgba(0, 0, 0, .35);
    pointer-events: none;
}
.presentation-globe-minimap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 66%, rgba(1, 7, 15, .76));
}
.presentation-globe-minimap > small {
    position: absolute;
    z-index: 4;
    right: .35rem;
    bottom: .25rem;
    color: #d8edf5;
    font-size: .58rem;
    letter-spacing: .02em;
    text-shadow: 0 1px 3px #000;
}
.presentation-minimap-marker {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: .22rem;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    color: #fff;
    font-size: .56rem;
    line-height: 1;
    text-shadow: 0 1px 4px #000;
}
.presentation-minimap-marker[hidden] { display: none !important; }
.presentation-minimap-marker i {
    width: .62rem;
    height: .62rem;
    flex: 0 0 auto;
    border: 2px solid #fff;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, .35), 0 0 12px currentColor;
    animation: presentation-marker-pulse 1.6s ease-in-out infinite;
}
.presentation-minimap-marker b {
    display: none;
    padding: .18rem .28rem;
    border-radius: 5px;
    background: rgba(2, 8, 18, .78);
    font-weight: 700;
}
.presentation-minimap-marker.is-current { color: #54e3a4; }
.presentation-minimap-marker.is-last { color: #ffd166; }
.presentation-minimap-marker.is-signal { color: #4cb7ff; }
.presentation-minimap-marker.is-tip { color: #ff8c52; }
.presentation-globe-actions {
    position: absolute;
    z-index: 7;
    top: 8rem;
    right: .85rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .38rem;
    max-width: min(340px, 48%);
}
.presentation-globe-actions button {
    min-height: 38px;
    padding: .48rem .68rem;
    border: 1px solid rgba(105, 220, 247, .48);
    border-radius: 999px;
    background: rgba(2, 14, 27, .9);
    color: #e8f7fb;
    font: inherit;
    font-size: .72rem;
    cursor: pointer;
    backdrop-filter: blur(7px);
}
.presentation-globe-actions button:hover,
.presentation-globe-actions button:focus-visible {
    border-color: #67dff4;
    background: rgba(9, 80, 101, .92);
    outline: none;
}
@keyframes presentation-marker-pulse {
    0%, 100% { transform: scale(.9); opacity: .8; }
    50% { transform: scale(1.28); opacity: 1; }
}
@media (max-width: 780px) {
    .presentation-globe-minimap {
        top: 4.25rem;
        right: .65rem;
        width: min(170px, 48%);
    }
    .presentation-globe-actions {
        top: 9.8rem;
        right: .65rem;
        max-width: calc(100% - 1.3rem);
        gap: .3rem;
    }
    .presentation-globe-actions button {
        min-height: 42px;
        padding-inline: .62rem;
        font-size: .68rem;
    }
    .presentation-minimap-marker b { display: none; }
}
@media (max-width: 420px) {
    .presentation-globe-minimap {
        top: 4.45rem;
        width: 145px;
    }
    .presentation-globe-actions {
        top: 8.9rem;
    }
    .presentation-globe-actions button {
        min-height: 44px;
        flex: 1 1 auto;
    }
}
