.sd{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--s-5) var(--s-7)}.sd-grid{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:var(--s-7);gap:var(--s-7);align-items:start}.sd-toc{position:-webkit-sticky;position:sticky;top:var(--s-5);display:grid;grid-gap:2px;gap:2px;max-height:calc(100vh - 48px);overflow:auto;padding:4px 0}.sd-toc-k{margin:0 0 var(--s-2);font:500 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.sd-toc a{display:block;padding:5px 10px;border-left:2px solid var(--line);font:400 14px/1.35 var(--font-text);color:var(--dim);text-decoration:none}.sd-toc a:hover{color:var(--text);border-left-color:var(--text)}.sd-toc-m{display:none}.sd-body{max-width:68ch;min-width:0;font:400 16px/1.65 var(--font-text);color:var(--text-2)}.sd-body>:first-child{margin-top:0}.sd-body h2{margin:var(--s-7) 0 var(--s-3);padding-top:var(--s-5);border-top:1px solid var(--line);font:700 22px/1.25 var(--font-head);font-stretch:112%;letter-spacing:-.01em;color:var(--text);scroll-margin-top:var(--s-5)}.sd-body>.sd-toc-m+h2,.sd-body>h2:first-child{margin-top:0;padding-top:0;border-top:0}.sd-body h3{margin:var(--s-5) 0 var(--s-2);font:600 16px/1.35 var(--font-text);letter-spacing:0;color:var(--text);scroll-margin-top:var(--s-5)}.sd-body p{margin:0 0 var(--s-3)}.sd-body ol,.sd-body ul{margin:0 0 var(--s-4);padding-left:22px}.sd-body li{margin-bottom:6px}.sd-body li::marker{color:var(--dim)}.sd-body b,.sd-body strong{color:var(--text);font-weight:600}.sd-body code{font:400 .9em var(--font-mono);color:var(--text);overflow-wrap:anywhere}.sd-body .sd-anchor{display:block;height:0;overflow:hidden}.sd-note{color:var(--dim)}.sd-formula{font:500 14px/1.5 var(--font-mono);color:var(--text)}.sd-callout,.sd-formula{margin:0 0 var(--s-4);padding:var(--s-3) var(--s-4);border-radius:var(--r-ctl);background:var(--surface);border:1px solid var(--line)}.sd-callout{color:var(--text-2)}.sd-callout-warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 40%,transparent);color:var(--text)}.sd-callout>:last-child{margin-bottom:0}.sd-steps{list-style:none;padding:0!important;counter-reset:sd;display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.sd-steps>li{counter-increment:sd;position:relative;margin:0;padding:var(--s-4) var(--s-4) var(--s-4) 52px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.sd-steps>li:before{content:counter(sd);position:absolute;left:var(--s-4);top:var(--s-4);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--line-2);font:500 12px/1 var(--font-mono);color:var(--text)}.sd-steps h3{margin:0 0 4px}.sd-steps p{margin:0}.sd-defs{margin:0 0 var(--s-4);display:grid;border-top:1px solid var(--line)}.sd-defs>div{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);grid-gap:var(--s-4);gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.sd-defs dt{font:500 13px/1.5 var(--font-mono);color:var(--text)}.sd-defs dd{margin:0}.sd-date{font:400 13px/1.3 var(--font-mono);color:var(--dim)}.rmap{list-style:none;margin:0;padding:0;display:grid;grid-gap:0;gap:0;max-width:920px}.rmap-phase{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr);grid-gap:var(--s-6);gap:var(--s-6);padding-bottom:var(--s-7)}.rmap-phase:before{content:"";position:absolute;left:7px;top:22px;bottom:0;width:2px;background:var(--line)}.rmap-phase:last-child{padding-bottom:0}.rmap-phase:last-child:before{display:none}.rmap-when{position:relative;padding-left:32px}.rmap-dot{position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;border:2px solid var(--text);background:var(--bg)}.rmap-live .rmap-dot{background:var(--ok);border-color:var(--ok);box-shadow:0 0 0 4px var(--ok-bg)}.rmap-later .rmap-dot{border-style:dashed;border-color:var(--dim)}.rmap-when h2{margin:0;font:700 20px/1.2 var(--font-head);font-stretch:112%;color:var(--text)}.rmap-when p{margin:4px 0 0;font:400 13px/1.45 var(--font-text);color:var(--dim)}.rmap-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s-3);gap:var(--s-3)}.rmap-items li{min-width:0;padding:var(--s-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.rmap-items h3{margin:0 0 4px;font:600 15px/1.35 var(--font-text);letter-spacing:0;color:var(--text)}.rmap-items p{margin:0;color:var(--text-2)}.rmap-foot,.rmap-items p{font:400 14px/1.55 var(--font-text)}.rmap-foot{margin:var(--s-7) 0 0;max-width:68ch;color:var(--dim)}.tg-card{max-width:520px;display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.tg-card p{margin:0}.tg-rows{margin:0;border-top:1px solid var(--line)}.tg-rows>div{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line);font-size:14px}.tg-rows dt{color:var(--dim)}.tg-rows dd{margin:0;font-family:var(--font-mono);color:var(--text)}.tg-msg{padding:var(--s-3) var(--s-4);border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--raised);font-size:14px;line-height:1.5;color:var(--text)}.tg-msg-warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.tg-msg-bad{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.tg-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}@media (max-width:1000px){.sd-grid{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}.sd-toc{display:none}.sd-toc-m{display:block;margin:0 0 var(--s-2);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.sd-toc-m summary{cursor:pointer;padding:var(--s-3) var(--s-4);font:500 14px/1.3 var(--font-text);color:var(--text)}.sd-toc-m nav{display:grid;padding:0 var(--s-4) var(--s-3)}.sd-toc-m a{padding:6px 0;font:400 14px/1.35 var(--font-text);color:var(--text-2);text-decoration:none;border-top:1px solid var(--line)}.rmap-phase{grid-template-columns:minmax(0,1fr);gap:var(--s-4);padding-left:0}.rmap-items{margin-left:32px}}@media (max-width:640px){.sd{padding-inline:var(--s-4)}.sd-body{font-size:15px}.sd-defs>div{gap:2px}.rmap-items,.sd-defs>div{grid-template-columns:minmax(0,1fr)}.sd-steps>li{padding-left:48px}}