@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/jetbrains-mono-latin-600-normal.C8RAYTDA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-600-normal.BfsvjouI.woff)format("woff")}@font-face{font-family:Doto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/doto-latin-ext-wght-normal.BuEMryYU.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:Doto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/doto-latin-wght-normal.DtlIPefW.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}@layer reset{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}img,svg{max-width:100%;display:block}[hidden]{display:none!important}input,button,textarea,select{font:inherit;color:inherit}}@layer site{:root{color-scheme:light;--bg:#fbfbef;--bg-alt:#f1f5e6;--surface:#fff;--ink:#001e2b;--ink-2:#3d4f58;--line:#c9d3c3;--line-strong:#8fa39a;--link:#00684a;--accent:#00ed64;--accent-ink:#001e2b;--blue:#0157c9;--ok:#00684a;--bad:#b3261e;--warn:#8a5300;--info:#0157c9;--hero-bg:#001e2b;--hero-ink:#f3f6e9;--hero-ink-2:#a9c1c4;--led-on:#00ed64;--led-off:#12404f;--jwt-h:#0157c9;--jwt-p:#00684a;--jwt-s:#a3238f;--code-bg:#f3f5ea;--focus:#016bf8;--radius:6px;--max:72rem;--text:42rem;--gutter:clamp(1rem, 4vw, 2.5rem);--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-display:"Doto Variable", "JetBrains Mono", ui-monospace, monospace}:root[data-theme=dark]{color-scheme:dark;--bg:#001e2b;--bg-alt:#062b3a;--surface:#0a3344;--ink:#f3f6e9;--ink-2:#a9bcbf;--line:#1d4a5b;--line-strong:#3f6f7f;--link:#00ed64;--accent:#00ed64;--accent-ink:#001e2b;--blue:#6aa8ff;--ok:#00ed64;--bad:#ff8a80;--warn:#ffc861;--info:#8ab8ff;--hero-bg:#00141d;--hero-ink:#f3f6e9;--hero-ink-2:#a9c1c4;--led-on:#00ed64;--led-off:#0f3645;--jwt-h:#6aa8ff;--jwt-p:#00ed64;--jwt-s:#f28bdf;--code-bg:#04263a;--focus:#6aa8ff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#001e2b;--bg-alt:#062b3a;--surface:#0a3344;--ink:#f3f6e9;--ink-2:#a9bcbf;--line:#1d4a5b;--line-strong:#3f6f7f;--link:#00ed64;--accent:#00ed64;--accent-ink:#001e2b;--blue:#6aa8ff;--ok:#00ed64;--bad:#ff8a80;--warn:#ffc861;--info:#8ab8ff;--hero-bg:#00141d;--hero-ink:#f3f6e9;--hero-ink-2:#a9c1c4;--led-on:#00ed64;--led-off:#0f3645;--jwt-h:#6aa8ff;--jwt-p:#00ed64;--jwt-s:#f28bdf;--code-bg:#04263a;--focus:#6aa8ff}}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);flex-direction:column;min-height:100vh;font-size:1.0625rem;line-height:1.65;display:flex}main{flex:1}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--accent);color:var(--accent-ink);z-index:10;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{top:.5rem;left:.5rem}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.prose-wrap{max-width:var(--text)}h1{font-family:var(--font-display);letter-spacing:-.01em;overflow-wrap:break-word;text-wrap:balance;font-size:clamp(2rem,1.2rem + 3.6vw,3.6rem);font-weight:800;line-height:1.04}h2{letter-spacing:-.01em;font-size:clamp(1.35rem,1.1rem + .9vw,1.75rem);font-weight:600;line-height:1.25}h3{font-size:1.2rem;font-weight:600;line-height:1.35}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{background:var(--code-bg);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:4px;padding:.05em .3em}pre{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;font-size:.86rem;line-height:1.55;overflow-x:auto;background:var(--code-bg)!important}pre code{font-size:inherit}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important}}.label{font-family:var(--font-mono);color:var(--ink-2);letter-spacing:.01em;overflow-wrap:anywhere;font-size:.8rem}.label b{color:var(--ink);font-weight:600}.kv-key{color:var(--jwt-h)}.kv-val{color:var(--jwt-p)}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;display:flex}.brand{font-family:var(--font-mono);color:var(--ink);align-items:center;gap:.55rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.brand-dot{background:var(--accent);width:.6rem;height:.6rem;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:50%}.brand .tld{color:var(--ink-2);font-weight:400}.nav{flex-wrap:wrap;align-items:center;gap:.25rem 1.1rem;font-size:.95rem;display:flex}.nav a{color:var(--ink);padding:.4rem 0;text-decoration:none}.nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent)}.nav a:hover{color:var(--link)}.theme-btn{border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:999px;padding:.2rem .65rem;font-size:.75rem}.theme-btn:hover{border-color:var(--line-strong);color:var(--ink)}.site-footer{border-top:1px solid var(--line);color:var(--ink-2);background:var(--bg-alt);margin-top:5rem;padding-block:2.5rem;font-size:.92rem}.site-footer .cols{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.5rem 2.5rem;display:grid}.site-footer ul{gap:.3rem;padding:0;list-style:none;display:grid}.site-footer a{color:var(--ink)}.site-footer .fine{font-family:var(--font-mono);margin-top:2rem;font-size:.75rem}.page-head{padding-block:2.5rem 1.5rem}.page-head .lede{color:var(--ink-2);max-width:var(--text);margin-top:1rem;font-size:1.15rem}.crumbs{font-family:var(--font-mono);color:var(--ink-2);overflow-wrap:anywhere;margin-bottom:1rem;font-size:.78rem}.crumbs ol{flex-wrap:wrap;gap:.35rem;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--line-strong);margin-right:.35rem}.crumbs a{color:var(--ink-2)}.hero{background:var(--hero-bg);color:var(--hero-ink);padding-block:clamp(2.5rem,6vw,4.5rem) clamp(2rem,5vw,3.5rem)}.hero .label{color:var(--hero-ink-2)}.hero h1{color:var(--hero-ink);max-width:18ch;font-size:clamp(2.1rem,1.1rem + 4.6vw,4.6rem)}.hero .lede{color:var(--hero-ink-2);max-width:38rem;margin-top:1.25rem;font-size:1.15rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:2rem;display:flex}.btn{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:4px;align-items:center;gap:.5rem;padding:.8rem 1.3rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(.95)}.btn-ghost{color:inherit;background:0 0;border:1px solid}.hero .text-link{color:var(--hero-ink);font-weight:600}.led{color:var(--led-on);white-space:normal;display:block}.led-word{white-space:nowrap;display:inline-block}.led-c{color:var(--led-on);font-weight:900;display:inline-block}.led-c:before{content:attr(data-c)}@media (prefers-reduced-motion:no-preference){.led-c{animation:led-on .26s steps(4, end) both, led-flicker var(--p) linear var(--f) infinite;animation-delay:var(--d), calc(var(--d) + .4s + var(--f))}}@keyframes led-on{0%{color:var(--led-off);font-weight:120}60%{color:var(--led-on);font-weight:520}to{color:var(--led-on);font-weight:900}}@keyframes led-flicker{0%,86%,to{font-weight:900}89%{font-weight:610}92%{font-weight:900}95%{font-weight:760}}.section{padding-block:3.5rem 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.section-head .label{white-space:nowrap}.runlog{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.runlog-bar{border-bottom:1px solid var(--line);background:var(--bg-alt);font-family:var(--font-mono);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:.55rem 1rem;font-size:.75rem;display:flex}.runlog ol{margin:0;padding:0;list-style:none}.job{border-top:1px solid var(--line);grid-template-columns:1.6rem 1fr auto;gap:.15rem .8rem;padding:1rem 1rem 1.05rem;display:grid;position:relative}.job:first-child{border-top:0}.job:hover{background:var(--bg-alt)}.job:focus-within{outline:3px solid var(--focus);outline-offset:-3px}.job-status{font-family:var(--font-mono);color:var(--ok);grid-row:1/span 3;font-weight:700;line-height:1.6}.job-id{font-family:var(--font-mono);color:var(--ink-2);font-size:.78rem}.job-id .prompt{color:var(--jwt-p)}.job-title{font-size:1.12rem;font-weight:600;line-height:1.35}.job-title a{color:var(--ink);text-decoration:none}.job-title a:after{content:"";position:absolute;inset:0}.job-title a:focus-visible{outline:none}.job-title a:hover{text-decoration:underline}.job-desc{color:var(--ink-2);grid-column:2/3;font-size:.95rem}.job-time{font-family:var(--font-mono);color:var(--ink-2);white-space:nowrap;grid-area:1/3;font-size:.75rem}.job-title .cursor{vertical-align:-.15em;background:var(--accent);opacity:0;width:.55em;height:1.05em;margin-left:.2em;display:inline-block}.job:hover .cursor{opacity:1}@media (prefers-reduced-motion:no-preference){.job:hover .cursor{animation:1s step-end infinite blink}}@keyframes blink{50%{opacity:0}}@media (width<=34rem){.job{grid-template-columns:1.3rem 1fr}.job-time{grid-area:auto/2}}.jwt{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-family:var(--font-mono);font-size:.84rem;overflow:hidden}.jwt-strip{height:6px;display:flex}.jwt-strip span:first-child{background:var(--jwt-h);flex:1}.jwt-strip span:nth-child(2){background:var(--jwt-p);flex:3}.jwt-strip span:nth-child(3){background:var(--jwt-s);flex:1}.jwt-head{border-bottom:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:.6rem 1rem;font-size:.75rem;display:flex}.jwt-body{gap:.4rem;padding:.9rem 1rem;display:grid}.jwt-body p{overflow-wrap:anywhere}.jwt ul.takeaways{font-family:var(--font-body);gap:.55rem;padding:0;font-size:.98rem;list-style:none;display:grid}.jwt ul.takeaways li{padding-left:1.4rem;position:relative}.jwt ul.takeaways li:before{content:"✓";color:var(--ok);font-family:var(--font-mono);font-weight:700;position:absolute;left:0}.article-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem;display:grid}@media (width>=64rem){.article-grid{grid-template-columns:minmax(0, var(--text)) minmax(14rem, 18rem);justify-content:space-between}.toc{align-self:start;position:sticky;top:1.5rem}}.meta{flex-wrap:wrap;gap:.35rem 1.25rem;margin-top:1.1rem;display:flex}.prose>*+*{margin-top:1.1em}.prose h2{border-top:1px solid var(--line);margin-top:2.4em;padding-top:.6em;scroll-margin-top:1rem}.prose h3{margin-top:1.8em;scroll-margin-top:1rem}.prose ul,.prose ol{padding-left:1.3rem}.prose li+li{margin-top:.35em}.prose table{border-collapse:collapse;width:100%;font-size:.92rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.55rem .7rem}.prose th{font-family:var(--font-mono);color:var(--ink-2);background:var(--bg-alt);font-size:.78rem;font-weight:600}.toc{font-size:.9rem}.toc ol{border-left:2px solid var(--line);gap:.4rem;padding:0;list-style:none;display:grid}.toc li{padding-left:.8rem}.toc a{color:var(--ink-2);text-decoration:none}.toc a:hover{color:var(--link)}.toc .label{margin-bottom:.6rem;display:block}.callout{border:1px solid var(--line);border-left:4px solid var(--info);background:var(--surface);border-radius:var(--radius);padding:.9rem 1.1rem}.callout[data-kind=warn]{border-left-color:var(--warn)}.callout[data-kind=bad]{border-left-color:var(--bad)}.callout[data-kind=ok]{border-left-color:var(--ok)}.callout .label{margin-bottom:.25rem;display:block}.cite{vertical-align:super;font-size:.72em;line-height:0;font-family:var(--font-mono);margin-left:.1em}.cite a{text-decoration:none}.term{text-underline-offset:.2em;cursor:help;text-decoration:underline dotted;position:relative}.sources ol{padding-left:1.4rem;font-size:.92rem}.sources li{margin-top:.6rem}.sources .label{display:block}.changelog{font-family:var(--font-mono);padding:0;font-size:.82rem;list-style:none}.changelog li{border-bottom:1px dashed var(--line);padding:.35rem 0}.faq dt{margin-top:1.2rem;font-weight:600}.faq dd{color:var(--ink);margin-top:.3rem}.tool{gap:1.5rem;display:grid}@media (width>=64rem){.tool{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.panel-bar{border-bottom:1px solid var(--line);background:var(--bg-alt);font-family:var(--font-mono);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:.78rem;display:flex}.dots{gap:.3rem;margin-right:.3rem;display:inline-flex}.dots i{background:var(--line-strong);border-radius:50%;width:.6rem;height:.6rem}.panel-body{gap:.9rem;padding:1rem .9rem;display:grid}.field{gap:.3rem;display:grid}.field label,.field legend{font-family:var(--font-mono);color:var(--ink-2);font-size:.78rem}.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea{background:var(--bg);border:1px solid var(--line-strong);width:100%;font-family:var(--font-mono);border-radius:4px;padding:.5rem .6rem;font-size:.86rem}.field textarea{resize:vertical;min-height:16rem;line-height:1.5}.field .hint{color:var(--ink-2);font-size:.8rem}.row2{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.9rem;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}.seg{flex-wrap:wrap;gap:.35rem;display:flex}.seg label{border:1px solid var(--line-strong);cursor:pointer;font-family:var(--font-mono);color:var(--ink);border-radius:4px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.8rem;display:inline-flex}.seg input{accent-color:var(--ok);margin:0}.seg label:has(input:checked){background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.seg label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0;display:flex}.tabs button{font-family:var(--font-mono);cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-bottom:3px solid #0000;padding:.55rem .9rem;font-size:.85rem}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.small-btns{flex-wrap:wrap;gap:.4rem;display:flex}.small-btn{border:1px solid var(--line-strong);font-family:var(--font-mono);cursor:pointer;color:var(--ink);background:0 0;border-radius:4px;padding:.25rem .55rem;font-size:.75rem}.small-btn:hover{border-color:var(--ink)}.verdict{border-radius:var(--radius);border:1px solid var(--line);align-items:flex-start;gap:.8rem;padding:.9rem 1rem;font-weight:600;display:flex}.verdict[data-ok=true]{border-left:6px solid var(--ok)}.verdict[data-ok=false]{border-left:6px solid var(--bad)}.verdict .glyph{font-family:var(--font-mono);font-size:1.3rem;line-height:1}.verdict[data-ok=true] .glyph{color:var(--ok)}.verdict[data-ok=false] .glyph{color:var(--bad)}.trace{font-family:var(--font-mono);gap:.2rem;padding:0;font-size:.8rem;list-style:none;display:grid}.trace li{white-space:pre-wrap;overflow-wrap:anywhere;text-indent:-1.4rem;padding-left:1.4rem}.trace .t-ok:before{content:"✓ ";color:var(--ok)}.trace .t-bad:before{content:"✗ ";color:var(--bad)}.findings{gap:.6rem;padding:0;list-style:none;display:grid}.findings li{border:1px solid var(--line);border-left-width:4px;border-radius:4px;padding:.6rem .8rem;font-size:.93rem}.findings li[data-sev=error]{border-left-color:var(--bad)}.findings li[data-sev=warn]{border-left-color:var(--warn)}.findings li[data-sev=info]{border-left-color:var(--info)}.findings .sev{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;margin-right:.4rem;font-size:.72rem}.findings li[data-sev=error] .sev{color:var(--bad)}.findings li[data-sev=warn] .sev{color:var(--warn)}.findings li[data-sev=info] .sev{color:var(--info)}.findings strong{overflow-wrap:anywhere;margin-bottom:.15rem;display:block}.out-pre{position:relative}.out-pre pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.copy{position:absolute;top:.4rem;right:.4rem}.error-box{color:var(--bad);font-family:var(--font-mono);font-size:.85rem}.hub-list{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;display:grid}.hub{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1rem 1.1rem;position:relative}.hub:focus-within{outline:3px solid var(--focus);outline-offset:2px}.hub h3 a{color:var(--ink);text-decoration:none}.hub h3 a:after{content:"";position:absolute;inset:0}.hub p{color:var(--ink-2);margin-top:.3rem;font-size:.95rem}.glossary dt{font-family:var(--font-mono);margin-top:1.6rem;scroll-margin-top:1rem;font-weight:600}.glossary dd{margin-top:.3rem}.split{gap:2rem;display:grid}@media (width>=56rem){.split{grid-template-columns:1.1fr 1fr;align-items:start}}.note-strip{border-block:1px solid var(--line);background:var(--bg-alt);padding-block:1.2rem}.prose p,.prose li,.prose dd,.prose td,.glossary dd,.jwt-body,.job-id,.job-title,.job-desc,.lede,.hub p{overflow-wrap:anywhere}.job{grid-template-columns:1.6rem minmax(0,1fr) auto}@media (width<=34rem){.job{grid-template-columns:1.3rem minmax(0,1fr)}}.article-grid>*,.split>*,.tool>*{min-width:0}}
