/* sword.christcode.ai additions (night register, tokens from styles.css) */
figure.plate svg{display:block;width:100%;height:auto;background:var(--bg2)}
figure.plate.sq svg{max-width:640px;margin:0 auto}
.fig-scroll{overflow-x:auto}.fig-scroll svg{min-width:640px}
svg text{font-family:var(--mono);fill:var(--ink)}
.sea,.sea2{fill:var(--bg2)}.land{fill:#3b3327;stroke:#57492c;stroke-width:.8}
.grat{stroke:var(--line);stroke-width:.8;fill:none}.gl{font-size:13px;fill:var(--ink-faint)}
.sword{stroke:var(--gold);stroke-width:3.5;fill:none}.sword.thin{stroke-width:2.6}.gc{stroke:var(--ink-faint);stroke-width:1.8;stroke-dasharray:7 6;fill:none}
.site{fill:var(--gold);stroke:var(--bg);stroke-width:2}.site.hollow{fill:var(--bg2);stroke:var(--gold);stroke-width:3}
.sl{font-size:22px;font-weight:500;fill:var(--ink)}.sl.on{font-size:18px}
.extra{fill:var(--bg2);stroke:var(--ember);stroke-width:2.5}.xl{font-size:18px;fill:#e9a58c}
.note{font-family:var(--serif);font-style:italic;font-size:19px;fill:var(--ink-soft)}.note.strong{fill:var(--ink)}
.north{stroke:var(--ink-soft);stroke-width:1.4;stroke-dasharray:3 4}.arc{stroke:var(--ink-soft);stroke-width:1.4;fill:none}
.axis{stroke:var(--gold);stroke-width:3.5}.rung{stroke:var(--ink-soft);stroke-width:1.4}.rung.half{stroke:var(--ink-faint);stroke-dasharray:3 4}
.rl{font-family:var(--serif);font-size:26px;fill:var(--gold-pale)}.rl.sm{font-family:var(--mono);font-size:13px;fill:var(--ink-faint)}
.leg{font-size:14px;fill:var(--ink-soft)}.dl{font-size:15px;fill:var(--ink)}
.curve{stroke:var(--ember);stroke-width:3;fill:none}.drop{stroke:var(--ink-faint);stroke-width:1;stroke-dasharray:2 4}.ring{fill:none;stroke:var(--ink);stroke-width:2}
.rim{fill:none;stroke:var(--line);stroke-width:1.5}.pole{fill:var(--ink)}
.beyond{fill:var(--gold);opacity:.1}.solst{stroke:var(--ember);stroke-width:3}.feast{stroke:var(--ink-soft);stroke-width:1.4;stroke-dasharray:5 5}.climb{stroke:var(--gold);stroke-width:3;fill:none}
.key{display:flex;flex-wrap:wrap;gap:6px 22px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);padding:12px 6px 0}
.key i{display:inline-block;vertical-align:middle;margin-right:8px}
.k-sword{width:26px;border-top:3px solid var(--gold)}.k-gc{width:26px;border-top:2px dashed var(--ink-faint)}
.k-site{width:11px;height:11px;border-radius:50%;background:var(--gold)}.k-x{width:9px;height:9px;transform:rotate(45deg);border:2px solid var(--ember)}
.heavens{display:grid;gap:14px;margin:44px 0 10px}
.hv{display:grid;grid-template-columns:64px 1fr;gap:18px;border:1px solid var(--line-soft);background:var(--card);border-radius:10px;padding:20px 22px}
.hv-n{font-family:var(--serif);font-size:2.6rem;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold)}
.hv-k{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}
.hv-k span{color:var(--ink-faint)}
.hv h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;line-height:1.15;margin:6px 0 6px;color:var(--ink)}
.hv h3 i{color:var(--ink-faint);font-size:.8em}
.hv p{font-size:15px;color:var(--ink-soft);margin:0 0 6px}
.hv p .lane{margin-right:8px}
.steps{list-style:none;counter-reset:s;max-width:640px;margin:36px auto 0;text-align:left}
.steps li{counter-increment:s;position:relative;padding:0 0 16px 46px;color:var(--ink-soft)}
.steps li::before{content:counter(s);position:absolute;left:0;top:-4px;font-family:var(--serif);font-size:1.8rem;color:var(--gold)}
.route li b{min-width:150px}
@media(max-width:640px){.wrap{padding:0 16px}.hv{grid-template-columns:1fr;gap:6px}.hv-n{font-size:2rem}}
