body.theme-obsidian {
  color-scheme: dark;
  --obs-ink: #08090C;
  --obs-panel: #111722;
  --obs-champagne: #D5B978;
  --obs-warm-white: #F7F2E8;
  --obs-muted-slate: #A8B0BD;
  --obs-success-green: #64B98A;
  --paper: var(--obs-ink);
  --surface: var(--obs-panel);
  --ink: var(--obs-warm-white);
  --muted: var(--obs-muted-slate);
  --rule: rgb(213 185 120 / 34%);
  --signal: var(--obs-champagne);
  --caution: #E6C988;
  --display: "BiauKai", "DFKai-SB", "PingFang TC", serif;
  --body: "PingFang TC", "Heiti TC", system-ui, sans-serif;
  --utility: "SFMono-Regular", Menlo, Consolas, monospace;
  background: var(--obs-ink);
  color: var(--obs-warm-white);
}

body.theme-obsidian .tutorial { background: var(--obs-panel); box-shadow: 0 24px 70px rgb(0 0 0 / 48%); }
body.theme-obsidian .guide-cover { position: relative; isolation: isolate; overflow: hidden; background-color: var(--obs-panel); background-image: linear-gradient(90deg, rgb(213 185 120 / 9%) 1px, transparent 1px), linear-gradient(rgb(213 185 120 / 7%) 1px, transparent 1px); background-size: 32px 32px; border-color: var(--rule); }
body.theme-obsidian .guide-cover::before { content: "EASYPAY"; position: absolute; z-index: -1; top: 64px; right: 0; color: rgb(247 242 232 / 4%); font: 800 96px/.9 var(--display); letter-spacing: .02em; writing-mode: vertical-rl; }
body.theme-obsidian .guide-cover::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(108deg, transparent 44%, rgb(213 185 120 / 9%) 49%, transparent 54%); }
body.theme-obsidian .guide-cover__kicker { width: max-content; padding: 7px 10px; border: 1px solid var(--obs-champagne); color: var(--obs-champagne); }
body.theme-obsidian .guide-cover__brand { position: static; width: 150px; height: auto; margin: 0 0 20px; object-fit: contain; object-position: left center; }
body.theme-obsidian .guide-cover__title { color: var(--obs-warm-white); font-weight: 700; text-wrap: balance; }
body.theme-obsidian .guide-cover__title::first-line { text-shadow: 1px 0 var(--obs-champagne); }
body.theme-obsidian .guide-cover__intro { color: var(--obs-muted-slate); }
body.theme-obsidian .chapter-intro { position: relative; overflow: hidden; background-color: var(--obs-ink); background-image: linear-gradient(90deg, rgb(213 185 120 / 6%) 1px, transparent 1px); background-size: 56px 100%; border-color: var(--rule); }
body.theme-obsidian .chapter-intro::after { content: ""; position: absolute; top: 0; right: 16mm; width: 1px; height: 42mm; background: var(--obs-champagne); box-shadow: 0 42mm 0 rgb(213 185 120 / 25%); }
body.theme-obsidian .chapter-intro__progress,
body.theme-obsidian .station-code,
body.theme-obsidian .journey-directory__code { color: var(--obs-champagne); }
body.theme-obsidian .chapter-intro__title,
body.theme-obsidian .journey-directory__title,
body.theme-obsidian .step__title { color: var(--obs-warm-white); font-weight: 700; }
body.theme-obsidian .chapter-intro__summary,
body.theme-obsidian .step__detail,
body.theme-obsidian .journey-directory__badge { color: var(--obs-muted-slate); }
body.theme-obsidian .journey-directory { background: var(--obs-panel); border-color: var(--rule); }
body.theme-obsidian .journey-directory__item { border-color: var(--rule); }
body.theme-obsidian .journey-directory__link:focus-visible { outline-color: var(--obs-champagne); }
body.theme-obsidian .guide-sections::before { border-color: var(--obs-champagne); }
body.theme-obsidian .journey-ticket { overflow: hidden; background: var(--obs-panel); border: 0; border-top: 1px solid var(--rule); box-shadow: inset 4px 0 0 rgb(213 185 120 / 10%); }
body.theme-obsidian .journey-ticket::before { background: var(--obs-ink); border-color: var(--obs-champagne); box-shadow: 0 0 0 5px rgb(213 185 120 / 9%); }
body.theme-obsidian .journey-ticket::after { border-color: var(--rule); }
body.theme-obsidian .step__header { padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
body.theme-obsidian .step__action { color: var(--obs-warm-white); }
body.theme-obsidian .step__image { border-color: rgb(213 185 120 / 45%); border-radius: 0; background: var(--obs-ink); filter: saturate(.72) contrast(1.08); }
body.theme-obsidian .media-badge { color: var(--obs-ink); background: var(--obs-champagne); border: 1px solid var(--obs-champagne); border-radius: 0; box-shadow: 4px 4px 0 var(--obs-ink); }
body.theme-obsidian .callout { color: var(--obs-warm-white); border-color: var(--obs-champagne); background: rgb(213 185 120 / 7%); }
body.theme-obsidian .callout__label { color: var(--obs-champagne); }
body.theme-obsidian .verification { padding: 13px 14px; background: rgb(100 185 138 / 9%); border-left: 3px solid var(--obs-success-green); }
body.theme-obsidian .verification__box,
body.theme-obsidian .verification__text { color: var(--obs-success-green); }
body.theme-obsidian .guide-disclaimer { background: var(--obs-ink); border: 1px solid var(--obs-champagne); box-shadow: inset 8px 0 0 var(--obs-champagne); }
body.theme-obsidian .guide-disclaimer__label { color: var(--obs-champagne); }
body.theme-obsidian .guide-footer { border-color: var(--rule); color: var(--obs-muted-slate); }
body.theme-obsidian .funds-route { position: relative; isolation: isolate; }
body.theme-obsidian .funds-route::before { content: ""; position: absolute; z-index: -1; top: 0; right: 0; left: 0; height: 3px; background: linear-gradient(90deg, var(--obs-champagne), #F0DCAB 48%, var(--obs-champagne)); box-shadow: 0 1px 7px rgb(213 185 120 / 32%); }
body.theme-obsidian .funds-stop { border-color: transparent; }
body.theme-obsidian .funds-stop::before { border-color: var(--obs-champagne); border-radius: 2px; background: var(--obs-ink); box-shadow: 0 0 0 4px rgb(213 185 120 / 10%); transform: rotate(45deg); }
body.theme-obsidian .funds-stop__label { color: var(--obs-muted-slate); }
body.theme-obsidian .funds-stop__value { color: var(--obs-warm-white); }
body.theme-obsidian .funds-stop__note { color: var(--obs-champagne); }
