@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-vietnamese-wdth-normal.rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-ext-wdth-normal.7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-wdth-normal.DY7AcnAa.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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-next-latin-ext-wght-normal.C6vrW8VD.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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.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(data:font/woff2;base64,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)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{--hue:48;--panel-hue:250;--bg:oklch(98.5% 0 0);--surface:oklch(.955 .004 var(--panel-hue));--surface-2:oklch(.93 .006 var(--panel-hue));--ink:oklch(.23 .014 var(--panel-hue));--ink-muted:oklch(.45 .014 var(--panel-hue));--border:oklch(.87 .008 var(--panel-hue));--panel:oklch(.24 .012 var(--panel-hue));--panel-2:oklch(.3 .014 var(--panel-hue));--panel-3:oklch(.37 .014 var(--panel-hue));--panel-ink:oklch(.95 .006 var(--panel-hue));--panel-muted:oklch(.76 .012 var(--panel-hue));--accent:oklch(.7 .17 var(--hue));--accent-strong:oklch(.56 .16 var(--hue));--accent-ink:oklch(.2 .04 var(--hue));--cyan:oklch(74% .11 215);--cyan-strong:oklch(50% .1 225);--ok:oklch(72% .17 150);--ok-strong:oklch(48% .13 150);--warn:oklch(82% .15 90);--warn-strong:oklch(52% .12 80);--bad:oklch(64% .21 27);--bad-strong:oklch(52% .19 27);--off:oklch(.62 .01 var(--panel-hue));--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--text-xs:.8125rem;--text-sm:clamp(.875rem, .85rem + .15vw, .9375rem);--text-base:clamp(1rem, .96rem + .2vw, 1.0625rem);--text-lg:clamp(1.2rem, 1.1rem + .5vw, 1.4rem);--text-xl:clamp(1.5rem, 1.25rem + 1.2vw, 2.1rem);--text-2xl:clamp(2rem, 1.5rem + 2.6vw, 3.4rem);--measure:68ch;--radius:10px;--ease-out:cubic-bezier(.22, 1, .36, 1);--font-display:"Archivo Variable", "Arial Narrow", sans-serif;--font-body:"Atkinson Hyperlegible Next Variable", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, monospace;--z-sticky:20;--z-dropdown:30}*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;font-weight:800;font-stretch:112%;line-height:1.08}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl);font-weight:750}h3{font-size:var(--text-lg);font-weight:700}li,p{text-wrap:pretty}p{max-width:var(--measure)}a{color:var(--accent-strong);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}img,svg{max-width:100%;display:block}.mono,code{font-family:var(--font-mono);font-size:.9em}.num{font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:oklch(.85 .1 var(--hue))}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.skip,.sr-only{position:absolute}.skip{background:var(--accent);color:var(--accent-ink);padding:var(--space-2) var(--space-4);z-index:99;top:0;left:-999px}.skip:focus{left:var(--space-2)}.wrap{width:min(100% - 2rem,72rem);margin-inline:auto}.prose{gap:var(--space-4);max-width:var(--measure);display:grid}.prose h2{margin-top:var(--space-8)}.prose h3{margin-top:var(--space-4)}.prose ol,.prose ul{gap:var(--space-2);padding-left:1.25rem;display:grid}.section{padding-block:var(--space-12)}.lede{font-size:var(--text-lg);color:var(--ink-muted);max-width:60ch;line-height:1.45}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-6);font:700 var(--text-base)/1 var(--font-body);cursor:pointer;background:var(--accent);color:var(--accent-ink);transition:transform var(--dur,.12s) var(--ease-out),background .12s;white-space:nowrap;border:0;border-radius:999px;text-decoration:none;display:inline-flex}.btn:hover{background:oklch(.75 .17 var(--hue))}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.55;pointer-events:none}.btn.ghost{color:inherit;background:0 0;box-shadow:inset 0 0 0 1.5px}.btn.ghost:hover{background:oklch(50% 0 0/.08)}.btn.small{min-height:44px;padding:0 var(--space-4)}.btn.small,label{font-size:var(--text-sm)}label{font-weight:600}input[type=text],input[type=url],select,textarea{font:inherit;color:var(--ink);border:1.5px solid var(--border);min-height:48px;padding:var(--space-2) var(--space-3);background:#fff;border-radius:8px;width:100%;min-width:0}textarea{min-height:9rem;font-family:var(--font-mono);font-size:var(--text-sm);resize:vertical;line-height:1.5}input::-moz-placeholder{color:oklch(.52 .01 var(--panel-hue))}textarea::-moz-placeholder{color:oklch(.52 .01 var(--panel-hue))}input::placeholder,textarea::placeholder{color:oklch(.52 .01 var(--panel-hue))}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:0;border-color:#0000}.rack{background:var(--panel);color:var(--panel-ink);border-radius:var(--radius);padding:var(--space-6);position:relative}.rack:after,.rack:before{content:"";background:var(--panel-3);border-radius:50%;width:8px;height:8px;margin-top:-4px;position:absolute;top:50%;box-shadow:inset 0 1px 1px oklch(0% 0 0/.5)}.rack:before{left:8px}.rack:after{right:8px}.rack label{color:var(--panel-muted)}.rack input[type=text],.rack input[type=url],.rack select,.rack textarea{background:oklch(.18 .01 var(--panel-hue));color:var(--panel-ink);border-color:var(--panel-3)}.rack input::-moz-placeholder{color:oklch(.66 .01 var(--panel-hue))}.rack textarea::-moz-placeholder{color:oklch(.66 .01 var(--panel-hue))}.rack input::placeholder,.rack textarea::placeholder{color:oklch(.66 .01 var(--panel-hue))}.rack a{color:var(--accent)}.rack .btn.ghost{color:var(--panel-ink)}.field-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.field,.field-row>*{min-width:0}.field{gap:var(--space-1);display:grid}.hint{color:var(--panel-muted)}.hint,.hint-light{font-size:var(--text-sm)}.hint-light{color:var(--ink-muted)}@media (width<=560px){.field-row{grid-template-columns:minmax(0,1fr)}.rack{padding:var(--space-4) var(--space-4) var(--space-6)}.rack:after,.rack:before{display:none}}.led{background:var(--off);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block;box-shadow:inset 0 -1px 2px oklch(0% 0 0/.35)}.led.ok{background:var(--ok);box-shadow:0 0 6px oklch(72% .17 150/.6)}.led.warn{background:var(--warn);box-shadow:0 0 6px oklch(82% .15 90/.6)}.led.bad{background:var(--bad);box-shadow:0 0 6px oklch(64% .21 27/.6)}.led.blk{box-shadow:inset 0 0 0 2px var(--warn);background:0 0}.led.run{background:var(--accent);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.3}}.jack{font:600 .75rem/1 var(--font-mono);background:var(--surface-2);color:var(--ink);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.jack.int{background:oklch(.93 .05 var(--hue));color:oklch(.38 .1 var(--hue))}.jack.ext{color:oklch(36% .08 225);background:oklch(93% .04 215)}.jack.nf{background:var(--surface-2);color:var(--ink-muted);outline:1px dashed var(--off)}.jack.sp{color:oklch(38% .12 300);background:oklch(93% .05 300)}.jack.bad{color:var(--bad-strong);background:oklch(93% .05 27)}.jack.ok{color:var(--ok-strong);background:oklch(93% .05 150)}.jack.blk{outline:1px dashed oklch(60% .1 80)}.jack.blk,.jack.warn{color:oklch(42% .09 80);background:oklch(94% .06 90)}.table-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);background:#fff;max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}td,th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:top}th{background:var(--surface);white-space:nowrap;font-weight:700}tr:last-child td{border-bottom:0}.faq{gap:var(--space-2);max-width:var(--measure);display:grid}.faq details{border:1px solid var(--border);border-radius:var(--radius);background:#fff}.faq summary{cursor:pointer;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);min-height:44px;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+";font:700 1.2rem/1 var(--font-mono);color:var(--accent-strong);width:1ch}.faq details[open] summary:before{content:"−"}.faq details>div{padding:0 var(--space-4) var(--space-4) calc(var(--space-4) + 1ch + var(--space-3));color:var(--ink)}.callout{background:var(--surface);border-radius:var(--radius);padding:var(--space-4) var(--space-6);max-width:var(--measure)}.error-box{color:var(--bad-strong);padding:var(--space-3) var(--space-4);background:oklch(95% .04 27);border-radius:8px;font-weight:600}.rack .error-box{color:oklch(93% .04 27);background:oklch(32% .08 27)}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
