:root{color-scheme:light dark;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--bg:#f7f8fb;--surface:#fff;--surface-soft:#eef1f6;--text:#16191f;--muted:#5e6673;--line:#d9dee7;--accent:#215dcc;--accent-strong:#18489f;--accent-soft:#e8efff;--shadow:0 22px 70px #2737541f;--content:1180px;--reading:740px}@media (prefers-color-scheme:dark){:root{--bg:#111317;--surface:#191c22;--surface-soft:#20242c;--text:#f1f4f8;--muted:#abb3bf;--line:#303641;--accent:#78a6ff;--accent-strong:#a8c4ff;--accent-soft:#192744;--shadow:0 24px 76px #00000057}}*,:before,:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;text-rendering:optimizelegibility}html:lang(zh-CN){--font-sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}html:lang(ja){--font-sans:"Hiragino Sans", "Yu Gothic UI", Meiryo, system-ui, sans-serif}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}html:lang(zh-CN) body,html:lang(ja) body{line-height:1.75}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent)}img{max-width:100%;display:block}button,input,textarea{font:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:#f8fbff}.skip-link{z-index:100;background:var(--text);color:var(--bg);border-radius:999px;padding:.7rem 1rem;text-decoration:none;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:30;border-bottom:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(18px);position:sticky;top:0}.header-inner,.footer-inner,.shell{width:min(calc(100% - 3rem), var(--content));margin-inline:auto}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;height:70px;display:grid}.wordmark{letter-spacing:-.055em;width:max-content;font-size:1.24rem;font-weight:760;text-decoration:none}.wordmark span{color:var(--accent)}.site-header nav,.header-actions,.footer-links{align-items:center;gap:1.25rem;display:flex}.site-header nav a,.search-link,.footer-links a{color:var(--muted);font-size:.9rem;font-weight:620;text-decoration:none}.site-header nav a:hover,.site-header nav a.active,.search-link:hover{color:var(--text)}.header-actions{justify-content:flex-end}.mobile-navigation{display:none;position:relative}.mobile-navigation summary{cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;min-height:44px;padding:.42rem .75rem;font-size:.82rem;font-weight:650;list-style:none;display:inline-flex}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation-popover{border:1px solid var(--line);background:var(--surface);min-width:170px;box-shadow:var(--shadow);border-radius:16px;padding:.45rem;display:grid;position:absolute;top:calc(100% + .6rem);right:0}.mobile-navigation-popover a{border-radius:10px;align-items:center;min-height:44px;padding:.55rem .7rem;font-size:.9rem;font-weight:620;text-decoration:none;display:flex}.mobile-navigation-popover a:hover,.mobile-navigation-popover a.active{background:var(--accent-soft);color:var(--accent-strong)}.language-menu{position:relative}.language-menu summary{cursor:pointer;border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--text);border-radius:999px;align-items:center;padding:.42rem .72rem;font-size:.8rem;font-weight:650;list-style:none;display:inline-flex}.language-menu summary::-webkit-details-marker{display:none}.language-popover{border:1px solid var(--line);background:var(--surface);min-width:160px;box-shadow:var(--shadow);border-radius:16px;padding:.45rem;display:grid;position:absolute;top:calc(100% + .6rem);right:0}.language-popover a{border-radius:10px;align-items:center;min-height:44px;padding:.56rem .7rem;font-size:.88rem;text-decoration:none;display:flex}.language-popover a:hover,.language-popover a[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong)}.hero{grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);align-items:center;gap:clamp(2rem,6vw,6rem);min-height:min(680px,100dvh - 70px);padding-block:clamp(3.5rem,8vh,5.5rem);display:grid}.hero-copy{max-width:650px}.eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem;font-size:.75rem;font-weight:500}h1,h2,h3{color:var(--text);letter-spacing:-.045em;margin:0;font-weight:720;line-height:1.08}h1{font-size:clamp(2.8rem,5.7vw,5.15rem)}h2{font-size:clamp(2rem,3.5vw,3.25rem)}h3{font-size:clamp(1.2rem,1.8vw,1.6rem)}.hero-summary{max-width:58ch;color:var(--muted);margin:1.5rem 0 0;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border:1px solid var(--text);background:var(--text);min-height:46px;color:var(--bg);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.65rem 1.1rem;font-weight:680;text-decoration:none;transition:transform .16s,background-color .16s,color .16s;display:inline-flex}.button:hover{background:var(--accent);border-color:var(--accent);color:#f8fbff}.button:active{transform:translateY(1px)}.button.secondary{color:var(--text);border-color:var(--line);background:0 0}.button.secondary:hover{background:var(--surface);border-color:var(--text)}.hero-visual{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.hero-visual img{aspect-ratio:3/2;object-fit:cover;width:100%}.section{padding-block:clamp(4.5rem,9vw,8rem)}.section+.section{border-top:1px solid var(--line)}.section-heading{max-width:720px;margin-bottom:2.5rem}.section-heading p{max-width:62ch;color:var(--muted);margin:1rem 0 0}.home-heading{padding-top:clamp(3.5rem,7vw,6rem)}.home-heading h1{max-width:920px;font-size:clamp(2.25rem,4.4vw,4.2rem)}.home-heading+.section{padding-top:clamp(2.5rem,5vw,4.5rem)}.content-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem;display:grid}.content-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;flex-direction:column;grid-column:span 6;justify-content:space-between;min-height:260px;padding:clamp(1.4rem,3vw,2rem);text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.content-card:hover{border-color:var(--accent);box-shadow:var(--shadow);color:inherit;transform:translateY(-3px)}.card-meta{color:var(--muted);font-family:var(--font-mono);font-size:.74rem}.content-card h3{margin-top:.65rem}.content-card p{color:var(--muted);margin:.9rem 0 0}.card-action{color:var(--accent);margin-top:1.5rem;font-weight:680}.empty-state{border:1px dashed var(--line);background:color-mix(in srgb, var(--surface) 72%, transparent);min-height:220px;color:var(--muted);text-align:center;border-radius:20px;grid-column:1/-1;place-items:center;padding:2rem;display:grid}.page-intro{padding-block:clamp(4rem,9vw,7rem) 3rem}.page-intro h1{max-width:920px;font-size:clamp(2.6rem,5vw,4.8rem)}.page-intro>p{max-width:65ch;color:var(--muted);margin:1.4rem 0 0;font-size:1.1rem}.article-column{width:min(calc(100% - 3rem), var(--reading));margin-inline:auto}.article-header{padding-block:clamp(4.25rem,8vw,6.75rem) clamp(2.75rem,5vw,4.25rem)}.article-back{color:var(--muted);margin-bottom:1.75rem;font-size:.88rem;font-weight:650;text-decoration:none;display:inline-block}.article-back:hover{color:var(--accent)}.article-header h1{letter-spacing:-.052em;text-wrap:balance;font-size:clamp(2.45rem,4.5vw,3.45rem);font-weight:740;line-height:1.08}.article-deck{max-width:62ch;color:var(--muted);text-wrap:pretty;margin:1.5rem 0 0;font-size:clamp(1.12rem,2vw,1.28rem);line-height:1.6}.article-meta{color:var(--muted);flex-wrap:wrap;gap:.55rem 0;margin-top:1.7rem;font-size:.84rem;font-weight:560;display:flex}.article-meta span+span{border-left:1px solid var(--line);margin-left:.8rem;padding-left:.8rem}.article-cover{background:var(--surface-soft);border-radius:16px;margin-bottom:clamp(3rem,6vw,5rem);overflow:hidden}.article-cover img{aspect-ratio:40/21;object-fit:cover;width:100%}.article-tool-callout{margin-top:calc(clamp(2.75rem,5vw,4.25rem)/-2.22222);margin-bottom:clamp(2rem,4vw,3rem)}.article-tool-callout>div{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:1rem;padding:.85rem .95rem;display:flex}.article-tool-callout .article-related-label{margin:0}.article-tool-callout strong{flex:1;font-size:.96rem}.article-tool-callout .button{min-height:42px;padding-block:.5rem}.article-layout{grid-template-columns:minmax(148px, 180px) minmax(0, var(--reading)) minmax(148px, 180px);justify-content:center;align-items:start;column-gap:clamp(1.5rem,3vw,2.5rem);display:grid}.article-layout.without-toc{grid-template-columns:minmax(0, var(--reading))}.article-toc{grid-column:1;min-width:0}.article-toc-inner{border-left:1px solid var(--line);padding-left:1rem;position:sticky;top:108px}.article-toc p{color:var(--text);margin:0 0 .8rem;font-size:.78rem;font-weight:720}.article-toc ol{gap:.62rem;margin:0;padding:0;list-style:none;display:grid}.article-toc li{min-width:0}.article-toc li.nested{padding-left:.75rem}.article-toc a{color:var(--muted);font-size:.78rem;line-height:1.45;text-decoration:none;display:block}.article-toc a:hover{color:var(--accent)}.article-body{grid-column:2;min-width:0;padding-bottom:clamp(4rem,8vw,6.5rem);font-size:1.12rem;line-height:1.82}.article-layout.without-toc .article-body{grid-column:1}.article-body>*{margin-block:0}.article-body>*+*{margin-top:1.5em}.article-body>p:first-child{color:var(--text);font-size:1.18rem;line-height:1.78}.article-body :is(h2,h3){scroll-margin-top:110px}.article-body h2{letter-spacing:-.038em;margin-top:2.7em;font-size:clamp(1.75rem,3vw,2.15rem);font-weight:720;line-height:1.18}.article-body h3{letter-spacing:-.025em;margin-top:2.25em;font-size:clamp(1.3rem,2vw,1.5rem);font-weight:720;line-height:1.3}.article-body :is(h2,h3)>a{color:inherit;text-decoration:none}.article-body :is(h2,h3)>a:hover{color:var(--accent)}.article-body p,.article-body li{color:color-mix(in srgb, var(--text) 94%, var(--muted));text-wrap:pretty}.article-body strong{color:var(--text);font-weight:720}.article-body a{color:var(--accent-strong);text-decoration-thickness:1px}.article-body ul,.article-body ol{padding-left:1.4rem}.article-body li+li{margin-top:.48em}.article-body li::marker{color:var(--muted)}.article-body img{border-radius:16px}.article-body blockquote{border-left:3px solid var(--accent);margin:2.2em 0;padding:.1rem 0 .1rem 1.35rem;font-size:1.22rem;line-height:1.68}.article-body blockquote p{color:var(--text)}.article-body :not(pre)>code{border:1px solid var(--line);background:var(--surface-soft);font-family:var(--font-mono);border-radius:6px;padding:.12em .32em;font-size:.86em}.article-body pre{border:1px solid var(--line);box-shadow:none;border-radius:14px;padding:1.25rem 1.35rem;line-height:1.65;overflow-x:auto}.article-body pre code{font-family:var(--font-mono);font-size:.86rem}.article-body table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.article-body th,.article-body td{border-bottom:1px solid var(--line);text-align:left;padding:.75rem}.article-body hr{border:0;border-top:1px solid var(--line);margin-block:3.5rem}html:lang(zh-CN) :is(h1,h2,h3){letter-spacing:.015em;line-height:1.24}html:lang(zh-CN) .article-header h1{letter-spacing:.01em;text-wrap:pretty;line-height:1.22}html:lang(zh-CN) .article-deck{line-height:1.75}html:lang(zh-CN) .article-body{line-height:1.9}html:lang(zh-CN) .article-body>p:first-child{line-height:1.86}html:lang(zh-CN) .article-body h2{line-height:1.32}html:lang(zh-CN) .article-body h3{line-height:1.42}.article-related,.article-sources{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-bottom:2rem;padding:clamp(1.5rem,4vw,2.25rem)}.article-related-label{color:var(--accent);margin:0 0 1rem;font-size:.82rem;font-weight:720}.article-related-item+.article-related-item{border-top:1px solid var(--line);margin-top:2rem;padding-top:2rem}.article-related h2{font-size:clamp(1.55rem,3vw,2rem)}.article-related-item>p{color:var(--muted);margin:.85rem 0 1.35rem}.article-related .button{width:auto}.article-sources{margin-bottom:clamp(4rem,8vw,7rem)}.article-sources h2{font-size:clamp(1.4rem,2.5vw,1.75rem)}.article-sources ol{margin:1.1rem 0 0;padding-left:1.35rem}.article-sources li+li{margin-top:.6rem}.article-sources a{color:var(--accent-strong);overflow-wrap:anywhere}.tool-guide-intro{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}.tool-guide-intro h2{font-size:clamp(2rem,3.6vw,3.2rem)}.tool-guide-intro p{max-width:62ch;color:var(--muted);margin:1.1rem 0 0}.tool-guide-intro img{aspect-ratio:40/21;border:1px solid var(--line);background:var(--surface-soft);object-fit:contain;border-radius:16px;align-self:center;width:100%;height:auto}.tool-facts{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:clamp(2.5rem,6vw,4.5rem) 0 0;display:grid}.tool-facts div{padding:1.2rem}.tool-facts div+div{border-left:1px solid var(--line)}.tool-facts dt{color:var(--muted);font-size:.85rem}.tool-facts dd{margin:.35rem 0 0;font-weight:680}.tool-guide-columns{grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);margin-top:clamp(2.5rem,5vw,4rem);display:grid}.tool-guide-columns h3{font-size:clamp(1.35rem,2vw,1.65rem)}.tool-guide-columns ul{color:var(--muted);margin:1rem 0 0;padding-left:1.25rem}.tool-guide-columns li+li{margin-top:.65rem}.prose-page{width:min(calc(100% - 3rem), var(--reading));margin-inline:auto;padding-block:clamp(4rem,9vw,7rem)}.prose-page h1{font-size:clamp(2.5rem,5vw,4.4rem)}.prose-page .lead{color:var(--muted);margin:1.25rem 0 2.5rem;font-size:1.1rem}.prose-page p{margin-top:1.25rem}.search-form{max-width:720px;margin-top:2rem}.field-label{margin-bottom:.55rem;font-weight:680;display:block}.search-row{grid-template-columns:1fr auto;gap:.7rem;display:grid}.search-input{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--text);border-radius:999px;padding:.78rem 1rem}.search-status{color:var(--muted);margin-top:1rem}.search-results{gap:.8rem;margin-top:1.5rem;display:grid}.search-result{border-top:1px solid var(--line);padding-top:1.2rem}.search-result a{font-size:1.15rem;font-weight:700;text-decoration:none}.search-result p{color:var(--muted);margin:.4rem 0 0}.tool-shell{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;padding:clamp(1.25rem,4vw,2.25rem)}.tool-field label{font-weight:720;display:block}.tool-field p{color:var(--muted);margin:.35rem 0 .85rem;font-size:.92rem}.tool-field textarea{resize:vertical;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:16px;padding:1rem;line-height:1.65}.metric-grid{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:1.6rem;display:grid}.metric-grid div{padding:1.2rem}.metric-grid div+div{border-left:1px solid var(--line)}.metric-grid span{font-family:var(--font-mono);font-size:clamp(1.6rem,3vw,2.5rem);line-height:1;display:block}.metric-grid small{color:var(--muted);margin-top:.55rem;display:block}.tool-footer{justify-content:space-between;align-items:flex-end;gap:1rem;min-height:56px;margin-top:1rem;display:flex}.tool-footer p{color:var(--muted);margin:0;font-size:.9rem}.tool-footer .button{width:auto}.site-footer{border-top:1px solid var(--line)}.footer-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:210px;display:flex}.footer-inner p{color:var(--muted);margin:.55rem 0 0}.footer-links{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;font-size:.86rem}.footer-links a{align-items:center;min-height:44px;display:inline-flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){.site-header{background:var(--bg);backdrop-filter:none}}@media (width<=1150px){.article-layout{grid-template-columns:minmax(0, var(--reading))}.article-toc{display:none}.article-body{grid-column:1}}@media (width<=860px){.header-inner{grid-template-columns:auto 1fr}.site-header nav,.search-link{display:none}.mobile-navigation{display:block}.header-actions{justify-self:end}.hero{grid-template-columns:1fr;min-height:auto;padding-block:3.5rem}.hero-copy{max-width:680px}.hero-visual{width:min(100%,680px)}.content-card{grid-column:1/-1}.tool-guide-intro{grid-template-columns:1fr}.tool-facts{grid-template-columns:1fr 1fr}.tool-facts div:nth-child(odd){border-left:0}.tool-facts div:nth-child(n+3){border-top:1px solid var(--line)}}@media (width<=560px){.header-inner,.footer-inner,.shell{width:min(calc(100% - 2rem), var(--content))}.header-inner{gap:.7rem;height:64px}.hero{gap:2.2rem}h1{font-size:clamp(2.55rem,13vw,3.5rem)}.hero-actions{display:grid}.button{width:100%}.section{padding-block:4rem}.article-body,.prose-page,.article-column{width:min(calc(100% - 2rem), var(--reading))}.article-header{padding-block:3.25rem 2.75rem}.article-back{margin-bottom:1.35rem}.article-header h1{font-size:clamp(1.95rem,9.5vw,2.55rem)}.article-deck{font-size:1.08rem}.article-meta{gap:.4rem;display:grid}.article-meta span+span{border-left:0;margin-left:0;padding-left:0}.article-layout{width:min(calc(100% - 2rem), var(--content))}.article-body{width:100%;font-size:1.05rem;line-height:1.8}.article-body>p:first-child{font-size:1.1rem}.article-body pre{border-radius:12px;padding:1rem}.article-tool-callout>div{flex-wrap:wrap;align-items:flex-start}.article-tool-callout strong{flex-basis:calc(100% - 7rem)}.article-tool-callout .button{width:100%}.tool-guide-columns,.search-row{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid div+div{border-left:0}.metric-grid div:nth-child(2n){border-left:1px solid var(--line)}.metric-grid div:nth-child(n+3){border-top:1px solid var(--line)}.footer-inner{flex-direction:column;justify-content:center;align-items:flex-start;min-height:250px}.footer-links{justify-content:flex-start}}
