/**
 * Startseite — kritisches CSS im <head> (sofortiger Hintergrund, kein Schwarz-Flash).
 * Vollständige Orbit-Landing-Styles bleiben in start.php / orbit-engine.css.
 */
html {
  background-color: #05080d;
}

html:has(body.ppc-start-orbit-landing) {
  height: 100%;
  overflow: hidden;
}

body.ppc-start-orbit-landing {
  margin: 0;
  min-height: 100vh;
  height: 100vh;
  overflow: hidden;
  background-color: #05080d;
  /* Hintergrundbild wird per start.php --ppc-start-bg inline gesetzt */
}

body.ppc-start-orbit-landing .ppc-app-wrap {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  height: 100vh;
  overflow: hidden;
  box-sizing: border-box;
  background: transparent;
}

.ppc-start-orbit-hero {
  position: fixed;
  inset: 0;
  z-index: 12;
  min-height: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 0;
  padding-inline: clamp(2rem, 5%, 5rem);
  padding-left: max(clamp(2rem, 5%, 5rem), env(safe-area-inset-left, 0px));
  padding-right: max(clamp(2rem, 5%, 5rem), env(safe-area-inset-right, 0px));
  background: transparent;
}

.ppc-main-orbiter-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 100%;
  pointer-events: none;
}

/* Orbit-Engine: nicht ganze Fläche verstecken (verursachte schwarzen Screen bis defer-JS). */
.ppc-orbit-engine-mount.ppc-orbit-boot-pending .ppc-orbit-engine-orbiter {
  opacity: 0;
  pointer-events: none;
}

/* Echo-Dock unten rechts: während Boot sichtbar (Ring bleibt ausgeblendet). */
.ppc-orbit-engine-mount.ppc-orbit-boot-pending .ppc-orbit-engine-orbiter--dock-corner,
.ppc-orbit-engine-mount.ppc-orbit-boot-pending .ppc-orbit-engine-dock--bottom-right,
.ppc-orbit-engine-mount.ppc-orbit-boot-pending .ppc-orbit-engine-orbiter[data-orbit-id='auth_echo'],
.ppc-orbit-engine-mount.ppc-orbit-boot-pending
  .ppc-start-taskbar__orbit-slot
  .ppc-orbit-engine-orbiter--taskbar-slot,
.ppc-orbit-engine-mount.ppc-orbit-boot-pending .ppc-orbit-engine-orbiter[data-orbit-id='auth_legal'],
.ppc-orbit-engine-mount.ppc-orbit-boot-pending .ppc-orbit-engine-orbiter[data-orbit-layout-zone^='dock_'],
body.ppc-start-has-taskbar:has(.ppc-orbit-engine-mount.ppc-orbit-boot-pending)
  .ppc-orbit-engine-orbiter--taskbar-slot {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.ppc-orbit-engine-mount.ppc-orbit-boot-ready .ppc-orbit-engine-orbiter {
  opacity: 1;
  transition: opacity 0.12s ease-out;
}

.ppc-orbit-engine-mount.ppc-orbit-boot-pending .ppc-orbit-engine-orbit-layer,
.ppc-orbit-engine-mount.ppc-orbit-boot-pending .ppc-orbit-engine-window-layer,
.ppc-orbit-engine-mount.ppc-orbit-boot-pending .ppc-orbit-engine-work-holo-layer {
  visibility: visible;
}

/* Gast-Start: keine untere Dock-/Taskleisten-Leiste (nur eingeloggt: ppc-start-has-taskbar). */
body.ppc-start-orbit-landing.ppc-start-workspace-topbar--guest-shell:not(.ppc-start-has-taskbar)
  #ppc-start-guest-dock-bar,
body.ppc-start-orbit-landing.ppc-start-workspace-topbar--guest-shell:not(.ppc-start-has-taskbar)
  .ppc-start-guest-dock-bar,
body.ppc-start-orbit-landing.ppc-start-workspace-topbar--guest-shell:not(.ppc-start-has-taskbar)
  #ppc-start-taskbar-wrap,
body.ppc-start-orbit-landing.ppc-start-workspace-topbar--guest-shell:not(.ppc-start-has-taskbar)
  .ppc-start-taskbar-wrap {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body.ppc-start-orbit-landing.ppc-start-workspace-topbar--guest-shell:not(.ppc-start-has-taskbar) {
  padding-bottom: 0 !important;
}
