@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/bricolage-grotesque-latin-500-normal.DEDBoLFO.woff2)format("woff2"),url(/_astro/bricolage-grotesque-latin-500-normal.CV-uA8Lw.woff)format("woff")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/bricolage-grotesque-latin-700-normal.gtcctNPv.woff2)format("woff2"),url(/_astro/bricolage-grotesque-latin-700-normal.DvJDmrLu.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/atkinson-hyperlegible-latin-400-normal.BrHNak5F.woff2)format("woff2"),url(/_astro/atkinson-hyperlegible-latin-400-normal.BbWidj28.woff)format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/atkinson-hyperlegible-latin-700-normal.GZI4o3u0.woff2)format("woff2"),url(/_astro/atkinson-hyperlegible-latin-700-normal.BK6Glc0m.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}:root{color-scheme:light;--bg:#e8edf4;--ink:#12151c;--muted:#4a5564;--line:#c9d2de;--accent:#d0122d;--sheet:#fff;--display:"Bricolage Grotesque", "Avenir Next", "Segoe UI", sans-serif;--text:"Atkinson Hyperlegible", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--page:72rem;--measure:42rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{background:var(--bg);color:var(--ink);font-family:var(--text);margin:0;font-size:1.125rem;line-height:1.55}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em;font-weight:700;line-height:1.02}p{margin:0}a{color:var(--accent);text-underline-offset:.16em}a:hover{color:var(--ink)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{z-index:30;background:var(--sheet);color:var(--ink);padding:.45rem .7rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip:focus{transform:none}.wrap{width:min(var(--page), calc(100% - 2.4rem));margin-inline:auto}main.wrap{padding-top:1.15rem}.setup-banner{background:var(--accent);color:#fff;text-align:center;margin:0;padding:.75rem 1rem}.top{z-index:20;background:color-mix(in srgb, var(--bg) 88%, white);backdrop-filter:blur(12px);padding-top:.85rem;position:sticky;top:0}.top-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.wordmark{color:var(--ink);font-family:var(--display);letter-spacing:-.05em;font-size:clamp(1.7rem,3vw,2.15rem);font-weight:700;line-height:1;text-decoration:none}.wordmark:hover{color:var(--accent)}.series{background:var(--sheet);color:var(--ink);font-family:var(--display);letter-spacing:-.02em;border-radius:999px;margin:0;padding:.28rem .7rem;font-size:.85rem;font-weight:700;box-shadow:0 0 0 1px #12151c14}.nav-toggle{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav-button{min-height:44px;color:var(--ink);font-family:var(--display);cursor:pointer;align-items:center;margin-top:.4rem;font-weight:700;display:flex}.nav-button:after{content:" +"}.nav-toggle:checked+.nav-button:after{content:" –"}.nav-toggle:focus{outline:none}.nav-toggle:focus-visible+.nav-button{outline:2px solid var(--accent);outline-offset:3px}.primary{display:none}.nav-toggle:checked~.primary{justify-items:start;padding-bottom:.6rem;display:grid}.primary a{min-height:44px;color:var(--ink);font-family:var(--display);align-items:center;font-weight:500;text-decoration:none;display:flex}.primary a[aria-current=page]{color:var(--accent);text-underline-offset:.28em;text-decoration:underline 3px}.top .wrap+.wrap{border-bottom:1px solid var(--line)}.kicker{color:var(--accent);font-family:var(--display);margin:0 0 .35rem;font-size:.92rem;font-weight:700}.stage{color:#fff;background:#12151c;border-radius:28px;margin:0 0 1.6rem;text-decoration:none;display:block;position:relative;overflow:hidden}.stage:hover{color:#fff}.stage-copy{padding:1.15rem 1.2rem 1.3rem}.stage h1{color:#fff;margin:.7rem 0 .55rem;font-size:clamp(2.1rem,5vw,3.5rem)}.stage .deck{color:#ffffffdb;max-width:40rem}.pill,a.pill{background:var(--accent);color:#fff;width:fit-content;font-family:var(--display);border-radius:999px;align-items:center;margin:0;padding:.22rem .65rem;font-size:.82rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}a.pill:hover{color:#fff;background:#a80e24}.go{color:#12151c;min-height:44px;font-family:var(--display);background:#fff;border-radius:999px;align-items:center;margin-top:.85rem;padding:0 .95rem;font-weight:700;display:inline-flex}.stage:hover .go{background:#ffe8ea}.deck{max-width:38rem;font-size:1.15rem;line-height:1.45}.shot{display:block;position:relative;overflow:hidden}.shot .pill{position:absolute;top:.75rem;left:.75rem}.read{min-height:44px;color:var(--accent);font-family:var(--display);align-items:center;margin-top:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.read:hover{text-decoration:underline}.plate{background:var(--sheet);display:block;overflow:hidden}img{max-width:100%;height:auto}.plate img,.note-hit img,.sheet-photo img{aspect-ratio:16/9;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.stage img{aspect-ratio:2.35;object-fit:cover;width:100%;height:auto;max-height:24rem;display:block}.plate-grid{gap:1.8rem 1.15rem;margin:0 0 2.4rem;padding:0;list-style:none;display:grid}.plate-grid>h2,.related>h2{margin:0;font-size:clamp(1.6rem,3vw,2.2rem)}.note-card{height:100%}.note-hit{background:var(--sheet);height:100%;color:var(--ink);border-radius:18px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 0 0 1px #12151c0f}.note-hit:hover{color:var(--ink);box-shadow:0 0 0 1px #12151c29}.note-hit:hover h2,.note-hit:hover h3{color:var(--accent)}.note-hit:focus-visible{outline-offset:4px}.note-copy{padding:.9rem 1rem 1.05rem}.note-card h2,.note-card h3{margin:.15rem 0 .4rem;font-size:1.35rem;line-height:1.08}.dek{color:var(--ink);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:1rem;line-height:1.4;display:-webkit-box;overflow:hidden}.credit{color:var(--muted);margin-top:.65rem;font-size:.75rem;line-height:1.35}.charter{background:var(--sheet);border-radius:22px;margin:.2rem 0 2rem;padding:1.3rem 1.35rem 1.15rem;box-shadow:0 0 0 1px #12151c0f}.charter h2{margin:0 0 .55rem;font-size:clamp(1.7rem,3vw,2.3rem)}.charter p{max-width:44rem;margin-top:.75rem}.charter p:first-of-type{margin-top:0}.crumbs{margin:0 0 .85rem}.crumbs ol{color:var(--muted);font-family:var(--display);flex-wrap:wrap;gap:.2rem .35rem;margin:0;padding:0;font-size:.82rem;font-weight:500;list-style:none;display:flex}.crumbs a{color:var(--ink);text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumbs li{gap:.35rem;display:inline-flex}.section-lead{margin:0 0 1.35rem}.reading,.narrow{width:min(var(--measure), 100%);margin:0 auto 1.6rem}.section-lead h1,.reading h1,.narrow h1,.sheet h1{margin:0 0 .7rem;font-size:clamp(2.2rem,3.6vw,3.15rem)}.reading>p:first-child,.section-lead .kicker{margin-bottom:.45rem}.standfirst{font-size:1.2rem;line-height:1.4}.byline,.card-meta{color:var(--muted);margin-top:.7rem;font-size:.95rem}.cover{margin:1.15rem 0 .2rem}.cover-frame{aspect-ratio:16/9;background:#d7dee7;border-radius:16px;position:relative;overflow:hidden}.cover-frame img{aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:0;width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}.cover figcaption{color:var(--muted);margin:.5rem 0 0;font-size:.92rem}img[data-cover=what-is-an-api-schema],.cover[data-cover=what-is-an-api-schema] img{object-position:72% center}img[data-cover=json-schema-additionalproperties],.cover[data-cover=json-schema-additionalproperties] img{object-position:35% 42%}img[data-cover=backward-compatibility-in-apis]{object-position:center 62%}.cover[data-cover=backward-compatibility-in-apis] img{object-position:center 58%;transform-origin:50% 58%;transform:scale(1.22)}.reading figcaption,.figure-note,.fn{color:var(--muted);margin:.4rem 0 1rem;font-size:.92rem}.tags{font-family:var(--display);flex-wrap:wrap;gap:.35rem .9rem;margin:.7rem 0 0;padding:0;font-size:.92rem;font-weight:700;list-style:none;display:flex}.tags a{text-decoration:none}.badge{color:var(--accent);font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;margin-left:.4rem;font-size:.72rem;font-weight:700}.prose{margin-top:1.2rem}.prose p{margin:.85rem 0}.prose h2{margin:1.8rem 0 .45rem;font-size:1.7rem}.prose h3{margin:1.3rem 0 .35rem;font-size:1.25rem}.prose ul,.prose ol{margin:.75rem 0;padding-left:1.2rem}.prose a{font-weight:700}.prose code,code{font-family:var(--mono);font-size:.86em}.prose pre{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);font-family:var(--mono);margin:.9rem 0;padding:.85rem 0;font-size:.86rem;line-height:1.45;overflow-x:auto}.callout,.sidenote,.evidence{background:var(--sheet);border-left:4px solid var(--accent);margin:1.3rem 0;padding:.85rem 1rem}.callout .label,.sidenote strong,.evidence .label{color:var(--accent);font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .3rem;font-size:.75rem;font-weight:700;display:block}.diagram{margin:.6rem 0 .3rem}.diagram svg{width:100%;height:auto;display:block}.table-scroll{margin:.4rem 0 1rem;overflow-x:auto}.prose table,.table-scroll table{border-collapse:collapse;width:100%;min-width:28rem;font-size:1rem}.prose caption,.table-scroll caption{caption-side:top;text-align:left;margin:0 0 .4rem}.prose th,.table-scroll th{border-bottom:2px solid var(--ink);font-family:var(--display);letter-spacing:.06em;text-align:left;text-transform:uppercase;padding:.35rem .6rem .35rem 0;font-size:.75rem;font-weight:700}.prose td,.prose tbody th,.table-scroll td,.table-scroll tbody th{border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline;padding:.55rem .6rem .55rem 0;font-weight:400}.sources{margin-top:1.8rem}.sources h2{margin:0 0 .5rem;font-size:1.5rem}.sources ol{margin:0;padding-left:1.2rem}.sources li{margin:.4rem 0}.faq{margin-top:1.6rem}.faq h2{margin:0 0 .4rem;font-size:1.6rem}.faq summary{font-family:var(--display);letter-spacing:-.03em;cursor:pointer;margin:.8rem 0 .3rem;font-size:1.15rem;font-weight:700}.faq summary::-webkit-details-marker{display:none}.related{margin:0 0 2rem}.related>h2{margin-bottom:.9rem}.related .plate-grid{margin-bottom:0}.narrow{margin-bottom:2rem}.pagination{font-family:var(--display);flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;margin:.4rem 0 1.6rem;font-weight:700;display:flex}.pagination a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.pagination p{color:var(--muted);margin:0;font-weight:400}.neighbor-row{flex-wrap:wrap;gap:.4rem 1.1rem;margin-bottom:1rem;display:flex}.neighbor-row a{font-family:var(--display);font-weight:700;text-decoration:none}.site-footer{width:min(var(--page), calc(100% - 2.4rem));border-top:1px solid var(--line);color:var(--muted);margin:.4rem auto 2rem;padding-top:.9rem;font-size:.95rem}.site-footer p+p{margin-top:.35rem}.site-footer ul{flex-wrap:wrap;gap:.15rem 1rem;margin:.35rem 0 .6rem;padding:0;list-style:none;display:flex}.site-footer a{min-height:44px;font-family:var(--display);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.footer-note{color:var(--muted)}.sheet{width:min(var(--page), 100%);margin:0 0 2rem}.sheet-photo{margin:0 0 1rem}.sheet-photo img{aspect-ratio:16/9;object-fit:cover;object-position:center 40%;border-radius:22px;width:100%;height:auto;display:block}.sheet-photo figcaption,.sheet-close{color:var(--muted);font-size:.9rem}.sheet-photo figcaption{margin-top:.45rem}p.charter{max-width:46rem;color:var(--ink);letter-spacing:-.03em;margin:.35rem 0 0;font-size:clamp(1.45rem,2.4vw,1.85rem);line-height:1.28}.factgrid{gap:.75rem;margin:1rem 0;display:grid}.factgrid div{background:var(--sheet);border-left:5px solid var(--accent);border-radius:20px;padding:1.15rem 1.2rem 1.25rem;box-shadow:0 10px 30px #12151c0f}.fact-wide{grid-column:1/-1}.factgrid dt{font-family:var(--display);letter-spacing:-.04em;color:var(--ink);font-size:1.45rem;font-weight:700}.factgrid dd{margin:.45rem 0 0;font-size:1.05rem;line-height:1.5}.sheet-close{max-width:42rem;margin-top:.2rem}.sheet-close a{font-weight:700}@media (width>=880px){.stage-copy{padding:1.4rem 1.7rem 1.5rem}.stage h1{font-size:clamp(2.6rem,4.5vw,4rem)}.plate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plate-grid>h2,.related>h2{grid-column:1/-1}.factgrid{grid-template-columns:1fr 1fr}.nav-button{display:none}.primary,.nav-toggle:checked~.primary{flex-wrap:wrap;gap:.2rem 1.15rem;padding:.35rem 0 .55rem;display:flex}.primary a{min-height:2.6rem}}@media (width<=720px){.wrap,.site-footer{width:min(100% - 1.4rem, var(--page))}.series{letter-spacing:-.03em}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-group(*){animation:none}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation-duration:.14s;animation-timing-function:ease-out}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (forced-colors:active){.plate,.callout,.sidenote{border:1px solid canvastext}}
