/* ============================================================
 * OOBE 开机动画 —— 复刻 Windows 11 真机
 *
 * 真机原理（逆向自 %windir%\System32\oobe\FirstLogonAnim.htm）：
 *   · 全屏纯黑底，鼠标隐藏（cursor:none）
 *   · 3 个巨大圆形层，border-radius 100vw（正圆），radial-gradient 由内向外淡出
 *     颜色依次  rgba(12,119,255,.30) / rgba(0,56,255,.30) / rgba(65,56,210,.50)
 *     渐变硬停在 15.62%，之后到 100% 全透明 —— 这是真机「光斑」的形状来源
 *   · 3 圈各自独立循环：15s / 20s / 30s（周期不同 → 永不重复的呼吸感）
 *     轨迹都是 0% 与 100% 相同、50% 处「膨胀到极大后回落」的呼吸式
 *   · 入场：1.332s ease-out 淡入（真机 fadeCircleIn）
 *   · 文案：主行 40px 微软雅黑，top 44.5% 水平居中
 *           副行 20px，top 54% 水平居中
 *   · 淡入淡出：真机用 12ms 步进把 opacity 从 0 推到 1（= 1200ms 完整淡入）
 *     这里改用 Web Animations API 一次到位，视觉等价但不掉帧
 *
 * 文案序列（真机默认，与官方中文版一致）：
 *   你好。 → 正在为你做准备。 → 此操作可能需要几分钟。
 *   → 请保持 PC 开机并接通电源。 → 好东西就要来了。
 *   （底部常驻：请勿关闭电脑。）
 *   → 即将完成。
 * ============================================================ */

.oobe {
  position: fixed;
  inset: -1%;
  z-index: 99999;
  background: #000;
  color: #fff;
  overflow: hidden;
  cursor: none;
  user-select: none;
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", sans-serif;
}

/* ---- 3 个呼吸光斑 ---- */
.oobe-blob {
  position: absolute;
  border-radius: 100vw;           /* 正圆 */
  pointer-events: none;
  will-change: transform, opacity;
}

/* 渐变硬停在 15.62% —— 真机就是这个值，不是柔和渐变 */
.oobe-blob.b1 {
  background: radial-gradient(50% 50% at 50% 50%,
    rgba(12, 119, 255, .30) 15.62%, rgba(12, 119, 255, 0) 100%);
}
.oobe-blob.b2 {
  background: radial-gradient(50% 50% at 50% 50%,
    rgba(0, 56, 255, .30) 15.62%, rgba(12, 119, 255, 0) 100%);
}
.oobe-blob.b3 {
  background: radial-gradient(50% 50% at 50% 50%,
    rgba(65, 56, 210, .50) 15.62%, rgba(65, 56, 210, 0) 100%);
}

/* 入场淡入：真机 1332ms ease-out */
.oobe.is-in .oobe-blob { animation: oobeBlobIn 1332ms ease-out both; }
@keyframes oobeBlobIn { from { opacity: 0; } to { opacity: 1; } }

/* ---- 文案 ---- */
.oobe-main {
  position: absolute;
  top: 44.5%;
  left: 0;
  width: 100%;
  margin: 0;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  z-index: 2;
  opacity: 0;
  will-change: opacity;
}

.oobe-sub {
  position: absolute;
  top: 54%;
  left: 0;
  width: 100%;
  margin: 0;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  z-index: 2;
  opacity: 0;
  will-change: opacity;
}

/* Esc 提示（自加，非真机，但真机也没提示——默认隐藏，调试用） */
.oobe-hint {
  position: absolute;
  left: 0;
  bottom: 6%;
  width: 100%;
  text-align: center;
  font-size: 13px;
  color: rgba(255, 255, 255, .45);
  z-index: 2;
  pointer-events: none;
}

/* 跳过按钮：仅按住 ESC 0.6s 后出现（自加，真机是按电源键跳过） */
.oobe-skip {
  position: absolute;
  right: 32px;
  bottom: 32px;
  z-index: 3;
  padding: 9px 18px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 4px;             /* Win11 页内控件 4px */
  background: rgba(255, 255, 255, .06);
  color: rgba(255, 255, 255, .9);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  opacity: 0;
  transition: opacity .18s ease, background .12s ease;
  pointer-events: none;
}
.oobe-skip.show { opacity: 1; pointer-events: auto; }
.oobe-skip:hover { background: rgba(255, 255, 255, .14); }
.oobe-skip:active { background: rgba(255, 255, 255, .2); }

/* 纯享版：只放光斑，不放文案（对应真机「纯动画」模式） */
.oobe.is-bare .oobe-main,
.oobe.is-bare .oobe-sub { display: none; }

/* 锁屏版 OOBE（开机后先出动画再进锁屏）时不需要跳过按钮 */
.oobe.no-skip .oobe-skip { display: none; }
