@font-face{font-family:Big Shoulders Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-vietnamese-wght-normal-Cu-DDijC.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:Big Shoulders Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-latin-ext-wght-normal-C7duU6kR.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:Big Shoulders Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/big-shoulders-latin-wght-normal-D2Rs5vCJ.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-canvas:var(--lightningcss-light,#e4e7e2)var(--lightningcss-dark,#13201f);--color-raised:var(--lightningcss-light,#d6dcd5)var(--lightningcss-dark,#1c2c2a);--color-ink:var(--lightningcss-light,#0c1517)var(--lightningcss-dark,#e2e8e4);--color-muted:var(--lightningcss-light,#4b5754)var(--lightningcss-dark,#9eaca7);--color-river:#0e3d42;--color-river-deep:#0a2d31;--color-on-river:#eef3ef;--color-on-river-muted:#b2cbc8;--color-paper:#f7f8f4;--color-on-paper:#0c1517;--color-on-paper-muted:#56625f;--color-perforation:#c9d0cb;--color-console:#0a1213;--color-console-raised:#15211f;--color-on-console:#e2e8e4;--color-on-console-muted:#9eaca7;--color-token-key:#8fb0e3;--color-token-string:#6cc596;--color-signal:#ff5a1f;--color-signal-hover:#ff7a4b;--color-on-signal:#0c1517;--color-backdrop:#0a2d31d9;--color-delivered:#2f6f4e;--color-queued:#405f91;--color-retrying:#875c2a;--color-failed:#a33a2b;--color-ok:var(--lightningcss-light,#2a6446)var(--lightningcss-dark,#6cc596);--color-error:var(--lightningcss-light,#a33a2b)var(--lightningcss-dark,#ff8a73);--color-focus:var(--lightningcss-light,#0c1517)var(--lightningcss-dark,#ff6a35);--color-focus-on-dark:#ff6a35;--font-display:"Big Shoulders Variable", "Arial Narrow", sans-serif;--font-sans:"IBM Plex Sans", Arial, sans-serif;--font-mono:"IBM Plex Mono", SFMono-Regular, Consolas, monospace;--text-xs:max(.8125rem, 13px);--text-sm:max(.9375rem, 14px);--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:clamp(1.375rem, 2vw, 1.75rem);--text-2xl:clamp(2rem, 3.6vw, 3rem);--text-display:clamp(2.75rem, 5.6vw, 4.5rem);--leading-display:.84;--leading-heading:.92;--leading-snug:1.35;--leading-body:1.6;--weight-regular:400;--weight-medium:500;--weight-strong:600;--weight-display:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-section:clamp(var(--space-6), 5vw, var(--space-8));--border:2px;--radius-control:999px;--radius-block:24px;--radius-sheet:clamp(20px, 2.4vw, 32px);--content:1240px;--measure:34rem;--gutter:clamp(var(--space-4), 4vw, var(--space-7));--target:44px;--header-height:72px;--duration-fast:.14s;--duration-slip:.56s;--ease:cubic-bezier(.2, 0, 0, 1);--focus-width:3px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-contrast:more){:root{--color-muted:var(--color-ink);--color-on-river-muted:var(--color-on-river);--color-on-console-muted:var(--color-on-console);--color-on-paper-muted:var(--color-on-paper)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--color-canvas)}body{background:var(--color-canvas);color:var(--color-ink);font:var(--weight-regular) var(--text-md) / var(--leading-body) var(--font-sans);text-rendering:optimizelegibility;margin:0}svg{max-width:100%;display:block}a{color:inherit;text-underline-offset:.2em}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-width)}h1,h2,h3{text-wrap:balance;margin:0}h1,h2{font-family:var(--font-display);font-weight:var(--weight-display)}h1{font-size:var(--text-display);line-height:var(--leading-display)}h2{font-size:var(--text-2xl);line-height:var(--leading-heading)}h3{font-size:var(--text-lg);font-weight:var(--weight-strong);line-height:var(--leading-snug)}p{text-wrap:pretty;margin:0}ul,ol,dl,dd,figure{margin:0;padding:0}code{font-family:var(--font-mono);font-size:.92em}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{width:min(100% - 2 * var(--gutter), var(--content));margin-inline:auto}.skip-link{top:calc(-1 * var(--space-9));left:var(--gutter);z-index:20;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--color-paper);color:var(--color-on-paper);position:absolute}.skip-link:focus{top:var(--space-3)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.button{min-height:var(--target);padding:0 var(--space-5);border-radius:var(--radius-control);background:var(--color-signal);color:var(--color-on-signal);font:var(--weight-strong) var(--text-sm) / 1 var(--font-sans);cursor:pointer;transition:background-color var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-signal-hover)}.button:active{transform:translateY(1px)}.button--large{min-height:52px;padding-inline:var(--space-6);font-size:var(--text-md)}.button[aria-busy=true]{cursor:progress;opacity:.7}.mark{flex:none;block-size:28px;inline-size:28px}.mark__tile{fill:var(--color-river)}.mark__line{fill:none;stroke:var(--color-paper);stroke-width:6.5px;stroke-linecap:round}.mark__from{fill:var(--color-paper)}.mark__to{fill:var(--color-signal)}.state{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;display:inline-flex}.state__icon{text-align:center;inline-size:1em}.state--queued{color:var(--color-queued)}.state--delivered{color:var(--color-delivered)}.state--retrying{color:var(--color-retrying)}.state--failed{color:var(--color-failed)}.receipt{justify-self:end;inline-size:100%;max-inline-size:34rem;position:relative}.receipt__slip{padding:var(--space-5) var(--space-5) var(--space-9);background:var(--color-paper);color:var(--color-on-paper);font-family:var(--font-mono);font-size:var(--text-xs);--tooth:14px;-webkit-mask:linear-gradient(black 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, transparent, black 1deg 89deg, transparent 90deg) bottom / calc(2 * var(--tooth)) var(--tooth) repeat-x;mask:linear-gradient(black 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, transparent, black 1deg 89deg, transparent 90deg) bottom / calc(2 * var(--tooth)) var(--tooth) repeat-x;position:relative;rotate:-2deg}.receipt__head{padding-bottom:var(--space-4);border-bottom:var(--border) dashed var(--color-perforation)}.receipt__id{font-size:var(--text-sm);font-weight:var(--weight-medium)}.receipt__meta{color:var(--color-on-paper-muted)}.receipt__lines{padding-block:var(--space-4);list-style:none}.receipt__line{gap:0 var(--space-3);padding-block:var(--space-1);grid-template-columns:7rem 8.5rem minmax(0,1fr);display:grid}.receipt__time{color:var(--color-on-paper-muted);font-variant-numeric:tabular-nums}.receipt__detail{color:var(--color-on-paper-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.receipt__stamp{right:var(--space-6);bottom:var(--space-6);padding:var(--space-1) var(--space-4);border:3px solid var(--color-delivered);color:var(--color-delivered);font:var(--weight-display) var(--text-xl) / 1.1 var(--font-display);border-radius:6px;position:absolute;rotate:-9deg}.receipt__slip.is-printing .receipt__line,.receipt__slip.is-printing .receipt__stamp{opacity:0}.receipt__slip.is-printing .receipt__line.is-printed{opacity:1;transition:opacity var(--duration-fast) var(--ease)}.receipt__slip.is-printing.is-stamped .receipt__stamp{opacity:1;animation:stamp var(--duration-slip) var(--ease)}@keyframes stamp{0%{opacity:0;scale:1.6}}.code{padding:var(--space-5);scrollbar-color:var(--color-console) transparent;color:var(--color-on-console);font:var(--weight-regular) var(--text-xs) / 1.7 var(--font-mono);tab-size:2;margin:0;overflow-x:auto}.code code{font-size:inherit}.tok-verb{color:var(--color-signal)}.tok-key{color:var(--color-token-key)}.tok-str{color:var(--color-token-string)}.tok-comment{color:var(--color-on-console-muted)}.tabs{gap:var(--space-1);display:flex}.tabs__tab,.copy{min-height:var(--target);padding:0 var(--space-4);border-radius:var(--radius-control);color:var(--color-on-console-muted);font:var(--weight-medium) var(--text-sm) / 1 var(--font-sans);cursor:pointer;background:0 0;border:0}.tabs__tab:hover,.copy:hover{color:var(--color-on-console)}.tabs__tab[aria-selected=true]{background:var(--color-console);color:var(--color-on-console)}.facts{gap:var(--space-5);display:grid}.facts dt{font-weight:var(--weight-strong)}.facts dd{color:var(--color-on-console-muted)}.faq__item{border-radius:var(--radius-block);background:var(--color-canvas)}.faq__item+.faq__item{margin-top:var(--space-2)}.faq__item summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--target);padding:var(--space-3) var(--space-5);font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";font:var(--weight-display) var(--text-xl) / 1 var(--font-display);transition:rotate var(--duration-fast) var(--ease);flex:none}.faq__item[open] summary:after{rotate:45deg}.faq__item p{max-inline-size:var(--measure);padding:0 var(--space-5) var(--space-5);color:var(--color-muted)}.field{gap:var(--space-2);border:0;min-inline-size:0;margin:0;padding:0;display:grid}.field__label{font-size:var(--text-sm);font-weight:var(--weight-medium);padding:0}.field__hint{color:var(--color-muted);font-weight:var(--weight-regular)}.input{inline-size:100%;min-height:var(--target);padding:var(--space-2) var(--space-4);border:var(--border) solid transparent;border-radius:var(--radius-control);background:var(--color-canvas);color:var(--color-ink);font:inherit}.input[aria-invalid=true]{border-color:var(--color-error)}textarea.input{padding-block:var(--space-3);border-radius:var(--radius-block);resize:vertical}.select{display:grid;position:relative}.select .input{appearance:none;cursor:pointer;padding-inline-end:calc(var(--space-4) * 2 + 12px)}.select svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;block-size:12px;inline-size:12px;position:absolute;inset-block-start:50%;inset-inline-end:var(--space-4);translate:0 -50%}.choices{gap:var(--space-2);flex-wrap:wrap;display:flex}.choice{align-items:center;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-5) 0 var(--space-4);border:var(--border) solid transparent;border-radius:var(--radius-control);background:var(--color-canvas);color:var(--color-ink);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--ease);display:inline-flex;position:relative}.choice:before{content:"+";content:"+" / "";text-align:center;inline-size:1ch}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice:has(input:checked){background:var(--color-river);color:var(--color-on-river)}.choice:has(input:checked):before{content:"✓";content:"✓" / ""}.choice:has(input:focus-visible){outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-width)}.choice:has(input[aria-invalid=true]){border-color:var(--color-error)}.form-status{font-size:var(--text-sm)}.form-status:empty{display:none}.form-status[data-tone=ok]{color:var(--color-ok)}.form-status[data-tone=error]{color:var(--color-error)}.form-status[data-tone=ok]:before{content:"✓ "}.form-status[data-tone=error]:before{content:"⊘ "}.theme-switch{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-control);background:var(--color-river-deep);border:0;margin:0;display:inline-flex}.theme-switch__option{inline-size:var(--target);block-size:var(--target);border-radius:var(--radius-control);color:var(--color-on-river-muted);cursor:pointer;place-items:center;display:grid;position:relative}.theme-switch__option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.theme-switch__option svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;block-size:18px;inline-size:18px}.theme-switch__option:hover{color:var(--color-on-river)}.theme-switch__option:has(input:checked){background:var(--color-on-river);color:var(--color-river)}.theme-switch__option:has(input:focus-visible){outline:var(--focus-width) solid var(--color-focus-on-dark);outline-offset:2px}.dialog{inline-size:min(100% - 2 * var(--gutter), 40rem);max-block-size:calc(100dvh - 2 * var(--space-5));border-radius:var(--radius-sheet);background:var(--color-raised);color:var(--color-ink);scrollbar-color:var(--color-muted) transparent;scrollbar-width:thin;border:0;margin:auto;padding:0}.dialog::backdrop{background:var(--color-backdrop)}.dialog__panel{gap:var(--space-5);padding:var(--space-6);display:grid}.dialog__head{justify-content:space-between;align-items:start;gap:var(--space-4);display:flex}.dialog__title{font-size:var(--text-xl)}.dialog__close{inline-size:var(--target);block-size:var(--target);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0 0;border-radius:var(--radius-control);color:var(--color-ink);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.dialog__close:hover{background:var(--color-canvas)}.dialog__close svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;block-size:20px;inline-size:20px}.dialog__desc{color:var(--color-muted)}.dialog[open]{animation:dialog-in var(--duration-slip) var(--ease)}@keyframes dialog-in{0%{opacity:0;translate:0 var(--space-4)}}.site-header{z-index:10;background:var(--color-canvas);position:sticky;top:0}.site-header__row{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--header-height);display:flex}.wordmark{align-items:center;gap:var(--space-3);min-height:var(--target);font:var(--weight-display) var(--text-xl) / 1 var(--font-display);text-decoration:none;display:inline-flex}.sheet--river :focus-visible,.sheet--console :focus-visible{outline-color:var(--color-focus-on-dark)}main{gap:var(--space-3);padding-bottom:var(--space-3);display:grid}.sheet{inline-size:min(100% - 2 * var(--gutter), var(--content));padding:var(--space-section) clamp(var(--space-5), 4vw, var(--space-8));border-radius:var(--radius-sheet);background:var(--color-raised);margin-inline:auto}.sheet>.wrap{inline-size:100%}.sheet--river{background:var(--color-river);color:var(--color-on-river)}.sheet--console{background:var(--color-console);color:var(--color-on-console)}.hero{padding-block:clamp(var(--space-6), 5vw, var(--space-8))}.hero__grid{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(0,34rem);align-items:center;display:grid}.hero__copy{gap:var(--space-4);display:grid}.hero__lede{max-inline-size:var(--measure);color:var(--color-on-river-muted);font-size:var(--text-lg)}.crossing__title,.channels__title{max-inline-size:28ch}.route,.channels{gap:var(--space-3);margin-top:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;display:grid}.route__step,.channel{align-content:start;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-block);background:var(--color-canvas);display:grid}.route__step p,.channel p{color:var(--color-muted);font-size:var(--text-sm)}.route__number{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.unknown{gap:var(--space-3) var(--space-5);margin-top:var(--space-3);padding:var(--space-5);border-radius:var(--radius-block);background:var(--color-paper);color:var(--color-on-paper);grid-template-columns:auto minmax(0,1fr);align-items:baseline;display:grid}.unknown__text{max-inline-size:52rem}.channel__demo{align-content:center;gap:var(--space-2);min-block-size:6.5rem;margin-bottom:var(--space-2);padding:var(--space-4);border-radius:calc(var(--radius-block) - var(--space-2));background:var(--color-paper);color:var(--color-on-paper);font-family:var(--font-mono);font-size:var(--text-xs);display:grid}.channel__demo code{font-size:inherit;overflow-wrap:anywhere}.channel__row{justify-content:space-between;align-items:center;gap:var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);display:flex}.channel__row--read{color:var(--color-on-paper-muted);font-weight:var(--weight-regular)}.channel__badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-control);background:var(--color-river);color:var(--color-on-river);font-size:var(--text-xs)}.developers__grid{gap:var(--space-7);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;display:grid}.developers__copy{gap:var(--space-5);display:grid}.developers__lede{max-inline-size:var(--measure);color:var(--color-on-console-muted);font-size:var(--text-lg)}.console{border-radius:var(--radius-block);background:var(--color-console-raised);overflow:hidden}.console__bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2);flex-wrap:wrap;display:flex}.console__response{gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-console);color:var(--color-on-console-muted);font-family:var(--font-mono);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.console__ok{color:var(--color-token-string)}.console__ok:before{content:"✓ "}.questions__grid{gap:var(--space-7);grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);align-items:start;display:grid}.site-footer__row{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-4) var(--space-5);color:var(--color-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.access-form{gap:var(--space-5);display:grid}.access-form__row{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.access-form__privacy{color:var(--color-muted);font-size:var(--text-sm)}.access-form .button{justify-self:start}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (width<=1120px){.hero__grid{grid-template-columns:minmax(0,1fr)}}@media (width<=960px){.developers__grid,.questions__grid{grid-template-columns:minmax(0,1fr)}.receipt{justify-self:start}.channels{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.route,.access-form__row,.unknown{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.sheet{padding-inline:var(--space-4)}.tabs__tab,.copy{padding-inline:var(--space-2)}}@media (width<=420px){.receipt__slip{padding-inline:var(--space-5);rotate:0deg}.receipt__line{grid-template-columns:6.5rem minmax(0,1fr)}.receipt__detail{white-space:normal;grid-column:2}}
