*{box-sizing:border-box}html,body{max-width:100%;overflow-x:clip}body{color:#18181b;background:#faf9f5;margin:0;font-family:Georgia,serif}a{color:#2563eb;overflow-wrap:anywhere}body>nav{background:#faf9f5;border-bottom:1px solid #e7e4da;font-family:system-ui,sans-serif}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;height:64px;margin:0 auto;padding:0 24px;display:flex}.brand{color:#18181b;letter-spacing:-.02em;align-items:center;gap:9px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.brand svg{flex:none;display:block}.nav-actions{align-items:center;gap:20px;display:flex}.nav-actions a{color:#52525b;font-size:15px;font-weight:500;text-decoration:none}.nav-actions a:hover{color:#18181b}.nav-actions select{color:#18181b;font:inherit;cursor:pointer;background:#fff;border:1px solid #e4e4e7;border-radius:8px;padding:6px 8px;font-size:14px}.nav-actions select:hover{border-color:#2563eb}.nav-actions .nav-cta{color:#faf9f5;background:#2563eb;border-radius:9px;padding:9px 16px;font-size:14px;font-weight:600}.nav-actions .nav-cta:hover{color:#faf9f5;background:#1d4ed8}.page-grid{grid-template-columns:200px minmax(0,1fr) 200px;align-items:start;gap:48px;max-width:1200px;margin:0 auto;padding:0 24px;display:grid}.page-grid>*{min-width:0}main,article,.prose{min-width:0;max-width:100%}.sidebar-left,.sidebar-right{padding-top:80px;font-family:system-ui,sans-serif;position:sticky;top:120px}.sidebar-left a,.toc a{color:#71717a;padding:4px 0;font-size:13px;line-height:1.5;text-decoration:none;display:block}.sidebar-left h4{margin:24px 0 8px;font-size:13px}.article-header{padding:80px 0 40px}.article-header h1{overflow-wrap:anywhere}.prose{font-size:18px;line-height:1.8}.prose h2{overflow-wrap:anywhere;margin:56px 0 16px;scroll-margin-top:120px;font-family:system-ui,sans-serif;font-size:28px}.prose h3{overflow-wrap:anywhere;font-family:system-ui,sans-serif}.prose p,.prose ul,.prose ol{color:#27272a;margin:0 0 24px}.prose figure{max-width:100%;margin:32px 0;overflow:hidden}.prose img{object-fit:contain;width:100%;max-width:100%;height:auto;display:block}.prose pre{background:#fff;border:1px solid #e4e4e7;border-radius:12px;max-width:100%;margin:32px 0;padding:20px 24px;overflow-x:auto}.prose pre,.prose code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.code-wrap{margin:32px 0;position:relative}.code-wrap>pre{margin:0}.copy-btn{z-index:1;color:#52525b;cursor:pointer;background:#faf9f5;border:1px solid #e4e4e7;border-radius:7px;align-items:center;gap:5px;padding:5px 10px;font-family:system-ui,sans-serif;font-size:12px;font-weight:500;transition:color .12s,border-color .12s;display:inline-flex;position:absolute;top:10px;right:10px}.copy-btn:hover{color:#2563eb;border-color:#2563eb}.copy-btn.copied{color:#0d9488;border-color:#0d9488}.share{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0;font-family:system-ui,sans-serif;display:flex}.share-label{color:#71717a;margin-right:2px;font-size:15px}.share-btn{color:#18181b;cursor:pointer;background:#fff;border:1px solid #e4e4e7;border-radius:50px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.share-btn svg{flex:none}.share-btn:hover{color:#2563eb;border-color:#2563eb}.share-btn.copied{color:#0d9488;border-color:#0d9488}.prose code{white-space:pre-wrap;overflow-wrap:anywhere}.prose table{border-collapse:collapse;max-width:100%;margin:32px 0;font-family:system-ui,sans-serif;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;white-space:nowrap;border:1px solid #e4e4e7;padding:10px 14px}.prose th{background:#f4f4f5;font-weight:600}.prose tbody td:first-child,.prose td:first-child{white-space:normal}footer{color:#71717a;justify-content:space-between;gap:24px;max-width:1200px;margin:0 auto;padding:48px 24px;font-family:system-ui,sans-serif;display:flex}@media (width<=1024px){.page-grid{grid-template-columns:1fr;max-width:760px}.sidebar-left,.sidebar-right{display:none}}@media (width<=640px){.nav-inner{padding:0 16px}.nav-hide-sm{display:none}.article-header{padding-top:48px}.prose{font-size:17px}footer{flex-direction:column}}
