@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/static/dist/fonts-ibm-plex-sans-latin-400-normal.db71f8a28ad85015.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/static/dist/fonts-ibm-plex-sans-latin-400-italic.b22694fa42d11b3f.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/static/dist/fonts-ibm-plex-sans-latin-500-normal.5ef914e59b0047a2.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600 900;font-display:swap;src:url(/static/dist/fonts-ibm-plex-sans-latin-600-normal.31535a91ce3f6b8e.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/static/dist/fonts-ibm-plex-mono-latin-400-normal.3c5a451f9ec27a35.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500 600;font-display:swap;src:url(/static/dist/fonts-ibm-plex-mono-latin-500-normal.756026ff72eb76fd.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700 900;font-display:swap;src:url(/static/dist/fonts-ibm-plex-mono-latin-700-normal.a51b6594bdda5d76.woff2) format("woff2")}@font-face{font-family:Lato;font-style:normal;font-weight:100 500;font-display:swap;src:url(/static/dist/fonts-lato-latin-400-normal.918b7dc3e2e2d015.woff2) format("woff2")}@font-face{font-family:Lato;font-style:italic;font-weight:100 500;font-display:swap;src:url(/static/dist/fonts-lato-latin-400-italic.bca1d88ada544d9c.woff2) format("woff2")}@font-face{font-family:Lato;font-style:normal;font-weight:600 800;font-display:swap;src:url(/static/dist/fonts-lato-latin-700-normal.c447dd7677b419db.woff2) format("woff2")}@font-face{font-family:Lato;font-style:normal;font-weight:900;font-display:swap;src:url(/static/dist/fonts-lato-latin-900-normal.08664859baab5ed9.woff2) format("woff2")}:root{color-scheme:light;--bg: #f6f6f8;--card: #ffffff;--fg: #1d1c1d;--muted: #616061;--rule: #e3e3e6;--field: #ffffff;--field-rule: #c9c9ce;--accent: #4338ca;--accent-hover: #3730a3;--accent-ink: #ffffff;--accent-soft: rgba(67, 56, 202, .12);--bad: #b42318;--bad-bg: #fef3f2;--warn-bg: #fffaeb;--warn-rule: #fedf89;--code-bg: #f2f2f5;--radius: 10px;--sans: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font:15px/1.5 var(--sans)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.pub-brand{display:inline-flex;align-items:center;gap:10px;color:var(--fg);font-weight:900;font-size:21px;letter-spacing:-.01em;text-decoration:none}.pub-brand:hover{text-decoration:none}.pub-brand img{width:34px;height:34px;display:block}.pub-top{display:flex;justify-content:center;padding:max(28px,env(safe-area-inset-top)) 16px 8px}.pub-main{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:24px 16px 40px}.pub-card{width:100%;max-width:420px;padding:32px;background:var(--card);border:1px solid var(--rule);border-radius:14px;box-shadow:0 1px 2px #1018280a,0 8px 24px #1018280f}.pub-card-wide{max-width:520px}@media(max-width:480px){.pub-main{padding-top:12px}.pub-card{padding:24px 20px}}.pub-title{margin:0 0 6px;font-size:24px;font-weight:900;line-height:1.25}.pub-lede{margin:0 0 24px;color:var(--muted)}.pub-text{margin:0 0 16px}.pub-small{margin:16px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.pub-form{display:flex;flex-direction:column}.pub-label{display:block;margin:0 0 6px;font-size:14px;font-weight:700}.pub-form .pub-label~.pub-label{margin-top:16px}.pub-input{display:block;width:100%;height:44px;margin:0;padding:0 12px;border:1px solid var(--field-rule);border-radius:8px;background:var(--field);color:var(--fg);font:16px var(--sans);outline:none;-webkit-appearance:none;appearance:none;transition:border-color .12s ease,box-shadow .12s ease}.pub-input::placeholder{color:#9a999c}.pub-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pub-input:disabled{background:var(--code-bg);color:var(--muted)}.pub-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;margin:20px 0 0;padding:0 16px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--accent-ink);font:700 15px var(--sans);text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;transition:background .12s ease,border-color .12s ease}.pub-button:hover{background:var(--accent-hover);border-color:var(--accent-hover);text-decoration:none}.pub-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.pub-button:disabled{opacity:.5;cursor:default}.pub-button:disabled:hover{background:var(--accent);border-color:var(--accent)}.pub-button-quiet{background:var(--card);border-color:var(--field-rule);color:var(--fg)}.pub-button-quiet:hover{background:var(--code-bg);border-color:var(--field-rule)}.pub-link-button{margin:0;padding:0;border:0;background:none;color:var(--accent);font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}.pub-link-button:hover{text-decoration:underline}.pub-check{position:relative;display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;font-size:14px;line-height:1.5;cursor:pointer}.pub-check input{position:absolute;opacity:0;width:18px;height:18px;margin:2px 0 0}.pub-check-box{flex:none;width:18px;height:18px;margin-top:2px;border:1px solid var(--field-rule);border-radius:5px;background:var(--field);transition:background .12s ease,border-color .12s ease}.pub-check input:checked+.pub-check-box{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat}.pub-check input:focus-visible+.pub-check-box{box-shadow:0 0 0 3px var(--accent-soft)}.pub-error{margin:16px 0 0;padding:10px 12px;border-radius:8px;background:var(--bad-bg);color:var(--bad);font-size:14px}.pub-warn{margin:20px 0 0;padding:12px 14px;border:1px solid var(--warn-rule);border-radius:8px;background:var(--warn-bg);font-size:14px}.pub-status{margin:0;color:var(--muted)}.pub-or{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--muted);font-size:13px}.pub-or:before,.pub-or:after{content:"";flex:1;height:1px;background:var(--rule)}.pub-pair{display:grid;gap:12px;margin:20px 0 0}.pub-value{display:block;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--code-bg);font:15px var(--mono);word-break:break-all;user-select:all}.pub-face,.pub-face .pub-button{margin:0}.pub-face-who{font-weight:400;opacity:.85}.pub-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:16px 16px max(24px,env(safe-area-inset-bottom));color:var(--muted);font-size:13px}.pub-foot a{color:var(--muted)}.pub-doc{width:100%;max-width:760px;margin:0 auto;padding:8px 16px 48px}.pub-doc h1{margin:24px 0 4px;font-size:30px;font-weight:900;line-height:1.2}.pub-doc-date{margin:0 0 24px;color:var(--muted);font-size:14px}.pub-doc-intro{margin:0 0 28px;font-size:16px;line-height:1.7}.pub-doc h2{margin:32px 0 10px;padding-top:20px;border-top:1px solid var(--rule);font-size:18px;font-weight:700}.pub-doc p{margin:0 0 12px;font-size:15px;line-height:1.75}@media(prefers-reduced-motion:reduce){.pub-input,.pub-button,.pub-check-box{transition:none}}.experience-switch{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--rule, #ddd);border-radius:9px;width:fit-content;font-family:var(--sans, system-ui)}.experience-switch button{min-height:36px;border:0;border-radius:6px;padding:6px 12px;background:transparent;color:var(--muted, #616061);font:600 13px var(--sans, system-ui);cursor:pointer}.experience-switch button:focus-visible{outline:2px solid var(--accent, #4338ca);outline-offset:2px}.pub-top{flex-wrap:wrap;align-items:center;gap:24px}.experience-switch [role=status]{flex-basis:100%;max-width:280px;padding:6px;font:13px/1.4 var(--sans,system-ui);color:var(--muted,#616061)}.experience-switch:has([data-presentation-toggle]){border:0;padding:0}.experience-switch button.atx-look-switch{width:46px;height:26px;min-height:0;padding:0;border:1px solid var(--rule,#ddd);border-radius:13px}.atx-look-switch{position:relative;width:46px;height:26px;min-height:0;padding:0;border:1px solid var(--rule,#ddd);border-radius:13px;background:var(--bg,#fff);cursor:pointer}.atx-look-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--muted,#616061);transition:transform .15s}.atx-look-switch[aria-checked=true]{background:var(--accent,#3459b8);border-color:var(--accent,#3459b8)}.atx-look-switch[aria-checked=true]:after{transform:translate(20px);background:#fff}:root{--bg:#f8f9fc;--accent:#3459b8;--accent-hover:#294791;--accent-soft:#3459b812;--sans:"Lato",system-ui,sans-serif;--radius:12px}.pub-top{justify-content:space-between;padding:32px 6vw 20px}body:has(.plain-public-intro){display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;gap:0 5vw}.pub-top,.pub-foot{grid-column:1/-1}.plain-public-intro{align-self:center;padding:48px 0 64px 10vw;max-width:700px}.plain-eyebrow{color:var(--accent);font-size:14px;font-weight:900}.plain-public-intro h2{font-size:clamp(30px,4vw,52px);line-height:1.08;letter-spacing:-.035em;color:#1e2b42;margin:20px 0}.plain-public-intro p{font-size:19px;line-height:1.6;color:var(--muted);max-width:32ch}.pub-main{align-items:center;padding-right:8vw}.pub-card{width:100%;box-shadow:0 12px 48px #23324c0a}body:has(.pub-doc) .plain-public-intro{grid-column:1/-1;padding:20px 24px;margin:auto;text-align:center}body:has(.pub-doc) .plain-public-intro h2{font-size:30px}body:has(.pub-doc) .plain-public-intro p{max-width:60ch;margin:auto;font-size:16px}.pub-doc{grid-column:1/-1}@media(max-width:760px){body:has(.plain-public-intro){display:flex}.pub-top{padding:20px 20px 0;justify-content:center;gap:12px}.plain-public-intro{padding:24px 24px 0;text-align:center;align-self:center}.plain-public-intro h2{font-size:30px;margin:12px 0}.plain-public-intro p{font-size:16px;margin:0 auto}.pub-main{padding:24px 16px 32px}}
