:root{--neutral-50:#f6f6f4;--neutral-100:#e8e8e4;--neutral-200:#dcdcd8;--neutral-400:#9a9a95;--neutral-600:#5f5f5b;--neutral-800:#2a2a2c;--neutral-900:#1c1c1b;--neutral-950:#0c0c0d;--brand-red:#ff0000;--color-bg:var(--neutral-50);--color-text:var(--neutral-900);--color-text-muted:var(--neutral-600);--color-rule:var(--neutral-200);--color-focus:var(--brand-red);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--logo-width:320px;--logo-width-header:150px;--measure:34rem;--badge-height:40px;--label-column:7.5rem;--font-sans:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace;--size-label:13px;--size-body:15px;--size-lede:18px;--weight-regular:400;--weight-strong:600;--leading-label:1.4;--leading-body:1.55;--leading-lede:1.5;--tracking-caps:0.09em;--hairline:1px;--focus-width:2px;--focus-offset:3px;--radius:0}@media(prefers-color-scheme:dark){:root{--color-bg:var(--neutral-950);--color-text:var(--neutral-100);--color-text-muted:var(--neutral-400);--color-rule:var(--neutral-800)}}@media(min-width:36rem){:root{--size-lede:20px}}*,*::before,*::after{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;display:grid;grid-template-columns:minmax(0,1fr);min-height:100dvh;background:var(--color-bg)}h1{margin:0}a{color:inherit}:focus-visible{outline:var(--focus-width)solid var(--color-focus);outline-offset:var(--focus-offset);border-radius:var(--radius)}.logo{display:block;width:100%;height:auto}.site-header,.site-footer{width:min(var(--measure),100%);margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-8);font-size:var(--size-label);line-height:var(--leading-label);color:var(--color-text-muted)}.site-header{grid-row:1;padding-block:var(--space-6)}.site-header__mark{display:block;width:var(--logo-width-header);text-decoration:none}.site-header__mark .logo{width:100%}.nav{display:flex;gap:var(--space-6)}.nav a{text-decoration:none}.nav a:hover{text-decoration:underline;text-underline-offset:.2em}.nav__current{color:var(--color-text);font-weight:var(--weight-strong)}.site-footer{padding-block:var(--space-8);letter-spacing:.02em}.site-footer__copy{margin:0}.site-footer__links{display:flex;gap:var(--space-5)}.site-footer__links a{text-decoration:none}.site-footer__links a:hover{text-decoration:underline;text-underline-offset:.2em}.layout-mark{grid-template-rows:auto 1fr auto 1.35fr auto;padding-inline:var(--space-5);color:var(--color-text-muted);font:var(--weight-regular)var(--size-label)/1.5 var(--font-sans)}.layout-mark .site-footer{grid-row:5}.layout-mark main{grid-row:3;justify-self:center;width:min(var(--logo-width),100%)}.layout-mark .site-header__mark{visibility:hidden}.notice{margin:var(--space-4)0 0;text-align:center}.layout-doc{grid-template-rows:auto auto minmax(var(--space-16),1fr)auto;padding-inline:var(--space-5);color:var(--color-text);font:var(--weight-regular)var(--size-body)/var(--leading-body)var(--font-sans)}.layout-doc .site-footer{grid-row:4}.layout-doc main{grid-row:2;width:min(var(--measure),100%);margin-inline:auto;padding-block:var(--space-12)0}.spec a,.prose a{text-decoration:underline;text-decoration-color:var(--color-text-muted);text-decoration-thickness:1px;text-underline-offset:.2em}.spec a:hover,.prose a:hover{text-decoration-color:initial}.page-title{margin:0 0 var(--space-6);font-size:var(--size-label);font-weight:var(--weight-strong);line-height:var(--leading-label);letter-spacing:var(--tracking-caps);text-transform:uppercase}.doc-meta{margin:0 0 var(--space-12);font-size:var(--size-label);color:var(--color-text-muted)}.prose>:first-child{margin-block-start:0}.prose>:last-child{margin-block-end:0}.prose p{margin-block:0 var(--space-6)}.prose h2{margin-block:var(--space-12)var(--space-4);font-size:var(--size-lede);font-weight:var(--weight-strong);line-height:var(--leading-lede);text-wrap:pretty}.prose h3{margin-block:var(--space-8)var(--space-3);font-size:var(--size-body);font-weight:var(--weight-strong);line-height:var(--leading-body)}.prose strong{font-weight:var(--weight-strong)}.prose p>em:only-child{color:var(--color-text-muted)}.prose ul,.prose ol{margin-block:0 var(--space-6);padding-inline-start:var(--space-5)}.prose li{margin-block-end:var(--space-3)}.prose li:last-child{margin-block-end:0}.prose li>ul,.prose li>ol{margin-block:var(--space-3)0}.prose code{font-family:var(--font-mono);font-size:.92em;word-break:break-word}.prose hr{margin-block:var(--space-12);border:0;border-block-start:var(--hairline)solid var(--color-rule)}.table-scroll{margin-block:0 var(--space-6);overflow-x:auto}.prose table{width:100%;margin-block:0;border-collapse:collapse;font-size:var(--size-label);line-height:var(--leading-body)}.prose th,.prose td{padding:var(--space-3)var(--space-4)var(--space-3)0;text-align:start;vertical-align:top;border-block-end:var(--hairline)solid var(--color-rule)}.prose th{font-weight:var(--weight-regular);color:var(--color-text-muted)}.prose tr:last-child td{border-block-end:0}.lede{margin:0 0 var(--space-12);font-size:var(--size-lede);line-height:var(--leading-lede);text-wrap:pretty}.spec{margin:0;padding-block-start:var(--space-8);border-block-start:var(--hairline)solid var(--color-rule);display:grid;row-gap:var(--space-8)}.spec__row{display:grid;row-gap:var(--space-1)}@media(min-width:36rem){.spec__row{grid-template-columns:var(--label-column)1fr;column-gap:var(--space-6);align-items:baseline}}.spec dt{font-size:var(--size-label);font-weight:var(--weight-regular);line-height:var(--leading-label);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-muted)}.spec dd{margin:0;text-wrap:pretty}.literal{font-family:var(--font-mono);font-size:var(--size-body)}.email{height:1.28em;width:auto;vertical-align:-.32em}.badges{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-4)0 0;padding:0;list-style:none}.badge{display:block;text-decoration:none}.badge img{display:block;width:auto}.badge--apple img{height:var(--badge-height)}.badge--google img{height:calc(var(--badge-height)/.4213);margin-block:calc(var(--badge-height) * -.4368)}