/* OC 采用原稿深灰底、原始透明 PNG 和一条自带的白色斜线。 */
html[data-page="oc"] {
  --paper: #1b1d21;
  --ink: #fff;
  color-scheme: dark;
}
/* 遮罩开始前的根背景也保持白色，避免样式首次加载时露出深色边缘。 */
html[data-page="oc"].is-loading { background: #fff; color-scheme: light; }
.oc-panel {
  --oc-art-u: max(var(--u), calc((100vh - var(--header-height)) / 1329));
  position: relative;
  height: calc(100vh - var(--header-height));
  overflow: hidden;
  isolation: isolate;
  background: var(--paper);
}
@supports (height: 100dvh) {
  .oc-panel {
    --oc-art-u: max(var(--u), calc((100dvh - var(--header-height)) / 1329));
    height: calc(100dvh - var(--header-height));
  }
}
.oc-panel + .oc-panel { border-top: var(--line) solid var(--ink); }
.oc-art { position: absolute; inset: 0; overflow: hidden; pointer-events: none; user-select: none; }
.oc-art img {
  position: absolute;
  width: calc(2559 * var(--oc-art-u));
  height: calc(1434 * var(--oc-art-u));
  max-width: none;
  left: 50%;
  top: 50%;
  transform: translate(-50%, calc(-769.5 * var(--oc-art-u)));
}
/* 五组横线采用相同的高度基准：原稿菜单下 739 / 1329。 */
.oc-detail-copy {
  position: absolute;
  z-index: 1;
  left: calc(16 * var(--u));
  top: 55.605719%;
  transform: translateY(calc(-114 * var(--u)));
  width: calc(839 * var(--u));
}
.oc-detail-copy h1, .oc-detail-copy h2 {
  padding: 0 calc(24 * var(--u));
  font-size: calc(72 * var(--u));
  line-height: calc(108 * var(--u));
  white-space: nowrap;
}
.oc-detail-rule {
  display: block;
  width: 100%;
  height: var(--line);
  margin-top: calc(6 * var(--u));
  background: var(--ink);
  transform-origin: left center;
}
.oc-detail-copy p {
  margin: calc(17 * var(--u)) calc(24 * var(--u)) 0;
  font-size: max(12px, calc(24 * var(--u)));
  line-height: 1.6;
  white-space: nowrap;
}
.oc-copy-right { left: auto; right: calc(24 * var(--u)); text-align: right; }
.oc-copy-right h2 { padding: 0; }
.oc-copy-right p { margin-left: 0; margin-right: 0; }
.oc-copy-right .oc-detail-rule { transform-origin: right center; }
.oc-ending { border-top: var(--line) solid var(--ink); }
.oc-coming {
  position: relative;
  height: calc(781 * var(--u));
  overflow: hidden;
}
.oc-coming h2 {
  position: absolute;
  top: calc(65 * var(--u));
  left: 0;
  width: 100%;
  text-align: center;
  font-size: calc(72 * var(--u));
  line-height: calc(108 * var(--u));
}
.oc-tools { position: absolute; inset: 0; pointer-events: none; user-select: none; }
.oc-page .parent-logo img { filter: brightness(0) invert(1); }
