:root{--bg: #ffffff;--bg-soft: #f4f4f5;--bg-code: #f6f8fa;--text: #222;--muted: #707579;--link: #2481cc;--link-hover: #1a6bab;--border: #e7e7e7;--accent: #3390ec;--sidebar-w: 260px;--header-h: 56px;--radius: 8px;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}.site-header{position:sticky;top:0;z-index:20;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;color:var(--text);text-decoration:none}.brand:hover{text-decoration:none;color:var(--text)}.brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#3390ec,#5288c1);color:#fff;display:grid;place-items:center;font-size:14px}.header-links{display:flex;gap:18px;font-size:14px}.layout{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);max-width:1200px;margin:0 auto}.sidebar{position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow:auto;padding:20px 16px 40px;border-right:1px solid var(--border)}.sidebar h3{margin:18px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.sidebar h3:first-child{margin-top:0}.sidebar a{display:block;padding:6px 10px;border-radius:6px;color:var(--text);font-size:14px;text-decoration:none}.sidebar a:hover{background:var(--bg-soft);text-decoration:none}.sidebar a.active{background:#e8f4fd;color:var(--link);font-weight:600}.content{padding:28px 40px 80px;min-width:0}.content h1{margin:0 0 8px;font-size:32px;line-height:1.2}.content h2{margin:36px 0 12px;padding-top:12px;font-size:22px;border-top:1px solid var(--border)}.content h2:first-of-type{border-top:none;padding-top:0;margin-top:24px}.content h3{margin:24px 0 10px;font-size:17px}.lead{color:var(--muted);font-size:16px;margin-bottom:24px}.note,.warn{padding:12px 14px;border-radius:var(--radius);margin:16px 0;font-size:14px}.note{background:#eef6fc;border:1px solid #cfe8fa}.warn{background:#fff8e6;border:1px solid #f0dfa0}pre{background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;overflow:auto;font-family:var(--mono);font-size:13px;line-height:1.45}code{font-family:var(--mono);font-size:.92em;background:var(--bg-code);padding:2px 6px;border-radius:4px}pre code{background:none;padding:0}table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:14px}th,td{border:1px solid var(--border);padding:10px 12px;text-align:left;vertical-align:top}th{background:var(--bg-soft);font-weight:600}td code{font-size:12px}.copy-wrap{position:relative}.copy-btn{position:absolute;top:8px;right:8px;border:1px solid var(--border);background:#fff;border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer}.copy-btn:hover{background:var(--bg-soft)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:24px 0}.card{border:1px solid var(--border);border-radius:12px;padding:18px;background:#fff}.card h3{margin:0 0 8px;font-size:16px}.card p{margin:0;color:var(--muted);font-size:14px}.hero{padding:48px 24px 56px;max-width:900px;margin:0 auto;text-align:center}.hero h1{font-size:40px;margin-bottom:12px}.hero p{color:var(--muted);font-size:18px;max-width:640px;margin:0 auto 28px}.hero-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:10px 18px;border-radius:999px;font-weight:600;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{color:#fff;filter:brightness(.95);text-decoration:none}.btn-ghost{border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{background:var(--bg-soft);text-decoration:none}.site-footer{border-top:1px solid var(--border);padding:24px;text-align:center;color:var(--muted);font-size:13px}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}.content{padding:20px 16px 60px}}
