/* ============================================================
   ASCII LOGO 开机凝聚 ascii_logo.css（独立、可整体删除）
   只作用于 #boot-gate 内部：一块全屏字符画布 + 一行版权。
   #boot-seq（左上加载自检）已随 ascii.js 的那套功能一起删除，
   开机阶段只有大字这一个仪式。
     #ascii-logo-cv  z-index 0（居中大字）
     #ascii-logo-sub z-index 2（版权，在字下方）
   移除 index.html 里 ascii_logo.css / ascii_logo.js 两行引用即可彻底卸载。
   ============================================================ */

#ascii-logo-cv {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  z-index: 0;
  background: #060608;              /* 同参考稿 body 底色 */
  transform: translateY(0);
  will-change: transform;
  pointer-events: none;
}

/* 凝聚完成后整屏上移；--logo-rise 由 JS 按字号算出，过渡时长也由 JS 写 */
#ascii-logo-cv.rise {
  transform: translateY(calc(-1 * var(--logo-rise, 60px)));
}

/* 开门时与 #boot-gate 的 .gone 同步淡出（各 .6s） */
#ascii-logo-cv.fade-out {
  opacity: 0;
  transition: opacity .6s ease;
}

/* 版权行：取参考稿 #sub 的灰 (#8b8f8c) 与白光，不再用绿。
   字体与大字同一套系统等宽（Cubic 是比例字体，从开机画面全部移除） */
#ascii-logo-sub {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  font-family: 'Consolas', 'Cascadia Mono', 'Lucida Console', monospace;
  font-size: 12px;
  letter-spacing: .08em;
  color: #8b8f8c;
  text-shadow: 0 0 5px rgba(255,255,255,.2);
  white-space: pre;
  opacity: 0;
  transition: opacity .5s ease;
  pointer-events: none;
}
#ascii-logo-sub.show { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  #ascii-logo-cv.rise { transform: none; }
}

/* ============================================================
   开机期间把登录界面的 CRT 层提到 #boot-gate 之上。
   直接复用 effects.css / crt.js 的那三层，不复制任何参数，
   于是黑门淡出前后 CRT 完全连续，不会出现风格跳变。
   （#crt-mask 是 mix-blend-mode:multiply，压在纯黑上本就不可见，
     留着只是为了让层序和登录界面一致。）
   卸载本模块（删两行引用）即自动恢复原状。
   ============================================================ */
body.boot-crt #crt-mask      { z-index: 100001; }
body.boot-crt #crt-vignette  { z-index: 100002; }
body.boot-crt #crt-scanlines { z-index: 100003; }

/* boot-hold 原本会暂停扫描线（门后登录界面看不见，省点电），开机画面要它动起来。
   选择器必须写成 body.boot-hold.boot-crt 才盖得住 effects.css 里的 !important。 */
body.boot-hold.boot-crt #crt-scanlines { animation-play-state: running !important; }
