.sre-scene { position: absolute; inset: 0; overflow: hidden; }
.sre-scene .w { position: absolute; }
.sre-head { font: 900 69px/1.15 var(--kit-font-display); color: var(--kit-ink); white-space: nowrap; }
.sre-head.big { font-size: 88px; }
.sre-deck { font: 500 32px/1.35 var(--kit-font-body); color: var(--kit-muted); white-space: nowrap; }
.sre-index { font: 400 italic 30px/1 var(--kit-font-num); color: var(--kit-accent-ink); }
.sre-rule { height: 2px; background: var(--kit-ink); transform-origin: 0 50%; }
.sre-hair { height: 2px; background: rgba(22,19,15,.42); transform-origin: 0 50%; }
.sre-ink { background: var(--kit-block); color: var(--kit-surface); }
.sre-accent { background: var(--kit-accent); color: #fffaf2; }
.sre-stone { background: var(--kit-stone); color: var(--kit-ink); }
.sre-paper { background: var(--kit-surface); border: 2px solid rgba(22,19,15,.36); color: var(--kit-ink); }
.sre-hatch { background: repeating-linear-gradient(135deg,var(--kit-warn) 0 5px,var(--kit-warn-fill) 5px 11px); }
.sre-node { display: flex; align-items: center; justify-content: center; text-align: center; font: 900 38px/1.12 var(--kit-font-display); }
.sre-node.small { font-size: 31px; }
.sre-label { font: 500 31px/1.2 var(--kit-font-body); color: var(--kit-ink); white-space: nowrap; }
.sre-label.muted { color: var(--kit-muted); }
.sre-label.red { color: var(--kit-accent-ink); }
.sre-label.warn { color: var(--kit-warn); }
.sre-foot { font: 500 27px/1.3 var(--kit-font-body); color: var(--kit-muted); white-space: nowrap; }
.sre-number { font: 400 172px/.95 var(--kit-font-num); color: var(--kit-ink); white-space: nowrap; }
.sre-big-zh { font: 900 176px/1 var(--kit-font-display); color: var(--kit-ink); white-space: nowrap; }
.sre-mini { font: 500 26px/1.2 var(--kit-font-body); color: var(--kit-muted); white-space: nowrap; }
.sre-outline { border: 3px solid rgba(22,19,15,.48); background: var(--kit-surface); }
.sre-dash { border: 3px dashed rgba(22,19,15,.45); background: transparent; }
.sre-band { border-left: 6px solid var(--kit-accent); padding-left: 20px; }

/* The topic layer uses one embedded sans family so Chinese glyphs do not
   switch between serif/fallback faces as labels and headings appear. */
:root {
  --kit-font-display: "Noto Sans SC", sans-serif;
  --kit-font-body: "Noto Sans SC", sans-serif;
}
