@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:900;src:url(../media/unbounded-cyrillic-ext-900-normal.0pb-6413cd7zn.woff2)format("woff2"),url(../media/unbounded-cyrillic-ext-900-normal.1vuhpawo0orjr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:900;src:url(../media/unbounded-cyrillic-900-normal.2d74-yyk4x2el.woff2)format("woff2"),url(../media/unbounded-cyrillic-900-normal.2e-m-cnadl4k9.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-display:swap;font-weight:900;src:url(../media/unbounded-vietnamese-900-normal.0f0wvrb-_fgz1.woff2)format("woff2"),url(../media/unbounded-vietnamese-900-normal.3a2xdiwjb_fc-.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:Unbounded;font-style:normal;font-display:swap;font-weight:900;src:url(../media/unbounded-latin-ext-900-normal.2g28x90x55zis.woff2)format("woff2"),url(../media/unbounded-latin-ext-900-normal.422428upf5i5c.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:Unbounded;font-style:normal;font-display:swap;font-weight:900;src:url(../media/unbounded-latin-900-normal.1-60ktc0quh_d.woff2)format("woff2"),url(../media/unbounded-latin-900-normal.05cy3wm2n23by.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-wght-normal.0h_qcmzvudf58.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-ext-wght-normal.0i4j_a8lim1a-.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-wght-normal.300rpl789hft0.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-ext-wght-normal.0x_0bevfais8f.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-wght-normal.283rlcw9kygwg.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-greek-wght-normal.1z2_6pqe9b797.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-vietnamese-wght-normal.3f-auarlwu459.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-ext-wght-normal.2rod0ve_3h_te.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-wght-normal.2xs28az5j2efm.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.0_q8wa_t-7-c7.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.1-h66gx1kjeux.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.2dcg25_89g34d.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.1r3eey-1tdqwh.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.40ek894ady0so.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.0blsyrk14nago.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.1ih4rrmj883u6.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0hj8bqnym411c.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.19gbeb610ur4n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.3nj-glub930lh.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.2tfs-ajhr_27q.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.29wincfdhpbow.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.30hm7mcic8nak.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1g2cl4geicio1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.400h8-n7y356b.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2w9-mj8vy__-b.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.2yypdhrkbqnza.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.3-fgi0nn_mag-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.25_05y-blbp24.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.20ixcot5hpnm-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-cyrillic-ext-600-normal.359v33n-iztly.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-600-normal.398wshiu4r_iu.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-cyrillic-600-normal.2ftnyia3t1pbj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-600-normal.2yoett-16jbxc.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-vietnamese-600-normal.3ufj-gslhu4nz.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-600-normal.1nomdqs_fzu-5.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-latin-ext-600-normal.3r1dv7zl76cle.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-600-normal.0s7g4yy6qy35e.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-mono-latin-600-normal.04jv21_rdbjv3.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-600-normal.0tzh5malamm2z.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{--ab-paper:#f4f6f9;--ab-paper-2:#e8ebf0;--ab-card:#fff;--ab-ink:#0a1428;--ab-ink-2:#47536b;--ab-ink-3:#6e7a91;--ab-line:#d8dee7;--ab-line-soft:#e4e9ef;--ab-line-strong:#b9c2d0;--ab-accent:#16a34a;--ab-accent-text:#0f7a38;--ab-accent-hover:#128a3e;--ab-accent-soft:#e7f4ec;--ab-accent-tint:#c9e8d5;--ab-accent-dark:#22c55e;--ab-warn:#b45309;--ab-warn-soft:#fdf3e3;--ab-danger:#b42318;--ab-danger-soft:#fbeaea;--ab-dark-bg:#0a1428;--ab-dark-bg-2:#121e38;--ab-dark-ink:#f4f6f9;--ab-dark-ink-2:#9aa6bc;--ab-dark-line:#f4f6f924;--ab-font-display:"Unbounded", system-ui, sans-serif;--ab-font-head:"Bricolage Grotesque Variable", "Manrope Variable", system-ui, sans-serif;--ab-font-body:"Manrope Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--ab-font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--ab-size-display:clamp(2.5rem, 1.2rem + 5.6vw, 4rem);--ab-size-h1:clamp(2rem, 1.1rem + 3.9vw, 3rem);--ab-size-h2:clamp(1.625rem, 1.1rem + 2.2vw, 2.25rem);--ab-size-h3:clamp(1.25rem, 1rem + 1.1vw, 1.5rem);--ab-size-h4:1.125rem;--ab-size-lead:clamp(1.0625rem, 1rem + .4vw, 1.25rem);--ab-size-body:1rem;--ab-size-sm:.9375rem;--ab-size-xs:.8125rem;--ab-size-label:.75rem;--ab-lh-tight:1.04;--ab-lh-head:1.16;--ab-lh-snug:1.4;--ab-lh-body:1.65;--ab-ls-display:-.03em;--ab-ls-head:-.02em;--ab-ls-label:.1em;--ab-s-1:.25rem;--ab-s-2:.5rem;--ab-s-3:.75rem;--ab-s-4:1rem;--ab-s-5:1.5rem;--ab-s-6:2rem;--ab-s-7:3rem;--ab-s-8:4rem;--ab-s-9:6rem;--ab-s-10:8rem;--ab-section-y:clamp(3.5rem, 2rem + 6vw, 7rem);--ab-gutter:clamp(1.25rem, .5rem + 3vw, 2.5rem);--ab-container:1200px;--ab-container-narrow:1040px;--ab-container-prose:720px;--ab-grid-gap:clamp(1rem, .5rem + 1.5vw, 2rem);--ab-radius-1:4px;--ab-radius-2:8px;--ab-radius-3:14px;--ab-radius-4:22px;--ab-radius-pill:999px;--ab-shadow-sm:0 1px 2px #0a14280f;--ab-shadow-md:0 2px 10px #0a142812;--ab-shadow-lg:0 14px 40px #0a14281a;--ab-shadow-accent:0 6px 20px #16a34a38;--ab-focus:0 0 0 3px #16a34a59;--ab-dur-1:.14s;--ab-dur-2:.24s;--ab-dur-3:.42s;--ab-ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ab-paper);color:var(--ab-ink);font-family:var(--ab-font-body);font-size:var(--ab-size-body);line-height:var(--ab-lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{font-family:var(--ab-font-head);font-weight:800;line-height:var(--ab-lh-head);letter-spacing:var(--ab-ls-head);margin:0 0 var(--ab-s-4)}h1{font-size:var(--ab-size-h1)}h2{font-size:var(--ab-size-h2)}h3{font-size:var(--ab-size-h3)}h4{font-size:var(--ab-size-h4);font-weight:600}p{margin:0 0 var(--ab-s-4)}p:last-child{margin-bottom:0}a{color:var(--ab-accent-text);text-underline-offset:2px;text-decoration-thickness:1px}img,svg{max-width:100%}:focus-visible{box-shadow:var(--ab-focus);border-radius:var(--ab-radius-1);outline:none}.skip-link{left:-9999px;top:var(--ab-s-3);background:var(--ab-ink);color:var(--ab-paper);padding:var(--ab-s-3) var(--ab-s-4);border-radius:var(--ab-radius-2);z-index:100;font-size:var(--ab-size-sm);text-decoration:none;position:absolute}.skip-link:focus{left:var(--ab-s-4)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.container{width:100%;max-width:var(--ab-container);padding-inline:var(--ab-gutter);margin-inline:auto}.container-narrow{max-width:var(--ab-container-narrow)}.container-prose{max-width:var(--ab-container-prose)}.section{padding-block:var(--ab-section-y)}.section-line{border-top:1px solid var(--ab-line)}.grid{gap:var(--ab-grid-gap);display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stack>*+*{margin-top:var(--ab-s-5)}.eyebrow{font-family:var(--ab-font-mono);font-size:var(--ab-size-label);letter-spacing:var(--ab-ls-label);text-transform:uppercase;color:var(--ab-accent-text);align-items:center;gap:var(--ab-s-2);margin:0 0 var(--ab-s-3);font-weight:500;display:inline-flex}.display{font-family:var(--ab-font-head);font-weight:800;font-size:var(--ab-size-display);line-height:var(--ab-lh-tight);letter-spacing:var(--ab-ls-display);margin:0 0 var(--ab-s-5)}.lead{font-size:var(--ab-size-lead);line-height:var(--ab-lh-snug);color:var(--ab-ink-2);max-width:62ch}.small{font-size:var(--ab-size-sm);color:var(--ab-ink-2)}.xs{font-size:var(--ab-size-xs);color:var(--ab-ink-3)}.mono{font-family:var(--ab-font-mono)}.ab-rule{background:var(--ab-line);height:1px;margin:var(--ab-s-7) 0;border:0;position:relative}.ab-rule:after{content:"";background:var(--ab-accent);width:3px;height:15px;position:absolute;top:-7px;left:0}.ab-rule-center:after{left:50%;transform:translate(-50%)}.btn{justify-content:center;align-items:center;gap:var(--ab-s-2);font-family:var(--ab-font-body);font-size:var(--ab-size-sm);border-radius:var(--ab-radius-2);cursor:pointer;transition:background var(--ab-dur-1) var(--ab-ease), color var(--ab-dur-1) var(--ab-ease), border-color var(--ab-dur-1) var(--ab-ease), transform var(--ab-dur-1) var(--ab-ease);border:1px solid #0000;padding:.72em 1.25em;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ab-accent);color:#fff;box-shadow:var(--ab-shadow-accent)}.btn-primary:hover{background:var(--ab-accent-hover)}.btn-secondary{background:var(--ab-ink);color:var(--ab-paper)}.btn-secondary:hover{background:#16233f}.btn-ghost{color:var(--ab-ink);border-color:var(--ab-line-strong);background:0 0}.btn-ghost:hover{border-color:var(--ab-ink);background:var(--ab-card)}.btn-row{gap:var(--ab-s-3);flex-wrap:wrap;display:flex}.card{background:var(--ab-card);border:1px solid var(--ab-line);border-radius:var(--ab-radius-3);padding:var(--ab-s-5);box-shadow:var(--ab-shadow-sm)}.card-flat{box-shadow:none;background:var(--ab-paper-2);border-color:#0000}.card-accent{border-color:var(--ab-accent-tint);box-shadow:var(--ab-shadow-md)}.card h3,.card h4{margin-bottom:var(--ab-s-2)}.chip{font-family:var(--ab-font-mono);font-size:var(--ab-size-label);letter-spacing:.04em;border-radius:var(--ab-radius-1);background:var(--ab-paper-2);color:var(--ab-ink-2);align-items:center;gap:.4em;padding:.35em .7em;font-weight:500;display:inline-flex}.chip-ok{background:var(--ab-accent-soft);color:var(--ab-accent-text)}.chip-warn{background:var(--ab-warn-soft);color:var(--ab-warn)}.chip-bad{background:var(--ab-danger-soft);color:var(--ab-danger)}.stat b{font-family:var(--ab-font-head);letter-spacing:-.03em;font-size:clamp(2rem,1.4rem + 2vw,2.75rem);font-weight:800;line-height:1.05;display:block}.stat span{margin-top:var(--ab-s-2);font-family:var(--ab-font-mono);font-size:var(--ab-size-label);letter-spacing:.08em;text-transform:uppercase;color:var(--ab-ink-3);display:block}.dark{background:var(--ab-dark-bg);color:var(--ab-dark-ink)}.dark h1,.dark h2,.dark h3,.dark h4{color:var(--ab-dark-ink)}.dark .lead,.dark .small,.dark .xs{color:var(--ab-dark-ink-2)}.dark .eyebrow{color:var(--ab-accent-dark)}.dark .card{background:var(--ab-dark-bg-2);border-color:var(--ab-dark-line);box-shadow:none}.dark .ab-rule{background:var(--ab-dark-line)}.dark .stat span{color:var(--ab-dark-ink-2)}.dark .btn-ghost{color:var(--ab-dark-ink);border-color:var(--ab-dark-line)}.dark .btn-ghost:hover{border-color:var(--ab-dark-ink);background:#f4f6f90f}.dark a{color:var(--ab-accent-dark)}.site-header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ab-line);background:#f4f6f9e0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:var(--ab-s-5);min-height:68px;display:flex}.nav{align-items:center;gap:var(--ab-s-5);display:flex}.nav a{font-size:var(--ab-size-sm);color:var(--ab-ink-2);transition:color var(--ab-dur-1) var(--ab-ease);font-weight:500;text-decoration:none}.nav a:hover{color:var(--ab-ink)}.header-actions{align-items:center;gap:var(--ab-s-4);display:flex}.lang-switch{font-family:var(--ab-font-mono);font-size:var(--ab-size-label);letter-spacing:.06em;border:1px solid var(--ab-line);border-radius:var(--ab-radius-pill);background:var(--ab-card);align-items:center;gap:0;display:inline-flex;overflow:hidden}.lang-switch a{color:var(--ab-ink-3);transition:background var(--ab-dur-1) var(--ab-ease), color var(--ab-dur-1) var(--ab-ease);padding:.42em .72em;text-decoration:none}.lang-switch a:hover{color:var(--ab-ink)}.lang-switch a[aria-current=true]{background:var(--ab-ink);color:var(--ab-paper)}@media (max-width:860px){.nav{display:none}}.lockup{color:var(--ab-ink);align-items:center;gap:.5em;font-size:19px;text-decoration:none;display:inline-flex}.lockup svg{flex:none;width:1.05em;height:1.05em}.lockup span{font-family:var(--ab-font-display);letter-spacing:-.02em;font-weight:900;line-height:1}.dark .lockup{color:var(--ab-dark-ink)}.site-footer{border-top:1px solid var(--ab-line);padding-block:var(--ab-s-8) var(--ab-s-6);background:var(--ab-paper-2)}.footer-grid{gap:var(--ab-s-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.footer-grid h4{font-family:var(--ab-font-mono);font-size:var(--ab-size-label);letter-spacing:var(--ab-ls-label);text-transform:uppercase;color:var(--ab-ink-3);margin-bottom:var(--ab-s-3);font-weight:600}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid li+li{margin-top:var(--ab-s-2)}.footer-grid a{font-size:var(--ab-size-sm);color:var(--ab-ink-2);text-decoration:none}.footer-grid a:hover{color:var(--ab-ink);text-decoration:underline}.footer-bottom{margin-top:var(--ab-s-7);padding-top:var(--ab-s-5);border-top:1px solid var(--ab-line);gap:var(--ab-s-4);font-size:var(--ab-size-xs);color:var(--ab-ink-3);flex-wrap:wrap;justify-content:space-between;display:flex}.hero{padding-block:clamp(3rem, 1.5rem + 7vw, 6.5rem) var(--ab-section-y)}.hero .display{max-width:17ch}.hero-domains{gap:var(--ab-s-2);margin-top:var(--ab-s-6);flex-wrap:wrap;display:flex}.tick-list{margin:0;padding:0;list-style:none}.tick-list li{font-size:var(--ab-size-sm);color:var(--ab-ink-2);padding-left:1.6em;position:relative}.tick-list li+li{margin-top:var(--ab-s-3)}.tick-list li:before{content:"";border:2px solid var(--ab-accent);width:9px;height:9px;position:absolute;top:.55em;left:0}.dark .tick-list li{color:var(--ab-dark-ink-2)}@media print{.site-header,.lang-switch,.btn{display:none!important}body{background:#fff;font-size:10.5pt}.section{padding-block:1.5rem}}.scope-form{gap:var(--ab-s-3);margin-top:var(--ab-s-5);flex-wrap:wrap;align-items:flex-end;display:flex}.scope-field{flex:320px}.scope-field label{font-size:var(--ab-size-xs);color:var(--ab-ink-2);margin-bottom:var(--ab-s-2);font-weight:600;display:block}.scope-field input{width:100%;font-family:var(--ab-font-mono);font-size:var(--ab-size-body);background:var(--ab-card);border:1px solid var(--ab-line-strong);border-radius:var(--ab-radius-2);color:var(--ab-ink);padding:.78em .9em}.scope-field input:focus{border-color:var(--ab-accent);box-shadow:var(--ab-focus);outline:none}.scope-chips{gap:var(--ab-s-2);margin-top:var(--ab-s-4);flex-wrap:wrap;align-items:center;display:flex}.scope-chip{font-family:var(--ab-font-mono);font-size:var(--ab-size-label);letter-spacing:.04em;border-radius:var(--ab-radius-pill);border:1px solid var(--ab-line);background:var(--ab-card);color:var(--ab-ink-2);cursor:pointer;transition:border-color var(--ab-dur-1) var(--ab-ease), color var(--ab-dur-1) var(--ab-ease);padding:.4em .75em}.scope-chip:hover{border-color:var(--ab-accent);color:var(--ab-accent-text)}.scope-results{gap:var(--ab-grid-gap);margin-top:var(--ab-s-7);display:grid}@media (min-width:900px){.scope-results{grid-template-columns:repeat(3,1fr)}}.rcard{background:var(--ab-card);border:1px solid var(--ab-line);border-left:3px solid var(--ab-line-strong);border-radius:var(--ab-radius-3);padding:var(--ab-s-5);box-shadow:var(--ab-shadow-sm);flex-direction:column;display:flex}.rcard.hit{border-left-color:var(--ab-accent)}.rcard.check{border-left-color:var(--ab-warn)}.rcard.miss{border-left-color:var(--ab-line-strong)}.rcard-head{justify-content:space-between;align-items:baseline;gap:var(--ab-s-3);margin-bottom:var(--ab-s-3);display:flex}.rcard-reg{font-family:var(--ab-font-mono);font-size:var(--ab-size-label);letter-spacing:var(--ab-ls-label);color:var(--ab-ink-3);font-weight:600}.rcard-state{font-size:var(--ab-size-sm);font-weight:700}.rcard.hit .rcard-state{color:var(--ab-accent-text)}.rcard.check .rcard-state{color:var(--ab-warn)}.rcard.miss .rcard-state{color:var(--ab-ink-3)}.rcard-match{font-family:var(--ab-font-mono);font-size:var(--ab-size-xs);color:var(--ab-ink-2);background:var(--ab-paper-2);border-radius:var(--ab-radius-1);margin-bottom:var(--ab-s-3);word-break:break-word;padding:.45em .65em}.rcard-text{font-size:var(--ab-size-sm);color:var(--ab-ink-2);margin-bottom:var(--ab-s-4)}.rcard ul{margin:0 0 var(--ab-s-4)}.rcard-meta{padding-top:var(--ab-s-4);border-top:1px solid var(--ab-line-soft);font-family:var(--ab-font-mono);color:var(--ab-ink-3);margin-top:auto;font-size:11px;line-height:1.5}.ref details{background:var(--ab-card);border:1px solid var(--ab-line);border-radius:var(--ab-radius-2);margin-bottom:var(--ab-s-3)}.ref summary{cursor:pointer;padding:var(--ab-s-4);font-weight:600;font-size:var(--ab-size-sm);list-style:none}.ref summary::-webkit-details-marker{display:none}.ref summary:before{content:"+ ";font-family:var(--ab-font-mono);color:var(--ab-accent)}.ref details[open] summary:before{content:"– "}.ref .rbody{padding:0 var(--ab-s-4) var(--ab-s-4)}.rtab{border-collapse:collapse;width:100%;font-size:var(--ab-size-xs);border:0}.rtab th{text-align:left;font-family:var(--ab-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ab-ink-3);padding:var(--ab-s-2) var(--ab-s-3);border-bottom:1px solid var(--ab-line);background:0 0;font-size:11px}.rtab td{padding:var(--ab-s-2) var(--ab-s-3);border-top:1px solid var(--ab-line-soft)}.rtab td.c{font-family:var(--ab-font-mono);white-space:nowrap;color:var(--ab-ink)}.rtab tr.ex td{color:var(--ab-warn)}.rtab tr.ex td.c:after{content:" ×"}.faq-group{margin-bottom:var(--ab-s-7)}.faq-group>h3{font-family:var(--ab-font-mono);font-size:var(--ab-size-label);letter-spacing:var(--ab-ls-label);text-transform:uppercase;color:var(--ab-accent-text);padding-bottom:var(--ab-s-3);border-bottom:1px solid var(--ab-line);margin-bottom:var(--ab-s-2);font-weight:600}.faq-group details{border-bottom:1px solid var(--ab-line-soft)}.faq-group summary{cursor:pointer;padding:var(--ab-s-4) 2rem var(--ab-s-4) 0;font-weight:600;font-size:var(--ab-size-sm);list-style:none;position:relative}.faq-group summary::-webkit-details-marker{display:none}.faq-group summary:after{content:"+";font-family:var(--ab-font-mono);color:var(--ab-accent);font-weight:400;position:absolute;right:.4rem}.faq-group details[open] summary:after{content:"–"}.faq-group details>p{font-size:var(--ab-size-sm);color:var(--ab-ink-2);padding-bottom:var(--ab-s-5);max-width:78ch}.phead{padding-block:clamp(2.5rem,1.5rem + 4vw,4.5rem) 0}.phead h1{max-width:20ch}.tl{margin-top:var(--ab-s-6);gap:0;display:grid}.tl-item{padding:var(--ab-s-5) 0 var(--ab-s-5) var(--ab-s-7);border-top:1px solid var(--ab-line);position:relative}.tl-item:before{content:"";left:0;top:calc(var(--ab-s-5) + .35em);border:3px solid var(--ab-accent);background:var(--ab-paper);width:11px;height:11px;position:absolute}.tl-item.past:before{border-color:var(--ab-line-strong)}.tl-item .d{font-family:var(--ab-font-mono);font-size:var(--ab-size-label);letter-spacing:.06em;color:var(--ab-accent-text);margin-bottom:var(--ab-s-2);display:block}.tl-item.past .d{color:var(--ab-ink-3)}.tl-item .t{font-family:var(--ab-font-head);font-weight:800;font-size:var(--ab-size-h4);margin-bottom:var(--ab-s-2)}.tl-item p{font-size:var(--ab-size-sm);color:var(--ab-ink-2);max-width:70ch}.srv-row{gap:var(--ab-s-4);padding:var(--ab-s-5) 0;border-top:1px solid var(--ab-line);grid-template-columns:3rem minmax(180px,16rem) 1fr;align-items:start;display:grid}.srv-row .n{font-family:var(--ab-font-mono);font-size:var(--ab-size-xs);color:var(--ab-accent-text);letter-spacing:.08em;padding-top:.15em}.srv-row .t{font-weight:700;font-size:var(--ab-size-sm)}.srv-row .d{font-size:var(--ab-size-sm);color:var(--ab-ink-2)}@media (max-width:700px){.srv-row{grid-template-columns:2.5rem 1fr}.srv-row .d{grid-column:2}}.note{font-size:var(--ab-size-xs);color:var(--ab-ink-3);max-width:78ch;margin-top:var(--ab-s-5)}.nav-toggle{border:1px solid var(--ab-line-strong);border-radius:var(--ab-radius-2);cursor:pointer;width:42px;height:42px;color:var(--ab-ink);background:0 0;justify-content:center;align-items:center;padding:0;display:none}.nav-toggle:hover{border-color:var(--ab-ink)}.burger{width:18px;height:12px;display:block;position:relative}.burger i{width:100%;height:2px;transition:transform var(--ab-dur-2) var(--ab-ease), opacity var(--ab-dur-1) var(--ab-ease);background:currentColor;position:absolute;left:0}.burger i:first-child{top:0}.burger i:nth-child(2){top:5px}.burger i:nth-child(3){top:10px}.burger.is-open i:first-child{transform:translateY(5px)rotate(45deg)}.burger.is-open i:nth-child(2){opacity:0}.burger.is-open i:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.mobile-nav{border-top:1px solid var(--ab-line);background:var(--ab-card);padding-block:var(--ab-s-5) var(--ab-s-6);display:none}.mobile-nav nav{flex-direction:column;display:flex}.mobile-nav nav a{padding:var(--ab-s-4) 0;font-size:var(--ab-size-lead);color:var(--ab-ink);border-bottom:1px solid var(--ab-line-soft);font-weight:600;text-decoration:none}.mobile-nav nav a[aria-current=page]{color:var(--ab-accent-text)}.nav a[aria-current=page]{color:var(--ab-ink);box-shadow:inset 0 -2px 0 var(--ab-accent)}@media (max-width:860px){.nav{display:none}.nav-toggle{display:inline-flex}.header-cta{display:none}.mobile-nav.is-open{display:block}.header-inner{gap:var(--ab-s-3)}}@media (max-width:460px){.lockup{font-size:17px}}.quiz-bar{background:var(--ab-line);border-radius:var(--ab-radius-pill);height:3px;margin-bottom:var(--ab-s-6);overflow:hidden}.quiz-bar span{background:var(--ab-accent);height:100%;transition:width var(--ab-dur-2) var(--ab-ease);display:block}.quiz-q{font-size:var(--ab-size-h2);margin-bottom:var(--ab-s-3)}.quiz-opts{gap:var(--ab-s-3);margin-top:var(--ab-s-5);display:grid}.quiz-opt{justify-content:space-between;align-items:center;gap:var(--ab-s-4);text-align:left;width:100%;font-family:var(--ab-font-body);font-size:var(--ab-size-sm);color:var(--ab-ink);background:var(--ab-card);border:1px solid var(--ab-line);border-left:3px solid var(--ab-line);border-radius:var(--ab-radius-2);padding:var(--ab-s-4) var(--ab-s-5);cursor:pointer;transition:border-color var(--ab-dur-1) var(--ab-ease), background var(--ab-dur-1) var(--ab-ease);font-weight:500;display:flex}.quiz-opt:hover{border-color:var(--ab-line-strong);border-left-color:var(--ab-accent)}.quiz-opt.is-on{border-color:var(--ab-accent-tint);border-left-color:var(--ab-accent);background:var(--ab-accent-soft)}.quiz-opt em{flex:none;font-style:normal}.num-list{margin:var(--ab-s-4) 0 0;padding-left:1.3em}.num-list li{font-size:var(--ab-size-sm);color:var(--ab-ink-2);padding-left:.3em}.num-list li::marker{font-family:var(--ab-font-mono);font-size:var(--ab-size-xs);color:var(--ab-accent-text)}.num-list li+li{margin-top:var(--ab-s-3)}
