/* Render-blocking stylesheet loaded before shell assets; preserves the startup mask. */
:root { --boot-bg: #ffffff; --boot-fg: #6b7280; --boot-track: #f1e3e5; --boot-accent: #d5000d; }
    @media (prefers-color-scheme: dark) {
      :root:not([data-theme="light"]) { --boot-bg: #15171c; --boot-fg: #9aa1ad; --boot-track: #2a2e37; }
    }
    :root[data-theme="dark"] { --boot-bg: #15171c; --boot-fg: #9aa1ad; --boot-track: #2a2e37; }
    /* 单独成条：不支持 :has 的浏览器只丢这一条，不能连累下面的遮罩底色 */
    html:has(#bootSplash) { background: var(--boot-bg); }
    #bootSplash {
      position: fixed; inset: 0; z-index: 9000;
      display: grid; place-content: center; justify-items: center; gap: 20px;
      background: var(--boot-bg);
      color: var(--boot-fg);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    }
    #bootSplash .boot-mark { display: block; width: 76px; height: 76px; animation: orbit-boot-breathe 1.6s ease-in-out infinite; }
    /* 换成上传的品牌 LOGO 时保持比例，不被 76×76 拉变形 */
    #bootSplash img.boot-mark { width: auto; max-width: 220px; object-fit: contain; }
    #bootSplash .boot-bar { position: relative; width: 132px; height: 3px; border-radius: 2px; overflow: hidden; background: var(--boot-track); }
    #bootSplash .boot-bar::after {
      content: ""; position: absolute; inset: 0 auto 0 0; width: 44%; border-radius: 2px;
      background: var(--boot-accent); animation: orbit-boot-slide 1.15s cubic-bezier(.55, .1, .45, .9) infinite;
    }
    #bootSplash.is-done { opacity: 0; visibility: hidden; transition: opacity .22s ease; }
    @keyframes orbit-boot-breathe { 0%, 100% { transform: scale(.94); opacity: .7; } 50% { transform: scale(1); opacity: 1; } }
    @keyframes orbit-boot-slide { from { transform: translateX(-100%); } to { transform: translateX(228%); } }
    @media (prefers-reduced-motion: reduce) {
      #bootSplash .boot-mark { animation: none; }
      #bootSplash .boot-bar::after { animation: none; width: 100%; opacity: .45; }
    }
