@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-cyrillic-ext-wght-normal.D_UHSL_T.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-vietnamese-wght-normal.CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-latin-ext-wght-normal.Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-latin-wght-normal.CaVRRdDk.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal.Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal.B9CIFXIH.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}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:oklch(16.5% .012 255);--color-ink-2:oklch(21% .014 255);--color-line:oklch(95.5% .006 255/.12);--color-line-strong:oklch(95.5% .006 255/.24);--color-grid:oklch(95.5% .006 255/.05);--color-paper:oklch(95.5% .006 255);--color-muted:oklch(72% .015 255);--color-accent:oklch(66% .092 207.5);--color-on-accent:oklch(16.5% .012 255);--color-focus:oklch(66% .092 207.5);--color-error:oklch(70% .17 25);--color-accent-hover:oklch(72% .092 207.5);--color-print-paper:oklch(100% 0 0);--color-print-ink:oklch(16.5% .012 255);--control-height:2.75rem;--font-sans:"Hanken Grotesk Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:calc(clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem));--text-display:calc(clamp(2.375rem, 1.4rem + 4vw, 4.5rem));--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:5rem;--space-4xl:8rem;--measure:65ch;--page-max:72rem;--gutter:calc(clamp(1rem, .6rem + 2vw, 2rem));--radius:6px;--rule:1px solid var(--color-line);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.15s;--dur-base:.22s}@media (prefers-contrast:more){:root{--color-line:oklch(95.5% .006 255/.4);--color-line-strong:oklch(95.5% .006 255/.7);--color-muted:oklch(86% .01 255)}}*,:after,:before{box-sizing:border-box}body,html{overflow-x:clip}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--color-ink);background-image:linear-gradient(var(--color-grid) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid) 1px,transparent 1px);min-height:100dvh;color:var(--color-paper);font-family:var(--font-sans);font-size:var(--text-base);font-optical-sizing:auto;background-position:top;background-size:4rem 4rem;margin:0;line-height:1.6}h1,h2,h3{letter-spacing:-.025em;overflow-wrap:anywhere;min-width:0;margin:0;font-style:normal;font-weight:600;line-height:1.1}h1{font-size:var(--text-display);letter-spacing:-.035em;line-height:1.04}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg);letter-spacing:-.01em}p{max-width:var(--measure);margin:0}a{color:inherit;text-underline-offset:.1em;text-decoration-thickness:1px}a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:2px}.mono,code,kbd{font-family:var(--font-mono);font-size:.92em}.wrap{width:100%;max-width:var(--page-max);padding-inline:var(--gutter);margin-inline:auto}.skip-link{left:var(--space-md);top:var(--space-md);z-index:100;padding:var(--space-xs) var(--space-md);background:var(--color-accent);color:var(--color-on-accent);font-weight:600;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.button{align-items:center;gap:var(--space-xs);min-height:2.75rem;padding:0 var(--space-lg);border-radius:var(--radius);background:var(--color-accent);color:var(--color-on-accent);white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out);font-weight:600;text-decoration:none;display:inline-flex}.button:active{transform:translateY(1px)scale(.98)}.button:hover{background:var(--color-accent-hover)}.button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.lead{color:var(--color-muted);font-size:var(--text-lg);line-height:1.5}.page-head{gap:var(--space-lg);padding-block:var(--space-2xl) var(--space-3xl);display:grid}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@view-transition{navigation:none}}@media print{body{background:var(--color-print-paper);color:var(--color-print-ink)}.site-header nav,.skip-link{display:none}}.shell{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}main:focus{outline:none}.brand-mark{width:auto;height:2.75rem;display:block}.brand-mark--compact{height:1.875rem}.site-header{border-bottom:var(--rule);background:var(--color-ink)}.site-header__bar{justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:4rem;display:flex}.site-header__brand{padding-block:var(--space-xs);display:inline-flex}.site-header__toggle{min-height:2.75rem;padding:0 var(--space-md);border:1px solid var(--color-line-strong);border-radius:var(--radius);color:var(--color-paper);font:500 var(--text-sm)/1 var(--font-mono);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);background:0 0}.site-header__toggle:hover{border-color:var(--color-accent)}.site-header__toggle:active{transform:translateY(1px)scale(.98)}.site-menu{width:calc(min(100vw,22rem));padding:var(--space-lg);border:var(--rule);background:var(--color-ink-2);color:var(--color-paper);margin:0;inset:4rem 0 auto auto}.site-menu:popover-open{gap:var(--space-lg);display:grid}.site-menu ul{margin:0;padding:0;list-style:none}.site-menu__links{gap:var(--space-2xs);display:grid}.site-menu__link{align-items:center;gap:var(--space-xs);white-space:nowrap;min-height:2.75rem;text-decoration:none;display:flex}.site-menu__link:before{content:"›";font-family:var(--font-mono);color:var(--color-muted)}.site-menu__link:hover:before,.site-menu__link[aria-current=page]:before{color:var(--color-accent)}.site-menu__langs{gap:var(--space-md);font-family:var(--font-mono);font-size:var(--text-sm);display:flex}.site-menu__langs a{min-width:2.75rem;min-height:2.75rem;color:var(--color-muted);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.site-menu__langs a:hover{color:var(--color-paper)}@media (width>=60rem){.site-header__toggle{display:none}.site-menu{align-items:center;gap:var(--space-xl);background:0 0;border:0;width:auto;padding:0;display:flex;position:static;overflow:visible}.site-menu:popover-open{align-items:center;gap:var(--space-xl);background:0 0;border:0;width:auto;padding:0;display:flex;position:static;overflow:visible}.site-menu__links{gap:var(--space-lg);display:flex}}.site-footer{border-top:var(--rule);background:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted)}.site-footer__body{gap:var(--space-xl);padding-block:var(--space-2xl);display:grid}.site-footer__colophon{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));margin:0;display:grid}.site-footer__colophon dt{color:var(--color-paper);margin-bottom:var(--space-2xs)}.site-footer__colophon dd{margin:0}.site-footer__colophon a{white-space:nowrap;align-items:center;min-height:2.75rem;display:inline-flex}.site-footer__copy{font-size:var(--text-xs)}.error-code{color:var(--color-accent)}.hero{isolation:isolate;position:relative;overflow:hidden}.hero__glyphs{--glyph-color:var(--color-muted);--glyph-accent:var(--color-accent);z-index:-1;pointer-events:none;opacity:.45;width:100%;height:100%;-webkit-mask-image:linear-gradient(to bottom,transparent 60%,var(--color-ink) 95%);-webkit-mask-image:linear-gradient(to bottom,transparent 60%,var(--color-ink) 95%);mask-image:linear-gradient(to bottom,transparent 60%,var(--color-ink) 95%);position:absolute;inset:0}.hero__body{gap:var(--space-lg);padding-block:var(--space-2xl) var(--space-3xl);align-content:center;display:grid}.hero h1{max-width:16ch}.cursor{width:.5em;height:.8em;margin-left:var(--space-2xs);background:var(--color-accent);vertical-align:-.04em;animation:1s step-end 4 cursor-blink;display:inline-block}@keyframes cursor-blink{50%{opacity:0}}.legal{gap:var(--space-xl);padding-bottom:var(--space-4xl);display:grid}.legal dt,.legal__basis,.updated{color:var(--color-muted)}.legal dl{gap:var(--space-lg);margin:0;display:grid}.legal dl>div{gap:var(--space-2xs);padding-top:var(--space-md);border-top:var(--rule);display:grid}.legal dt{font-family:var(--font-mono);font-size:var(--text-sm)}.legal dd{max-width:var(--measure);margin:0}.legal address{font-style:normal}@media (width>=48rem){.hero__body{min-height:calc(min(70dvh,40rem))}.hero__glyphs{opacity:.7;-webkit-mask-image:linear-gradient(to right,transparent 25%,var(--color-ink) 75%);-webkit-mask-image:linear-gradient(to right,transparent 25%,var(--color-ink) 75%);mask-image:linear-gradient(to right,transparent 25%,var(--color-ink) 75%)}.legal dl>div{gap:var(--space-xl);grid-template-columns:minmax(0,16rem) minmax(0,1fr)}.form__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.prose{gap:var(--space-xl);padding-bottom:var(--space-4xl);display:grid}.prose section{gap:var(--space-sm);padding-top:var(--space-md);border-top:var(--rule);display:grid}.prose h2{font-size:var(--text-lg)}.contact{gap:var(--space-2xl);padding-bottom:var(--space-4xl)}.contact,.form,.form__grid,.form__row{display:grid}.form{gap:var(--space-lg);max-width:44rem}.form__row{gap:var(--space-xs);min-width:0}.form__grid{gap:var(--space-lg)}.form label{font-weight:500}.form input,.form select,.form textarea{width:100%;min-height:var(--control-height);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-line-strong);border-radius:var(--radius);background:var(--color-ink-2);color:var(--color-paper);font:inherit}.form input,.form select{height:var(--control-height);padding-block:0}.form textarea{resize:vertical;line-height:1.5}.form input:hover,.form select:hover,.form textarea:hover{border-color:var(--color-muted)}.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}:is(.form input:user-invalid,.form textarea:user-invalid){border-color:var(--color-error)}.form__hint{color:var(--color-muted);font-size:var(--text-sm)}.form__actions{gap:var(--space-md);justify-items:start;display:grid}.form button{cursor:pointer;font:inherit;border:0;font-weight:600}.form__trap{width:1px;height:1px;position:absolute;left:-100vw;overflow:hidden}.contact__alt{color:var(--color-muted)}.result__code{color:var(--color-accent)}.reason{display:none}:is(.reason:target,.reasons:not(:has(:target)) .reason--default){display:block}.groups{gap:var(--space-2xl) var(--space-xl);display:grid}.group{gap:var(--space-sm);padding-top:var(--space-md);border-top:var(--rule);scroll-margin-top:var(--space-xl);align-content:start;display:grid}.group__lead{color:var(--color-muted)}.ticks{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.ticks li{grid-template-columns:var(--space-lg) minmax(0,1fr);max-width:var(--measure);display:grid}.ticks li:before{content:"›";color:var(--color-accent);font-family:var(--font-mono)}@media (width>=48rem){.groups{grid-template-columns:repeat(2,minmax(0,1fr))}}.section{gap:var(--space-xl);padding-block:var(--space-3xl);border-top:var(--rule);display:grid}.section__head{gap:var(--space-sm);display:grid}.arrow-link{align-items:center;gap:var(--space-xs);min-height:2.75rem;color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap;text-decoration:none;display:inline-flex}.arrow-link:after{content:"→";transition:transform var(--dur-fast) var(--ease-out)}.arrow-link:hover:after{transform:translate(3px)}.map__tree{--node:2.75rem;--wire:1px solid var(--color-line-strong)}.map__root{color:var(--color-accent);font-size:var(--text-sm)}.map__branches,.map__leaves{margin:0;padding:0;list-style:none}.map__branches{margin-left:var(--space-xs)}.map__leaves{margin-left:.5rem}.map__branch,.map__leaves>li{padding-left:var(--space-xl);position:relative}.map__branch:before,.map__leaves>li:before{content:"";width:var(--space-lg);height:calc(var(--node) / 2);border-left:var(--wire);border-bottom:var(--wire);position:absolute;top:0;left:0}.map__branch:not(:last-child):after,.map__leaves>li:not(:last-child):after{content:"";left:0;top:calc(var(--node) / 2);border-left:var(--wire);position:absolute;bottom:0}.map__node{min-height:var(--node);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.map__node:hover{color:var(--color-accent)}.map__node--branch{font-size:var(--text-lg);font-weight:600}.map__leaves .map__node{color:var(--color-muted)}.map__leaves .map__node:hover{color:var(--color-accent)}@media (width>=64rem){.map__root{padding-bottom:var(--space-lg);position:relative}.map__root:after{content:"";left:var(--space-xs);height:var(--space-lg);border-left:var(--wire);position:absolute;bottom:0}.map__branches{gap:var(--space-xl);border-top:var(--wire);padding-top:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.map__branch:before{top:calc(-1px + -1 * var(--space-lg));height:calc(1px + var(--space-lg) + var(--node) / 2)}.map__branch:not(:last-child):after{content:none}}@keyframes node-in{0%{opacity:0;transform:translateY(.5rem)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.map__branch{animation:linear both node-in;animation-timeline:view();animation-range:entry 10% entry 60%}}}.caps{gap:var(--space-lg) var(--space-2xl);margin:0;display:grid}.caps__row{gap:var(--space-2xs);padding-top:var(--space-md);border-top:var(--rule);display:grid}.caps__row dt{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm)}.caps__row dd{max-width:var(--measure);margin:0}@media (width>=48rem){.caps,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.steps{counter-reset:step;gap:var(--space-xl);margin:0;padding:0;list-style:none;display:grid}.steps__item{counter-increment:step;gap:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--color-line-strong);align-content:start;display:grid}.steps__item:before{content:counter(step,decimal-leading-zero);color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-sm)}.stack dt,.steps__item p{color:var(--color-muted)}@media (width>=72rem){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}.stack{gap:var(--space-lg) var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:0;display:grid}.stack>div{gap:var(--space-2xs);display:grid}.stack dt{font-family:var(--font-mono);font-size:var(--text-sm)}.stack dd{margin:0}.cta{padding-bottom:var(--space-4xl)}.cta__actions{align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.cards{gap:var(--space-2xl) var(--space-xl);display:grid}.cards--page{padding-bottom:var(--space-3xl)}.card{gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-line-strong);scroll-margin-top:var(--space-xl);align-content:start;display:grid}.card__kind{color:var(--color-accent);font-size:var(--text-sm)}.card__text{color:var(--color-muted)}.tags{gap:var(--space-xs);margin:var(--space-xs) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.tags li{padding:var(--space-2xs) var(--space-xs);border:var(--rule);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-paper)}.link-row{gap:var(--space-lg);flex-wrap:wrap;display:flex}@media (width>=48rem){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=72rem){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
