:root {
      --bg-primary: #13131c;
      --bg-sidebar: #11111a;
      --bg-card: #1a1a26;
      --bg-toolbar: #181822;
      --accent: #0db896;
      --accent-hover: #1fe0b3;
      --accent-dim: rgba(13, 184, 150, 0.14);
      --text: #ececf4;
      --text-dim: #9494ac;
      --text-muted: #6b6b80;
      --border: #2c2c3a;
      --border-strong: #3a3a4c;
      --danger: #e85d4c;
      --danger-dim: rgba(232, 93, 76, 0.14);
      --timeline-tick-major: rgba(200, 202, 220, 0.72);
      --timeline-tick-minor: rgba(140, 142, 170, 0.38);
      --pb-pill-grad-0: #0c9d8a;
      --pb-pill-grad-1: #0a6e62;
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      background: var(--bg-primary);
      color: var(--text);
      height: 100vh;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    /* ---- Initial load overlay ---- */
    .app-boot-overlay {
      position: fixed;
      inset: 0;
      z-index: 10000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 24px;
      background: rgba(12, 12, 24, 0.5);
      -webkit-backdrop-filter: blur(12px);
      backdrop-filter: blur(12px);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 0.28s ease, visibility 0.28s ease;
    }

    .app-boot-overlay.visible {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    .app-boot-card {
      width: min(340px, 92vw);
      padding: 22px 24px;
      border-radius: 12px;
      background: var(--bg-card);
      border: 1px solid var(--border);
      box-shadow: 0 18px 56px rgba(0, 0, 0, 0.55);
    }

    .app-boot-label {
      font-size: 13px;
      color: var(--text-dim);
      margin-bottom: 14px;
      text-align: center;
      letter-spacing: 0.02em;
    }

    .app-boot-bar-track {
      height: 5px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.08);
      overflow: hidden;
    }

    .app-boot-bar-fill {
      width: 38%;
      height: 100%;
      border-radius: 999px;
      background: linear-gradient(90deg,
          transparent,
          var(--accent),
          var(--accent-hover),
          transparent);
      animation: appBootBarSlide 1.1s ease-in-out infinite;
    }

    @keyframes appBootBarSlide {
      0% {
        transform: translateX(-130%);
      }

      100% {
        transform: translateX(300%);
      }
    }
