:root{--bg: #fafaf8;--bg-soft: #f4f4f1;--panel: #ffffff;--panel-hi: #ffffff;--line: #e8e6e1;--line-soft: #efede8;--text: #3d3a35;--text-dim: #7a756c;--text-faint: #8f8981;--brand: #5b5bd6;--brand-deep: #4949c4;--brand-soft: #f0f0fb;--signal: #0b8a5c;--signal-soft: #e9f7f0;--radar: #4f6bed;--warn: #b45309;--warn-soft: #fdf3e7;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-mono: ui-monospace, "Cascadia Code", Consolas, "JetBrains Mono", Menlo, monospace;--radius: 10px;--radius-lg: 14px;--shadow: 0 1px 3px rgba(35, 30, 20, .05), 0 4px 14px rgba(35, 30, 20, .04);--shadow-lift: 0 2px 6px rgba(35, 30, 20, .07), 0 8px 22px rgba(35, 30, 20, .06);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2.5rem;--space-7: 4rem;--container: 1100px}html[data-theme=dark]{--bg: #131316;--bg-soft: #1b1b20;--panel: #222228;--panel-hi: #2a2a32;--line: #33333d;--line-soft: #282830;--text: #e6e5ec;--text-dim: #9d9aa8;--text-faint: #757280;--brand: #7575ff;--brand-deep: #8e8eff;--brand-soft: #24243b;--signal: #22c55e;--signal-soft: #142a1e;--radar: #6885f7;--warn: #f59e0b;--warn-soft: #36260d;--shadow: 0 1px 3px rgba(0, 0, 0, .45), 0 4px 14px rgba(0, 0, 0, .35);--shadow-lift: 0 2px 6px rgba(0, 0, 0, .55), 0 8px 22px rgba(0, 0, 0, .45)}html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] h4,html[data-theme=dark] .brand{color:#f3f2f8}html[data-theme=dark] .site-header{background:#131316e0}html[data-theme=dark] .prose code{background:#1c1b24;color:#a49aff;border-color:#313042}html[data-theme=dark] .prose th{background:#1c1b24;color:#f3f2f8}html[data-theme=dark] .post-card .title a{color:#f3f2f8}html[data-theme=dark] .post-card .title a:hover{color:var(--brand)}html[data-theme=dark] .faq summary{color:#f3f2f8}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16.5px;line-height:1.8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{display:block;min-height:60vh}img{max-width:100%;height:auto}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{color:#302d28;line-height:1.35;font-weight:700;letter-spacing:.01em;scroll-margin-top:85px}[id]{scroll-margin-top:85px}.container{max-width:var(--container);margin:0 auto;padding:0 1.25rem}.section{padding:var(--space-6) 0}.section-title{display:flex;align-items:baseline;gap:.75rem;font-size:1.4rem;margin:0 0 var(--space-5)}.section-title .en{font-family:var(--font-mono);font-size:.78rem;color:var(--text-faint);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.reading-progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--signal));width:0%;z-index:9999;transition:width .08s ease-out}.site-header{position:sticky;top:0;z-index:50;background:#fafaf8db;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:62px;max-width:1380px}.brand{display:flex;align-items:center;gap:.6rem;color:#302d28;font-weight:700;font-size:1.08rem}.brand:hover{text-decoration:none}.brand .logo{width:28px;height:28px;flex:none}.site-nav{display:flex;gap:var(--space-2)}.site-nav a{color:var(--text-dim);padding:.35rem .85rem;border-radius:999px;font-size:.95rem;transition:color .15s,background .15s}.site-nav a:hover{color:#302d28;background:var(--bg-soft);text-decoration:none}.site-nav a[aria-current=page]{color:var(--brand);background:var(--brand-soft);font-weight:600}.hero{padding:var(--space-7) 0 var(--space-5)}.hero .inner{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--space-6);align-items:center}.hero h1{font-size:clamp(1.9rem,4vw,2.9rem);margin:0 0 var(--space-4)}.hero h1 .grad{background:linear-gradient(92deg,var(--brand) 10%,var(--radar) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .slogan{font-size:1.1rem;color:var(--text-dim);margin:0 0 var(--space-5);max-width:34em}.hero-stats{display:flex;gap:var(--space-5);flex-wrap:wrap}.hero-stats .stat{display:flex;flex-direction:column}.hero-stats .num{font-family:var(--font-mono);font-size:1.7rem;font-weight:700;color:var(--brand);line-height:1.2}.hero-stats .label{font-size:.85rem;color:var(--text-dim)}.radar-scope{position:relative;width:min(320px,70vw);aspect-ratio:1;margin-inline:auto;border-radius:50%;background:radial-gradient(circle,rgba(11,138,92,.045) 0%,transparent 70%);border:1px solid var(--line)}.radar-scope .ring{position:absolute;inset:0;border:1px solid rgba(11,138,92,.28);border-radius:50%}.radar-scope .ring:nth-child(2){inset:16.5%}.radar-scope .ring:nth-child(3){inset:33%}.radar-scope .cross-h,.radar-scope .cross-v{position:absolute;background:#0b8a5c29}.radar-scope .cross-h{left:2%;right:2%;top:50%;height:1px}.radar-scope .cross-v{top:2%;bottom:2%;left:50%;width:1px}.radar-scope .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(11,138,92,.3) 0deg,rgba(11,138,92,.1) 28deg,transparent 60deg,transparent 360deg);animation:radar-sweep 5s linear infinite}.radar-scope .blip{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 #0b8a5c59;animation:blip 2.6s ease-out infinite}.radar-scope .blip.b2{left:68%;top:30%;animation-delay:.9s;background:var(--radar);box-shadow:0 0 #4f6bed59}.radar-scope .blip.b1{left:30%;top:62%}.radar-scope .blip.b3{left:52%;top:18%;animation-delay:1.7s}@keyframes radar-sweep{to{transform:rotate(360deg)}}@keyframes blip{0%{box-shadow:0 0 #0b8a5c4d;opacity:1}70%{box-shadow:0 0 0 14px #0b8a5c00;opacity:.85}to{box-shadow:0 0 0 18px #0b8a5c00;opacity:1}}@media(prefers-reduced-motion:reduce){.radar-scope .sweep,.radar-scope .blip{animation:none}html{scroll-behavior:auto}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:var(--space-4)}.card{display:flex;flex-direction:column;gap:var(--space-3);background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-5);transition:box-shadow .18s,transform .18s,border-color .18s;min-width:0}.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px);border-color:var(--line)}.card .head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.card .name{font-size:1.18rem;font-weight:700;color:#302d28;margin:0;line-height:1.4}.card .tagline{margin:0;color:var(--text-dim);font-size:.95rem}.score-badge{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--signal-soft);border:1px solid rgba(11,138,92,.25);color:var(--signal);border-radius:var(--radius);padding:.4rem .6rem;font-family:var(--font-mono);line-height:1.2}.score-badge .n{font-size:1.15rem;font-weight:700}.score-badge .t{font-size:.62rem;color:var(--text-dim);letter-spacing:.1em}.card .desc{margin:0;font-size:.95rem;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pc-list{display:grid;gap:.3rem;margin:0;padding:0;list-style:none;font-size:.9rem;color:var(--text-dim)}.pc-list li{display:flex;gap:.5rem;align-items:baseline}.pc-list .mark{flex:none;font-family:var(--font-mono);font-weight:700;font-size:1.05em;line-height:1}.pc-list .pro .mark{color:var(--signal)}.pc-list .con .mark{color:var(--warn)}.meta-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3);border-top:1px dashed var(--line);font-size:.85rem;color:var(--text-dim);align-items:center;justify-content:space-between}.chip{display:inline-block;font-size:.78rem;color:var(--text-dim);background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:.1rem .65rem;transition:all .15s ease}a.chip:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft);text-decoration:none}.chip.cat{color:var(--radar);border-color:#4f6bed38;background:#4f6bed0f}.btn{display:inline-flex;align-items:center;gap:.45rem;border-radius:var(--radius);padding:.55rem 1.1rem;font-size:.95rem;font-weight:600;transition:filter .15s,border-color .15s,background .15s,color .15s}.card-actions{display:flex;gap:.45rem;align-items:center}.card-actions .btn{padding:.35rem .8rem;font-size:.85rem}.site-title-link{color:inherit}.site-title-link:hover{color:var(--brand);text-decoration:none}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-deep);text-decoration:none}.btn-ghost{border:1px solid var(--line);color:var(--text-dim);background:var(--panel)}.btn-ghost:hover{color:var(--brand);border-color:#5b5bd666;background:var(--brand-soft);text-decoration:none}.post-card{gap:var(--space-2)}.post-card time{font-family:var(--font-mono);font-size:.82rem;color:var(--text-faint)}.post-card .title{font-size:1.12rem;margin:0;line-height:1.5}.post-card .title a{color:#302d28}.post-card .title a:hover{color:var(--brand);text-decoration:none}.post-card .excerpt{margin:0;color:var(--text-dim);font-size:.94rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card .tags{margin-top:auto;display:flex;gap:.4rem;flex-wrap:wrap}.cat-group{margin-bottom:var(--space-6)}.cat-group>h2{display:flex;align-items:center;gap:.7rem;font-size:1.28rem;margin:0 0 var(--space-4);padding-bottom:.6rem;border-bottom:1px solid var(--line-soft)}.cat-group>h2 .count{font-family:var(--font-mono);font-size:.8rem;color:var(--text-faint);font-weight:400}.prose{max-width:46rem;margin:0 auto;font-size:1.02rem}.prose h2{font-size:1.5rem;margin:var(--space-6) 0 var(--space-3);padding-bottom:.4rem;border-bottom:1px solid var(--line-soft)}.prose h3{font-size:1.2rem;margin:var(--space-5) 0 var(--space-2)}.prose p{margin:0 0 var(--space-4)}.prose ul,.prose ol{padding-left:1.4em;margin:0 0 var(--space-4)}.prose li{margin-bottom:.4em}.prose blockquote{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--brand);background:var(--brand-soft);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-dim)}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:5px;padding:.1em .4em;color:#4a3f8f}.prose pre{background:#2b2a33;color:#e8e6f2;border:1px solid #383742;border-radius:var(--radius);padding:var(--space-4);overflow-x:auto;line-height:1.65;font-size:.88rem}.prose pre code{background:none;border:none;padding:0;font-size:inherit;color:inherit}.prose table{width:100%;border-collapse:collapse;margin:var(--space-4) 0;font-size:.93rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:.55rem .8rem;text-align:left;vertical-align:top}.prose th{background:var(--bg-soft);color:#302d28;font-weight:600;white-space:nowrap}.prose img{border-radius:var(--radius);border:1px solid var(--line-soft)}.prose hr{border:none;border-top:1px solid var(--line);margin:var(--space-6) 0}.post-header{max-width:46rem;margin:0 auto var(--space-5)}.post-header .crumbs{font-size:.85rem;color:var(--text-faint);margin-bottom:var(--space-3)}.post-header .crumbs a{color:var(--text-dim)}.post-header h1{font-size:clamp(1.6rem,3.4vw,2.3rem);margin:0 0 var(--space-3)}.post-header .meta{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--text-faint);font-size:.9rem;font-family:var(--font-mono)}.faq{max-width:46rem;margin:var(--space-6) auto 0;border-top:1px solid var(--line);padding-top:var(--space-5)}.faq h2{font-size:1.35rem;margin:0 0 var(--space-4)}.faq details{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}.faq summary{cursor:pointer;font-weight:600;color:#302d28;list-style-position:outside}.faq details p{margin:var(--space-2) 0 0;color:var(--text-dim);font-size:.96rem}.site-footer{border-top:1px solid var(--line-soft);background:var(--bg-soft);margin-top:var(--space-7);padding:var(--space-6) 0;font-size:.9rem;color:var(--text-dim)}.site-footer .inner{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:flex-start}.site-footer nav{display:flex;gap:var(--space-4);flex-wrap:wrap}.site-footer a{color:var(--text-dim)}.site-footer .disclosure{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px dashed var(--line);max-width:52ch;line-height:1.75;color:var(--text-dim)}.page-head{padding:var(--space-6) 0 var(--space-5)}.page-head h1{font-size:clamp(1.7rem,3.6vw,2.4rem);margin:0 0 var(--space-2)}.page-head .sub{color:var(--text-dim);margin:0;max-width:56ch}.text-center{text-align:center}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}@media(max-width:820px){.hero .inner{grid-template-columns:1fr}.radar-scope{width:min(240px,60vw)}.site-header .inner{height:auto;padding:.6rem 0;flex-wrap:wrap}.site-nav{width:100%;justify-content:space-between;overflow-x:auto;padding-bottom:.2rem}}.header-main-row[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-4)}.site-nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-2)}.header-actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.6rem}.search-btn[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:.45rem;background:var(--bg-soft);border:1px solid var(--line);color:var(--text-dim);padding:.35rem .65rem;border-radius:var(--radius);cursor:pointer;font-size:.88rem;transition:all .15s ease}.search-btn[data-astro-cid-3ef6ksr2]:hover{color:var(--text);border-color:var(--brand);background:var(--panel)}.kbd-hint[data-astro-cid-3ef6ksr2]{font-family:var(--font-mono);font-size:.72rem;color:var(--text-faint);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:.1rem .35rem}.theme-toggle[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-soft);border:1px solid var(--line);color:var(--text-dim);cursor:pointer;transition:all .15s ease}.theme-toggle[data-astro-cid-3ef6ksr2]:hover{color:var(--text);border-color:var(--brand);background:var(--panel)}html[data-theme=dark] .sun[data-astro-cid-3ef6ksr2]{display:block;color:#f59e0b}html[data-theme=dark] .moon[data-astro-cid-3ef6ksr2]{display:none}html:not([data-theme=dark]) .sun[data-astro-cid-3ef6ksr2]{display:none}html:not([data-theme=dark]) .moon[data-astro-cid-3ef6ksr2]{display:block}@media(max-width:768px){.site-header .inner{height:auto!important;padding:.55rem 0!important}.header-main-row[data-astro-cid-3ef6ksr2]{flex-wrap:wrap;gap:.4rem}.brand[data-astro-cid-3ef6ksr2]{order:1}.header-actions[data-astro-cid-3ef6ksr2]{order:2}.site-nav[data-astro-cid-3ef6ksr2]{order:3;width:100%;overflow-x:auto;padding-top:.4rem;border-top:1px solid var(--line-soft);gap:.3rem;scrollbar-width:none}.site-nav[data-astro-cid-3ef6ksr2]::-webkit-scrollbar{display:none}.kbd-hint[data-astro-cid-3ef6ksr2],.search-label[data-astro-cid-3ef6ksr2]{display:none}.search-btn[data-astro-cid-3ef6ksr2]{padding:.4rem}}.search-dialog{margin:10vh auto auto;padding:0;width:min(640px,92vw);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:0 16px 40px #00000029;color:var(--text)}.search-dialog::backdrop{background:#00000073;backdrop-filter:blur(4px)}.search-dialog-inner{display:flex;flex-direction:column;max-height:75vh}.search-input-wrapper{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.15rem;border-bottom:1px solid var(--line-soft)}.search-icon{color:var(--text-dim);flex:none}.search-input{flex:1;background:transparent;border:none;outline:none;font-size:1.05rem;color:var(--text);font-family:inherit}.search-close-btn{background:var(--bg-soft);border:1px solid var(--line);color:var(--text-dim);font-family:var(--font-mono);font-size:.75rem;padding:.2rem .5rem;border-radius:4px;cursor:pointer}.search-results-container{padding:1rem;overflow-y:auto;max-height:55vh}.search-placeholder,.search-loading,.search-no-results{text-align:center;color:var(--text-dim);font-size:.95rem;padding:2.5rem 1rem}.search-placeholder code{font-family:var(--font-mono);background:var(--bg-soft);padding:.15rem .4rem;border-radius:4px;font-size:.82rem}.search-results-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.search-result-item{border-radius:var(--radius);transition:all .12s ease}.search-result-item.selected{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.search-result-item.selected .result-title{color:var(--brand-deep)}.search-result-link{display:block;padding:.75rem .9rem;border-radius:var(--radius);text-decoration:none!important}.search-result-link:hover{background:var(--bg-soft)}.result-title{font-weight:600;font-size:1rem;color:var(--brand);margin-bottom:.25rem}.result-excerpt{font-size:.88rem;color:var(--text-dim);line-height:1.5}.result-excerpt mark{background:#5b5bd62e;color:var(--brand-deep);border-radius:2px;padding:0 2px}.back-to-top-btn[data-astro-cid-wlspcwf4]{position:fixed;right:20px;bottom:24px;width:42px;height:42px;border-radius:50%;background:var(--panel);border:1px solid var(--line);color:var(--text-dim);box-shadow:0 4px 14px #0000001f;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:all .2s cubic-bezier(.16,1,.3,1);z-index:80}.back-to-top-btn[data-astro-cid-wlspcwf4].visible{opacity:.92;visibility:visible;transform:translateY(0)}.back-to-top-btn[data-astro-cid-wlspcwf4]:hover{opacity:1;color:var(--brand);border-color:var(--brand);background:var(--brand-soft);transform:translateY(-2px);box-shadow:0 6px 20px #5b5bd640}@media(max-width:640px){.back-to-top-btn[data-astro-cid-wlspcwf4]{right:14px;bottom:18px;width:38px;height:38px}}
