* { box-sizing: border-box; }
[hidden] { display: none !important; }
:root { color-scheme: light; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 1rem/1.8 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; }
main { margin: auto; }
a { color: var(--accent); text-underline-offset: .2em; }
h1 { line-height: 1.3; }
header > a { display: block; font-size: .875rem; }
label { display: flex; align-items: center; }
.toolbar, .choices { display: flex; flex-wrap: wrap; align-items: center; }
.toolbar { background: var(--paper); border-block: 1px solid var(--line); }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.node { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.node span { font-size: .8rem; overflow-wrap: anywhere; }
.edge { text-align: center; color: var(--accent); }
details img { width: 100%; height: auto; }
summary { padding: .75rem 0; cursor: pointer; }
.source { font-size: .875rem; color: var(--muted); }
