:root{--color-bg:#fff;--color-surface:#f7f8fa;--color-surface-2:#f1f4f9;--color-text:#1f2937;--color-heading:#111827;--color-muted:#5b6472;--color-subtle:#8a93a1;--color-border:#e5e8ee;--color-border-strong:#d3d8e1;--color-primary:#1d4ed8;--color-primary-hover:#1e40af;--color-primary-soft:#eef3ff;--color-primary-ink:#1e3a8a;--color-accent:#0f9f8f;--color-accent-soft:#e7f7f5;--color-warning:#b45309;--color-warning-soft:#fff7e8;--color-danger:#b91c1c;--color-danger-soft:#fdf0f0;--color-success:#15803d;--color-success-soft:#ecf8f0;--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.0625rem;--text-lg:1.1875rem;--text-xl:1.375rem;--text-2xl:1.625rem;--text-3xl:2rem;--text-4xl:2.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-full:999px;--shadow-sm:0 1px 2px #1118270a;--shadow:0 1px 2px #1118270a, 0 4px 16px #1118270d;--shadow-lg:0 8px 30px #11182714;--container:1200px;--container-narrow:760px;--gutter:16px;--header-h:60px}@media (width>=768px){:root{--gutter:24px;--header-h:68px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.75;overflow-x:hidden}@media (width>=1024px){body{font-size:var(--text-md)}}img,svg,video,picture{max-width:100%;height:auto;display:block}h1,h2,h3,h4{color:var(--color-heading);letter-spacing:.01em;margin:0;font-weight:700;line-height:1.35}p{margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}button{font:inherit;cursor:pointer}ul,ol{margin:0;padding:0}table{border-collapse:collapse;width:100%}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.container-narrow{width:100%;max-width:var(--container-narrow);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-10)}@media (width>=768px){.section{padding-block:var(--space-12)}}.section-alt{background:var(--color-surface)}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.section-head h2{font-size:var(--text-xl)}@media (width>=768px){.section-head h2{font-size:var(--text-2xl)}}.section-head p{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.section-link{font-size:var(--text-sm);white-space:nowrap;font-weight:600}.grid{gap:var(--space-4);display:grid}@media (width>=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.grid{gap:var(--space-5)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-4);z-index:100;background:var(--color-primary);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);position:absolute;top:-48px}.skip-link:focus{top:var(--space-2);color:#fff}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .15s}a.card:hover,.card-hover:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow)}.badge{font-size:var(--text-xs);border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary-ink);white-space:nowrap;align-items:center;gap:4px;padding:2px 10px;font-weight:600;line-height:1.4;display:inline-flex}.badge-neutral{background:var(--color-surface-2);color:var(--color-muted)}.badge-accent{background:var(--color-accent-soft);color:#0b6f64}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius);font-size:var(--text-sm);white-space:nowrap;border:1px solid #0000;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);color:#fff}.btn-secondary{background:var(--color-bg);border-color:var(--color-border-strong);color:var(--color-heading)}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-ghost{background:var(--color-primary-soft);color:var(--color-primary-ink)}.btn-ghost:hover{background:#e1eaff}.tag-list{gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.tag-list a{font-size:var(--text-sm);border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-muted);background:var(--color-bg);padding:4px 12px;display:inline-block}.tag-list a:hover{border-color:var(--color-primary);color:var(--color-primary)}.muted{color:var(--color-muted)}.notice{border:1px solid var(--color-border);border-left:4px solid var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:#6b4a12}.notice-info{border-left-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-ink)}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;overflow-x:auto}.data-table{font-size:var(--text-sm);min-width:640px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:12px 14px}.data-table thead th{background:var(--color-surface);color:var(--color-heading);white-space:nowrap;font-weight:600}.data-table tbody tr:last-child td{border-bottom:0}.page-hero{background:linear-gradient(180deg, var(--color-surface) 0%, var(--color-bg) 100%);border-bottom:1px solid var(--color-border);padding-block:var(--space-8) var(--space-10)}.page-hero h1{font-size:var(--text-2xl);margin-top:var(--space-3)}.page-hero .lead{margin-top:var(--space-3);color:var(--color-muted);font-size:var(--text-base);max-width:760px}@media (width>=768px){.page-hero{padding-block:var(--space-10) var(--space-12)}.page-hero h1{font-size:var(--text-3xl)}.page-hero .lead{font-size:var(--text-lg)}}.prose{font-size:var(--text-base);color:var(--color-text);overflow-wrap:break-word;word-break:normal;line-height:1.85}@media (width>=1024px){.prose{font-size:var(--text-md)}}.prose>*+*{margin-top:1.1em}.prose h2{font-size:var(--text-xl);border-bottom:1px solid var(--color-border);margin-top:2.2em;padding-bottom:.4em}.prose h3{font-size:var(--text-lg);margin-top:1.8em}.prose h4{font-size:var(--text-md);margin-top:1.5em}@media (width>=768px){.prose h2{font-size:var(--text-2xl)}.prose h3{font-size:var(--text-xl)}}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.75em}.prose a{color:var(--color-primary);text-underline-offset:3px;text-decoration:underline #1d4ed859}.prose a:hover{text-decoration-color:currentColor}.prose strong{color:var(--color-heading);font-weight:650}.prose ul,.prose ol{padding-left:1.4em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.4em}.prose li::marker{color:var(--color-subtle)}.prose blockquote{padding:var(--space-3) var(--space-5);border-left:4px solid var(--color-primary);background:var(--color-surface);border-radius:0 var(--radius) var(--radius) 0;color:var(--color-muted);margin-inline:0}.prose blockquote>*+*{margin-top:.6em}.prose hr{border:0;border-top:1px solid var(--color-border);margin-block:2.5em}.prose img,.prose picture{border-radius:var(--radius);margin-inline:auto}.prose figure{margin:1.8em 0}.prose figcaption{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-subtle);text-align:center}.prose code:not(pre code){font-family:var(--font-mono);background:var(--color-surface-2);border:1px solid var(--color-border);overflow-wrap:anywhere;border-radius:5px;padding:.1em .4em;font-size:.88em}.prose pre{font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-4) var(--space-5);border-radius:var(--radius);border:1px solid var(--color-border);line-height:1.65;position:relative;overflow-x:auto;background:#f8fafc!important}.prose table{-webkit-overflow-scrolling:touch;font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius);display:block;overflow-x:auto}.prose thead th{background:var(--color-surface);color:var(--color-heading);white-space:nowrap;font-weight:600}.prose th,.prose td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;min-width:96px;padding:10px 14px}.prose tbody tr:last-child td{border-bottom:0}.prose tbody tr:nth-child(2n) td{background:#fbfcfd}.callout{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius);padding:var(--space-4) var(--space-5);font-size:.96em}.callout>*+*{margin-top:.6em}.callout-title{color:var(--color-heading);font-weight:700}.callout-tip{border-left-color:var(--color-accent);background:var(--color-accent-soft)}.callout-warning{border-left-color:var(--color-warning);background:var(--color-warning-soft)}.callout-danger{border-left-color:var(--color-danger);background:var(--color-danger-soft)}.prose :is(h2,h3,h4)[id]{scroll-margin-top:calc(var(--header-h) + 16px)}.icon[data-astro-cid-7qi5gn3v]{vertical-align:middle;flex-shrink:0;display:inline-block}.site-header[data-astro-cid-isef26zo]{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--color-border);background:#fffffff0;position:sticky;top:0}.header-inner[data-astro-cid-isef26zo]{align-items:center;gap:var(--space-4);height:var(--header-h);display:flex}.brand[data-astro-cid-isef26zo]{color:var(--color-heading);flex-shrink:0;align-items:center;gap:10px;display:flex}.brand[data-astro-cid-isef26zo]:hover{color:var(--color-heading)}.brand-logo[data-astro-cid-isef26zo]{width:32px;height:32px}.brand-text[data-astro-cid-isef26zo]{flex-direction:column;line-height:1.2;display:flex}.brand-name[data-astro-cid-isef26zo]{letter-spacing:.02em;font-size:1.125rem;font-weight:800}.brand-tag[data-astro-cid-isef26zo]{color:var(--color-subtle);font-size:11px;display:none}@media (width>=480px){.brand-tag[data-astro-cid-isef26zo]{display:block}}.nav-desktop[data-astro-cid-isef26zo]{flex:1;min-width:0;display:none}.nav-list[data-astro-cid-isef26zo]{align-items:center;gap:2px;list-style:none;display:flex}.nav-item[data-astro-cid-isef26zo]{position:relative}.nav-link[data-astro-cid-isef26zo]{border-radius:var(--radius-sm);color:var(--color-text);white-space:nowrap;align-items:center;gap:2px;padding:8px 10px;font-size:.9375rem;font-weight:500;display:inline-flex}.nav-link[data-astro-cid-isef26zo]:hover,.nav-item[data-astro-cid-isef26zo]:focus-within>.nav-link[data-astro-cid-isef26zo]{color:var(--color-primary);background:var(--color-primary-soft)}.nav-link[data-astro-cid-isef26zo].active{color:var(--color-primary);font-weight:650}.dropdown[data-astro-cid-isef26zo]{opacity:0;visibility:hidden;min-width:260px;padding-top:8px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:100%;left:0;transform:translateY(4px)}.dropdown[data-astro-cid-isef26zo] ul[data-astro-cid-isef26zo]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:6px;list-style:none}.nav-item[data-astro-cid-isef26zo]:hover .dropdown[data-astro-cid-isef26zo],.nav-item[data-astro-cid-isef26zo]:focus-within .dropdown[data-astro-cid-isef26zo]{opacity:1;visibility:visible;transform:translateY(0)}.dropdown[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]{border-radius:var(--radius);color:var(--color-text);flex-direction:column;padding:10px 12px;display:flex}.dropdown[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]:hover,.dropdown[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo][aria-current=page]{background:var(--color-surface)}.dd-label[data-astro-cid-isef26zo]{color:var(--color-heading);font-size:.9375rem;font-weight:600}.dd-desc[data-astro-cid-isef26zo]{font-size:var(--text-xs);color:var(--color-muted);margin-top:2px}.header-actions[data-astro-cid-isef26zo]{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.header-search[data-astro-cid-isef26zo]{display:none;position:relative}.header-search[data-astro-cid-isef26zo] input[data-astro-cid-isef26zo]{border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);width:200px;height:38px;font:inherit;font-size:var(--text-sm);color:var(--color-text);padding:0 38px 0 14px}.header-search[data-astro-cid-isef26zo] input[data-astro-cid-isef26zo]:focus{border-color:var(--color-primary);background:var(--color-bg);outline:none}.header-search[data-astro-cid-isef26zo] button[data-astro-cid-isef26zo]{width:30px;height:30px;color:var(--color-muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.icon-btn[data-astro-cid-isef26zo]{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:42px;height:42px;color:var(--color-heading);place-items:center;display:grid}.menu-toggle[data-astro-cid-isef26zo] .i-close[data-astro-cid-isef26zo],.menu-toggle[data-astro-cid-isef26zo][aria-expanded=true] .i-open[data-astro-cid-isef26zo]{display:none}.menu-toggle[data-astro-cid-isef26zo][aria-expanded=true] .i-close[data-astro-cid-isef26zo]{display:inline}.nav-mobile[data-astro-cid-isef26zo]{border-top:1px solid var(--color-border);background:var(--color-bg);max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h));padding-block:var(--space-4) var(--space-8);overflow-y:auto}.mobile-search[data-astro-cid-isef26zo]{gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.mobile-search[data-astro-cid-isef26zo] input[data-astro-cid-isef26zo]{border:1px solid var(--color-border-strong);border-radius:var(--radius);min-width:0;height:44px;font:inherit;flex:1;padding:0 14px;font-size:16px}.m-list[data-astro-cid-isef26zo]{list-style:none}.m-group[data-astro-cid-isef26zo]{border-bottom:1px solid var(--color-border);padding-block:var(--space-2)}.m-link[data-astro-cid-isef26zo]{color:var(--color-heading);padding:10px 4px;font-size:1.0625rem;font-weight:650;display:block}.m-link[data-astro-cid-isef26zo].active,.m-children[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo].active{color:var(--color-primary)}.m-children[data-astro-cid-isef26zo]{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:0 4px 8px;list-style:none;display:grid}.m-children[data-astro-cid-isef26zo] a[data-astro-cid-isef26zo]{color:var(--color-muted);padding:8px 0;display:block}@media (width>=1080px){.nav-desktop[data-astro-cid-isef26zo]{display:block}.menu-toggle[data-astro-cid-isef26zo],.search-mobile[data-astro-cid-isef26zo]{display:none}.nav-mobile[data-astro-cid-isef26zo]{display:none!important}}@media (width>=1280px){.header-search[data-astro-cid-isef26zo]{display:block}}@media (width>=1080px) and (width<=1279px){.search-mobile[data-astro-cid-isef26zo]{display:grid}}body.menu-open{overflow:hidden}.site-footer[data-astro-cid-oenwriqq]{margin-top:var(--space-16);background:var(--color-surface);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-muted)}.footer-grid[data-astro-cid-oenwriqq]{gap:var(--space-8) var(--space-6);padding-block:var(--space-12) var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.footer-about[data-astro-cid-oenwriqq]{grid-column:1/-1}.footer-about[data-astro-cid-oenwriqq] p[data-astro-cid-oenwriqq]+p[data-astro-cid-oenwriqq]{margin-top:var(--space-2)}.footer-about[data-astro-cid-oenwriqq] p[data-astro-cid-oenwriqq]{max-width:420px;line-height:1.8}.footer-brand[data-astro-cid-oenwriqq]{color:var(--color-heading);margin-bottom:var(--space-3);align-items:center;gap:8px;font-size:1.0625rem;font-weight:800;display:inline-flex}.footer-col[data-astro-cid-oenwriqq] h2[data-astro-cid-oenwriqq]{font-size:var(--text-sm);color:var(--color-heading);margin-bottom:var(--space-3)}.footer-col[data-astro-cid-oenwriqq] ul[data-astro-cid-oenwriqq]{gap:8px;list-style:none;display:grid}.footer-col[data-astro-cid-oenwriqq] a[data-astro-cid-oenwriqq],.footer-bottom[data-astro-cid-oenwriqq] a[data-astro-cid-oenwriqq]{color:var(--color-muted)}.footer-col[data-astro-cid-oenwriqq] a[data-astro-cid-oenwriqq]:hover,.footer-bottom[data-astro-cid-oenwriqq] a[data-astro-cid-oenwriqq]:hover{color:var(--color-primary)}.footer-latest[data-astro-cid-oenwriqq]{grid-column:1/-1}.footer-latest[data-astro-cid-oenwriqq] a[data-astro-cid-oenwriqq]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.footer-bottom[data-astro-cid-oenwriqq]{justify-content:space-between;gap:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);padding-block:var(--space-5) var(--space-8);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.footer-bottom[data-astro-cid-oenwriqq] p[data-astro-cid-oenwriqq]{flex-wrap:wrap;gap:6px;display:flex}@media (width>=768px){.footer-grid[data-astro-cid-oenwriqq]{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-latest[data-astro-cid-oenwriqq],.footer-about[data-astro-cid-oenwriqq]{grid-column:span 2}}@media (width>=1100px){.footer-grid[data-astro-cid-oenwriqq]{grid-template-columns:1.6fr repeat(4,minmax(0,1fr)) 1.4fr}.footer-about[data-astro-cid-oenwriqq],.footer-latest[data-astro-cid-oenwriqq]{grid-column:auto}}.back-to-top[data-astro-cid-igmvtkq5]{z-index:40;border:1px solid var(--color-border);background:var(--color-bg);width:44px;height:44px;color:var(--color-heading);box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid;position:fixed;bottom:20px;right:16px}.back-to-top[data-astro-cid-igmvtkq5][hidden]{display:none}.back-to-top[data-astro-cid-igmvtkq5]:hover{color:var(--color-primary);border-color:var(--color-primary)}
