      /* ===== Globales Grundlayout ===== */
      html,
      body {
        margin: 0;
        padding: 0;
        background: transparent;
        overflow: auto; /* Geändert von 'hidden' zu 'auto' - erlaubt Scrollen */
        min-height: 0; /* Kein min-height - passt sich dem Inhalt an */
      }

      body {
        font-family: var(--font-body, "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
        -webkit-font-smoothing: antialiased;
      }

      /* Root – zentriert, keine Begrenzungen */
      #kb {
        max-width: 100%;
        margin: 0 auto;
        width: 100%;
        height: auto; /* Auto height - passt sich dem Inhalt an */
      }

      /* Fallback: falls Layout-Manager ausfällt */
      #kb:empty::before {
        content: "Loading Ultimate Piano...";
        display: flex;
        align-items: center;
        justify-content: center;
        color: #888;
        font-size: 14px;
        height: 100%;
      }

      /* ===== Splash Screen ===== */
      #up-splash {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(4px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 999999;
        transition: opacity 0.6s ease-out, visibility 0.6s ease-out;
      }

      #up-splash.hidden {
        /* IMPORTANT: Must be display:none when hidden to not interfere with
           mobile Safari's auto-hide browser UI behavior */
        display: none;
      }

      #up-splash-window {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        border-radius: 24px;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
        padding: 48px 64px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        max-width: 90%;
        max-height: 90%;
        min-width: 320px;
        width: 50vw;
        animation: up-splash-in 0.5s ease-out;
      }

      @keyframes up-splash-in {
        from {
          opacity: 0;
          transform: scale(0.9) translateY(20px);
        }
        to {
          opacity: 1;
          transform: scale(1) translateY(0);
        }
      }

      /* Responsive adjustments */
      @media (max-width: 768px) {
        #up-splash-window {
          width: 80vw;
          padding: 32px 24px;
        }
      }

      #up-splash-logo {
        width: 120px;
        height: auto;
        max-height: 120px;
        object-fit: contain;
        margin-bottom: 24px;
        animation: up-pulse 2s ease-in-out infinite;
      }

      #up-splash-text {
        color: white;
        font-size: 24px;
        font-weight: 600;
        letter-spacing: 0.5px;
        margin-bottom: 16px;
        text-align: center;
      }

      #up-splash-loading {
        color: rgba(255, 255, 255, 0.8);
        font-size: 14px;
        font-weight: 400;
        text-align: center;
        min-height: 20px;
      }

      /* Progress Bar */
      #up-splash-progress {
        width: 100%;
        max-width: 280px;
        height: 6px;
        background: rgba(255, 255, 255, 0.2);
        border-radius: 3px;
        margin-top: 16px;
        overflow: hidden;
      }

      #up-splash-progress-bar {
        height: 100%;
        width: 0%;
        background: linear-gradient(90deg, #4ade80, #22c55e);
        border-radius: 3px;
        transition: width 0.15s ease-out;
      }

      @keyframes up-pulse {
        0%, 100% {
          transform: scale(1);
          opacity: 1;
        }
        50% {
          transform: scale(1.05);
          opacity: 0.9;
        }
      }

      /* Spinner Animation */
      #up-splash-spinner {
        margin-top: 20px;
        width: 40px;
        height: 40px;
        border: 4px solid rgba(255, 255, 255, 0.3);
        border-top-color: white;
        border-radius: 50%;
        animation: up-spin 1s linear infinite;
      }

      @keyframes up-spin {
        to { transform: rotate(360deg); }
      }
