:root{--c-brand:#014db2;--c-brand-hover:#0b5fd0;--c-deep:#001645;--c-cyan:#00a8c8;--c-warn:#f59e0b;--c-pos:#10b981;--c-neg:#ef4444;--bg:#f5f7fa;--card:#fff;--text:#0a1628;--text-2:#5b6675;--text-3:#8a94a6;--line:#e3e8ef;--line-2:#cbd2dc;--r-card:16px;--r-btn:8px;--r-pill:999px;--section-gap:96px;--container:1160px;--measure:760px;--gap:24px;--shadow-card:0 1px 3px #014db20a;--shadow-elevated:0 8px 24px #014db21a;--font-cn:"PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-ui:"Inter", var(--font-cn);--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@media (width<=768px){:root{--section-gap:64px;--gap:16px}}.num,table,time,code,kbd{font-family:var(--font-mono);font-variant-numeric:tabular-nums}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.75}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.3}p{margin:0 0 1em}a{color:var(--c-brand);text-decoration:none}a:hover{color:var(--c-brand-hover);text-decoration:underline}img,svg{max-width:100%}ul,ol{margin:0 0 1em;padding-left:1.4em}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.section{margin:var(--section-gap) 0}.section-tight{margin:calc(var(--section-gap) / 2) 0}.prose{max-width:var(--measure);line-height:1.75}.grid{gap:var(--gap);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:24px}.card-hover{transition:box-shadow .18s,transform .18s}.card-hover:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.btn{border-radius:var(--r-btn);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:500;transition:background .18s,color .18s;display:inline-flex}.btn-primary{background:var(--c-brand);color:#fff}.btn-primary:hover{background:var(--c-brand-hover);color:#fff;text-decoration:none}.btn-ghost{border-color:var(--line-2);color:var(--text);background:0 0}.btn-ghost:hover{border-color:var(--c-brand);color:var(--c-brand);text-decoration:none}.pill{border-radius:var(--r-pill);color:var(--c-brand);background:#eef3fa;border:1px solid #d9e4f4;padding:3px 12px;font-size:13px;line-height:1.6;display:inline-block}.pill:hover{background:#e1eaf7;text-decoration:none}.pill-outline{border-color:var(--line-2);color:var(--text-2);background:0 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.section-title{font-size:26px}.section-desc{color:var(--text-2);max-width:640px;margin:8px 0 0;font-size:14px}.meta{color:var(--text-2);font-size:14px}.meta-sep{color:var(--line-2);margin:0 8px}.table-wrap{border:1px solid var(--line);border-radius:var(--r-card);background:var(--card);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px}th{color:var(--text);background:#f8fafc;font-weight:600;position:sticky;top:0}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#fafcff}.callout{border-left:3px solid var(--c-cyan);border-radius:0 var(--r-btn) var(--r-btn) 0;background:#f2fafc;margin:24px 0;padding:14px 18px;font-size:15px}.callout-warn{border-left-color:var(--c-warn);background:#fff8ec}.callout p:last-child{margin-bottom:0}.site-footer{background:var(--c-deep);color:#c8d4e8;margin-top:var(--section-gap);padding:48px 0 32px;font-size:14px}.site-footer a{color:#9fc0f0}.site-footer h4{color:#fff;margin-bottom:12px;font-size:15px}.site-footer .legal{color:#8fa2c0;border-top:1px solid #ffffff1f;margin-top:32px;padding-top:20px;font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}.site-header[data-astro-cid-fzpbxy5g]{z-index:50;backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.header-inner[data-astro-cid-fzpbxy5g]{justify-content:space-between;align-items:center;gap:24px;height:64px;display:flex}.brand[data-astro-cid-fzpbxy5g]{color:var(--text);white-space:nowrap;align-items:center;gap:10px;font-size:17px;font-weight:600;display:flex}.brand[data-astro-cid-fzpbxy5g]:hover{text-decoration:none}.brand-mark[data-astro-cid-fzpbxy5g]{background:linear-gradient(135deg, var(--c-brand), var(--c-cyan));border-radius:6px;width:22px;height:22px}.nav[data-astro-cid-fzpbxy5g]{scrollbar-width:none;align-items:center;gap:4px;display:flex;overflow-x:auto}.nav[data-astro-cid-fzpbxy5g]::-webkit-scrollbar{display:none}.nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{border-radius:var(--r-btn);color:var(--text-2);white-space:nowrap;padding:6px 12px;font-size:15px}.nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover{color:var(--c-brand);background:#eef3fa;text-decoration:none}.nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g].active{color:var(--c-brand);background:#eef3fa;font-weight:500}.nav-divider[data-astro-cid-fzpbxy5g]{background:var(--line-2);flex:none;width:1px;height:18px;margin:0 6px}.footer-grid[data-astro-cid-nns7i3if]{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;display:grid}.src-note[data-astro-cid-nns7i3if]{color:var(--text-3)}.footer-col[data-astro-cid-nns7i3if] p[data-astro-cid-nns7i3if]{margin:0 0 8px;font-size:13px;line-height:1.7}.footer-col[data-astro-cid-nns7i3if] ul[data-astro-cid-nns7i3if]{margin:0;padding:0;list-style:none}.footer-col[data-astro-cid-nns7i3if] li[data-astro-cid-nns7i3if]{margin-bottom:6px}@media (width<=900px){.footer-grid[data-astro-cid-nns7i3if]{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media (width<=560px){.footer-grid[data-astro-cid-nns7i3if]{grid-template-columns:minmax(0,1fr)}}
