.sd-section{padding:32px 0}.sd-section .section-heading{margin-bottom:23px}.sd-section .section-heading p{color:var(--prose-soft);margin:7px 0 0}.sd-section code{background:var(--surface);font:500 .88em var(--font-code);border-radius:5px;padding:1px 5px}.sd-figure{border-radius:var(--radius);background:var(--surface);box-shadow:var(--elev-1);margin:0;padding:22px;overflow-x:auto}.sd-figure figcaption{color:var(--prose-soft);margin-top:12px;padding-top:14px;font-size:12.5px;line-height:1.5}.sd-diagram{width:100%;height:auto;display:block;overflow:visible}.sd-node rect{fill:var(--bg);stroke:var(--line);stroke-width:1px}.sd-node:hover rect{stroke:var(--accent)}.sd-node-title{fill:var(--fg);font:600 15px var(--font-manrope), Manrope, sans-serif}.sd-node-sub{fill:var(--muted);font:500 12px var(--font-label)}.sd-layer-label{fill:var(--muted);text-transform:uppercase;letter-spacing:.14em;font:500 11px var(--font-label);paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sd-edge{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linecap:round;opacity:.55;stroke-dasharray:5 5}.sd-entity rect{fill:var(--bg);stroke:var(--line);stroke-width:1px}.sd-entity-head{fill:var(--accent-soft);stroke:none}.sd-entity:hover rect:first-of-type{stroke:var(--accent)}.sd-entity-name{fill:var(--fg);font:700 14px var(--font-manrope), Manrope, sans-serif}.sd-entity-field{fill:var(--prose-soft);font:400 12px var(--font-label)}.sd-rel{fill:none;stroke:var(--accent);stroke-width:1.25px;opacity:.5;stroke-dasharray:4 4}.sd-rel-label{fill:var(--muted);font:500 11px var(--font-label)}:root[data-theme=dark] .sd-edge,:root[data-theme=dark] .sd-rel{filter:drop-shadow(0 0 3px var(--accent));opacity:.75}:root[data-theme=dark] .sd-figure{box-shadow:none}@keyframes sd-draw{0%{stroke-dashoffset:90px;opacity:0}}[data-revealed=true] .sd-edge,[data-revealed=true] .sd-rel{animation:.9s ease-out both sd-draw;animation-delay:calc(var(--i,0) * 60ms)}.sd-phases{counter-reset:none;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.sd-phase{background:var(--surface);border-radius:12px;flex-direction:column;gap:3px;padding:13px 13px 11px;transition:border-color .25s,box-shadow .25s;display:flex}.sd-phase:hover{box-shadow:var(--elev-1)}.sd-phase-n{color:var(--accent);font:600 9.5px var(--font-label);letter-spacing:.1em}.sd-phase-label{color:var(--fg);letter-spacing:-.02em;font-size:13px;font-weight:600}.sd-phase-note{color:var(--prose-soft);font-size:11.5px;line-height:1.45}.sd-phase-state{color:var(--muted);font:500 9px var(--font-label);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:6px;margin-top:auto;padding-top:10px;display:flex}.sd-phase-state:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.sd-phase[data-state=keyed] .sd-phase-state:before{background:0 0}[data-reveal-ready=true] .sd-phase{opacity:0;transition:opacity .5s cubic-bezier(.22, 1, .36, 1) calc(var(--i,0) * 28ms), border-color .25s, box-shadow .25s}[data-reveal-ready=true] [data-revealed=true] .sd-phase{opacity:1}.sd-section .disclosure-group{gap:8px}.sd-section .disclosure-body p{margin:0;font-size:13px;line-height:1.52}.sd-table-wrap{border-radius:var(--radius);overflow-x:auto}.sd-table{border-collapse:collapse;width:100%;font-size:13px}.sd-table th,.sd-table td{text-align:left;padding:13px 16px}.sd-table thead th{background:var(--surface-2);color:var(--fg);font:500 10px var(--font-label);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.12em}.sd-table tbody th{color:var(--fg);white-space:nowrap;font-weight:600}.sd-table tbody td{color:var(--prose-soft)}.sd-table tbody tr:last-child th,.sd-table tbody tr:last-child td{border-bottom:none}.sd-outro p{max-width:560px;color:var(--prose-fg);font-size:16px}.sd-outro-actions{flex-wrap:wrap;gap:14px;margin-top:13px;display:flex}@media (max-width:700px){.sd-section{padding:40px 0}.sd-figure{padding:14px}}@media (prefers-reduced-motion:reduce){[data-revealed=true] .sd-edge,[data-revealed=true] .sd-rel{animation:none}[data-reveal-ready=true] .sd-phase{opacity:1;transition:none}}
