@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap');
/* AppAfterApp (rename R2, D7/D8): the site's near-black, ivory and lime, and its self-hosted Archivo (/fonts, with OFL.txt). */
@font-face{font-family:'Archivo';src:url('/fonts/Archivo-wght-wdth62-100.woff2') format('woff2');font-style:normal;font-weight:100 900;font-stretch:62% 100%;font-display:swap}
:root{color-scheme:dark;--bg:#171717;--panel:#202020;--ink:#F3F0E8;--muted:#9CA3A0;--line:#333333;--accent:#D8FA36;--accent-ink:#171717;--display:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'IBM Plex Mono',Consolas,monospace}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.75 var(--display)}a{color:var(--accent);text-underline-offset:4px}a:hover{color:var(--ink)}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a,button,summary{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;z-index:10;background:var(--accent);color:var(--accent-ink);padding:10px 16px}.skip-link:focus{top:12px}
.topbar{position:sticky;top:0;z-index:5;height:78px;background:var(--bg);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1440px;margin:auto;height:100%;padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:22px;text-decoration:none;color:var(--ink)}.wordmark{display:block;width:auto;height:36px}.brand-label{font-size:14px;border-left:1px solid var(--line);padding-left:22px;color:var(--muted)}.top-links{display:flex;align-items:center;gap:26px;font-size:13px}.top-links a{color:var(--muted);text-decoration:none}.offline{color:var(--muted);font:11px/1.5 var(--mono);display:flex;align-items:center;gap:9px}.offline::before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%;flex:none}
.layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - 78px)}.sidebar{padding:48px 24px 32px 38px;border-right:1px solid var(--line)}.sidebar-inner{position:sticky;top:118px}.nav-label,.eyebrow{font:11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:1.4px;color:var(--muted)}.sidebar nav{margin-top:19px}.docs-nav{display:grid;gap:7px}.docs-nav a{display:block;min-height:44px;padding:10px 14px;border-radius:5px;text-decoration:none;font-size:14px;line-height:24px;color:var(--muted);border-left:2px solid transparent}.docs-nav a:hover{background:var(--panel);color:var(--ink)}.docs-nav a[aria-current=page]{color:var(--accent);border-left-color:var(--accent);background:rgba(216,250,54,.04)}.sidebar-resources{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;display:grid;gap:7px}.sidebar-resources a{font-size:12px;text-decoration:none;color:var(--muted);padding:6px 0}.sidebar-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:28px;max-width:165px}.mobile-nav{display:none}
.page{min-width:0;padding:46px 64px 70px;max-width:1040px}.page-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:36px}.page-meta .eyebrow{font-size:10px;letter-spacing:1px}.copy-button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:8px 13px;border-radius:5px;font-size:12px;cursor:pointer;min-height:40px}.copy-button:hover{color:var(--ink);border-color:var(--muted)}.copy-status{font-size:12px;color:var(--muted);min-height:22px;margin:0 0 8px}.copy-status:empty{display:none}.article{max-width:850px;overflow-wrap:anywhere}.article h1{font:800 clamp(38px,4.2vw,56px)/1.08 var(--display);font-stretch:80%;letter-spacing:-.005em;margin:0 0 25px}.article h2{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.5px;margin:54px 0 19px;padding-top:5px}.article h3{font-size:18px;font-weight:600;line-height:1.4;margin:29px 0 14px}.article p{margin:0 0 20px}.article li{padding-left:3px;margin:10px 0}.article ul,.article ol{padding-left:23px;margin:18px 0 25px}.article strong{font-weight:600}.article blockquote{margin:30px 0 35px;border-left:2px solid var(--accent);padding:17px 22px;background:rgba(216,250,54,.03);color:var(--muted);font-size:14px;line-height:1.8}.article blockquote p{margin:0}.article blockquote strong{color:var(--ink)}.article code{font-family:var(--mono);font-size:.83em;padding:2px 4px;background:var(--panel);border-radius:3px}.article pre{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:24px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:13px;margin:23px 0}.article pre code{background:none;padding:0;font-size:inherit}.table-scroll{overflow-x:auto;margin:23px 0 30px}.article table{border-collapse:collapse;text-align:left;width:100%;font-size:14px;line-height:1.75}.article th{font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:400;padding:12px 14px;border-bottom:1px solid var(--muted)}.article td{vertical-align:top;padding:15px 14px;border-bottom:1px solid var(--line)}.article td:first-child{font-weight:500;min-width:145px;color:var(--ink)}.article td:not(:first-child){color:var(--muted)}.article th:first-child,.article td:first-child{padding-left:0}.article th:last-child,.article td:last-child{padding-right:0}.welcome{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:27px;align-items:start}.welcome h1{max-width:440px;font:900 clamp(50px,5.2vw,70px)/1 var(--display);font-stretch:70%;letter-spacing:-.005em;margin-bottom:28px}.welcome p{font-size:16px;line-height:1.8;color:var(--muted)}.bot-illustration{width:170px;height:220px;margin-top:5px;overflow:visible}.pager{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:56px;padding-top:24px}.pager a{text-decoration:none;font-size:14px;min-height:44px}.pager a:last-child{text-align:right;margin-left:auto}.pager small{display:block;color:var(--muted);font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}.page-footer{font-size:11px;color:var(--muted);margin-top:28px}.prompt-actions{margin:10px 0 20px}
@media(min-width:1500px){.page{padding-left:82px;padding-right:82px;max-width:1100px}}
@media(max-width:1100px){.layout{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-left:26px;padding-right:18px}.page{padding-left:38px;padding-right:38px}.welcome{grid-template-columns:minmax(0,1fr) 125px;gap:15px}.bot-illustration{width:125px;height:180px}.welcome h1{font-size:56px}}
@media(max-width:760px){html{scroll-padding-top:95px}.topbar{height:66px}.topbar-inner{padding:0 22px}.brand{gap:16px}.brand-label{padding-left:16px}.top-links>a{display:none}.offline{font-size:9px;gap:6px}.layout{display:block}.sidebar{display:none}.mobile-nav{display:block;border-bottom:1px solid var(--line);padding:0 22px}.mobile-nav summary{min-height:52px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:13px;list-style:none;color:var(--muted)}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary::after{content:'+';font:20px/1 var(--mono);color:var(--accent)}.mobile-nav[open] summary::after{content:'−'}.mobile-nav nav{padding:5px 0 18px}.mobile-nav .docs-nav a{min-height:46px}.mobile-nav .mobile-resource{display:inline-block;padding:10px 14px;font-size:12px}.page{padding:28px 24px 50px;max-width:none}.page-meta{margin-bottom:30px;gap:8px;align-items:start}.page-meta .eyebrow{font-size:9px;letter-spacing:.7px;max-width:155px;line-height:1.8}.copy-button{font-size:11px;padding:9px 11px;min-height:44px}.welcome{grid-template-columns:minmax(0,1fr) 88px;column-gap:12px}.welcome>div{display:contents}.welcome h1{font-size:46px;grid-column:1;grid-row:1;margin:0 0 25px}.welcome p{grid-column:1/-1;font-size:15px;margin-bottom:18px}.bot-illustration{grid-column:2;grid-row:1;width:88px;height:124px;margin-top:0}.article{font-size:15px;line-height:1.8}.article h1{font-size:38px}.article h2{font-size:22px;margin-top:40px}.article h3{font-size:17px}.article blockquote{padding:15px 17px;font-size:13px;margin:25px 0 30px}.article table{font-size:13px}.article th{font-size:10px;padding:10px}.article td{padding:12px 10px}.article td:first-child{min-width:110px}.article pre{padding:17px;font-size:12px}.pager a{font-size:13px;max-width:48%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
