/* ═══════════════════════════════════════════════════════════════
   Aurelia 鉴赏家 v2 ·「月下开片 · 证据之光」
   世界观：主页《划亮》的火柴熄了，月亮升起来——暖光换冷光，「划亮」换「照见」。
   色板只此一系（禁止新增色相）：夜青底 / 月光 / 天青 / 月白 / 烟灰 / 朱砂。
   家规：no-build、CSP 无内联脚本、字体与图片自托管、只动 transform/opacity
   （例外：S5 轮廓与 S6 五线的 stroke-dashoffset）、reduced-motion 与无 JS 皆完整可读。
   器物照片不调色、不镜像；生成纹理只以灰度进入，颜色由本文件决定。
   ═══════════════════════════════════════════════════════════════ */
:root {
  --ink: #121619;
  --moon: #D9DFDC;
  --sky: #9DBBB0;
  --paper: #ECE7DB;
  --smoke: #8F968F;
  --cinnabar: #B24A3C;
  --moon-a: 217, 223, 220;   /* rgba 用 */
  --sky-a: 157, 187, 176;
  --ink-a: 18, 22, 25;
  --sans: "Aurelia Sans", "HarmonyOS Sans SC", "MiSans", "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;
  --brush: var(--sans);
  --serif: var(--sans);
  --display: var(--sans);
  --echo: var(--sans);
  --body: "Segoe UI", -apple-system, "Helvetica Neue", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --gutter: clamp(20px, 6vw, 64px);
  --h1: 46px; --h2: 28px; --num: 56px; --lede: 17px; --p: 16px; --echo-size: 13px; --eyebrow: 12px; --fine: 12px; --cap: 13px;
}
@media (min-width: 900px) {
  :root { --h1: 64px; --h2: 40px; --num: 88px; --lede: 19px; --p: 17px; --echo-size: 14px; --eyebrow: 12.5px; --fine: 12.5px; --cap: 13.5px; }
}
@font-face { font-family: "Aurelia Sans"; src: url("fonts/sans-300-aurelia.woff2") format("woff2"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Aurelia Sans"; src: url("fonts/sans-400-aurelia.woff2") format("woff2"); font-weight: 400; font-display: swap; }

* { box-sizing: border-box; margin: 0; padding: 0; }
html { background: var(--ink); color-scheme: dark; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; overflow-x: clip; }
body {
  background: var(--ink); color: var(--paper);
  font-family: var(--sans); font-weight: 400; font-size: var(--p); line-height: 1.9;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden; min-height: 100vh;
}
::selection { background: rgba(var(--sky-a), .35); color: var(--paper); }
a { color: inherit; }
a:focus-visible { outline: 1px solid var(--sky); outline-offset: 4px; border-radius: 2px; }
img { max-width: 100%; }
.au-skip { position: absolute; left: -9999px; top: 8px; z-index: 50; padding: 8px 14px; background: var(--moon); color: var(--ink); font-family: var(--display); }
.au-skip:focus { left: 8px; }

/* ── 固定光层 ────────────────────────────────────────────── */
.au-sky { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
/* 月：外层由滚动「站点表」移动（JS x/y/opacity），内层只做 intro 月出。无 JS 时停在 S1 站点。 */
.au-moonwrap {
  --mx: 104; --my: -3; --msize: 120vw;
  position: absolute; left: calc(var(--mx) * 1vw - var(--msize) / 2); top: calc(var(--my) * 1vh - var(--msize) / 2);
  width: var(--msize); height: var(--msize); will-change: transform, opacity;
}
@media (min-width: 900px) { .au-moonwrap { --mx: 84; --my: 18; --msize: 46vw; } }
.au-moon {
  position: absolute; inset: 0; border-radius: 50%;
  background: radial-gradient(circle at 50% 50%,
    rgba(var(--moon-a), .50) 0, rgba(var(--moon-a), .19) 16%, rgba(var(--sky-a), .08) 38%, rgba(var(--ink-a), 0) 66%);
}
.au-lattice {
  position: absolute; inset: -8% -8% -8% -8%;
  background: url("media/tex/lattice.webp") center / cover no-repeat;
  opacity: .15; will-change: transform;
}
.au-haze { display: none; }
@media (min-width: 900px) {
  .au-haze { display: block; position: absolute; inset: 0; background: url("media/tex/haze.webp") center / cover no-repeat; opacity: .13; }
}
.au-paper { position: fixed; inset: 0; z-index: 9; pointer-events: none; background: url("media/tex/paper.webp") repeat; background-size: 256px 256px; opacity: .055; }
.au-ember {
  position: fixed; left: 9%; bottom: 11%; z-index: 1; width: 5px; height: 5px; border-radius: 50%;
  background: var(--cinnabar); box-shadow: 0 0 16px 6px rgba(178, 74, 60, .35); opacity: 0; pointer-events: none;
}

/* ── 顶栏 ─────────────────────────────────────────────────── */
.au-nav { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: calc(14px + env(safe-area-inset-top)) var(--gutter) 6px; }
.au-back { font-family: var(--sans); font-size: 14px; letter-spacing: .12em; color: var(--smoke); text-decoration: none; min-height: 40px; display: inline-flex; align-items: center; }
.au-back:hover { color: var(--paper); }
.au-mark { font-family: var(--sans); font-weight: 400; font-size: 12px; letter-spacing: .22em; color: var(--smoke); }

/* ── 一幕一幕：桌面每节满屏居中；S3/S5/S6 由 JS 钉住（pin）播放；手机顺流不钉 ── */
@media (min-width: 900px) {
  .au-s { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; }
  html.fx .au-evstage { position: static; }
}

/* ── 版式 ─────────────────────────────────────────────────── */
main { position: relative; z-index: 1; }
.au-s { position: relative; padding: clamp(56px, 11vh, 120px) var(--gutter); }
.au-wrap { max-width: 1120px; margin: 0 auto; }
.au-wrap--rel { position: relative; }
.au-center { text-align: center; }
.au-center .au-p, .au-center .au-lede { margin-left: auto; margin-right: auto; }
.au-eyebrow { font-family: var(--sans); font-weight: 400; font-size: var(--eyebrow); letter-spacing: .24em; text-transform: uppercase; color: var(--smoke); margin-bottom: 18px; }
.au-h1 { font-family: var(--sans); font-weight: 300; font-size: var(--h1); line-height: 1.18; letter-spacing: .12em; color: var(--paper); }
.au-h2 { font-family: var(--sans); font-weight: 300; font-size: var(--h2); line-height: 1.4; letter-spacing: .08em; color: var(--paper); }
.au-echo { font-family: var(--sans); font-weight: 300; font-style: normal; font-size: var(--echo-size); letter-spacing: .12em; color: var(--smoke); margin: 10px 0 22px; }
.au-lede { font-family: var(--sans); font-weight: 300; font-size: var(--lede); line-height: 2; letter-spacing: .03em; color: var(--paper); opacity: .92; max-width: 30em; }
.au-p { font-size: var(--p); color: var(--paper); opacity: .86; max-width: 36em; margin-top: 16px; }
.au-p--small { font-size: calc(var(--p) - 1px); color: var(--smoke); opacity: 1; margin-top: 14px; }
.au-fine { font-size: var(--fine); line-height: 1.8; color: var(--smoke); max-width: 52em; margin-top: 14px; }
.au-fine--note { margin-top: 28px; }
.au-num { font-family: var(--sans); font-weight: 300; font-variant-numeric: lining-nums tabular-nums; letter-spacing: .02em; }
.au-num--inline { color: var(--moon); }
.au-bignum { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-top: 8px; }
.au-bignum .au-num { font-size: var(--num); line-height: 1.05; color: var(--moon); }
.au-bignum__lab { font-family: var(--sans); font-weight: 300; font-size: calc(var(--p) + 4px); letter-spacing: .14em; color: var(--smoke); }
.au-br { display: none; }
@media (min-width: 900px) { .au-br { display: inline; } }

.au-cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
.au-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 26px;
  font-family: var(--sans); font-weight: 400; font-size: 15px; letter-spacing: .14em; color: var(--paper); text-decoration: none;
  border: 1px solid rgba(var(--moon-a), .28); border-radius: 2px; background: rgba(var(--moon-a), .04);
  transition: border-color .25s, background .25s, transform .15s;
}
.au-btn:hover { border-color: rgba(var(--moon-a), .6); background: rgba(var(--moon-a), .08); }
.au-btn:active { transform: scale(.98); }
.au-btn--moon { background: var(--moon); color: var(--ink); border-color: var(--moon); box-shadow: 0 10px 34px rgba(var(--moon-a), .12); }
.au-btn--moon:hover { background: var(--paper); border-color: var(--paper); }

/* ── 器物舞台（四层：影 · 器 · 高光带 · 注记）───────────────── */
.au-stage { position: relative; margin: 0 auto 54px; width: fit-content; max-width: 100%; text-align: center; }
.au-box { position: relative; display: inline-block; vertical-align: top; line-height: 0; max-width: 100%; }
.au-vessel { display: block; height: auto; width: 100%; }
.au-light { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; mix-blend-mode: screen; }
.au-box.is-lit .au-sheen { display: none; }
.au-shadow {
  position: absolute; left: 6%; right: 6%; bottom: -3.5%; height: 10%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, .62) 0, rgba(0, 0, 0, .28) 42%, rgba(0, 0, 0, 0) 72%);
  transform: scaleX(1); transform-origin: center; will-change: auto;
}
.au-sheen {
  position: absolute; inset: 0; overflow: hidden; pointer-events: none;
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
.au-sheen i {
  position: absolute; top: -25%; bottom: -25%; left: -70%; width: 240%;
  background: linear-gradient(118deg, rgba(var(--moon-a), 0) 42%, rgba(var(--moon-a), .30) 50%, rgba(var(--moon-a), 0) 58%);
  transform: translateX(-18%); will-change: transform;
}
@supports not ((mask-image: url("x")) or (-webkit-mask-image: url("x"))) { .au-sheen { display: none; } }
.au-sheen--v i { top: -70%; bottom: -70%; left: -25%; right: -25%; width: auto;
  background: linear-gradient(180deg, rgba(var(--moon-a), 0) 42%, rgba(var(--moon-a), .26) 50%, rgba(var(--moon-a), 0) 58%); transform: translateY(-20%); }
/* 高光带的遮罩 = 同一张抠图（零额外文件） */
.au-stage[data-v="cma_140168"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_140168-900.webp"); mask-image: url("media/vessels/cma_140168-900.webp"); }
.au-stage[data-v="cma_97956"]  .au-sheen { -webkit-mask-image: url("media/vessels/cma_97956-1100.webp"); mask-image: url("media/vessels/cma_97956-1100.webp"); }
.au-stage[data-v="cma_134843"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_134843-900.webp"); mask-image: url("media/vessels/cma_134843-900.webp"); }
.au-stage[data-v="cma_135015"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_135015-900.webp"); mask-image: url("media/vessels/cma_135015-900.webp"); }
.au-stage[data-v="cma_121469"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_121469-900.webp"); mask-image: url("media/vessels/cma_121469-900.webp"); }
.au-stage[data-v="met_49855"]  .au-sheen { -webkit-mask-image: url("media/vessels/met_49855-900.webp"); mask-image: url("media/vessels/met_49855-900.webp"); }
.au-stage[data-v="met_39666"]  .au-sheen { -webkit-mask-image: url("media/vessels/met_39666-900.webp"); mask-image: url("media/vessels/met_39666-900.webp"); }
.au-stage[data-v="cma_154732"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_154732-900.webp"); mask-image: url("media/vessels/cma_154732-900.webp"); }
.au-stage[data-v="cma_112196"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_112196-900.webp"); mask-image: url("media/vessels/cma_112196-900.webp"); }
.au-stage[data-v="cma_134979"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_134979-1100.webp"); mask-image: url("media/vessels/cma_134979-1100.webp"); }
.au-stage[data-v="aic_80869"]  .au-sheen { -webkit-mask-image: url("media/vessels/aic_80869-700.webp"); mask-image: url("media/vessels/aic_80869-700.webp"); }
.au-stage[data-v="cma_134997"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_134997-700.webp"); mask-image: url("media/vessels/cma_134997-700.webp"); }
.au-stage[data-v="cma_284746"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_284746-700.webp"); mask-image: url("media/vessels/cma_284746-700.webp"); }
.au-stage[data-v="cma_153286"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_153286-700.webp"); mask-image: url("media/vessels/cma_153286-700.webp"); }
.au-stage[data-v="aic_58904"]  .au-sheen { -webkit-mask-image: url("media/vessels/aic_58904-700.webp"); mask-image: url("media/vessels/aic_58904-700.webp"); }
.au-stage[data-v="cma_120203"] .au-sheen { -webkit-mask-image: url("media/vessels/cma_120203-900.webp"); mask-image: url("media/vessels/cma_120203-900.webp"); }
.au-cap {
  position: absolute; left: 50%; top: calc(100% + 14px); transform: translateX(-50%);
  width: max-content; max-width: min(92vw, 380px); text-align: center;
  font-family: var(--sans); font-weight: 400; font-size: var(--cap); letter-spacing: .08em; line-height: 1.75; color: var(--paper); opacity: .88;
}
.au-cap small { display: block; font-family: var(--sans); font-weight: 300; font-style: normal; font-size: calc(var(--cap) - 1px); letter-spacing: .06em; color: var(--smoke); }

/* ── 印 · 题签 · 节线（装饰，皆节制）── */
.au-seal { width: .56em; height: .56em; margin-bottom: .16em; flex: 0 0 auto; }
.au-seal rect { fill: var(--cinnabar); stroke: none; }
.au-seal .au-seal__inner { fill: none; stroke: rgba(236, 231, 219, .55); stroke-width: 2.5; }
.au-seal text { font-family: var(--brush); font-size: 62px; fill: var(--paper); }
.au-slip { display: inline-block; font-family: var(--serif); font-size: 13px; letter-spacing: .3em; color: var(--paper); opacity: .8; border: 1px solid rgba(var(--moon-a), .28); padding: 6px 12px 6px 14px; margin-bottom: 26px; }
.au-slip span { display: inline-block; }
@media (min-width: 900px) { .au-hero__text { max-width: none; } }
.au-s:not(.au-s1)::before { content: ""; display: block; width: 72px; height: 1px; margin: 0 auto clamp(40px, 7vh, 72px); background: linear-gradient(90deg, rgba(var(--moon-a), 0), rgba(var(--moon-a), .45), rgba(var(--moon-a), 0)); }
.au-s7::before { background: linear-gradient(90deg, rgba(var(--moon-a), 0), rgba(178, 74, 60, .7), rgba(var(--moon-a), 0)); }

/* ── S1 月出 ─────────────────────────────────────────────── */
.au-s1 { padding-top: clamp(28px, 6vh, 72px); min-height: calc(100vh - 70px); display: flex; flex-direction: column; justify-content: center; }
.au-hero { display: grid; gap: 34px; align-items: center; }
.au-hero__text { max-width: 36em; }
.au-stage--hero { width: min(70vw, 330px); margin-bottom: 70px; }
.au-stage--hero .au-box { width: 100%; }
@media (min-width: 900px) {
  .au-hero { grid-template-columns: 1fr 42%; gap: 6%; }
  .au-stage--hero { width: 100%; max-width: 440px; margin-left: auto; margin-right: 0; }
}
.au-scroll-hint { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; font-family: var(--sans); font-size: 11px; letter-spacing: .3em; color: var(--smoke); }
.au-scroll-hint i { display: block; width: 1px; height: 34px; background: linear-gradient(to bottom, var(--smoke), transparent); }
/* intro 前隐藏，JS 2.4s 内揭示；JS 失效时 2.6s 后由 CSS 兜底显示 */
html.motion-pending .au-intro { opacity: 0; animation: au-safety 0s 2.6s forwards; }
@keyframes au-safety { to { opacity: 1; } }

/* ── S2 看器要上手 ──────────────────────────────────────── */
.au-two { display: grid; gap: 40px; align-items: center; }
@media (min-width: 900px) { .au-two { grid-template-columns: 1fr 1fr; gap: 8%; } }
.au-stage--s2 { width: min(62vw, 300px); }
@media (min-width: 900px) { .au-stage--s2 { width: min(34vw, 400px); } }

/* ── S3 两万件 · 七件 ────────────────────────────────────── */
.au-s3 { overflow: hidden; }
.au-space { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .32; pointer-events: none; }
.au-s3 .au-wrap { position: relative; }
.au-arc { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 26px 14px; align-items: end; margin-top: 56px; }
.au-arc .au-stage { margin-bottom: 56px; }
.au-arc .au-stage:nth-child(7) { grid-column: 1 / -1; }
.au-stage--arc .au-vessel { width: auto; height: var(--vh, 22vh); max-height: 300px; }
.au-stage--arc.au-wide .au-vessel { width: var(--vw, 38vw); height: auto; max-width: 100%; }
.au-arc [data-v="cma_134843"] { --vw: 40vw; } .au-arc [data-v="cma_135015"] { --vw: 38vw; } .au-arc [data-v="cma_121469"] { --vw: 32vw; } .au-arc [data-v="cma_112196"] { --vw: 36vw; }
.au-arc [data-v="met_49855"] { --vh: 26vh; } .au-arc [data-v="met_39666"] { --vh: 20vh; } .au-arc [data-v="cma_154732"] { --vh: 26vh; }
.au-arc [data-v="cma_134843"], .au-arc [data-v="cma_135015"], .au-arc [data-v="cma_121469"], .au-arc [data-v="cma_112196"] { --wide: 1; }
@media (min-width: 900px) {
  .au-arc { display: flex; justify-content: center; align-items: flex-end; gap: 2.4%; margin-top: 70px; }
  .au-arc .au-stage { margin: 0 0 56px; flex: 0 0 auto; }
  .au-arc [data-v="cma_134843"] { --vw: 12.5vw; } .au-arc [data-v="cma_135015"] { --vw: 12vw; } .au-arc [data-v="cma_121469"] { --vw: 10.5vw; } .au-arc [data-v="cma_112196"] { --vw: 11.5vw; }
  .au-arc [data-v="met_49855"] { --vh: 32vh; } .au-arc [data-v="met_39666"] { --vh: 25vh; } .au-arc [data-v="cma_154732"] { --vh: 32vh; }
  .au-stage--arc.au-wide .au-vessel { max-width: 190px; }
  .au-arc .au-stage:nth-child(1), .au-arc .au-stage:nth-child(7) { transform: translateY(0); }
  .au-arc .au-stage:nth-child(2), .au-arc .au-stage:nth-child(6) { transform: translateY(-16px); }
  .au-arc .au-stage:nth-child(3), .au-arc .au-stage:nth-child(5) { transform: translateY(-30px); }
  .au-arc .au-stage:nth-child(4) { transform: translateY(-40px); }
}
.au-arc .au-cap { font-size: calc(var(--cap) - 1px); letter-spacing: .06em; max-width: 46vw; text-wrap: balance; }
@media (min-width: 900px) { .au-arc .au-cap { max-width: 14vw; } }

/* ── S4 闭卷考试 ─────────────────────────────────────────── */
.au-bars { display: grid; gap: 30px; max-width: 760px; margin-top: 26px; }
@media (min-width: 900px) { .au-bars { grid-template-columns: 1fr 1fr; gap: 48px; } }
.au-bargroup__t { font-family: var(--sans); font-weight: 400; font-size: calc(var(--p) + 1px); letter-spacing: .06em; color: var(--paper); margin-bottom: 12px; }
.au-bar { display: grid; grid-template-columns: 5.4em 1fr 4.6em; align-items: center; gap: 12px; font-size: 14px; color: var(--smoke); margin: 8px 0; }
.au-bar--route { grid-template-columns: 11em 1fr 3.6em; }
.au-bar__track { position: relative; height: 5px; background: rgba(var(--moon-a), .09); border-radius: 3px; overflow: hidden; }
.au-bar__fill { position: absolute; inset: 0; border-radius: 3px; transform: scaleX(var(--w)); transform-origin: left center; }
.au-bar__fill--before { background: var(--smoke); }
.au-bar__fill--after { background: var(--sky); }
.au-bar b { font-family: var(--sans); font-weight: 400; font-size: 16px; letter-spacing: .03em; color: var(--paper); text-align: right; font-variant-numeric: tabular-nums; }
.au-bar__delta { font-family: var(--sans); font-weight: 300; font-size: 14px; letter-spacing: .06em; color: var(--sky); text-align: right; margin-top: 2px; }
.au-routes { max-width: 760px; margin-top: 44px; }

/* ── S5 开片 · 证据 ──────────────────────────────────────── */
.au-two--ev { align-items: start; }
@media (min-width: 900px) { .au-evstage { position: sticky; top: 4vh; } }
.au-evstage { position: relative; padding: 10vh 0 6vh; }
.au-crackle { position: absolute; left: 50%; top: 50%; width: 132%; max-width: 900px; transform: translate(-50%, -52%); pointer-events: none; opacity: .7;
  -webkit-mask-image: radial-gradient(closest-side, #000 48%, rgba(0,0,0,.35) 72%, transparent 100%); mask-image: radial-gradient(closest-side, #000 48%, rgba(0,0,0,.35) 72%, transparent 100%); }
@media (min-width: 900px) { .au-crackle { width: 112%; max-width: 700px; opacity: .95; } }
.au-crackle path { fill: none; stroke: var(--moon); stroke-linecap: round; }
.au-crackle .ck-a { stroke-width: 1.4; opacity: .55; }
.au-crackle .ck-b { stroke-width: .6; opacity: .32; }
.au-stage--ev { width: min(84vw, 420px); margin-bottom: 64px; }
.au-stage--ev .au-cap { top: calc(100% + 30px); }
@media (min-width: 900px) { .au-stage--ev { width: min(44vw, 520px); } }
.au-outline { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.au-outline path { fill: none; stroke: var(--moon); stroke-width: 1.3; vector-effect: non-scaling-stroke; opacity: .8; stroke-linejoin: round; }
.au-part {
  position: absolute; line-height: 1.6; font-family: var(--sans); font-size: 12px; letter-spacing: .22em; color: var(--moon);
  padding: 2px 8px 2px 10px; border: 1px solid rgba(var(--moon-a), .4); border-radius: 2px; background: rgba(var(--ink-a), .62); white-space: nowrap;
}
.au-part--rim { left: 50%; top: -9%; transform: translateX(-50%); }
.au-part--body { left: -6%; top: 46%; }
.au-part--foot { left: 22%; bottom: -5%; }
.au-steps { list-style: none; counter-reset: step; margin-top: 10px; }
.au-step { position: relative; padding: 14px 0 14px 44px; border-top: 1px solid rgba(var(--moon-a), .1); }
.au-step::before { content: attr(data-step); position: absolute; left: 0; top: 14px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(var(--moon-a), .35); border-radius: 50%; font-family: var(--sans); font-weight: 300; font-size: 13px; color: var(--moon); }
.au-step b { display: block; font-family: var(--sans); font-weight: 400; font-size: calc(var(--p) + 3px); letter-spacing: .08em; color: var(--paper); margin-bottom: 4px; }
.au-step > span { display: block; font-size: calc(var(--p) - 1px); color: var(--smoke); line-height: 1.85; }
.au-measure { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; align-items: end; margin: 12px 0 8px; }
.au-measure dt { font-family: var(--sans); font-size: 12px; letter-spacing: .06em; color: var(--smoke); white-space: nowrap; }
.au-measure dd { font-family: var(--sans); font-weight: 300; font-size: clamp(22px, 3.2vw, 32px); line-height: 1.2; color: var(--moon); margin-top: 4px; font-variant-numeric: tabular-nums; }
.au-measure dd i { font-style: normal; font-size: .55em; margin-left: 1px; color: var(--smoke); }
.au-measure small { display: block; font-size: 11px; color: var(--smoke); opacity: .85; margin-top: 2px; }
.au-step .au-fine { margin-top: 6px; }

/* ── S6 一束分五束 ───────────────────────────────────────── */
.au-query { position: relative; z-index: 2; margin-top: 8px; }
.au-stage--q { width: min(46vw, 230px); margin-bottom: 76px; }
@media (min-width: 900px) { .au-stage--q { width: min(18vw, 260px); } }
.au-beams { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 1; }
.au-beams path { fill: none; stroke: var(--moon); stroke-width: 1; opacity: .55; }
.au-nbs { position: relative; z-index: 2; list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px 18px; margin-top: 18px; }
.au-nbs .au-nb:nth-child(5) { grid-column: 1 / -1; }
@media (min-width: 900px) { .au-nbs { grid-template-columns: repeat(5, 1fr); gap: 24px; } .au-nbs .au-nb:nth-child(5) { grid-column: auto; } }
.au-nb { position: relative; }
.au-spot { position: absolute; left: 50%; top: 40%; width: 180%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(var(--moon-a), .14) 0, rgba(var(--moon-a), .05) 30%, rgba(var(--ink-a), 0) 62%); }
.au-stage--nb { width: min(32vw, 150px); margin-bottom: 70px; }
.au-stage--nb .au-vessel { height: var(--nbh, 22vh); width: auto; max-height: 230px; }
@media (min-width: 900px) { .au-stage--nb { width: auto; } .au-stage--nb .au-vessel { height: 24vh; max-height: 260px; } }
.au-stage--nb .au-cap { font-size: calc(var(--cap) - 1px); max-width: 44vw; }
@media (min-width: 900px) { .au-stage--nb .au-cap { max-width: 16vw; } }
.au-stage--nb .au-cap small { white-space: normal; }
.au-s6 .au-p { margin-top: 20px; }

/* ── S7 红线（最静）─────────────────────────────────────── */
.au-s7 { padding-top: clamp(80px, 16vh, 160px); padding-bottom: clamp(80px, 16vh, 160px); }
.au-h2--line { font-size: clamp(26px, 4.8vw, 48px); letter-spacing: .14em; font-weight: 300; }
.au-redline { display: block; width: min(62vw, 440px); height: 1px; margin: 30px auto 24px; background: var(--cinnabar); box-shadow: 0 0 14px rgba(178, 74, 60, .45); }
.au-s7 .au-echo { margin-bottom: 14px; }

/* ── S8 已成 · 在做 · 未做 ─────────────────────────────── */
.au-cols { display: grid; gap: 26px; margin-top: 26px; }
@media (min-width: 900px) { .au-cols { grid-template-columns: repeat(3, 1fr); gap: 36px; } }
.au-col h3 { font-family: var(--sans); font-weight: 300; font-size: calc(var(--p) + 6px); letter-spacing: .12em; color: var(--moon); padding-bottom: 10px; border-bottom: 1px solid rgba(var(--moon-a), .14); margin-bottom: 12px; }
.au-col ul { list-style: none; }
.au-col li { position: relative; padding-left: 18px; font-size: calc(var(--p) - 1px); color: var(--paper); opacity: .86; line-height: 1.8; margin: 8px 0; }
.au-col li::before { content: ""; position: absolute; left: 0; top: .95em; width: 8px; height: 1px; background: var(--sky); }
.au-stage--s8 { width: min(36vw, 180px); margin-top: 48px; }

/* ── S9 来信 ─────────────────────────────────────────────── */
.au-s9 { padding-bottom: clamp(40px, 8vh, 80px); }
.au-s9 .au-cta { justify-content: center; }
.au-doors { display: flex; gap: 22px; justify-content: center; flex-wrap: wrap; margin-top: 22px; }
.au-doors a { font-family: var(--sans); font-size: 13.5px; letter-spacing: .1em; color: var(--smoke); text-decoration: none; border-bottom: 1px solid rgba(var(--moon-a), .2); padding-bottom: 2px; }
.au-doors a:hover { color: var(--paper); border-color: var(--sky); }

.au-nw { white-space: nowrap; }
.au-sep { display: block; height: 0; overflow: hidden; }
@media (min-width: 900px) { .au-nw-d { white-space: nowrap; } .au-sep { display: inline; height: auto; color: rgba(var(--moon-a), .35); } }

/* ── 页脚 ─────────────────────────────────────────────────── */
.au-foot { position: relative; z-index: 1; text-align: center; padding: 26px var(--gutter) calc(44px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(var(--moon-a), .1); }
.au-foot nav { display: flex; gap: 22px; justify-content: center; flex-wrap: wrap; }
.au-foot nav a { font-family: var(--sans); font-size: 13.5px; letter-spacing: .12em; color: var(--smoke); text-decoration: none; }
.au-foot nav a:hover { color: var(--paper); }
.au-foot .au-fine { margin: 18px auto 0; max-width: 60em; }

html[data-motion-tier="eco"] .au-haze { display: none; }

/* ── 动效基线 ─────────────────────────────────────────────── */
/* 默认即静态全亮态；只有 JS 成功进入演出态（html.fx）时才把待揭示元素交给 GSAP。*/
@media (prefers-reduced-motion: reduce) {
  html.motion-pending .au-intro { opacity: 1; animation: none; }
  .au-moon, .au-lattice, .au-sheen i { will-change: auto; }
}

/* ── S6 on phones: a ranked list instead of a 2-column grid ── */
@media (max-width: 899px) {
  .au-beams, .au-spot { display: none; }
  .au-nbs { display: flex; flex-direction: column; gap: 0; margin-top: 8px; counter-reset: nb; }
  .au-nbs .au-nb { padding: 12px 0; border-top: 1px solid rgba(var(--moon-a), .10); }
  .au-nbs .au-nb:last-child { border-bottom: 1px solid rgba(var(--moon-a), .10); }
  .au-nbs .au-nb::before { counter-increment: nb; content: counter(nb, decimal-leading-zero); position: absolute; right: 0; top: 14px; font-family: var(--sans); font-weight: 300; font-size: 12px; letter-spacing: .12em; color: var(--smoke); }
  .au-stage--nb { display: grid; grid-template-columns: 84px 1fr; gap: 18px; align-items: center; width: 100%; margin: 0; text-align: left; }
  .au-stage--nb .au-box { width: 84px; height: 120px; display: flex; align-items: flex-end; justify-content: center; }
  .au-stage--nb .au-vessel { height: auto; max-height: 120px; width: auto; max-width: 84px; }
  .au-stage--nb .au-cap { position: static; transform: none; width: auto; max-width: none; text-align: left; padding-right: 28px; }
  .au-stage--nb .au-cap small { white-space: normal; }
  .au-stage--q { margin-bottom: 84px; }
  .au-h2--line .au-nw { white-space: nowrap; }
}

/* ── S10 市场 / S11 发现 / S12 生意 ── */
.au-h3 { font-family: var(--sans); font-weight: 300; font-size: calc(var(--h2) * .62); letter-spacing: .06em; color: var(--paper); margin-top: 40px; }
.au-kpis { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 18px; margin: 26px 0 8px; }
@media (min-width: 900px) { .au-kpis { grid-template-columns: repeat(4, 1fr); gap: 28px; } }
.au-kpi b { display: block; font-family: var(--sans); font-weight: 300; font-size: clamp(30px, 4.2vw, 50px); line-height: 1.1; color: var(--moon); letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.au-kpi b i { font-style: normal; font-size: .42em; letter-spacing: .08em; margin-left: .25em; color: var(--paper); opacity: .8; }
.au-kpi span { display: block; margin-top: 8px; font-size: var(--fine); line-height: 1.7; color: var(--smoke); }
.au-tbl { margin: 26px 0 6px; border-top: 1px solid rgba(var(--moon-a), .14); }
.au-tbl__row { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid rgba(var(--moon-a), .10); font-size: var(--p); color: var(--paper); }
.au-tbl__row b { font-family: var(--sans); font-weight: 300; font-size: calc(var(--p) + 6px); color: var(--moon); white-space: nowrap; font-variant-numeric: tabular-nums; }
.au-tbl__head { font-size: var(--fine); letter-spacing: .08em; color: var(--smoke); }
.au-todos { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 22px 0 6px; }
@media (min-width: 900px) { .au-todos { grid-template-columns: repeat(2, 1fr); gap: 12px 18px; } }
.au-todo { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 14px; border: 1px dashed rgba(var(--moon-a), .28); border-radius: 3px; }
.au-todo__k { font-size: var(--fine); line-height: 1.6; color: var(--paper); opacity: .85; }
.au-todo__v { flex: none; font-size: 11.5px; letter-spacing: .14em; color: var(--sky); white-space: nowrap; }
.au-bullets { list-style: none; margin-top: 14px; }
.au-bullets li { position: relative; padding: 8px 0 8px 18px; font-size: var(--p); line-height: 1.8; color: var(--paper); opacity: .9; }
.au-bullets li::before { content: ""; position: absolute; left: 0; top: 1.05em; width: 7px; height: 1px; background: var(--sky); }
.au-s10 .au-p, .au-s11 .au-p, .au-s12 .au-p { max-width: 40em; }
.au-s10 .au-bullets, .au-s11 .au-bullets, .au-s12 .au-bullets, .au-s10 .au-fine { max-width: 44em; }

/* ── S13 报告样例 ── */
.au-rep { display: grid; grid-template-columns: 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid rgba(var(--moon-a), .12); }
@media (min-width: 900px) { .au-rep { grid-template-columns: 220px 1fr; gap: 36px; padding: 30px 0; } }
.au-rep__fig { margin: 0; }
.au-rep__fig img { display: block; width: 100%; max-width: 220px; height: auto; border-radius: 3px; }
.au-rep__fig figcaption { margin-top: 10px; font-size: var(--cap); letter-spacing: .04em; color: var(--paper); }
.au-rep__fig figcaption small { display: block; margin-top: 3px; font-size: var(--fine); color: var(--smoke); letter-spacing: .04em; }
.au-prob { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 12px; padding: 7px 0; }
.au-prob span { font-size: var(--fine); letter-spacing: .08em; color: var(--smoke); }
.au-prob i { display: block; height: 5px; border-radius: 3px; background: rgba(var(--moon-a), .09); position: relative; overflow: hidden; }
.au-prob i::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--w, 0) * 100%); background: var(--sky); border-radius: 3px; }
.au-prob b { font-family: var(--sans); font-weight: 300; font-size: var(--p); color: var(--moon); white-space: nowrap; min-width: 6.5em; text-align: right; }
.au-rep__verdict { margin-top: 10px; font-size: var(--p); line-height: 1.8; color: var(--paper); }
.au-rep--miss .au-prob i::after { background: var(--cinnabar); opacity: .8; }
.au-rep__nbs { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.au-rep__nbs li { font-size: var(--fine); line-height: 1.55; color: var(--smoke); }
.au-rep__nbs img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 3px; margin-bottom: 6px; }
.au-rep__nbs i { font-style: normal; color: var(--sky); }
.au-s13 .au-p { max-width: 40em; }

/* ── S5 crackle stays on the left column on wide screens; text column gets a soft backdrop ── */
.au-crackle { -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; overflow: hidden; }
@media (min-width: 900px) {
  .au-crackle { width: 104%; max-width: 640px; opacity: .62;
    -webkit-mask-image: radial-gradient(closest-side, #000 40%, rgba(0,0,0,.3) 66%, transparent 92%), linear-gradient(90deg, #000 62%, transparent 96%);
    mask-image: radial-gradient(closest-side, #000 40%, rgba(0,0,0,.3) 66%, transparent 92%), linear-gradient(90deg, #000 62%, transparent 96%);
    -webkit-mask-composite: source-in; mask-composite: intersect; }
  .au-crackle .ck-a { opacity: .42; } .au-crackle .ck-b { opacity: .24; }
  .au-s5 .au-text { position: relative; z-index: 2; }
  .au-s5 .au-text::before { content: ""; position: absolute; inset: -60px -80px -60px -110px; z-index: -1; filter: blur(26px);
    background: radial-gradient(ellipse 62% 58% at 48% 50%, rgba(var(--ink-a), .82) 0%, rgba(var(--ink-a), .6) 45%, rgba(var(--ink-a), 0) 100%); }
}

/* ── inline figures ── */
.au-figwrap { margin: 22px 0 8px; max-width: 680px; }
.au-figcap { font-size: var(--fine); letter-spacing: .08em; color: var(--smoke); margin-bottom: 10px; }
.au-fig { display: block; width: 100%; height: auto; overflow: visible; }
.au-fig text { font-family: var(--sans); font-weight: 300; }
.au-fig .f-lab { font-size: 13px; fill: var(--paper); }
.au-fig .f-val { font-size: 11px; fill: var(--moon); }
.au-fig .f-n { font-size: 10px; fill: var(--smoke); letter-spacing: .04em; }
.au-fig .f-leg { font-size: 11px; fill: var(--smoke); letter-spacing: .06em; }
.au-fig .f-leg .f-a, .au-fig rect.f-a { fill: var(--sky); }
.au-fig .f-leg .f-b, .au-fig rect.f-b { fill: var(--cinnabar); opacity: .85; }
.au-fig .f-axis { stroke: rgba(var(--moon-a), .25); stroke-width: 1; }
.au-fig .f-ref { fill: var(--smoke); }
.au-fig .f-us { fill: var(--sky); }
.au-fig .f-lab-s { font-size: 10.5px; fill: var(--smoke); }
.au-fig .f-lab-us { font-size: 11px; fill: var(--moon); }
.au-fig--strip { max-width: 520px; }

/* ── HTML bar figures (responsive text) ── */
.au-hbars { margin: 6px 0 4px; }
.au-hbars__leg { font-size: var(--fine); letter-spacing: .06em; color: var(--smoke); margin-bottom: 10px; }
.au-sw { display: inline-block; width: 10px; height: 10px; border-radius: 2px; vertical-align: -1px; margin-right: 6px; }
.au-sw--a { background: var(--sky); } .au-sw--b { background: var(--cinnabar); opacity: .85; }
.au-hbars__row { display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; padding: 6px 0; }
.au-hbars--strip .au-hbars__row { grid-template-columns: 28px 1fr; padding: 3px 0; }
.au-hbars__lab { font-size: var(--fine); color: var(--paper); letter-spacing: .04em; }
.au-hbars__lab small { display: block; font-size: 10.5px; color: var(--smoke); letter-spacing: .06em; }
.au-hbars__bars { display: grid; gap: 5px; }
.au-hbar { display: grid; grid-template-columns: 1fr 44px; gap: 10px; align-items: center; }
.au-hbar i { display: block; height: 7px; border-radius: 3px; background: rgba(var(--moon-a), .08); position: relative; overflow: hidden; }
.au-hbar i::after { content: ""; position: absolute; inset: 0; width: calc(var(--w, 0) * 100%); border-radius: 3px; background: var(--sky); }
.au-hbar i.au-hbar__b::after { background: var(--cinnabar); opacity: .85; }
.au-hbar b { font-family: var(--sans); font-weight: 300; font-size: var(--fine); color: var(--moon); font-variant-numeric: tabular-nums; text-align: right; }
.au-hbars--strip .au-hbar i { height: 6px; }
.au-pricelist { list-style: none; margin: 10px 0 4px; border-top: 1px solid rgba(var(--moon-a), .12); }
.au-pricelist li { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid rgba(var(--moon-a), .10); font-size: var(--fine); color: var(--smoke); }
.au-pricelist li b { font-family: var(--sans); font-weight: 300; color: var(--moon); font-variant-numeric: tabular-nums; }
.au-pricelist li.is-us { color: var(--paper); } .au-pricelist li.is-us b { color: var(--sky); }
.au-fig--price { display: none; }
@media (min-width: 900px) { .au-fig--price { display: block; } .au-pricelist { display: none; } .au-figwrap { max-width: 640px; } }

/* ── typography hygiene: no orphan characters, units stay with numbers ── */
body { line-break: strict; }
.au-p, .au-lede, .au-fine, .au-col li, .au-bullets li, .au-rep__verdict, .au-kpi span, .au-todo__k { text-wrap: pretty; }
.au-h1, .au-h2, .au-h3 { text-wrap: balance; }
.nw { white-space: nowrap; }
.au-bignum { white-space: nowrap; }
.au-dot { display: inline-block; margin: 0 .45em; color: rgba(var(--moon-a), .5); }
.au-p--pull { font-size: calc(var(--p) + 3px); color: var(--moon); letter-spacing: .04em; margin: 22px 0; }
.au-s7 .au-p { text-align: left; }
.au-foot__list { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 22px; justify-content: center; font-size: var(--fine); color: var(--smoke); }
.au-foot__list li { white-space: nowrap; }
.au-rep__nbs .nb-h, .au-rep__nbs .nb-t, .au-rep__nbs .nb-s { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.au-rep__nbs .nb-s { color: var(--sky); }
.au-rep__fig img { content-visibility: auto; }
@media (max-width: 899px) { .au-rep__nbs { gap: 10px; } .au-rep__nbs li { font-size: 11.5px; } }

.au-rep__nbs { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* ── pricing tiers ── */
.au-tiers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 16px; margin: 18px 0 6px; }
@media (min-width: 900px) { .au-tiers { grid-template-columns: repeat(4, 1fr); gap: 24px; } }
.au-tier { padding: 16px 0 0; border-top: 1px solid rgba(var(--moon-a), .18); }
.au-tier b { display: block; font-family: var(--sans); font-weight: 300; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.1; color: var(--moon); font-variant-numeric: tabular-nums; }
.au-tier b i { font-style: normal; font-size: .4em; letter-spacing: .08em; margin-left: .15em; color: var(--paper); opacity: .75; }
.au-tier span { display: block; margin-top: 8px; font-size: var(--p); color: var(--paper); }
.au-tier small { display: block; margin-top: 4px; font-size: var(--fine); line-height: 1.6; color: var(--smoke); }

/* ── training-flow figure v2 (real cutouts, pure CSS animation) ── */
.au-figwrap--flow { max-width: 900px; }
.au-flowwrap { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
.au-flow { display: block; width: 100%; min-width: 760px; height: auto; overflow: visible; }
.au-flow text { font-family: var(--sans); font-weight: 300; }
.au-flow .fl-lines path { fill: none; stroke: rgba(var(--moon-a), .20); stroke-width: 1; }
.au-flow .fl-cap { font-size: 12.5px; fill: var(--paper); letter-spacing: .06em; opacity: .9; }
.au-flow .fl-dash { fill: none; stroke: var(--moon); stroke-width: 1.1; stroke-dasharray: 4 4; opacity: .75; }
.au-flow .fl-grid circle { fill: rgba(var(--moon-a), .18); }
.au-flow .fl-grid circle:nth-child(3n) { fill: rgba(var(--sky-a), .55); }
.au-flow .fl-tile { stroke: rgba(var(--moon-a), .45); stroke-width: 1; }
.au-flow .fl-sealdot { fill: var(--cinnabar); opacity: .9; }
.au-flow .fl-nl { font-size: 16px; fill: var(--paper); letter-spacing: .08em; }
.au-flow .fl-ns { font-size: 12px; fill: var(--smoke); letter-spacing: .06em; }
.au-flow .fl-nx { font-size: 10.5px; fill: var(--smoke); letter-spacing: .04em; opacity: .85; }
.au-flow .fl-shelf rect { fill: rgba(var(--moon-a), .035); stroke: rgba(var(--moon-a), .3); stroke-width: 1; }
.au-flow .fl-sl { font-size: 13.5px; fill: var(--moon); letter-spacing: .1em; }
.au-flow .fl-out { font-size: 13px; fill: var(--sky); letter-spacing: .1em; }
.au-flow .fl-tok { will-change: transform, opacity; }

/* ── 卷目：阅读进度细线 + 目录折页 ── */
.au-rail { position: fixed; right: 9px; top: 14vh; height: 72vh; width: 1px; background: rgba(var(--moon-a), .14); z-index: 40; pointer-events: none; }
.au-rail i { position: absolute; left: -3px; top: calc(var(--p, 0) * 100%); width: 7px; height: 7px; border-radius: 50%; background: var(--moon); box-shadow: 0 0 10px 2px rgba(var(--moon-a), .35); transform: translateY(-50%); transition: top .12s linear; }
.au-toc { position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 60; }
.au-toc summary { list-style: none; cursor: pointer; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(var(--moon-a), .38); background: rgba(var(--ink-a), .72); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--moon); font-family: var(--sans); font-weight: 300; font-size: 16px; letter-spacing: .04em; user-select: none; -webkit-tap-highlight-color: transparent; position: relative; z-index: 2; }
.au-toc summary::-webkit-details-marker { display: none; }
.au-toc summary .c { display: none; } .au-toc[open] summary .o { display: none; } .au-toc[open] summary .c { display: inline; }
.au-toc[open]::before { content: ""; position: fixed; inset: 0; background: rgba(var(--ink-a), .5); z-index: 0; }
.au-toc__sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1; padding: 22px var(--gutter) calc(84px + env(safe-area-inset-bottom)); background: rgba(var(--ink-a), .96); border-top: 1px solid rgba(var(--moon-a), .14); max-height: 74vh; overflow-y: auto; }
.au-toc__t { font-family: var(--sans); font-weight: 300; font-size: var(--eyebrow); letter-spacing: .3em; color: var(--smoke); margin-bottom: 10px; }
.au-toc__sheet ol { list-style: none; columns: 2; column-gap: 28px; }
.au-toc__sheet li { break-inside: avoid; }
.au-toc__sheet a { display: flex; align-items: baseline; gap: 10px; padding: 8px 0; color: var(--paper); text-decoration: none; font-size: var(--p); letter-spacing: .04em; border-bottom: 1px solid rgba(var(--moon-a), .08); }
.au-toc__sheet a i { font-style: normal; font-size: var(--fine); color: var(--smoke); width: 2.4em; flex: none; white-space: nowrap; letter-spacing: .1em; }
.au-toc__sheet li.is-cur a { color: var(--moon); } .au-toc__sheet li.is-cur a i { color: var(--cinnabar); }
@media (min-width: 900px) { .au-toc__sheet { left: auto; right: 18px; bottom: 76px; width: 320px; border: 1px solid rgba(var(--moon-a), .14); border-radius: 6px; padding: 18px 22px 10px; max-height: 84vh; } .au-toc__sheet ol { columns: 1; } .au-toc[open]::before { background: transparent; } .au-rail { right: 12px; } }
@media print { .au-rail, .au-toc { display: none; } }

.au-lede { margin-top: 22px; }
.au-h2 + .au-p, .au-h2 + .au-figwrap, .au-h2 + .au-bignum { margin-top: 22px; }

/* v28: pending boxes stack key over value so long values wrap on phones */
.au-todo { flex-direction: column; align-items: flex-start; gap: 6px; }
.au-todo__v { flex: initial; white-space: normal; line-height: 1.7; letter-spacing: .08em; text-wrap: pretty; }
