/* BHEAOC 桌面详情；与首页共用字体、页头、页脚及加载圆弧。 */
.aoc-panel {
  --terminal-u: min(var(--u), calc((50vh - 40px) / 496));
  position: relative;
  height: 50vh;
  overflow: hidden;
  background: var(--paper);
}
.aoc-panel::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(930 * var(--u));
  width: var(--line);
  background: var(--ink);
}
.aoc-image-left::after { left: calc(1590 * var(--u)); }
.aoc-intro { --terminal-u: min(var(--u), calc((100vh - var(--header-height) - 40px) / 496)); height: calc(100vh - var(--header-height)); }
@supports (height: 100dvh) {
  .aoc-panel { --terminal-u: min(var(--u), calc((50dvh - 40px) / 496)); height: 50dvh; }
  .aoc-intro { --terminal-u: min(var(--u), calc((100dvh - var(--header-height) - 40px) / 496)); height: calc(100dvh - var(--header-height)); }
}
.aoc-detail-copy {
  position: absolute;
  left: calc(21 * var(--u));
  top: 50%;
  transform: translateY(-50%);
  width: calc(839 * var(--u));
}
.aoc-detail-copy h1, .aoc-detail-copy h2 {
  padding: 0 calc(19 * var(--u));
  font-size: calc(60 * var(--u));
  line-height: calc(88 * var(--u));
  white-space: nowrap;
}
.aoc-detail-rule { display: block; width: 100%; height: var(--line); background: var(--ink); }
.aoc-detail-copy p {
  margin: calc(17 * var(--u)) calc(19 * var(--u)) 0;
  font-size: max(12px, calc(22.4 * var(--u)));
  line-height: 1.6;
  white-space: nowrap;
}
.aoc-detail-copy p > span { display: block; }
.aoc-detail-copy-right { left: auto; right: calc(40 * var(--u)); text-align: right; }
.aoc-detail-copy-right h1, .aoc-detail-copy-right h2 { padding-right: 0; }
.aoc-detail-copy-right p { position: relative; left: 100%; transform: translateX(-100%); width: max-content; margin-left: 0; margin-right: 0; text-align: left; }
/* 只裁切原 PNG 的透明边缘，保持终端文字方向及其原始颜色。 */
.aoc-terminal {
  position: absolute;
  left: calc(1845 * var(--u));
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(784 * var(--terminal-u));
  height: calc(496 * var(--terminal-u));
  margin: 0;
  overflow: hidden;
  background: var(--paper);
  pointer-events: none;
  user-select: none;
}
.aoc-terminal img {
  position: absolute;
  width: calc(2469 * var(--terminal-u));
  height: calc(1265 * var(--terminal-u));
  max-width: none;
  left: calc(-1453 * var(--terminal-u));
  top: calc(-370 * var(--terminal-u));
}
.aoc-image-left .aoc-terminal { left: calc(585 * var(--u)); }
.aoc-telex .aoc-terminal { left: calc(1920 * var(--u)); }
