@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/darker-grotesque-vietnamese-500-normal.D5ra93rS.woff2)format("woff2"),url(/_astro/darker-grotesque-vietnamese-500-normal.ElPjhFVk.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/darker-grotesque-latin-ext-500-normal.BFjKwc9u.woff2)format("woff2"),url(/_astro/darker-grotesque-latin-ext-500-normal.DUjkNzCC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/darker-grotesque-latin-500-normal.CNysRwXY.woff2)format("woff2"),url(/_astro/darker-grotesque-latin-500-normal.ChvTYH4k.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/darker-grotesque-vietnamese-600-normal.DZe-OKY1.woff2)format("woff2"),url(/_astro/darker-grotesque-vietnamese-600-normal.BuJrsief.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/darker-grotesque-latin-ext-600-normal.BZjYRL-r.woff2)format("woff2"),url(/_astro/darker-grotesque-latin-ext-600-normal.Bc_d_-b1.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/darker-grotesque-latin-600-normal.KoSFGwre.woff2)format("woff2"),url(/_astro/darker-grotesque-latin-600-normal.BdcKYlys.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/darker-grotesque-vietnamese-700-normal.CYzD4eak.woff2)format("woff2"),url(/_astro/darker-grotesque-vietnamese-700-normal.BpfLauBv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/darker-grotesque-latin-ext-700-normal.ChjazHbK.woff2)format("woff2"),url(/_astro/darker-grotesque-latin-ext-700-normal.-t6ZccDh.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/darker-grotesque-latin-700-normal.Depdho3t.woff2)format("woff2"),url(/_astro/darker-grotesque-latin-700-normal.vfGsK-Du.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/darker-grotesque-vietnamese-800-normal.BllBd8Eb.woff2)format("woff2"),url(/_astro/darker-grotesque-vietnamese-800-normal.C-L9nA-y.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/darker-grotesque-latin-ext-800-normal.D94jYGkn.woff2)format("woff2"),url(/_astro/darker-grotesque-latin-ext-800-normal.Ddo1LnK3.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Darker Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/darker-grotesque-latin-800-normal.CsNFp3pH.woff2)format("woff2"),url(/_astro/darker-grotesque-latin-800-normal.ygrWENcr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-ext-400-normal.BtiwyxMk.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-400-normal.BjWJ59Pq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-400-normal.CW0RaeGs.woff2)format("woff2"),url(/_astro/dm-sans-latin-400-normal.BwCSEQnW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-sans-latin-ext-500-normal.BJfUCQsA.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-500-normal.DR84L5F-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-sans-latin-500-normal.B9HHJjqV.woff2)format("woff2"),url(/_astro/dm-sans-latin-500-normal.Dr3UlScf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/dm-sans-latin-ext-600-normal.4vooXBpG.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-600-normal.DRtaDpgU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/dm-sans-latin-600-normal.Aqo67rzb.woff2)format("woff2"),url(/_astro/dm-sans-latin-600-normal.BmdmIIQ2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/dm-sans-latin-ext-700-normal.CJIcxD6K.woff2)format("woff2"),url(/_astro/dm-sans-latin-ext-700-normal.BLI3TTWz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/dm-sans-latin-700-normal.DvUfVpUG.woff2)format("woff2"),url(/_astro/dm-sans-latin-700-normal.CUSSCpQX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-mono-latin-ext-400-normal.C2zvOubV.woff2)format("woff2"),url(/_astro/dm-mono-latin-ext-400-normal.1aZr6b2b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-mono-latin-400-normal.4GdczIuU.woff2)format("woff2"),url(/_astro/dm-mono-latin-400-normal.-0xN8mdc.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-mono-latin-ext-500-normal.BtRyHRi6.woff2)format("woff2"),url(/_astro/dm-mono-latin-ext-500-normal.Dw3M13d8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-mono-latin-500-normal.DRMDZjhP.woff2)format("woff2"),url(/_astro/dm-mono-latin-500-normal.CN8Miw6E.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:oklch(99% .004 250);--bg-1:oklch(97.5% .006 250);--bg-2:oklch(95% .008 250);--bg-3:oklch(91% .01 250);--border:oklch(0% 0 0/.08);--border-2:oklch(0% 0 0/.14);--text:oklch(22% .02 250);--text-sub:oklch(42% .015 250);--text-mut:oklch(58% .012 250);--text-dim:oklch(72% .01 250);--brand-blue:#2c56cc;--brand-sand:#e5d2a4;--brand-gradient:linear-gradient(145deg, #2c56cc 0%, #6a84d4 42%, #c9bfa8 78%, #e5d2a4 100%);--brand-gradient-soft:linear-gradient(145deg, #2c56cc12 0%, #e5d2a428 100%);--blue:var(--brand-blue);--blue-dim:#2c56cc18;--blue-text:#2448a8;--amber:oklch(68% .17 75);--amber-dim:oklch(68% .17 75/.12);--amber-text:oklch(48% .14 75);--red:oklch(55% .22 20);--red-dim:oklch(55% .22 20/.1);--red-text:oklch(48% .18 20);--green:oklch(52% .18 155);--green-dim:oklch(52% .18 155/.1);--green-text:oklch(42% .14 155);--r-sm:8px;--r:12px;--r-lg:18px;--container:1180px;--gutter:32px;--topnav-inset:clamp(12px, 2.5vw, 20px);--glass-bg:oklch(99% .004 250/.62);--glass-bg-scrolled:oklch(99% .004 250/.78);--glass-bg-solid:oklch(97.5% .006 250);--glass-border:oklch(0% 0 0/.06);--glass-border-scrolled:oklch(0% 0 0/.08);--glass-highlight:0 1px 0 oklch(100% 0 0/.5) inset;--glass-highlight-scrolled:0 1px 0 oklch(100% 0 0/.55) inset;--glass-shadow:0 4px 24px oklch(0% 0 0/.05);--glass-shadow-scrolled:0 8px 32px oklch(0% 0 0/.07);--sans:"DM Sans", system-ui, sans-serif;--heading:"Darker Grotesque", system-ui, sans-serif;--mono:"DM Mono", ui-monospace, monospace;--bg-elevated:var(--bg-1);--bg-muted:var(--bg-2);--text-muted:var(--text-mut);--accent:var(--blue);--accent-soft:var(--blue-dim);--success:var(--green-text);--warning:var(--amber-text);--danger:var(--red-text);--radius:var(--r)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text)}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:1.45;overflow-x:hidden}h1,h2,h3,h4,.headline{font-family:var(--heading);font-weight:600}::selection{background:var(--blue-dim);color:var(--text)}a{color:inherit;text-decoration:none}a.link{color:var(--blue-text)}a.link:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button:focus:not(:focus-visible){outline:none}code,.mono{font-family:var(--mono);font-size:.9em}.container{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.gridfx{pointer-events:none;z-index:0;background:radial-gradient(90% 55% at 50% -5%,#2c56cc16 0%,#0000 58%),radial-gradient(65% 42% at 88% 12%,#e5d2a414 0%,#0000 52%),linear-gradient(145deg,#2c56cc0c 0%,#6a84d408 38%,#e5d2a410 78%,#0000 100%);position:fixed;inset:0;mask-image:radial-gradient(85% 65% at 50% 0,#000 22%,#0000 84%)}main{z-index:1;padding:2rem 0 4rem;position:relative}nav.top{z-index:50;padding:var(--topnav-inset);background:0 0;position:sticky;top:0}nav.top .topnav-shell{z-index:1;max-width:var(--container);border-radius:var(--r-lg);background:var(--glass-bg);backdrop-filter:blur(20px)saturate(160%);border:1px solid var(--glass-border);box-shadow:var(--glass-highlight), var(--glass-shadow);margin:0 auto;transition:background .28s,border-color .28s,box-shadow .28s;position:relative}nav.top.is-menu-open .topnav-shell{z-index:46}nav.top.scrolled .topnav-shell{background:var(--glass-bg-scrolled);border-color:var(--glass-border-scrolled);box-shadow:var(--glass-highlight-scrolled), var(--glass-shadow-scrolled)}nav.top .row{align-items:center;gap:14px;min-height:64px;padding:0 16px;display:flex}@media (width>=769px){nav.top .topnav-shell{align-items:center;gap:22px;height:64px;min-height:64px;padding:0 16px;display:flex}nav.top .row{flex:none;height:auto;min-height:0;padding:0}nav.top .topnav-menu{margin-left:auto}nav.top .topnav-end{flex-shrink:0;margin-left:0}}nav.top .brand{letter-spacing:-.01em;cursor:pointer;align-items:center;gap:9px;font-size:15px;font-weight:600;transition:opacity .15s;display:inline-flex}nav.top .brand:hover{opacity:.85}nav.top .brand img{width:auto;height:26px;display:block}nav.top .platform-variants{align-items:flex-start;gap:10px;display:inline-flex}nav.top .platform-variant{flex-direction:column;align-items:center;gap:4px;display:flex}nav.top .platform-variant-label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:500}nav.top .platform-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}nav.top .platform{z-index:1;font-family:var(--mono);color:var(--text);border-radius:var(--r);background:var(--bg-2);border:1px solid var(--border);align-items:center;gap:6px;padding:5px 12px;font-size:14px;font-weight:500;display:inline-flex;position:relative}nav.top .platform-icon{color:var(--text-sub);flex-shrink:0;display:block}nav.top .platform-wrap--icon .platform{background:var(--brand-gradient-soft);border-color:oklch(0% 0 0/.06)}nav.top .platform-wrap--scan{border-radius:var(--r);overflow:hidden}nav.top .platform-scan-line{z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000 0%,oklch(44% .14 264/.08) 35%,oklch(44% .14 264/.28) 50%,oklch(44% .14 264/.08) 65%,#0000 100%);width:55%;animation:2.6s ease-in-out infinite platform-scan;position:absolute;inset:0}@keyframes platform-scan{0%{opacity:0;transform:translate(-120%)}8%{opacity:1}92%{opacity:1}to{opacity:0;transform:translate(220%)}}nav.top .platform-wrap--sweep{border-radius:var(--r);overflow:hidden}nav.top .platform-sweep{z-index:0;pointer-events:none;background:conic-gradient(#0000 0deg 300deg,oklch(44% .14 264/.45) 328deg,oklch(72% .08 85/.35) 342deg,#0000 360deg);animation:4s linear infinite platform-sweep-spin;position:absolute;inset:-60%}@keyframes platform-sweep-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){nav.top .platform-scan-line,nav.top .platform-sweep{animation:none;display:none}}nav.top .topnav-end,nav.top .topnav-menu{align-items:center;gap:22px;display:flex}nav.top .topnav-menu a{color:var(--text-sub);cursor:pointer;border-radius:var(--r-sm);margin:-5px -10px;padding:5px 10px;font-size:13px;font-weight:500;transition:color .2s,background .2s}nav.top .topnav-menu a:hover{color:var(--text);background:oklch(0% 0 0/.05)}nav.top .topnav-menu a.active{color:var(--text);background:var(--bg-2)}nav.top .topnav-menu a.topnav-github{color:var(--text-sub);cursor:pointer;border-radius:var(--r-sm);align-items:center;margin:-5px -10px;padding:5px 10px;transition:color .2s,background .2s;display:inline-flex}nav.top .topnav-menu a.topnav-github:hover{color:var(--text);background:oklch(0% 0 0/.05)}nav.top .topnav-menu a.topnav-github svg{display:block}nav.top .topnav-menu a.topnav-github .topnav-github-label{display:none}nav.top .topnav-burger{width:36px;height:36px;color:var(--text-sub);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:999px;place-items:center;padding:0;transition:color .15s,background .15s;display:none}nav.top .topnav-burger:hover{color:var(--text);background:oklch(0% 0 0/.06)}nav.top .topnav-burger:focus-visible{outline:2px solid var(--blue);outline-offset:2px}nav.top .topnav-burger-lines{background:currentColor;border-radius:1px;width:18px;height:2px;transition:transform .2s,box-shadow .2s,background .2s;display:block;position:relative;box-shadow:0 -6px,0 6px}nav.top .topnav-burger.is-open .topnav-burger-lines{box-shadow:none;background:0 0}nav.top .topnav-burger.is-open .topnav-burger-lines:before,nav.top .topnav-burger.is-open .topnav-burger-lines:after{content:"";background:currentColor;border-radius:1px;width:18px;height:2px;margin-top:-1px;position:absolute;top:50%;left:0}nav.top .topnav-burger.is-open .topnav-burger-lines:before{transform:rotate(45deg)}nav.top .topnav-burger.is-open .topnav-burger-lines:after{transform:rotate(-45deg)}.topnav-backdrop{z-index:45;cursor:default;-webkit-backdrop-filter:blur(2px);background:oklch(0% 0 0/.45);border:0;width:100%;height:100%;min-height:100dvh;margin:0;padding:0;display:none;position:fixed;inset:0}.topnav-backdrop:not([hidden]){display:block}body.is-menu-open{overflow:hidden}@media (width<=768px){:root{--gutter:16px}nav.top .topnav-shell{grid-template-rows:64px 0fr;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}nav.top.is-menu-open .topnav-shell{grid-template-rows:64px auto}.container{padding:0 var(--gutter);width:100%;max-width:100%}main{padding:1.25rem 0 3rem}.grid-2,.grid-3{grid-template-columns:1fr}.bar-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label pct""track track";gap:.35rem .75rem}.bar-label{grid-area:label}.bar-track{grid-area:track}.bar-pct{grid-area:pct}footer{padding:24px 0 36px}footer .row{flex-direction:column;align-items:flex-start;gap:1rem}footer .links{flex-wrap:wrap;gap:.75rem 1.25rem;margin-left:0}.page-header-row{align-items:flex-start}nav.top .row{grid-area:1/1;align-items:center;gap:12px;height:64px;min-height:64px;padding:0 16px;display:flex}nav.top .platform-variants{display:none}nav.top .topnav-end{grid-area:1/2;align-items:center;gap:10px;height:64px;padding:0 16px 0 0;display:flex}nav.top .topnav-burger{flex-shrink:0;display:inline-grid}nav.top .topnav-menu{opacity:0;pointer-events:none;border-top:1px solid #0000;flex-direction:column;grid-area:2/1/auto/-1;align-items:stretch;gap:0;min-height:0;max-height:0;padding:0 16px;transition:max-height .24s,opacity .18s,padding .24s,border-color .18s;overflow:hidden}nav.top .topnav-menu.is-open{opacity:1;border-top-color:var(--border);pointer-events:auto;max-height:320px;padding:12px 16px 16px}nav.top .topnav-menu a{border-bottom:1px solid var(--border);border-radius:var(--r-sm);margin:0;padding:12px 10px;font-size:15px}nav.top .topnav-menu a.active{background:var(--bg-2)}nav.top .topnav-menu a:last-child{border-bottom:none}nav.top .topnav-menu a.topnav-github{align-items:center;width:100%;margin:0;padding:12px 10px;font-size:15px;font-weight:500;display:flex}nav.top .topnav-menu a.topnav-github .topnav-github-label{display:inline}nav.top .topnav-menu a.topnav-github svg{display:none}}@supports not (backdrop-filter:blur(1px)){nav.top .topnav-shell{background:var(--glass-bg-solid);-webkit-backdrop-filter:none}}@media (prefers-reduced-transparency:reduce){nav.top .topnav-shell{background:var(--bg);-webkit-backdrop-filter:none}}footer{z-index:1;padding:28px 0 48px;position:relative}footer .row{flex-wrap:wrap;align-items:center;gap:22px;display:flex}footer .copyright{color:var(--text-mut);font-size:12px}footer .links{align-items:center;gap:22px;margin-left:auto;font-size:12px;display:flex}footer .links a{color:var(--text-sub);cursor:pointer;transition:color .2s}footer .links a:hover{color:var(--text)}.page-header{margin-bottom:2rem}.page-header-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.page-header-row h1,.page-header-row h2{margin:0}.page-header h1,.page-header h2{letter-spacing:-.025em;margin:0 0 .35rem;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700;line-height:1.15}.page-header p{color:var(--text-mut);margin:0;font-size:.95rem}.grid{gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card{border:1px solid var(--border);border-radius:var(--r);background:oklch(100% 0 0/.72);padding:1.25rem;box-shadow:0 1px 2px oklch(0% 0 0/.04),inset 0 1px oklch(100% 0 0/.85)}.card-featured{border-color:oklch(44% .14 264/.18);border-left:3px solid var(--brand-blue);background:oklch(100% 0 0/.85);box-shadow:0 2px 8px oklch(44% .14 264/.06),inset 0 1px oklch(100% 0 0/.9)}.card-cta{background:var(--brand-gradient-soft);border-color:oklch(44% .14 264/.14)}.kpi-card{transition:border-color .2s,box-shadow .2s}.kpi-card:hover{border-color:var(--border-2);box-shadow:0 4px 12px oklch(0% 0 0/.06),inset 0 1px oklch(100% 0 0/.85)}.card h2,.card h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-mut);margin:0 0 1rem;font-size:.85rem;font-weight:600}.stat-value{font-family:var(--heading);color:var(--text);font-size:2rem;font-weight:700;line-height:1.1}.stat-label{color:var(--text-mut);margin-top:.25rem;font-size:.85rem}.badge{text-transform:uppercase;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-required{background:var(--red-dim);color:var(--red-text)}.badge-secret{background:var(--amber-dim);color:var(--amber-text)}.badge-positive{background:var(--green-dim);color:var(--green-text)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem .75rem}th{color:var(--text-mut);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}tr:last-child td{border-bottom:none}tbody tr{transition:background .15s}tbody tr:hover{background:oklch(44% .14 264/.04)}td a{color:var(--blue-text);cursor:pointer;font-weight:500;transition:color .15s}td a:hover{color:var(--brand-blue)}td a.mono{color:var(--blue-text);font-weight:500}td a.mono:hover{text-decoration:underline}.report-week-id{color:var(--text-mut);margin-top:.15rem;font-size:.75rem;display:block}.bar-row{grid-template-columns:minmax(0,140px) minmax(0,1fr) 52px;align-items:center;gap:.75rem;padding:.35rem 0;display:grid}.bar-label{color:var(--text-mut);font-size:.85rem}.bar-track{background:var(--bg-2);border-radius:999px;height:8px;overflow:hidden}.bar-fill{background:var(--brand-gradient);border-radius:999px;min-width:2px;height:100%;transition:width .5s}@media (prefers-reduced-motion:reduce){.bar-fill{transition:none}}.bar-pct{color:var(--text-mut);text-align:right;font-size:.8rem}.trend-list{margin:0;padding:0;list-style:none}.trend-list li{border-bottom:1px solid var(--border);border-radius:var(--r-sm);justify-content:space-between;align-items:center;gap:1rem;margin:0 -.35rem;padding:.55rem .35rem;transition:background .15s;display:flex}.trend-list li:last-child{border-bottom:none}.trend-list li:hover{background:oklch(44% .14 264/.04)}.trend-list a{color:var(--text);cursor:pointer;font-weight:500;transition:color .15s}.trend-list a:hover{color:var(--blue-text)}.trend-list li>span{color:var(--text-mut);text-align:right;font-size:.85rem}.empty-state{text-align:center;color:var(--text-mut);padding:2rem}.guide-breadcrumb{color:var(--text-mut);margin-bottom:1rem;font-size:.8rem}.guide-breadcrumb a{color:var(--blue-text);font-weight:500}.guide-breadcrumb a:hover{text-decoration:underline}.guide-breadcrumb span[aria-hidden]{color:var(--text-dim);margin:0 .4rem}.guide-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem;display:flex}.guide-chip{font-family:var(--mono);color:var(--text-sub);background:var(--bg-2);border:1px solid var(--border);border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.78rem;display:inline-flex}.guide-lead{max-width:65ch;color:var(--text-sub);margin:0;font-size:1.1rem;line-height:1.55}.guide-body{gap:1rem;margin-top:1.5rem;display:grid}.guide-body h2{font-family:var(--heading);text-transform:none;letter-spacing:-.01em;color:var(--text);margin:0 0 .75rem;font-size:1.15rem;font-weight:700}.guide-body p,.guide-body li{color:var(--text-sub);margin:0;font-size:.97rem;line-height:1.6}.guide-body p+p,.guide-body ul,.guide-body ol{margin-top:.75rem}.guide-body ul,.guide-body ol{padding-left:1.15rem}.guide-body li+li{margin-top:.4rem}.guide-body :not(pre)>code{font-family:var(--mono);background:var(--bg-2);border-radius:4px;padding:.1em .35em;font-size:.88em}.guide-live{background:var(--brand-gradient-soft);border-radius:var(--r-sm);color:var(--text-sub);border:1px solid oklch(44% .14 264/.16);flex-wrap:wrap;align-items:baseline;gap:.5rem .85rem;padding:.85rem 1.1rem;font-size:.95rem;display:flex}.guide-live strong{color:var(--text);font-weight:600}.guide-live a{color:var(--blue-text);font-weight:500}.guide-live a:hover{text-decoration:underline}.guide-faq dt{color:var(--text);font-size:.97rem;font-weight:600}.guide-faq dd{color:var(--text-sub);margin:.35rem 0 0;font-size:.95rem;line-height:1.6}.guide-faq dd+dt{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.guide-related{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.guide-related a{font-family:var(--mono);color:var(--blue-text);border:1px solid var(--border);border-radius:var(--r-sm);background:oklch(100% 0 0/.6);align-items:center;padding:.35rem .7rem;font-size:.82rem;transition:border-color .15s,background .15s;display:inline-flex}.guide-related a:hover{border-color:var(--brand-blue);background:oklch(100% 0 0/.9)}.guide-hub-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.guide-hub-card{flex-direction:column;gap:.4rem;height:100%;padding:1.1rem 1.25rem;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}a.guide-hub-card:hover{border-color:var(--border-2);transform:translateY(-1px);box-shadow:0 4px 12px oklch(0% 0 0/.06),inset 0 1px oklch(100% 0 0/.85)}.guide-hub-card-title{font-family:var(--heading);letter-spacing:-.01em;color:var(--text);font-size:1.05rem;font-weight:700}.guide-hub-card-file{font-family:var(--mono);color:var(--text-mut);font-size:.8rem}.guide-hub-card-desc{color:var(--text-sub);font-size:.9rem;line-height:1.5}@media (width<=768px){.guide-hub-grid{grid-template-columns:1fr}}.card,.hero,.table-wrap,.guide-hub-grid{min-width:0}
