@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:Inter Fallback;src:local(Arial),local(Helvetica),local(Liberation Sans);size-adjust:107%;ascent-override:90.5%;descent-override:22.5%;line-gap-override:0%}@font-face{font-family:Source Serif Fallback;src:local(Georgia),local(Times New Roman),local(Liberation Serif);size-adjust:97%;ascent-override:105%;descent-override:34%;line-gap-override:0%}:root{--petrol-950:#062a2e;--petrol-900:#0a3a3f;--petrol-800:#0d4d53;--petrol-700:#0f6168;--petrol-600:#12767e;--petrol-500:#1a8f98;--petrol-400:#45aab2;--petrol-300:#84c8cd;--petrol-200:#bfe2e4;--petrol-100:#e0f1f2;--petrol-50:#f0f8f8;--signal-700:#b5401f;--signal-600:#d24f2a;--signal-500:#e8643c;--signal-100:#fde6dd;--slate-950:#0c1420;--slate-900:#141e2b;--slate-800:#1f2a38;--slate-700:#364152;--slate-600:#4f5b6c;--slate-500:#5f6a7a;--slate-400:#98a1ae;--slate-300:#c6ccd4;--slate-200:#e1e5ea;--slate-100:#eef1f4;--slate-50:#f7f8fa;--white:#fff;--green-700:#17643f;--green-600:#1f7a4d;--green-100:#dcf1e5;--amber-700:#8a5300;--amber-600:#a86500;--amber-100:#fbecd2;--red-700:#a12a2a;--red-100:#f9dddd;--color-bg:var(--white);--color-bg-subtle:var(--slate-50);--color-bg-muted:var(--slate-100);--color-surface:var(--white);--color-border:var(--slate-200);--color-border-strong:var(--slate-300);--color-text:var(--slate-900);--color-text-muted:var(--slate-600);--color-text-subtle:var(--slate-500);--color-heading:var(--slate-950);--color-link:var(--petrol-700);--color-link-hover:var(--petrol-900);--color-brand:var(--petrol-700);--color-brand-strong:var(--petrol-800);--color-brand-soft:var(--petrol-50);--color-brand-tint:var(--petrol-100);--color-on-brand:var(--white);--color-accent:var(--signal-600);--color-accent-hover:var(--signal-700);--color-accent-soft:var(--signal-100);--color-on-accent:var(--white);--color-focus:var(--petrol-500);--color-ok:var(--green-600);--color-ok-text:var(--green-700);--color-ok-soft:var(--green-100);--color-warn:var(--amber-600);--color-warn-text:var(--amber-700);--color-warn-soft:var(--amber-100);--color-danger:var(--red-700);--color-danger-soft:var(--red-100);--font-sans:"Inter Variable", "Inter", "Inter Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:"Source Serif 4 Variable", "Source Serif 4", "Source Serif Fallback", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.1875rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:clamp(1.9rem, 1.4rem + 2vw, 2.5rem);--text-4xl:clamp(2.3rem, 1.6rem + 3vw, 3.4rem);--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.6;--tracking-tight:-.02em;--tracking-wide:.06em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--shadow-sm:0 1px 2px #0c14200f;--shadow-md:0 2px 4px #0c14200a, 0 8px 24px #0c142012;--shadow-lg:0 4px 8px #0c14200d, 0 20px 48px #0c14201a;--container:74rem;--container-prose:44rem;--gutter:clamp(1rem, .5rem + 2.5vw, 2rem);--header-height:4rem;--transition:.16s cubic-bezier(.2, 0, 0, 1);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:var(--slate-950);--color-bg-subtle:#101a27;--color-bg-muted:var(--slate-900);--color-surface:#121c29;--color-border:#263243;--color-border-strong:#364356;--color-text:#dfe4ea;--color-text-muted:#a5afbc;--color-text-subtle:#8792a1;--color-heading:#f4f6f8;--color-link:var(--petrol-300);--color-link-hover:var(--petrol-200);--color-brand:var(--petrol-400);--color-brand-strong:var(--petrol-300);--color-brand-soft:#0b2a30;--color-brand-tint:#0f363c;--color-on-brand:var(--slate-950);--color-accent:#f07a55;--color-accent-hover:#f6957a;--color-accent-soft:#3a1d14;--color-on-accent:var(--slate-950);--color-focus:var(--petrol-300);--color-ok:#4cc28a;--color-ok-text:#7dd6aa;--color-ok-soft:#12301f;--color-warn:#e0a347;--color-warn-text:#ebbd77;--color-warn-soft:#33250c;--color-danger:#ef8a8a;--color-danger-soft:#3a1717;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 4px #00000040, 0 8px 24px #0000004d;--shadow-lg:0 4px 8px #0000004d, 0 20px 48px #0006;color-scheme:dark}}:root[data-theme=dark]{--color-bg:var(--slate-950);--color-bg-subtle:#101a27;--color-bg-muted:var(--slate-900);--color-surface:#121c29;--color-border:#263243;--color-border-strong:#364356;--color-text:#dfe4ea;--color-text-muted:#a5afbc;--color-text-subtle:#8792a1;--color-heading:#f4f6f8;--color-link:var(--petrol-300);--color-link-hover:var(--petrol-200);--color-brand:var(--petrol-400);--color-brand-strong:var(--petrol-300);--color-brand-soft:#0b2a30;--color-brand-tint:#0f363c;--color-on-brand:var(--slate-950);--color-accent:#f07a55;--color-accent-hover:#f6957a;--color-accent-soft:#3a1d14;--color-on-accent:var(--slate-950);--color-focus:var(--petrol-300);--color-ok:#4cc28a;--color-ok-text:#7dd6aa;--color-ok-soft:#12301f;--color-warn:#e0a347;--color-warn-text:#ebbd77;--color-warn-soft:#33250c;--color-danger:#ef8a8a;--color-danger-soft:#3a1717;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 4px #00000040, 0 8px 24px #0000004d;--shadow-lg:0 4px 8px #0000004d, 0 20px 48px #0006;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + var(--space-4))}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}img,svg,video{max-width:100%;height:auto;display:block}h1,h2,h3,h4{color:var(--color-heading);line-height:var(--leading-snug);text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}a{color:var(--color-link);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--color-link-hover);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:3px}::selection{background:var(--color-brand-tint);color:var(--color-heading)}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-4);z-index:100;background:var(--color-brand);color:var(--color-on-brand);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);position:absolute;top:-100px}.skip-link:focus{top:var(--space-4)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-16)}.section--tight{padding-block:var(--space-10)}.section--subtle{background:var(--color-bg-subtle);border-block:1px solid var(--color-border)}.stack>*+*{margin-top:var(--space-4)}.grid{gap:var(--space-6);display:grid}.grid--2{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}.grid--3{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}.grid--4{grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr))}.eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-brand);font-weight:650}.display{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.015em;font-optical-sizing:auto}.h1{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.01em}.h2{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);font-weight:650}.h3{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:650}.lead{font-size:var(--text-lg);color:var(--color-text-muted);line-height:1.55}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}.num{font-variant-numeric:tabular-nums}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-5);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);border:1px solid #0000;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn--primary{background:var(--color-brand);color:var(--color-on-brand)}.btn--primary:hover{background:var(--color-brand-strong);color:var(--color-on-brand)}.btn--accent{background:var(--color-accent);color:var(--color-on-accent)}.btn--accent:hover{background:var(--color-accent-hover);color:var(--color-on-accent)}.btn--secondary{background:var(--color-surface);color:var(--color-heading);border-color:var(--color-border-strong)}.btn--secondary:hover{border-color:var(--color-brand);color:var(--color-brand)}.btn--ghost{color:var(--color-link);padding-inline:var(--space-2);background:0 0}.btn--ghost:hover{color:var(--color-link-hover);background:var(--color-brand-soft)}.btn--lg{min-height:3.25rem;padding-inline:var(--space-6);font-size:var(--text-base)}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);background:var(--color-bg-muted);color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.35em;padding:.2em .6em;font-weight:600;line-height:1.4;display:inline-flex}.badge:before{content:"";opacity:.9;background:currentColor;border-radius:50%;width:.5em;height:.5em}.badge--plain:before{display:none}.badge--brand{background:var(--color-brand-soft);color:var(--color-brand)}.badge--ok{background:var(--color-ok-soft);color:var(--color-ok-text)}.badge--warn{background:var(--color-warn-soft);color:var(--color-warn-text)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.card{gap:var(--space-3);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;display:flex;position:relative}.card--link:hover{border-color:var(--color-brand);box-shadow:var(--shadow-md)}.card--link a:after{content:"";position:absolute;inset:0}.card--link a{color:inherit;text-decoration:none}.card__title{font-size:var(--text-lg);color:var(--color-heading);font-weight:650;line-height:var(--leading-snug)}.card__text{color:var(--color-text-muted);font-size:var(--text-sm)}.card__meta{padding-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-subtle);gap:var(--space-3);flex-wrap:wrap;align-items:center;margin-top:auto;display:flex}.callout{gap:var(--space-2);padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);border:1px solid var(--color-border);border-left:4px solid var(--color-brand);background:var(--color-brand-soft);display:grid}.callout__title{color:var(--color-heading);font-weight:650;font-size:var(--text-sm);letter-spacing:.01em}.callout--warn{border-left-color:var(--color-warn);background:var(--color-warn-soft)}.callout--neutral{border-left-color:var(--color-border-strong);background:var(--color-bg-subtle)}.stat{gap:var(--space-1);padding:var(--space-5) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.stat__label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:600}.stat__value{font-size:var(--text-3xl);color:var(--color-heading);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);font-weight:700;line-height:1.1}.stat__note{font-size:var(--text-xs);color:var(--color-text-subtle)}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}thead th{background:var(--color-bg-subtle);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted);white-space:nowrap;font-weight:650}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--color-bg-subtle)}.field{gap:var(--space-2);display:grid}.label{font-size:var(--text-sm);color:var(--color-heading);font-weight:600}.input{width:100%;min-height:2.75rem;padding:0 var(--space-4);font:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);transition:border-color var(--transition), box-shadow var(--transition)}.input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-tint);outline:none}.hint{font-size:var(--text-xs);color:var(--color-text-subtle)}.prose{max-width:var(--container-prose);font-size:var(--text-base)}.prose>*+*{margin-top:1.1em}.prose h2{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);margin-top:2.2em;font-weight:650}.prose h3{font-size:var(--text-lg);margin-top:1.8em;font-weight:650}.prose h2+*,.prose h3+*{margin-top:.6em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--color-brand)}.prose strong{color:var(--color-heading);font-weight:650}.prose blockquote{padding:var(--space-2) 0 var(--space-2) var(--space-5);border-left:3px solid var(--color-brand);color:var(--color-text-muted);margin-inline:0}.prose :not(pre)>code{background:var(--color-bg-muted);border-radius:4px;padding:.1em .35em}.prose pre{background:var(--slate-950);color:#e6edf3;padding:var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);overflow-x:auto}.prose .table-wrap{margin-block:1.5em}.prose hr{border:0;border-top:1px solid var(--color-border);margin-block:2.5em}.prose a{overflow-wrap:anywhere}.prose .ungeprueft,mark.ungeprueft{background:var(--color-warn-soft);color:var(--color-warn-text);border-radius:var(--radius-full);white-space:nowrap;vertical-align:.08em;padding:.05em .4em;font-size:.78em;font-weight:600}.prose .contains-task-list{padding-left:0;list-style:none}.prose .task-list-item{align-items:baseline;gap:.6em;display:flex}.prose .task-list-item input{accent-color:var(--color-brand);transform:translateY(.1em)}
