*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#0e1c14;color:#e7f2ea;font-family:"Segoe UI",sans-serif;line-height:1.7}
.trace{display:flex;align-items:center;gap:0;padding:14px 6vw;background:#07140e;position:sticky;top:0;z-index:2;border-bottom:2px solid #3dff9a}
.trace a{color:#3dff9a;text-decoration:none;font-family:ui-monospace,Consolas,monospace;font-size:.78rem;padding:8px 14px;border:1px solid #3dff9a;border-radius:999px;margin-right:18px;position:relative}
.trace a.on{background:#3dff9a;color:#07140e}
.trace a:not(:last-child)::after{content:"";position:absolute;right:-18px;top:50%;width:18px;height:2px;background:#3dff9a}
.board{max-width:820px;margin:0 auto;padding:28px 20px 64px}
.kicker{font-family:ui-monospace,Consolas,monospace;color:#3dff9a;letter-spacing:.14em;font-size:.75rem}
h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.12;margin:8px 0 14px}
h2{font-family:ui-monospace,Consolas,monospace;color:#9dffc8;font-size:.95rem;margin:26px 0 8px}
p,li{margin:0 0 12px}
ul{margin:0 0 12px 1.1em}
img.die{width:100%;height:auto;display:block;margin:12px 0;border:1px solid #1f6b42}
.nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.node{border:1px dashed #3dff9a;padding:12px;font-size:.92rem}
.node b{display:block;font-family:ui-monospace,Consolas,monospace;color:#3dff9a;margin-bottom:4px}
.call{border-left:4px solid #3dff9a;padding:4px 0 4px 12px;margin:12px 0;color:#c9ead8}
.end{color:#8eae9a;font-size:.88rem;margin-top:18px}
@media(max-width:700px){.nodes{grid-template-columns:1fr}.trace{overflow:auto}}
