/* Socket Conveyor — shared design system (Option D) */

/* ---------- theme tokens ---------- */
.t-dark{--bg:#121419;--bg2:#16191F;--panel:#1A1D24;--panel2:#1F232B;--code:#14171C;--line:#2A2E37;--line2:#363B46;--ink:#EEEAE3;--body:#BDB8AE;--muted:#928D84;--faint:#5E5A54;
--y:#E9D59C;--g:#AFCBAE;--l:#BDB4DB;--r:#DDA894;--b:#A9BCC8;--brand:#FACC15;--gh:#C9C0E6;--ghInk:#1E1A2E;
--tint:10%;--edge:30%;--glowA:rgba(233,213,156,.10);--glowB:rgba(189,180,219,.09);--dot:rgba(238,234,227,.06);--shadow:rgba(0,0,0,.6);--rollA:#262A33;--rollB:#1B1E25}
.t-light{--bg:#F6F3ED;--bg2:#F0ECE4;--panel:#FFFFFF;--panel2:#FAF8F4;--code:#FBF9F5;--line:#E3DDD2;--line2:#D3CBBE;--ink:#1C1E23;--body:#4A4C53;--muted:#686A70;--faint:#A7A299;
--y:#7A5C0B;--g:#3D6A46;--l:#564A86;--r:#8B4631;--b:#40606F;--brand:#FACC15;--gh:#4E4380;--ghInk:#FFFFFF;
--tint:12%;--edge:34%;--glowA:rgba(233,196,106,.22);--glowB:rgba(189,170,226,.18);--dot:rgba(28,30,35,.07);--shadow:rgba(40,36,30,.22);--rollA:#FFFFFF;--rollB:#E9E3D8}

.site{position:relative;overflow-x:clip;background-color:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;background-image:radial-gradient(1000px 620px at 82% -8%,var(--glowA),transparent 62%),radial-gradient(900px 560px at 0% 18%,var(--glowB),transparent 60%),radial-gradient(var(--dot) 1px,transparent 1.2px);background-size:auto,auto,22px 22px;transition:background-color .4s ease,color .4s ease}
.site a{color:var(--ink)}
.tl{background:color-mix(in srgb,var(--c) var(--tint),transparent);border:1px solid color-mix(in srgb,var(--c) var(--edge),transparent);color:var(--c)}
.cy{--c:var(--y)}.cg{--c:var(--g)}.cl{--c:var(--l)}.cr{--c:var(--r)}.cb2{--c:var(--b)}
.logo-d{display:block}.logo-l{display:none}
.t-light .logo-d{display:none}.t-light .logo-l{display:block}
.mono{font-family:'JetBrains Mono',monospace}
code{font-family:'JetBrains Mono',monospace;font-size:.86em;background:var(--panel2);border:1px solid var(--line);border-radius:4px;padding:1px 6px;color:var(--ink)}
pre{margin:0;padding:18px 20px;overflow-x:auto;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.75;color:var(--ink)}
pre code{background:none;border:0;padding:0;font-size:inherit}
.k{color:var(--y)}.s{color:var(--g)}.c{color:var(--muted)}.f{color:var(--l)}.n{color:var(--r)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px}
.cbx{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--code);transition:border-color .25s ease}
.cbx:hover{border-color:var(--line2)}
.cbh{position:relative;display:flex;justify-content:space-between;gap:12px;padding:7px 14px 7px 30px;border-bottom:1px solid var(--line);background:var(--panel2);font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--muted)}
.cbh::before{content:"";position:absolute;left:12px;top:50%;width:8px;height:12px;margin-top:-6px;background:radial-gradient(var(--faint) 1px,transparent 1.4px) 0 0/4px 4px}
.ticks{height:8px;background:repeating-linear-gradient(90deg,var(--line2) 0 1px,transparent 1px 12px)}
.m{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;border-radius:4px;padding:2px 7px}

/* ---------- motion ---------- */
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes markin{0%{opacity:0;transform:scale(.85)}100%{opacity:1;transform:scale(1)}}
@keyframes tread{to{background-position:18px 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes breathe{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes haz{to{background-position:22.6px 0}}
@keyframes ride{0%{left:-18px}100%{left:100%}}
@keyframes tocmove{0%{top:40px;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:calc(100% - 8px);opacity:0}}

/* ---------- header ---------- */
.hdr{position:relative;z-index:5;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);font-family:Inter,system-ui,sans-serif;animation:fadein .5s both}
.hdr::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:5px;background:repeating-linear-gradient(90deg,var(--line2) 0 1px,transparent 1px 24px);pointer-events:none}
.hdr a{color:var(--ink)}
.mark{display:block;width:36px;height:36px;animation:markin .8s cubic-bezier(.2,.8,.2,1) both;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.home:hover .mark{transform:translateX(2px)}
.wm{display:inline-block;animation:rise .6s .2s cubic-bezier(.2,.7,.2,1) both}
.nav a{color:var(--body);text-decoration:none;font-size:14px;font-weight:500;padding:12px;border-radius:8px;transition:background-color .2s ease,color .2s ease}
.nav a:hover,.nav a.on{background:var(--panel2);color:var(--ink)}
.toggle{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line2);background:var(--panel);color:var(--ink);font:500 13px Inter,sans-serif;cursor:pointer;transition:background-color .2s ease}
.toggle:hover{background:var(--panel2)}
.btn{transition:transform .25s ease,box-shadow .25s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px -16px var(--shadow)}
.btn svg{transition:transform .25s ease}.btn:hover svg{transform:translateX(4px)}

/* ---------- page decor ---------- */
.prog{position:fixed;top:0;left:0;right:0;height:3px;z-index:30;pointer-events:none;background:repeating-linear-gradient(90deg,var(--y) 0 10px,color-mix(in srgb,var(--y) 35%,transparent) 10px 14px);transform-origin:0 50%;opacity:.8}
@supports (animation-timeline: scroll()){.prog{animation:draw linear both;animation-timeline:scroll(root)}}
.rail-v{position:absolute;top:0;bottom:0;width:14px;pointer-events:none;background:repeating-linear-gradient(180deg,var(--line2) 0 1px,transparent 1px 12px) 0 0/6px 100% no-repeat,repeating-linear-gradient(180deg,var(--line2) 0 1px,transparent 1px 60px) 0 0/14px 100% no-repeat}
.rail-v.l{left:6px}.rail-v.r{right:6px;transform:scaleX(-1)}
.coord{position:absolute;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;color:var(--faint);pointer-events:none;writing-mode:vertical-rl}
.haz{height:5px;opacity:.5;background:repeating-linear-gradient(-45deg,var(--y) 0 8px,transparent 8px 16px);animation:haz 1.6s linear infinite}
.xh{position:absolute;width:18px;height:18px;pointer-events:none;color:var(--faint)}
.xh::before,.xh::after{content:"";position:absolute;background:currentColor}
.xh::before{left:8px;top:0;width:1px;height:18px}.xh::after{top:8px;left:0;height:1px;width:18px}
.xh i{position:absolute;inset:4px;border:1px solid currentColor;border-radius:50%}
.seam{display:flex;align-items:center;gap:10px}
.seam span{flex:1;height:8px;border-radius:4px;border:1px solid var(--line);background:repeating-linear-gradient(90deg,var(--line2) 0 2px,transparent 2px 18px);animation:tread 1.6s linear infinite}
.seam i{width:12px;height:12px;border-radius:50%;border:1px solid var(--line2);background:conic-gradient(var(--rollA) 0 25%,var(--rollB) 0 50%,var(--rollA) 0 75%,var(--rollB) 0);animation:spin 2.4s linear infinite}
.crn{position:relative}
.crn::before,.crn::after{content:"";position:absolute;width:12px;height:12px;pointer-events:none;border:0 solid var(--y);opacity:.7}
.crn::before{top:5px;left:5px;border-top-width:1px;border-left-width:1px}
.crn::after{bottom:5px;right:5px;border-bottom-width:1px;border-right-width:1px}
.rivet{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--panel2);border:1px solid var(--line2);pointer-events:none;z-index:3}
.rivet::after{content:"";position:absolute;left:1px;right:1px;top:3px;height:1px;background:var(--faint);transform:rotate(-45deg)}
.card{position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 26px 48px -32px var(--shadow)}
.card::before{content:"";position:absolute;top:11px;right:11px;width:6px;height:6px;border-radius:50%;border:1px solid currentColor;opacity:.3;pointer-events:none}
.cbelt{position:absolute;left:0;right:0;bottom:0;height:5px;background:repeating-linear-gradient(90deg,var(--c) 0 12px,transparent 12px 18px);opacity:.45;animation:tread .6s linear infinite;animation-play-state:paused;transition:opacity .35s ease}
.card:hover .cbelt{animation-play-state:running;opacity:1}
.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.tbl th{text-align:left;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line2);background:var(--panel2)}
.tbl td{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--body);vertical-align:top;line-height:1.55}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{color:var(--ink);font-weight:500}
.tbl tbody tr{transition:background-color .2s ease}
.tbl tbody tr:hover{background:color-mix(in srgb,var(--y) 5%,transparent)}
.tscroll{overflow-x:auto;margin:0 0 20px}
.tscroll::before{content:"";display:block;height:5px;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--y) 55%,transparent) 0 6px,transparent 6px 12px)}
.perf::before{content:"";display:block;height:6px;background:radial-gradient(circle at 6px 0,var(--bg) 3px,transparent 3.5px) 0 0/12px 6px}

/* ---------- docs layout ---------- */
.dl{position:relative;max-width:1440px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:flex-start;box-sizing:border-box}
.dl-side{flex:0 1 272px;min-width:0;border-right:1px solid var(--line);align-self:stretch}
.doc{flex:999 1 560px;min-width:0;max-width:900px;padding:44px 56px 96px;box-sizing:border-box}
.dl-toc{flex:1 1 210px;max-width:260px;min-width:0;padding:52px 28px 0 0;box-sizing:border-box}
.tocbox{position:relative;display:flex;flex-direction:column;gap:2px;animation:fadein .8s .35s both}
.toch{font-family:Lexend,sans-serif;font-size:13.5px;font-weight:500;padding-bottom:10px;color:var(--ink)}
.toc a,.tocbox a{display:block;color:var(--body);text-decoration:none;font-size:13.5px;padding:7px 0 7px 14px;border-left:1px solid var(--line2);transition:color .2s ease,border-color .2s ease}
.tocbox a:hover{color:var(--ink);border-color:var(--y)}
.tocbox a.sub{padding-left:26px;font-family:'JetBrains Mono',monospace;font-size:12px}
.tocdot{position:absolute;left:-2px;width:5px;height:5px;border-radius:50%;background:var(--y);animation:tocmove 7s ease-in-out infinite;pointer-events:none}
.tocnote{margin-top:24px;padding:14px;border-radius:10px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5}
.dhead{position:relative;margin-bottom:10px}
.wmk2{position:absolute;right:-6px;top:-30px;font-family:Lexend,sans-serif;font-size:150px;font-weight:600;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px var(--line);pointer-events:none;user-select:none}
.crumb{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.04em;color:var(--muted);margin-bottom:18px}
.crumb .sl{color:var(--faint)}
.doc>*,.dhead>*{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
.doc>*:nth-child(2){animation-delay:.05s}.doc>*:nth-child(3){animation-delay:.1s}.doc>*:nth-child(4){animation-delay:.15s}.doc>*:nth-child(n+5){animation-delay:.2s}
.doc h1{position:relative;margin:0 0 14px;font-family:Lexend,sans-serif;font-size:52px;font-weight:500;line-height:1.06;letter-spacing:-.035em;color:var(--ink)}
.doc .lead{margin:0 0 26px;font-size:18.5px;line-height:1.65;color:var(--body);max-width:700px}
.doc h2{position:relative;margin:60px 0 14px;padding-top:24px;font-family:Lexend,sans-serif;font-size:27px;font-weight:500;letter-spacing:-.02em;line-height:1.25;color:var(--ink);scroll-margin-top:20px}
.doc h2::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--line2) 0 2px,transparent 2px 18px);animation:tread 1.6s linear infinite}
.doc h2::after{content:"";display:inline-block;width:6px;height:6px;margin-left:14px;vertical-align:middle;transform:rotate(45deg);border:1px solid var(--y)}
.doc h2 .m{vertical-align:middle;margin-left:10px}
.doc h3{margin:30px 0 10px;font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:500;color:var(--ink)}
.doc p{margin:0 0 16px;font-size:16px;line-height:1.75;color:var(--body)}
.doc ul,.doc ol{margin:0 0 18px;padding-left:22px;color:var(--body)}
.doc li{font-size:16px;line-height:1.75;margin:4px 0}
.doc li::marker{color:var(--y)}
.doc .cbx{margin:0 0 20px}
.doc p a,.doc li a,.doc td a,.lnk{color:var(--ink);text-decoration:underline;text-decoration-color:var(--y);text-underline-offset:3px}
.num{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;border-radius:7px;margin-right:12px;font-family:'JetBrains Mono',monospace;font-size:13px;vertical-align:middle;box-sizing:border-box}
.kv{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel);margin:0 0 20px}
.kv>div{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:16px;padding:12px 16px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.6;color:var(--body);transition:background-color .2s ease}
.kv>div:first-child{border-top:0}
.kv>div:hover{background:color-mix(in srgb,var(--y) 5%,transparent)}
.kv b{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:13.5px;color:var(--c,var(--g));overflow-wrap:anywhere}
.flowl{list-style:none;margin:0 0 20px;padding:4px 18px !important;border:1px solid var(--line);border-radius:10px;background:var(--panel);counter-reset:f}
.flowl li{display:flex;gap:14px;align-items:flex-start;padding:10px 0;margin:0;border-top:1px dashed var(--line);font-size:15px;line-height:1.6;counter-increment:f}
.flowl li:first-child{border-top:0}
.flowl li::before{content:counter(f,decimal-leading-zero);font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--y);flex:0 0 24px;padding-top:2px}
.chkl{list-style:none;margin:0 0 20px;padding:4px 18px !important;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.chkl li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;margin:0;border-top:1px dashed var(--line);font-size:15px;line-height:1.6}
.chkl li:first-child{border-top:0}
.chkl li::before{content:"";flex:0 0 14px;height:7px;margin-top:6px;border-left:2px solid var(--g);border-bottom:2px solid var(--g);transform:rotate(-45deg)}
.callout{position:relative;padding:16px 18px;border-radius:10px;margin:0 0 20px;font-size:15px;line-height:1.65}
.callout::before{content:"";position:absolute;top:-1px;left:16px;width:44px;height:4px;border-radius:0 0 3px 3px;background:repeating-linear-gradient(-45deg,var(--c) 0 4px,transparent 4px 8px)}
.callout p{margin:0;color:var(--ink);font-size:15px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:0 0 20px}
.gcard{padding:20px;display:flex;flex-direction:column;gap:10px;text-decoration:none}
.gcard b{font-size:16px;font-weight:600;color:var(--ink)}
.gcard span{font-size:14px;line-height:1.6;color:var(--body)}
a.gcard:hover{border-color:var(--y)}
.ep{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:11px 14px;margin:0 0 14px;border-radius:9px;background:var(--panel);border:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:13.5px;color:var(--ink)}
.act{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px 20px 30px;margin:0 0 16px;border-radius:10px;background:var(--panel);border:1px solid var(--line);transition:border-color .25s ease}
.act:hover{border-color:var(--line2)}
.act h3{margin:0;color:var(--g)}
.act p{margin:0;font-size:15px}
.act .cbx{margin:0}
.tagh{position:absolute;top:14px;right:14px;width:9px;height:9px;border-radius:50%;border:1px solid var(--line2);background:var(--bg)}
.tagh::after{content:"";position:absolute;width:22px;height:1px;background:var(--line2);top:3px;right:8px;transform:rotate(-28deg);transform-origin:100% 50%}
.bar{position:absolute;left:20px;width:120px;bottom:10px;height:9px;opacity:.3;background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 3px,var(--ink) 3px 5px,transparent 5px 6px,var(--ink) 6px 7px,transparent 7px 11px)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}
.ev{display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--ink);padding:10px 12px;border-radius:7px;background:var(--panel);border:1px solid var(--line)}
.ev::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c);flex:0 0 6px}
.evc{border:1px solid var(--line);border-radius:10px;background:var(--panel);margin:0 0 14px;overflow:hidden}
.evc .eh{display:flex;flex-direction:column;gap:8px;padding:16px 18px 14px}
.evc .eh h3{margin:0;font-size:14.5px;overflow-wrap:anywhere}
.evc .cls{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--muted)}
.evc pre{border-top:1px solid var(--line);background:var(--code);padding:14px 18px;font-size:12.5px}
.led::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;vertical-align:1px;background:var(--g);animation:breathe 2.2s ease-in-out infinite}
.mini{position:relative;flex:1 1 80px;min-width:60px;height:12px;border-radius:6px;background:var(--panel2);border:1px solid var(--line2);overflow:hidden}
.mini::before{content:"";position:absolute;inset:3px 6px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--ink) 16%,transparent) 0 2px,transparent 2px 12px);animation:tread .6s linear infinite}
.mini i{position:absolute;top:2px;left:-18px;width:14px;height:6px;border-radius:2px;background:var(--y);animation:ride 2.4s linear infinite}
.node{border-radius:8px;padding:10px 14px;font-size:13.5px;color:var(--ink);background:var(--panel);border:1px solid var(--line2);white-space:nowrap}
.pnav{position:relative;margin-top:64px;padding-top:28px;display:flex;flex-wrap:wrap;gap:14px}
.pnav::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--line2) 0 12px,transparent 12px 18px);animation:tread 1.2s linear infinite}
.pn{position:relative;flex:1 1 220px;display:flex;flex-direction:column;gap:4px;text-decoration:none;padding:16px 20px;border-radius:10px;background:var(--panel);border:1px solid var(--line);transition:border-color .25s ease,transform .25s ease}
.pn:hover{border-color:var(--y);transform:translateY(-2px)}
.pn .l{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pn .t{font-size:17px;font-weight:600;color:var(--ink)}
.pn.nx{align-items:flex-end}

/* ---------- sidebar ---------- */
.sb{position:relative;padding:44px 20px 48px;display:flex;flex-direction:column;gap:24px;font-family:Inter,system-ui,sans-serif;color:var(--ink)}
.sbg{display:flex;flex-direction:column;gap:2px;animation:rise .5s .1s cubic-bezier(.2,.7,.2,1) both}
.sbh{display:flex;align-items:center;gap:8px;padding:0 12px 8px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sbh::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--c)}
.sb a{display:block;text-decoration:none;font-size:14px;line-height:20px;padding:9px 12px;border-radius:7px;color:var(--body);border:1px solid transparent;transition:background-color .2s ease,color .2s ease}
.sb a:hover{background:var(--panel2);color:var(--ink)}
.sb a.on{background:color-mix(in srgb,var(--c) 14%,transparent);border-color:color-mix(in srgb,var(--c) 34%,transparent);color:var(--ink);font-weight:600}
.sb a.sub{padding-left:28px}

/* ---------- footer ---------- */
.ftr{position:relative;overflow:hidden;border-top:1px solid var(--line);background:var(--bg2);color:var(--ink);font-family:Inter,system-ui,sans-serif}
.ftr .in{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:48px 32px 44px;box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px}
.fwm{position:absolute;right:-40px;bottom:-70px;width:320px !important;height:320px !important;opacity:.05;pointer-events:none}
.fbelt{position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--line2) 0 12px,transparent 12px 18px);animation:tread 1.2s linear infinite}
.fl a{color:var(--body);text-decoration:none;font-size:14px;padding:5px 0;transition:color .15s ease}.fl a:hover{color:var(--ink)}
.fh{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding-bottom:8px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Desktop docs navigation is always open; only compact layouts have a toggle. */
.docs-menu>summary{display:none;min-height:48px;box-sizing:border-box;padding:14px 20px;color:var(--ink);font:600 14px Inter,system-ui,sans-serif;cursor:pointer}
.docs-menu>summary:focus-visible{outline:2px solid var(--y);outline-offset:-3px}
@media(min-width:1024px){.sb>.seam:first-child{display:none}}

/* Compact navigation: native disclosures retain keyboard and no-script access. */
@media (max-width:1023px){
  .hdr>div{padding:10px 16px!important;gap:8px!important}
  .hdr .home{margin-right:auto}
  .hdr .toggle{order:0}
  .hdr .btn{padding:0 10px!important}
  .docs-menu>summary{display:list-item;list-style-position:inside}
  .hdr form{order:3;flex:1 1 100%}
  .hdr form>div{width:100%!important}
  .dl{display:block}
  .dl-side{border-right:0;border-bottom:1px solid var(--line)}
  .sb{padding:8px 16px 20px;gap:16px}
  .sb a{min-height:44px;box-sizing:border-box}
  .doc{padding:24px 20px 48px}
  .doc h1{font-size:36px;overflow-wrap:anywhere}
  .doc h2{font-size:24px;margin-top:36px;padding-top:18px}
  .doc .lead{font-size:17px}
  .crumb{margin-bottom:12px}
  .wmk2{font-size:90px;top:-12px;right:0}
  .dl-toc{max-width:none;padding:0 20px 32px}
}
