/* Sistema Solar · controles sobre la escena.
   Todo lo que flota encima del pie vive en #solar-dock, una columna anclada
   abajo: aviso de escala, astro en seguimiento, eclipse desde tierra,
   recorrido, ayuda, barra de tiempo y selector. Así nada se pisa y la escena
   mide en vivo cuánto queda libre. Sin desenfoques de fondo: sobre un lienzo
   WebGL que cambia cada fotograma obligan a recomponer la pantalla entera. */
.solar-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
#solar-dock{position:fixed;z-index:72;left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(var(--ce-bottom,62px) + env(safe-area-inset-bottom,0px) + 10px);width:min(450px,calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));display:flex;flex-direction:column;gap:6px;pointer-events:none}
#solar-dock>*{pointer-events:auto;flex:0 0 auto}

/* ---------- Selector y zoom ---------- */
#solar-tools{display:flex;gap:5px;align-items:center}
#solar-tools button,#solar-tools select,#solar-flight button,#solar-flight select{font:12px/1.3 var(--ce-sans,Geist,system-ui,sans-serif);color:#f0ebe4;background:#111b17ed;border:1px solid #455448;border-radius:9px;min-height:44px;padding:8px 10px;box-sizing:border-box;cursor:pointer;max-width:100%}
#solar-tools button{min-width:44px;font-size:18px}#solar-tools select{flex:1 1 auto;min-width:0;width:auto}
#solar-dock :focus-visible{outline:2px solid #e3aa90;outline-offset:3px}

/* ---------- Barra de tiempo ---------- */
#solar-time{background:rgba(12,16,15,.9);border:1px solid var(--ce-line,#343c37);border-radius:14px;padding:1px 12px 8px}
.solar-track{position:relative;height:34px;--th:22px}
#solar-ticks{position:absolute;inset:0;pointer-events:none}
#solar-ticks i{position:absolute;top:50%;width:2px;height:12px;margin:-6px 0 0 -1px;border-radius:1px;background:rgba(227,170,144,.8);left:calc(var(--th)/2 + (100% - var(--th))*var(--x,0))}
#solar-scrub{position:absolute;inset:0;width:100%;height:34px;margin:0;padding:0;background:transparent;-webkit-appearance:none;appearance:none;touch-action:none;cursor:ew-resize;--p:0%}
#solar-scrub::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--ce-emerald,#59d5a7) var(--p),rgba(240,235,228,.16) var(--p))}
#solar-scrub::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--ce-emerald,#59d5a7) var(--p),rgba(240,235,228,.16) var(--p))}
#solar-scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-9px;border:0;border-radius:50%;background:#f0ebe4;box-shadow:0 0 0 4px rgba(12,16,15,.9),0 0 12px rgba(89,213,167,.6)}
#solar-scrub::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:#f0ebe4;box-shadow:0 0 0 4px rgba(12,16,15,.9),0 0 12px rgba(89,213,167,.6)}
#solar-moments{display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;margin:0 -6px;padding:2px 6px}
#solar-moments::-webkit-scrollbar{display:none}
#solar-moments button{flex:0 0 auto;min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid #455448;background:#111b17;color:#f0ebe4;font:500 12px/1.2 var(--ce-sans,Geist,system-ui,sans-serif);letter-spacing:0;white-space:nowrap;cursor:pointer;transition:border-color .16s,color .16s,background .16s}
#solar-moments button[aria-pressed=true],#solar-moments button.on{border-color:var(--ce-emerald,#59d5a7);color:var(--ce-emerald,#59d5a7);background:#173728}
#solar-moments .solar-key{margin-left:auto;border-color:rgba(227,170,144,.6);color:var(--ce-accent,#e3aa90)}
#solar-moments .solar-leave{margin-left:auto;color:var(--ce-muted,#afa9a0)}

/* ---------- Fecha sobre la escena ---------- */
#solar-orbit-status{position:fixed;z-index:60;left:0;right:0;top:calc(var(--ce-top,58px) + env(safe-area-inset-top,0px) + 9px);display:flex;flex-direction:column;align-items:center;gap:1px;padding:0 12px;text-align:center;pointer-events:none;text-shadow:0 0 8px #000,0 1px 3px #000}
#solar-orbit-status b{font:500 13px/1.3 var(--ce-mono,'JetBrains Mono',ui-monospace,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--ce-emerald,#59d5a7);font-variant-numeric:tabular-nums}
#solar-orbit-status span{font:10.5px/1.4 var(--ce-mono,'JetBrains Mono',ui-monospace,monospace);letter-spacing:.04em;color:var(--ce-muted,#afa9a0);font-variant-numeric:tabular-nums}
.ce-ready[data-celestiales=solar] #toasts{top:calc(var(--ce-top) + env(safe-area-inset-top,0px) + 54px)!important}

/* ---------- Astro en seguimiento ---------- */
#solar-dock #focus-pill{position:static;transform:none;opacity:1;display:none;align-items:center;justify-content:space-between;gap:10px;max-width:none!important;padding:8px 8px 8px 14px;border-radius:14px;background:rgba(12,16,15,.92);border:1px solid rgba(89,213,167,.45);backdrop-filter:none;-webkit-backdrop-filter:none;transition:none;pointer-events:auto}
#solar-dock #focus-pill.on{display:flex;transform:none;animation:solar-rise .26s ease both}
#solar-dock .focus-text{display:flex;flex-direction:column;gap:1px;min-width:0}
#solar-dock #focus-name{font:550 14px/1.3 var(--ce-sans,Geist,system-ui,sans-serif);letter-spacing:-.01em;color:var(--ce-ink,#f0ebe4)}
#solar-dock #focus-facts{font:11px/1.4 var(--ce-mono,'JetBrains Mono',ui-monospace,monospace);color:var(--ce-muted,#afa9a0);font-variant-numeric:tabular-nums}
#solar-dock #focus-pill button{flex:0 0 auto;min-height:40px;padding:8px 12px;border-radius:10px;border:1px solid #455448;background:#171f1b;color:var(--ce-ink,#f0ebe4);font:12px/1.2 var(--ce-sans,Geist,system-ui,sans-serif);letter-spacing:0;cursor:pointer}
@keyframes solar-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- Aviso de escala radial ---------- */
#solar-dock #radial-note{position:static;transform:none;opacity:1;display:none;max-width:none!important;padding:7px 12px;border-radius:12px;background:rgba(12,16,15,.9);border:1px solid rgba(227,170,144,.35);text-align:left;transition:none;pointer-events:none}
#solar-dock #radial-note.on{display:block;transform:none;animation:solar-rise .26s ease both}
#solar-dock #radial-note b{font:500 10px/1.5 var(--ce-mono,'JetBrains Mono',ui-monospace,monospace);letter-spacing:.12em;color:var(--ce-accent,#e3aa90)}
#solar-dock #radial-note span{font:11px/1.45 var(--ce-sans,Geist,system-ui,sans-serif)!important;color:var(--ce-muted,#afa9a0)}
.solar-voyager-mode #solar-dock #radial-note,.solar-pilot-mode #solar-dock #radial-note{display:none!important}

/* ---------- Eclipse desde A Coruña ---------- */
#solar-eclipse{display:flex;gap:11px;align-items:center;padding:8px 12px 8px 8px;border-radius:14px;background:rgba(12,16,15,.92);border:1px solid rgba(227,170,144,.45);animation:solar-rise .3s ease both}
#solar-eclipse canvas{flex:0 0 auto;width:72px;height:72px;border-radius:10px;background:radial-gradient(circle,#0b1020,#05070d)}
#solar-eclipse div{display:flex;flex-direction:column;gap:1px;min-width:0}
#solar-eclipse b{font:500 11px/1.4 var(--ce-mono,'JetBrains Mono',ui-monospace,monospace);letter-spacing:.12em;color:var(--ce-accent,#e3aa90)}
#solar-eclipse span{font:12px/1.4 var(--ce-sans,Geist,system-ui,sans-serif);color:var(--ce-ink,#f0ebe4);font-variant-numeric:tabular-nums}
#solar-eclipse small{font:11px/1.4 var(--ce-sans,Geist,system-ui,sans-serif);color:var(--ce-muted,#afa9a0)}

/* ---------- Recorridos (Voyager, cohete) y ayuda ---------- */
#solar-flight{max-height:32dvh;overflow:auto;background:#0c1411f5;border:1px solid #455448;border-radius:13px;padding:10px 12px;box-sizing:border-box;font:12px/1.5 var(--ce-sans,Geist,system-ui,sans-serif);color:#f0ebe4;overscroll-behavior:contain}
.solar-flight-head{position:sticky;top:-7px;background:#0c1411;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:5px}.solar-flight-head strong{font-weight:550;font-size:13px;min-width:0}.solar-flight-head>div{display:flex;gap:4px;flex-shrink:0}#solar-flight button{min-width:44px}.solar-flight-head #solar-fit{min-width:0;font-size:11px}
#solar-flight-body{padding-top:7px}#solar-flight select{width:100%}#solar-date{display:block;width:100%;height:44px;min-height:44px;margin:0;accent-color:#59d5a7;touch-action:pan-y}
#solar-flight p{font:12px/1.5 var(--ce-sans,Geist,system-ui,sans-serif);letter-spacing:0;color:#afa9a0;margin:3px 0 5px}#solar-flight output{display:block;color:#e3aa90;font:11px/1.5 var(--ce-mono,'JetBrains Mono',monospace)}
#solar-pad{display:flex;gap:4px;margin:5px 0}#solar-pad button{flex:1;touch-action:none;user-select:none;-webkit-user-select:none;font-size:16px;padding:8px 5px}
#solar-help-text{padding:12px;margin:0;background:#0c1411f5;border:1px solid #455448;border-radius:13px;font:13px/1.7 var(--ce-sans,Geist,system-ui,sans-serif);color:#afa9a0}

/* En un recorrido el reloj orbital está en pausa: su fecha y su barra sobran. */
.solar-voyager-mode #solar-orbit-status,.solar-pilot-mode #solar-orbit-status,.solar-voyager-mode #solar-time,.solar-pilot-mode #solar-time,.solar-voyager-mode #solar-eclipse,.solar-pilot-mode #solar-eclipse,.solar-voyager-mode #timeline-stack,.solar-voyager-mode #btn-speed,.solar-pilot-mode #btn-speed{display:none!important}
.solar-voyager-mode #hud-top .clock,.solar-pilot-mode #timeline-stack,.solar-voyager-mode #controls details,.solar-pilot-mode #controls details,.solar-voyager-mode #controls [data-cam],.solar-pilot-mode #controls [data-cam],.solar-voyager-mode #goto,.solar-pilot-mode #goto{display:none!important}

/* El panel de superficie viaja al cajón Datos: allí sólo tiene sentido durante el eclipse. */
.ce-content #inset.on{display:block!important}.ce-content #inset:not(.on){display:none!important}
[hidden]{display:none!important}

@media(max-width:600px){
  #solar-dock{left:calc(8px + env(safe-area-inset-left,0px));width:calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
  #solar-flight{padding:7px 9px;max-height:29dvh}.solar-flight-head strong{font-size:12px}.solar-flight-head #solar-fit{font-size:10px;padding:7px}#solar-flight p{font-size:11px}
  #solar-help-text{font-size:12px;line-height:1.6;padding:10px 12px}
}
/* Teléfono apaisado: poca altura, la columna se estrecha y se aprieta. */
@media(max-height:520px){
  #solar-dock{width:min(340px,calc(100vw - 24px));gap:4px;bottom:calc(var(--ce-bottom,62px) + env(safe-area-inset-bottom,0px) + 6px)}
  #solar-time{padding:0 10px 5px}.solar-track,#solar-scrub{height:28px}
  #solar-moments button{min-height:32px;padding:5px 10px}
  #solar-orbit-status span,#solar-eclipse small,#solar-dock #focus-facts{display:none}
  #solar-eclipse canvas{width:52px;height:52px}
  #solar-flight{max-height:40dvh}
}
@media(prefers-reduced-motion:reduce){#solar-dock #focus-pill.on,#solar-dock #radial-note.on,#solar-eclipse{animation:none}#solar-moments button{transition:none}}
