:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;--accent: #0ea5e9;--accent-hover: #0284c7;--accent-soft: rgba(14, 165, 233, .08);--success: #16a34a;--success-soft: rgba(22, 163, 74, .08);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .08);--border: #e5e7eb;--border-strong: #d1d5db;--muted: #6b7280;--bg: #ffffff;--bg-alt: #f8fafc;--fg: #0f172a;--card: #f9fafb;--card-hover: #f3f4f6;--mono: ui-monospace, SFMono-Regular, Menlo, monospace}[data-theme=dark]{--border: #1f2937;--border-strong: #374151;--muted: #9ca3af;--bg: #0b1120;--bg-alt: #0f172a;--fg: #f1f5f9;--card: #1e293b;--card-hover: #273548;--accent-soft: rgba(14, 165, 233, .12);--success-soft: rgba(22, 163, 74, .15);--danger-soft: rgba(220, 38, 38, .15)}*{box-sizing:border-box}html,body,#root{margin:0}body{background:var(--bg);color:var(--fg);transition:background .15s,color .15s;-webkit-font-smoothing:antialiased;line-height:1.6}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.75rem;position:sticky;top:0;background:var(--bg);z-index:30}.brand{font-weight:700;color:var(--fg);text-decoration:none;font-size:1.05rem}.topbar nav{display:flex;gap:1.25rem;align-items:center}.topbar nav a{color:var(--muted);text-decoration:none;font-size:.95rem;padding:.25rem .5rem;border-radius:4px}.topbar nav a:hover{color:var(--fg);background:var(--card)}.topbar nav a.active{color:var(--accent);background:var(--card)}.menu-toggle{display:none;background:var(--card);color:var(--fg);border:1px solid var(--border);padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.92rem}@media (max-width: 640px){.menu-toggle{display:inline-block}.topbar nav{display:none;width:100%;flex-direction:column;gap:.5rem;margin-top:.5rem}.topbar nav.open{display:flex}}.theme-toggle{background:var(--card);color:var(--fg);border:1px solid var(--border);padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.88rem}.theme-toggle:hover{background:var(--card-hover)}.content{max-width:1080px;margin:0 auto;padding:0 2rem 4rem}.docs{line-height:1.65}.docs h1{font-size:2.5rem;line-height:1.15;margin:.5rem 0 1rem;letter-spacing:-.02em}.docs h2{font-size:1.6rem;margin:2.5rem 0 1rem;letter-spacing:-.01em}.docs h3{font-size:1.15rem;margin:1rem 0 .5rem}.docs p{margin:.75rem 0;color:var(--fg)}.docs a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent}.docs a:hover{border-bottom-color:var(--accent)}.docs code{background:var(--card);padding:.1rem .4rem;border-radius:4px;font-size:.92em;font-family:var(--mono)}.hero{padding:3rem 0 2rem;text-align:left;border-bottom:1px solid var(--border);margin-bottom:1rem}.kicker{display:inline-block;font-size:.85rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin:0 0 .5rem;background:var(--accent-soft);padding:.25rem .75rem;border-radius:999px}.lede{font-size:1.18rem;color:var(--muted);margin-top:1rem;max-width:740px}.hero-cta{display:flex;gap:.75rem;margin:1.5rem 0;flex-wrap:wrap}.docs a.button-primary,.docs a.button-ghost,a.button-primary,a.button-ghost{display:inline-block;padding:.75rem 1.4rem;border-radius:8px;text-decoration:none;font-size:.98rem;font-weight:500;border:1px solid transparent;cursor:pointer;transition:background .12s,border-color .12s}.docs a.button-primary,a.button-primary{background:var(--accent);color:#fff}.docs a.button-primary:hover,a.button-primary:hover{background:var(--accent-hover);color:#fff;border-bottom-color:transparent}.docs a.button-ghost,a.button-ghost{background:var(--card);color:var(--fg);border-color:var(--border)}.docs a.button-ghost:hover,a.button-ghost:hover{background:var(--card-hover);color:var(--fg);border-bottom-color:transparent}.hero-foot{font-size:.92rem;color:var(--muted);margin-top:1rem}.section{padding:1rem 0}.check-list{list-style:none;padding:0;margin:1rem 0}.check-list li{padding:.5rem 0 .5rem 1.75rem;position:relative;color:var(--fg)}.check-list.good li:before{content:"✓";position:absolute;left:0;top:.5rem;width:1.2rem;height:1.2rem;background:var(--success-soft);color:var(--success);border-radius:50%;text-align:center;font-weight:700;font-size:.85rem;line-height:1.2rem}.check-list.bad li:before{content:"✕";position:absolute;left:0;top:.5rem;width:1.2rem;height:1.2rem;background:var(--danger-soft);color:var(--danger);border-radius:50%;text-align:center;font-weight:700;font-size:.85rem;line-height:1.2rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.card h3{margin:0 0 .5rem;color:var(--accent)}.card p{font-size:.94rem;color:var(--muted);margin:0}.try-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0}.try-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}.try-card h3{margin:0}.try-card p{font-size:.92rem;color:var(--muted);margin:0;flex:1}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.5rem 0}.metric{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.metric-value{font-size:1.6rem;font-weight:700;color:var(--accent)}.metric-label{font-size:.92rem;color:var(--muted);margin-top:.25rem;font-weight:500}.metric p{font-size:.88rem;color:var(--muted);margin:.5rem 0 0;line-height:1.5}.step-list{counter-reset:stepc;list-style:none;padding:0;display:grid;gap:1rem;margin:1.5rem 0}.step-list li{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.25rem 1.5rem 1.25rem 3.5rem;position:relative;counter-increment:stepc}.step-list li:before{content:counter(stepc);position:absolute;left:1rem;top:1.25rem;width:1.75rem;height:1.75rem;background:var(--accent);color:#fff;border-radius:50%;text-align:center;font-weight:700;line-height:1.75rem;font-size:.95rem}.step-list li>strong:first-child{display:block;margin-bottom:.25rem}.code{background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;padding:.85rem 1rem;font-family:var(--mono);font-size:.85rem;overflow-x:auto;line-height:1.55;margin:.75rem 0 0;white-space:pre}.placeholder{padding:2rem;background:var(--card);border-radius:6px;text-align:center;color:var(--muted)}.hydration-proof{background:var(--accent-soft);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin:1.5rem 0}.counter-button{background:var(--accent);color:#fff;border:none;padding:.7rem 1.25rem;border-radius:6px;font-size:.98rem;cursor:pointer}.counter-button:hover{background:var(--accent-hover)}.success-note{color:var(--success);font-size:.92rem;margin:.75rem 0 0}.caption{color:var(--muted);font-size:.9rem;margin:.5rem 0 1.5rem}.diagram{width:100%;height:auto;display:block;margin:1.5rem 0;border:1px solid var(--border);border-radius:10px;padding:1rem;background:var(--bg-alt);color:var(--fg)}.diagram text{font-family:-apple-system,system-ui,sans-serif}.diagram-title{fill:var(--fg);font-size:14px;font-weight:600}.diagram-label{fill:var(--fg);font-size:13px;font-weight:500}.diagram-label-tiny{fill:var(--muted);font-size:11px}.diagram-step{fill:var(--fg);font-size:12px}.diagram-sub{fill:var(--muted);font-size:11px}.diagram-mono{fill:var(--fg);font-family:var(--mono);font-size:12px}.diagram-divider{stroke:var(--border-strong);stroke-width:1}.diagram-arrow{stroke-linecap:round;color:var(--muted)}.diagram-box{fill:var(--card);stroke:var(--border-strong);stroke-width:1.2}.diagram-client{fill:var(--bg);stroke:var(--accent)}.diagram-bot{fill:var(--bg);stroke:var(--muted)}.diagram-edge,.diagram-engine{fill:var(--accent-soft);stroke:var(--accent)}.diagram-origin{fill:var(--card);stroke:var(--border-strong)}.diagram-success{fill:var(--success-soft);stroke:var(--success)}.diagram-bad{fill:var(--danger-soft);stroke:var(--danger)}.diagram-good{fill:var(--success-soft);stroke:var(--success)}.diagram-sub-box{fill:var(--bg);stroke:var(--accent)}.controls{display:flex;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.filter,.category-select,.sort-button{padding:.6rem .8rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:.95rem}.filter{flex:1 1 240px}.sort-button{background:var(--card);cursor:pointer;white-space:nowrap}.sort-button:hover{background:var(--card-hover)}.result-count{font-size:.88rem;color:var(--muted);margin:.5rem 0}.tool-list{list-style:none;padding:0;display:grid;gap:.5rem}.tool-item{background:var(--card);border:1px solid var(--border);border-radius:6px}.tool-toggle{width:100%;background:transparent;color:var(--fg);border:none;padding:1rem;display:grid;grid-template-columns:1fr auto auto;gap:.75rem;align-items:center;cursor:pointer;font-size:.98rem;text-align:left}.tool-toggle:hover{background:var(--card-hover)}.tool-name{font-weight:600}.tool-cat{font-size:.78rem;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.tool-chevron{font-size:1.2rem;color:var(--muted);width:1rem;text-align:center}.tool-blurb{margin:0;padding:0 1rem 1rem;color:var(--muted);font-size:.94rem}.empty{background:var(--card);border:1px dashed var(--border);border-radius:6px;padding:1rem;text-align:center;color:var(--muted)}.primary-cta{background:var(--accent);color:#fff;border:none;padding:.7rem 1.4rem;border-radius:6px;font-size:.98rem;cursor:pointer;margin:1rem 0}.primary-cta:hover{background:var(--accent-hover)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:10px;padding:1.75rem;max-width:520px;width:100%;box-shadow:0 25px 50px -12px #00000080}.modal h3{margin-top:0}.modal button{margin-top:1rem;background:var(--card);color:var(--fg);border:1px solid var(--border);padding:.5rem 1rem;border-radius:6px;cursor:pointer}.modal button:hover{background:var(--card-hover)}.faq{display:grid;gap:.5rem;margin:1rem 0 2rem}.faq-item{background:var(--card);border:1px solid var(--border);border-radius:6px}.faq-q{width:100%;background:transparent;color:var(--fg);border:none;padding:1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:1rem;text-align:left;font-weight:500}.faq-q:hover{background:var(--card-hover)}.faq-chevron{font-size:1.4rem;color:var(--muted);margin-left:1rem}.faq-a{margin:0;padding:0 1rem 1rem;color:var(--muted);font-size:.95rem;line-height:1.55}.footbar{border-top:1px solid var(--border);padding:1.5rem 2rem;color:var(--muted);font-size:.88rem;text-align:center;line-height:1.5}
