    /* ===== 开屏：准确原标识、往返描绘、固定字标布局 ===== */
    .page-loader {
      position: fixed;
      inset: 0;
      z-index: 99999;
      overflow: hidden;
      background: var(--bg-primary, var(--bg, #0b0b0b));
      color: #fff;
      opacity: 1;
      visibility: visible;
      filter: blur(0);
      backdrop-filter: blur(0);
      -webkit-backdrop-filter: blur(0);
      transition: opacity .5s ease, filter .5s ease, background-color .5s ease,
        backdrop-filter .5s ease, -webkit-backdrop-filter .5s ease, visibility .5s ease;
    }
    [data-theme="light"] .page-loader { color: #000; }
    .page-loader.hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      background-color: transparent;
      filter: blur(5px);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }
    .loader-lockup {
      --logo-size: clamp(64px, 17vw, 100px);
      --brand-gap: clamp(14px, 3.4vw, 24px);
      position: absolute;
      left: 50%;
      top: 46%;
      display: flex;
      align-items: center;
      gap: var(--brand-gap);
      width: max-content;
      transform: translate(-50%, -50%);
    }
    .loader-mark {
      position: relative;
      flex: 0 0 var(--logo-size);
      width: var(--logo-size);
      aspect-ratio: 460 / 418;
      transform: translateX(var(--mark-offset, 0px));
      transition: transform .88s cubic-bezier(.22,1,.36,1);
      will-change: transform;
    }
    .loader-lockup:not(.is-branding) .loader-mark { transition: none; }
    .loader-lockup.is-branding .loader-mark { transform: translateX(0); }
    .loader-vector { display: block; width: 100%; height: 100%; overflow: visible; }
    .loader-silhouette { fill: currentColor; }
    .loader-stroke {
      fill: none;
      stroke: #fff;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-dasharray: 1;
      stroke-dashoffset: 1;
    }
    .loader-name {
      display: grid;
      align-items: center;
      white-space: nowrap;
      opacity: 0;
      color: inherit;
      font-size: clamp(1.3rem, 5.8vw, 2.65rem);
      font-weight: 800;
      letter-spacing: -.045em;
      line-height: 1.12;
      transition: opacity .18s ease;
    }
    .loader-name::before {
      content: 'caelus studio';
      grid-area: 1 / 1;
      visibility: hidden;
      padding-right: .26em;
    }
    .loader-name-live { grid-area: 1 / 1; display: flex; align-items: center; }
    .loader-lockup.is-typing .loader-name { opacity: 1; }
    .loader-caret {
      display: inline-block;
      flex: 0 0 .09em;
      width: .09em;
      height: 1em;
      margin-left: .1em;
      background: currentColor;
      opacity: 0;
    }
    .loader-caret.visible { opacity: 1; animation: caretBlink .9s steps(1, end) infinite; }

    @keyframes caretBlink { 50% { opacity: 0; } }
    @media (prefers-reduced-motion: reduce) {
      .page-loader, .loader-mark, .loader-name { transition-duration: .01ms !important; }
      .page-loader.hidden { filter: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
      .loader-caret.visible { animation: none; }
    }

