:root{--bg: #0f172a;--bg-card: #1e293b;--border: #334155;--text: #f1f5f9;--text-sub: #94a3b8;--text-muted: #64748b;--hover: #334155;--hover-border: #475569;--topbar-bg: rgba(15, 23, 42, .95);--accent: #818cf8;--accent-warm: #fbbf24}[data-theme=light]{--bg: #f8fafc;--bg-card: #fff;--border: #e2e8f0;--text: #1e293b;--text-sub: #64748b;--text-muted: #94a3b8;--hover: #f1f5f9;--hover-border: #cbd5e1;--topbar-bg: rgba(248, 250, 252, .95)}[data-theme=light][data-product=agp]{--bg: #fef8ee}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;transition:background .2s,color .2s}a{color:inherit}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:4px}.topbar-btn{background:none;border:none;padding:8px;border-radius:8px;cursor:pointer;color:var(--text-muted);transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-family:inherit}.topbar-btn:hover{background:var(--hover);color:var(--text)}.topbar-btn svg{width:18px;height:18px}.lang-btn{font-size:15px;font-weight:500;width:36px;height:36px;position:relative}.lang-dropdown{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;min-width:120px;box-shadow:0 4px 12px #0003;z-index:40}.lang-dropdown.open{display:block}.lang-dropdown a{display:block;padding:8px 16px;color:var(--text-sub);text-decoration:none;font-size:14px;transition:background .1s}.lang-dropdown a:hover{background:var(--hover);color:var(--text)}.lang-dropdown a.active{color:var(--text);font-weight:600}.main{flex:1;display:block;width:100%}.site-footer{text-align:center;padding:24px 16px;font-size:13px;color:var(--text-muted);margin-top:auto}.site-footer a{color:var(--text-sub);text-decoration:none}.site-footer a:hover{color:var(--text);text-decoration:underline}.footer-sep{margin:0 8px}.page{max-width:900px;margin:0 auto;padding:24px 16px;width:100%}.page-narrow{max-width:640px;margin:0 auto;padding:40px 16px;width:100%;line-height:1.7}.page-hero{text-align:center;padding:32px 16px;max-width:720px;margin:0 auto;width:100%}.card{display:block;text-decoration:none;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 20px;transition:background .15s,border-color .15s;color:var(--text)}.card:hover{background:var(--hover);border-color:var(--hover-border)}.card-grid{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width: 640px){.card-grid.two{grid-template-columns:1fr 1fr}.card-grid.three{grid-template-columns:1fr 1fr 1fr}}.prose{color:var(--text-sub);line-height:1.75}.prose h1{color:var(--text);font-size:28px;margin:0 0 16px;line-height:1.3}.prose h2{color:var(--text);font-size:20px;margin:32px 0 12px;line-height:1.3}.prose h3{color:var(--text);font-size:17px;margin:24px 0 10px;line-height:1.3}.prose p{margin:0 0 16px}.prose a{color:var(--accent);text-decoration:none;border-bottom:1px dashed var(--accent)}.prose a:hover{text-decoration:none;border-bottom-style:solid}.prose ul,.prose ol{margin:0 0 16px;padding-left:24px}.prose li{margin-bottom:6px}.prose code{background:var(--hover);padding:2px 6px;border-radius:4px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.prose pre{background:var(--hover);padding:16px;border-radius:8px;overflow-x:auto;font-size:13px;line-height:1.6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid var(--border)}.prose pre code{background:none;padding:0}.prose blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 16px;margin:0 0 16px;color:var(--text-sub);font-style:italic}.prose img{max-width:100%;height:auto;border-radius:8px}.prose table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14px}.prose th,.prose td{padding:8px 12px;border:1px solid var(--border);text-align:left}.prose hr{border:none;border-top:1px solid var(--border);margin:24px 0}
