body.n-on{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}

body.n-on > .shell,body.n-on > main.pg{flex:1 0 auto;width:100%;min-width:0}

body.n-on main{padding-bottom:28px!important}

.sb,.sb-scrim,.mh{display:none}

.ni{flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}

.ni[viewBox] path[d*="a9 9 0 0 0-2.85"]{fill:currentColor;stroke:none}

.sb .ni,.mh .ni{pointer-events:none}

[data-theme="light"] .n-sun,:root:not([data-theme="light"]) .n-moon{display:none}

.n-sun,.n-moon{display:inline-grid;place-items:center}

.nt{min-width:0}

.n-logo{
width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:var(--r-md);border:1px solid var(--bd-on-dark);
background:var(--grad-logo);color:var(--acc);box-shadow:0 8px 20px -10px color-mix(in srgb,var(--acc) 60%,transparent)}

[data-theme="light"] .n-logo{
background:var(--grad-logo-light);border-color:color-mix(in srgb,var(--acc) 30%,var(--bd2));color:var(--acc);
box-shadow:0 1px 0 #fff inset,0 8px 18px -10px color-mix(in srgb,var(--acc) 55%,transparent)}

.n-logo svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.n-ver:empty{display:none}

.n-chip{
position:relative;display:flex;align-items:center;gap:12px;min-width:0;max-width:100%;padding:8px 12px 8px 8px;
border:1px solid var(--bd2);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 85%,transparent);
color:var(--tx);text-decoration:none;box-shadow:var(--e1)}

.n-chip:hover{border-color:color-mix(in srgb,var(--acc) 45%,var(--bd2))}

.n-chip-i{
width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--acc);
background:color-mix(in srgb,var(--acc) 13%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 22%,transparent)}

.n-chip-i .ni{width:18px;height:18px}

.n-chip-b{display:flex;flex-direction:column;gap:3px;min-width:0}

.n-chip-b small{font:600 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}

.n-chip-t{
font:600 13px/1.25 var(--sans);letter-spacing:-.005em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;
-webkit-box-orient:vertical;white-space:normal;min-width:0}

.ni [fill="currentColor"]{transition:fill-opacity .2s}

a[aria-current] > .ni [fill="currentColor"],.nl[aria-current] .ni [fill="currentColor"]{fill-opacity:.28}

.tg-e,.tg-c,.tg-x{display:none}

.nb{
width:44px;height:44px;flex:none;display:grid;place-items:center;border:1px solid var(--ctl);border-radius:var(--r-md);
background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--tx);cursor:pointer;text-decoration:none;padding:0;
box-shadow:var(--e1)}

.nb:hover{border-color:color-mix(in srgb,var(--tx) 35%,transparent)}

@media (min-width: 768px){
.sb{
position:fixed;inset:0 auto 0 0;z-index:var(--z-sb);display:flex;flex-direction:column;gap:16px;width:248px;
padding:calc(20px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));
background:linear-gradient( 180deg,color-mix(in srgb,var(--surface) 72%,transparent),color-mix(in srgb,var(--bg) 94%,transparent) );
backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-right:1px solid var(--bd);
box-shadow:var(--lift,none);transition:width 0.22s cubic-bezier(0.2,0.8,0.2,1)}
.sb-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sb-brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--tx);text-decoration:none;border-radius:var(--r-md)}
.sb-bt{display:flex;flex-direction:column;gap:4px;min-width:0}
.sb-bt b{font-size:16px;font-weight:800;letter-spacing:-0.03em;line-height:1}
.sb-bt small{font:500 10px/1 var(--mono);letter-spacing:0.14em;color:var(--mut)}
.sb-tg{
width:44px;height:44px;flex:none;place-items:center;border:1px solid var(--ctl);border-radius:var(--r-md);background:transparent;
color:var(--tx2);cursor:pointer;padding:0}
.sb-badge{
display:flex;align-items:center;gap:8px;margin:0;padding:var(--space-2) 12px;border:1px solid var(--bd2);
border-radius:var(--r-pill);background:var(--elev);color:var(--tx2);font:500 10px/1.3 var(--mono);letter-spacing:0.1em;
text-transform:uppercase}
.sb-badge i{
width:7px;height:7px;border-radius:50%;background:var(--acc);flex:none;
box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}
.sb-scroll{
flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin;
margin:0 -12px;padding:0 12px}
.sb-scroll [role="navigation"]{display:grid;gap:2px}
.sb-h{margin:0 0 4px;padding:0 12px;font:600 10px var(--mono);letter-spacing:0.16em;text-transform:uppercase;color:var(--mut)}
.nl{
position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border:1px solid transparent;
border-radius:var(--r-md);color:var(--tx2);text-decoration:none;font:500 13.5px var(--sans);letter-spacing:-0.005em;
transition:background-color 0.18s,border-color 0.18s,color 0.18s}
.nl:hover{color:var(--tx);background:color-mix(in srgb,var(--tx) 5%,transparent)}
.nl[aria-current]{
color:var(--tx);background:linear-gradient( 180deg,color-mix(in srgb,var(--tx) 7%,var(--surface)),var(--surface) );
border-color:var(--bd2);box-shadow:var(--e1)}
.nl[aria-current]::before{
content:"";position:absolute;left:-13px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--acc);
box-shadow:0 0 12px color-mix(in srgb,var(--acc) 60%,transparent)}
.nl[aria-current] .ni{color:var(--acc)}
.sb-bot{display:grid;gap:12px;padding-top:12px;border-top:1px solid var(--bd)}
.sb-ctl{display:flex;gap:8px}
.sb-cr{
margin:0;font:500 10px/1.7 var(--mono);letter-spacing:0.12em;text-transform:uppercase;color:var(--mut);overflow-wrap:anywhere}
html[data-sb="full"] body.n-on{padding-left:248px}
html[data-sb="rail"] body.n-on{padding-left:72px}
html{scroll-padding-top:24px}
}

@media (min-width: 768px){
.sb-tg{display:grid}
.sb[data-mode="full"] .tg-c,.sb[data-mode="rail"] .tg-e{display:block}
.sb[data-mode="rail"]{width:72px}
.sb[data-mode="full"][data-open="true"]{z-index:var(--z-drawer);box-shadow:var(--lift,none),var(--shadow-drawer-x)}
.sb-scrim{position:fixed;inset:0;z-index:var(--z-scrim);background:var(--scrim-soft)}
.sb-scrim[hidden]{display:none}
.sb[data-mode="rail"] .sb-top{flex-direction:column;gap:12px}
.sb[data-mode="rail"] .sb-brand .sb-bt,.sb[data-mode="rail"] .nt,.sb[data-mode="rail"] .sb-badge,.sb[data-mode="rail"] .n-chip-b{
display:none}
.sb[data-mode="rail"] .sb-scroll{gap:12px;align-items:stretch}
.sb[data-mode="rail"] .sb-scroll [role="navigation"] + [role="navigation"]{padding-top:12px;border-top:1px solid var(--bd)}
.sb[data-mode="rail"] .nl{justify-content:center;padding:0;gap:0}
.sb[data-mode="rail"] .n-chip{justify-content:center;padding:8px;width:48px;height:48px;border-radius:var(--r-md)}
.sb[data-mode="rail"] .sb-ctl{flex-direction:column}
.sb[data-mode="rail"] .nl[aria-current]::before{left:-13px}
.sb[data-mode="rail"] [data-tip]::after{
content:attr(data-tip);position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);padding:8px 12px;
border-radius:var(--r-sm);border:1px solid var(--bd2);background:var(--elev);color:var(--tx);font:500 12px var(--sans);
white-space:nowrap;pointer-events:none;opacity:0;box-shadow:var(--e4);transition:opacity 0.15s;z-index:3}
.sb[data-mode="rail"] .nb,.sb[data-mode="rail"] .n-chip{position:relative}
.sb[data-mode="rail"] [data-tip]:focus-visible::after{opacity:1}
.sb[data-mode="rail"] .nl{position:relative}
}

@media (min-width: 768px) and (hover: hover){
.sb[data-mode="rail"] [data-tip]:hover::after{opacity:1}
}

@media (min-width: 768px) and (min-height: 561px){
.sb[data-mode="rail"] .sb-scroll{overflow:visible}
}

@media (min-width: 1100px){
.sb-scrim{display:none!important}
}

@media (max-width: 767px){
body.n-on{--tbh:0px}
.mh{
position:sticky;top:0;z-index:var(--z-header);display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;
gap:8px;height:calc(var(--hh,60px) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;
background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px) saturate(1.2);
-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--bd);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.mh.hide{transform:translateY(-100%)}
.mh-m,.mh-th{
width:44px;height:44px;flex:none;display:grid;place-items:center;border:1px solid var(--bd-on-dark);border-radius:var(--r-md);
background:var(--grad-logo);color:var(--acc);cursor:pointer;padding:0;
box-shadow:0 8px 20px -12px color-mix(in srgb,var(--acc) 60%,transparent)}
[data-theme="light"] .mh-m,[data-theme="light"] .mh-th{
background:var(--grad-logo-light);border-color:color-mix(in srgb,var(--acc) 30%,var(--bd2));
box-shadow:0 1px 0 #fff inset,0 8px 18px -12px color-mix(in srgb,var(--acc) 55%,transparent)}
.mh-m .ni,.mh-th .ni{width:20px;height:20px}
.mh-b{
display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;justify-self:center;max-width:100%;color:var(--tx);
text-decoration:none;min-height:44px}
.mh-t{display:flex;flex-direction:column;gap:4px;min-width:0}
.mh-t b{font-size:16px;font-weight:800;letter-spacing:-0.03em;line-height:1}
.mh-sub{
display:block;min-height:12px;font:500 11px/1.1 var(--mono);letter-spacing:.04em;color:var(--mut);overflow:hidden;
text-overflow:ellipsis;white-space:nowrap}
.mh-b:has(.mh-sub:empty) .mh-t{justify-content:center}
.sb{
position:fixed;inset:0 auto 0 0;z-index:var(--z-drawer);display:flex;flex-direction:column;gap:16px;width:min(86vw,320px);
padding:calc(16px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));background:var(--bg);
border-right:1px solid var(--bd2);box-shadow:var(--shadow-drawer-x);transform:translateX(-102%);visibility:hidden;
transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility 0s .24s}
.sb[data-open="true"]{transform:none;visibility:visible;transition:transform .24s cubic-bezier(.2,.8,.2,1)}
.sb-scrim{display:block;position:fixed;inset:0;z-index:var(--z-scrim);background:var(--scrim)}
.sb-scrim[hidden]{display:none}
.sb .tg-x{display:block}
.sb .nl{min-height:48px;font-size:15px}
.sb .nl[aria-current]::before{left:-13px}
.sb .n-chip{display:none}
.sb-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sb-brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--tx);text-decoration:none;border-radius:var(--r-md)}
.sb-bt{display:flex;flex-direction:column;gap:4px;min-width:0}
.sb-bt b{font-size:16px;font-weight:800;letter-spacing:-0.03em;line-height:1}
.sb-bt small{font:500 10px/1 var(--mono);letter-spacing:0.14em;color:var(--mut)}
.sb-tg{
display:grid;width:44px;height:44px;flex:none;place-items:center;border:1px solid var(--ctl);border-radius:var(--r-md);
background:transparent;color:var(--tx2);cursor:pointer;padding:0}
.sb-badge{
display:flex;align-items:center;gap:8px;margin:0;padding:var(--space-2) 12px;border:1px solid var(--bd2);
border-radius:var(--r-pill);background:var(--elev);color:var(--tx2);font:500 10px/1.3 var(--mono);letter-spacing:0.1em;
text-transform:uppercase}
.sb-badge i{
width:7px;height:7px;border-radius:50%;background:var(--acc);flex:none;
box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}
.sb-scroll{
flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin;
margin:0 -12px;padding:0 12px}
.sb-scroll [role="navigation"]{display:grid;gap:2px}
.sb-h{margin:0 0 4px;padding:0 12px;font:600 10px var(--mono);letter-spacing:0.16em;text-transform:uppercase;color:var(--mut)}
.nl{
position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border:1px solid transparent;
border-radius:var(--r-md);color:var(--tx2);text-decoration:none;font:500 13.5px var(--sans);letter-spacing:-0.005em;
transition:background-color 0.18s,border-color 0.18s,color 0.18s}
.nl:hover{color:var(--tx);background:color-mix(in srgb,var(--tx) 5%,transparent)}
.nl[aria-current]{
color:var(--tx);background:linear-gradient( 180deg,color-mix(in srgb,var(--tx) 7%,var(--surface)),var(--surface) );
border-color:var(--bd2);box-shadow:var(--e1)}
.nl[aria-current]::before{
content:"";position:absolute;left:-13px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--acc);
box-shadow:0 0 12px color-mix(in srgb,var(--acc) 60%,transparent)}
.nl[aria-current] .ni{color:var(--acc)}
.sb-bot{display:grid;gap:12px;padding-top:12px;border-top:1px solid var(--bd)}
.sb-ctl{display:flex;gap:8px}
.sb-cr{
margin:0;font:500 10px/1.7 var(--mono);letter-spacing:0.12em;text-transform:uppercase;color:var(--mut);overflow-wrap:anywhere}
body.n-on main{padding-bottom:28px!important}
}

@media (prefers-reduced-motion: reduce){
.mh,.sb{transition:none!important}
.sb,.sheet-p,.sheet-bg,.nl,[data-tip]::after{transition:none!important}
}

@media print{
.sb,.sb-scrim,.mh,.sf-l{display:none!important}
body.n-on{padding-left:0}
}

/* == FOOTER: one centred column at every width, 8px grid == */
.sf{--u:8px;margin-top:auto;border-top:1px solid var(--bd);position:relative}

.sf::before{
content:"";position:absolute;left:0;right:0;top:-1px;height:1px;
background:linear-gradient( 90deg,transparent,var(--bd2) 20%,var(--bd2) 80%,transparent )}

.sf-in{
box-sizing:border-box;width:100%;max-width:880px;margin:0 auto;padding:calc(var(--u) * 5) calc(var(--u) * 2) calc(var(--u) * 5);
display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 2);text-align:center}

.sf p{
margin:0;max-width:100%;overflow-wrap:anywhere;font:500 10.5px/1.7 var(--mono);letter-spacing:0.1em;text-transform:uppercase;
color:var(--mut)}

.sf-brand{gap:var(--u)}

.sf-mark{display:block;height:calc(var(--u) * 4)}

.sf-logo{display:none;height:100%;width:auto}

.sf-logo-dark{display:block}

:root[data-theme="light"] .sf-logo-dark{display:none}

:root[data-theme="light"] .sf-logo-light{display:block}

.sf .n-ver{font:600 11px/1 var(--mono);letter-spacing:0.1em;color:var(--acc)}

.sf .n-ver:empty{display:none}

.sf-e::before{
content:"";display:inline-block;width:6px;height:6px;margin-right:var(--u);border-radius:50%;background:var(--acc);
vertical-align:middle;position:relative;top:-1px}

.sf-l{gap:0 calc(var(--u) * 3)}

.sf-l a{text-underline-offset:3px}

@media (max-width: 767px){
.sf{margin-top:calc(var(--u) * 4);padding-bottom:calc(var(--u) * 4 + env(safe-area-inset-bottom))}
.sf-in{padding-bottom:0}
}

body:not(.n-on){visibility:hidden;animation:n-show 0s 1.2s forwards}

@keyframes n-show{
to{visibility:visible}
}

body.n-pg main.pg{min-height:100svh}

.pg-about{margin-top:calc(var(--u,8px) * 5);padding-top:calc(var(--u,8px) * 3);border-top:1px solid var(--bd)}

.pg-about h2{font-size:15px;margin:0 0 8px}

.pg-about .note{max-width:62ch;margin:0}

/* == v8.4 mobile header redesign == */
@media (max-width:767px){
:root{--hh:56px}
.mh{
grid-template-columns:44px minmax(0,1fr) 44px;gap:var(--space-2);height:calc(var(--hh) + env(safe-area-inset-top));
padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));
background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(20px) saturate(1.6);
-webkit-backdrop-filter:blur(20px) saturate(1.6)}
.mh .mh-m,.mh .mh-th{
width:44px;height:44px;border:1px solid var(--bd);background:color-mix(in srgb,var(--tx) 4%,transparent);box-shadow:var(--e1);
color:var(--tx);transition:var(--tr-ui)}
.mh .mh-m:active,.mh .mh-th:active{transform:scale(.94);background:color-mix(in srgb,var(--tx) 9%,transparent)}
.mh .mh-m .ni{width:20px;height:20px;stroke-width:1.6}
.mh .mh-th .ni,.mh .mh-th .n-sun,.mh .mh-th .n-moon{display:none!important}
.mh .mh-th::before{
content:"";width:20px;height:20px;background:currentColor;-webkit-mask:var(--glyph-theme) center/contain no-repeat;
mask:var(--glyph-theme) center/contain no-repeat;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
:root[data-theme="light"] .mh .mh-th::before{transform:rotate(180deg)}
.mh .mh-th{
--glyph-theme:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 4a8 8 0 0 1 0 16z' fill='%23000'/%3E%3C/svg%3E")}
.mh-b{gap:var(--space-2);transition:var(--tr-ui)}
.mh-b:active{transform:scale(.98)}
.mh .n-logo{width:auto;height:auto;border:0;border-radius:0;background:none;box-shadow:none;color:var(--acc)}
.mh .n-logo svg{width:24px;height:24px;stroke-width:1.6}
.mh-t{gap:var(--space-1)}
.mh-t b{font-size:15px;letter-spacing:-.02em;line-height:1.1}
.mh-sub{display:flex;align-items:center;min-height:12px;font:500 10.5px/1.2 var(--mono);letter-spacing:.06em}
.mh-sub:not(:empty)::before{content:"";flex:none;width:5px;height:5px;margin-right:6px;border-radius:50%;background:var(--acc)}
}

@keyframes mh-edge{
to{border-bottom-color:var(--bd);box-shadow:0 10px 24px -18px rgba(0,0,0,.45)}
}

@supports (animation-timeline:scroll()){
@media (max-width:767px) and (prefers-reduced-motion:no-preference){
.mh{animation:mh-edge linear both;animation-timeline:scroll(root);animation-range:0 48px}
}
}

@media (max-width:767px) and (prefers-reduced-motion:reduce){
.mh .mh-th::before,.mh .mh-m,.mh .mh-th,.mh-b{transition:none}
.mh .mh-m:active,.mh .mh-th:active,.mh-b:active{transform:none}
}

/* == v8.6 header separation == */
@media (max-width:767px){
.mh{
background:color-mix(in srgb,var(--elev) 88%,transparent);backdrop-filter:blur(24px) saturate(1.8);
-webkit-backdrop-filter:blur(24px) saturate(1.8);border-bottom:1px solid var(--bd2);
box-shadow:0 1px 0 color-mix(in srgb,var(--tx) 5%,transparent) inset,0 8px 24px -16px rgba(0,0,0,.55)}
:root[data-theme="light"] .mh{
background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:0 1px 0 #fff inset,0 8px 24px -16px rgba(40,36,28,.35)}
.mh::after{
content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--acc) 45%,transparent) 50%,transparent);opacity:.55}
.mh .mh-m,.mh .mh-th{background:color-mix(in srgb,var(--tx) 7%,transparent);border-color:var(--bd2)}
.mh-t{gap:var(--space-1)}
.mh-t b{margin-bottom:2px}
}

/* == v9 icons + type floor == */
.ni{width:20px;height:20px;stroke-width:1.75;shape-rendering:geometricPrecision}

.nl .ni{color:var(--tx2);transition:color .2s ease}

.nl:hover .ni{color:var(--tx)}

.nl[aria-current] .ni{color:var(--acc)}

.n-chip-b small,.sb-bt small,.sb-h,.sb-cr,.sf p,.mh-sub,.profile-metrics small,.dk-s,.evc,.evt-b,.fc-rec,.sb-badge,.eyebrow,.ver-l small{
font-size:var(--fs-xs)}

.n-chip-b small,.sb-h,.sb-cr,.evc,.evt-b,.fc-rec,.sb-badge,.eyebrow{letter-spacing:var(--ls-caps)}

/* == v9 mobile drawer == */
@keyframes sb-fade{
from{opacity:0}
}

@media (max-width:767px){
.sb{
width:min(88vw,340px);
padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom));
background:color-mix(in oklab,var(--surface) 94%,transparent);backdrop-filter:blur(24px) saturate(1.6);
-webkit-backdrop-filter:blur(24px) saturate(1.6);border-right:1px solid var(--bd2);overscroll-behavior:contain;
transition:transform .32s cubic-bezier(.32,.72,0,1),visibility 0s .32s}
.sb[data-open="true"]{transition:transform .32s cubic-bezier(.32,.72,0,1)}
.sb-scrim{background:color-mix(in oklab,black 55%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.sb-scrim:not([hidden]){animation:sb-fade .24s ease}
.sb-scroll [role="navigation"]{gap:var(--space-1)}
.sb .nl{gap:var(--space-4)}
.sb .nl:active{background:color-mix(in oklab,var(--tx) 8%,transparent)}
.sb-ctl{gap:var(--space-2)}
}

@media (max-width:767px) and (prefers-reduced-motion:reduce){
.sb-scrim:not([hidden]){animation:none}
.sb .nl:active{transform:none}
}

/* == v10 docs cards, footer, drawer, responsive, micro-polish == */
@media (max-width:767px){
.dcard,.v6ev,.ev-pc,.evx-t,.file-card,.rjd{padding:var(--space-4)}
.fc:not(#_),.evx-t.card:not(#_){padding:var(--space-4);gap:var(--space-3)}
.dl-groups:not(#_),.ev-grid,.evx-tiers,.cmpg,.files-grid,.files-list{gap:var(--space-3)}
.fc-f:not(#_){padding:var(--space-3);gap:var(--space-3)}
.dcard h3,.v6ev h3,.ev-pc h3{margin:0 0 var(--space-2)}
.dcard p,.v6ev p,.ev-pc p{margin:0 0 var(--space-3)}
.dcard :last-child,.v6ev :last-child,.ev-pc :last-child{margin-bottom:0}
.ev-read .ev-notes{gap:var(--space-3)}
.sf{margin-top:var(--space-6)}
.sf-in{gap:var(--space-4);padding:var(--space-6) var(--space-4) 0}
.sf-brand{
flex-direction:row;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);
border:1px solid var(--bd2);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--e1)}
.sf-mark{height:var(--space-6);display:flex;align-items:center}
.sf .n-ver{
display:inline-flex;align-items:center;gap:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--bd2);
font:var(--fw-strong) var(--fs-xs)/1 var(--mono);letter-spacing:.04em;color:var(--acc)}
.sf .n-ver:not(:empty)::before{
content:"";width:6px;height:6px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 3px var(--acc-bg)}
.sf-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);width:100%;max-width:360px}
.sf-l a{
justify-content:center;min-height:var(--hit);border:1px solid var(--bd2);border-radius:var(--r-pill);background:var(--surface);
font:var(--fw-ui) var(--fs-s)/1 var(--sans);text-decoration:none;transition:var(--tr-ui)}
.sf-l a:active{transform:scale(.98);background:var(--elev)}
.sf-l a:last-child:nth-child(odd){grid-column:1/-1}
.sf p{max-width:36ch;text-wrap:balance}
.sb{
background:radial-gradient(120% 38% at 0 0,color-mix(in oklab,var(--acc) 12%,transparent),transparent 70%),color-mix(in oklab,var(--surface) 94%,transparent)}
.sb-top{border-bottom:1px solid var(--bd)}
.sb .nl{gap:var(--space-3)}
.sb .nl .ni{transition:var(--tr-ui)}
.sb .nl[aria-current] .ni{border-color:transparent}
.sb-bot{gap:var(--space-3)}
.sb-cr{text-align:center}
}

@media (min-width:768px) and (max-width:1099px){
#snd{grid-template-columns:repeat(2,minmax(0,1fr))}
.fc:not(#_){padding:var(--space-4)}
}

@media (min-width:1600px){
:root{--content-max:1320px}
body.n-pg main.pg{max-width:1120px}
}

@media (pointer:coarse){
.sb .nl,.mh-b,.nb,.btn{min-height:var(--hit)}
}

@view-transition{navigation:auto}

html{scroll-behavior:smooth;overscroll-behavior-y:none;hanging-punctuation:first allow-end}

@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
@view-transition{navigation:none}
}

a:not(.btn,.nl,.sf-l a,.ft-l a){text-decoration-thickness:1px;text-underline-offset:.2em}

a:not(.btn,.nl):hover{text-decoration-thickness:2px}

::placeholder{color:var(--mut);opacity:1}

input,textarea{caret-color:var(--acc)}

:where(button,a,summary,select){-webkit-user-select:none;user-select:none}

:where(details){interpolate-size:allow-keywords}

:where(details)::details-content{transition:block-size .25s ease,content-visibility .25s allow-discrete}

@media (prefers-reduced-motion:reduce){
:where(details)::details-content{transition:none}
}

img{image-rendering:auto;-webkit-user-drag:none}

/* == v10.1 docs mobile rhythm (pinned to real docs.css classes) == */
@media (max-width:767px){
.dpg{padding-inline:var(--space-4)}
.dcards,.dgrid,.evx-tiers{gap:var(--space-3)}
.dcard{padding:var(--space-4);gap:var(--space-2)}
.dh{margin-bottom:var(--space-4)}
.dh h1{font-size:var(--fs-4);line-height:1.1;letter-spacing:var(--ls-display);text-wrap:balance}
.prose{font-size:var(--fs-0);line-height:1.6}
.prose :where(h2,h3){margin-block:var(--space-5) var(--space-2)}
.prose :where(p,ul,ol){margin-block:0 var(--space-3)}
.dtabs,.dnav{gap:var(--space-2);padding-block:var(--space-1);scroll-padding-inline:var(--space-4)}
.cb pre{padding:var(--space-4) 56px var(--space-4) var(--space-4);font-size:var(--fs-s);line-height:1.6}
.evx-t{padding:var(--space-4)}
.tw{border-radius:var(--r-lg)}
}

/* == v10.2 unified radii == */
.sf-brand{border-radius:var(--r-surface)}

.sf-l a,body footer.ft .ft-l a,.sb-badge,.sb-brand,.n-chip,.nb,.sb-tg{border-radius:var(--r-control)}

.sb .nl{border-radius:var(--r-control)}

.sb .nl .ni{border-radius:var(--r-inset)}

.n-logo,.mh-m,.mh-th{border-radius:var(--r-control)}

.sf .n-ver::before{border-radius:50%}

@media (max-width:767px){
.sb{border-radius:0 var(--r-xl) var(--r-xl) 0}
.mh .mh-m,.mh .mh-th{border-radius:var(--r-control)}
}

@media (min-width:768px){
.sb[data-mode="rail"] .n-chip{border-radius:var(--r-control)}
}

@media (max-width:767px){
.sb{gap:var(--space-3)}
.sb-top{padding-bottom:var(--space-3)}
.sb-scroll{gap:var(--space-2);scrollbar-width:none;-webkit-mask-image:linear-gradient(#000 calc(100% - 24px),transparent)}
.sb .nl{padding-inline:var(--space-3);gap:var(--space-3);font-size:1rem;font-weight:var(--fw-ui)}
.sb .nl:active{background:color-mix(in oklab,var(--tx) 8%,transparent)}
.sb .nl[aria-current]{background:var(--acc-bg);font-weight:var(--fw-strong)}
.sb .nl[aria-current] .ni{background:none;border:0;box-shadow:none}
.sb .nl[aria-current]::before{box-shadow:none}
.sb-ctl{grid-template-columns:1fr 1fr;gap:var(--space-2)}
}

/* == v12 drawer: desktop sidebar language at touch scale == */
@media (max-width:767px){
.sb{
gap:var(--space-3);
background:linear-gradient(180deg,color-mix(in oklab,var(--surface) 94%,transparent),color-mix(in oklab,var(--bg) 97%,transparent))}
.sb-bt{gap:5px}
.sb-scroll{gap:var(--space-4);scrollbar-width:none;-webkit-mask-image:linear-gradient(#000 calc(100% - 20px),transparent)}
.sb-scroll [role="navigation"]{gap:2px}
.sb .nl{gap:var(--space-3)}
.sb .nl:active{background:color-mix(in oklab,var(--tx) 8%,transparent)}
.sb .nl[aria-current]{background:linear-gradient(180deg,color-mix(in srgb,var(--tx) 7%,var(--surface)),var(--surface))}
.sb .nl[aria-current]::before{box-shadow:0 0 12px color-mix(in srgb,var(--acc) 60%,transparent)}
.sb-bot{gap:var(--space-2)}
.sb .n-chip{gap:var(--space-2)}
.sb-ctl{gap:var(--space-2)}
}

/* == v13 footer lockup: stacked + centred (footer.js gate) == */
.sf-brand{flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4)}

.sf .n-ver{padding-left:0;border-left:0}

.sf-brand{display:contents}

.sf .sf-mark{margin-top:var(--space-2)}

.sf .n-ver{margin-top:calc(var(--space-2) * -1);margin-bottom:var(--space-2)}

/* == v14 Footer icon links == */
.sf-l{gap:var(--space-3)!important}

.sf-l a{
display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--bd);
background:var(--surface);color:var(--tx2);text-decoration:none;transition:all 0.2s ease;padding:0;min-height:auto}

.sf-l a:hover{color:var(--tx);border-color:var(--acc);background:var(--elev)}

.sf-l a svg{width:20px;height:20px}

/* == v14.1 footer icon links: center fix == */
.sf-l{
display:flex!important;flex-direction:row;justify-content:center;flex-wrap:wrap;width:auto!important;max-width:100%!important;
grid-template-columns:none!important}

/* == v12 drawer: desktop sidebar language at touch scale == */
@media (max-width:767px){
.sb{
gap:var(--space-3);
background:linear-gradient(180deg,color-mix(in oklab,var(--surface) 94%,transparent),color-mix(in oklab,var(--bg) 97%,transparent))}
.sb-top{padding:0;border:0}
.sb-bt{gap:5px}
.sb-bt b{font-size:16px;font-weight:800;letter-spacing:-.03em;line-height:1}
.sb .sb-badge{
padding:var(--space-2) var(--space-3);border-radius:var(--r-control);font:500 var(--fs-xs)/1.3 var(--mono);letter-spacing:.06em;
text-transform:uppercase}
.sb-scroll{
gap:var(--space-4);padding-bottom:var(--space-3);scrollbar-width:none;
-webkit-mask-image:linear-gradient(#000 calc(100% - 20px),transparent);
mask-image:linear-gradient(#000 calc(100% - 20px),transparent)}
.sb-scroll::-webkit-scrollbar{display:none}
.sb-scroll [role="navigation"]{gap:2px}
.sb .sb-h{
margin:0 0 var(--space-1);padding:0 var(--space-3) 0 calc(var(--space-3) + 1px);font:600 var(--fs-xs)/1 var(--mono);
letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.sb .nl{
min-height:var(--hit);padding:0 var(--space-3);gap:var(--space-3);border:1px solid transparent;border-radius:var(--r-control);
font:500 .9375rem var(--sans);letter-spacing:-.005em;color:var(--tx2)}
.sb .nl .ni{
box-sizing:border-box;width:20px;height:20px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--tx2)}
.sb .nl:active{background:color-mix(in oklab,var(--tx) 8%,transparent);transform:scale(.98)}
.sb .nl[aria-current]{
color:var(--tx);background:linear-gradient(180deg,color-mix(in srgb,var(--tx) 7%,var(--surface)),var(--surface));
border-color:var(--bd2);box-shadow:var(--e1)}
.sb .nl[aria-current] .ni{color:var(--acc)}
.sb .nl[aria-current]::before{
display:block;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--acc);
box-shadow:0 0 12px color-mix(in srgb,var(--acc) 60%,transparent)}
.sb-bot{display:flex;align-items:stretch;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--bd)}
.sb .n-chip{
display:flex;flex:1 1 auto;min-width:0;min-height:var(--hit);gap:var(--space-2);
padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1)}
.sb .n-chip-i{width:36px;height:36px}
.sb .n-chip-b small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-ctl{display:flex;flex:none;gap:var(--space-2);margin-left:auto}
.sb-ctl .nb{width:var(--hit);height:var(--hit)}
.sb .sb-cr{display:none}
}

/* == footer: readable text + nav row == */
.sf .sf-e,.sf .sf-e2{font:500 var(--f0)/1.6 var(--sans);letter-spacing:0;text-transform:none;color:var(--tx2)}

.sf-n{display:flex;justify-content:center;flex-wrap:wrap;gap:0 var(--space-5)}

.sf-n a{
display:inline-flex;align-items:center;min-height:var(--hit);color:var(--tx);font:600 var(--f1)/1 var(--sans);
text-decoration:underline;text-underline-offset:3px}

.sf-n a:hover{color:var(--acc)}

/* == sidebar: theme toggle only on desktop (mobile header has it) == */
@media (max-width:767px){
.sb .sb-ctl [data-n-theme]{display:none}
}

/* == footer v6: absolute clean slate == */
.sf .sf-in{gap:var(--space-4);padding-block:var(--space-6)}

.sf .sf-in .sf-brand{
display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-2);border:none;background:none;box-shadow:none;
padding:0}

.sf .sf-in .sf-mark{display:block;background:none;border:none;box-shadow:none}

.sf .sf-in .sf-facts{
display:block;max-width:46ch;margin:0 auto;font:500 10.5px/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase;
color:var(--mut);text-align:center;text-wrap:balance}

.sf .sf-in .sf-n{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}

.sf .sf-in .sf-n a{
font:600 var(--f1) var(--sans);color:var(--tx);text-decoration:underline;text-underline-offset:4px;
text-decoration-color:var(--bd2);transition:var(--tr-ui)}

.sf .sf-in .sf-n a:hover{color:var(--acc);text-decoration-color:var(--acc)}

.sf .sf-in .sf-cp{
margin:0;padding-top:var(--space-4);border-top:1px solid var(--bd);width:100%;max-width:400px;font:500 10.5px/1.7 var(--mono);
letter-spacing:.1em;text-transform:uppercase;color:var(--mut);text-align:center;text-wrap:balance}

.sf .sf-in .sf-cp .n-ver{
display:inline;min-height:0;margin:0 0 0 var(--space-2);padding:0;border:none;border-radius:0;background:transparent;
box-shadow:none;font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}

.sf .sf-in .sf-cp .n-ver:empty{display:none}
