:root{--bg:#060A12;--surface:#0B111C;--surface-2:#101826;--ink:#E8EEF9;--ink-soft:#8C9AB3;--ink-3:#4E5C74;--line:rgba(77,141,255,.16);--line-2:rgba(77,141,255,.34);--brand:#4D8DFF;--brand-2:#86B7FF;--accent:#45D8E8;--ok:#3DDC97;--warn:#F5B94D;--na:#7A8AA6;--fut:#A78BFA;--shadow:none;--radius:12px;--font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;--ease:cubic-bezier(.22,.8,.22,1)}.hero h1,.hero-mini h1{letter-spacing:-0.048em}.sec-num{font-variant-numeric:tabular-nums;letter-spacing:-0.02em}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:var(--bg);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--accent);color:var(--bg)}a{color:var(--brand);text-decoration:none;transition:color .3s var(--ease)}a:hover{color:var(--brand-2);text-decoration:none}.wrap{max-width:1140px;margin:0 auto;padding:0 20px}.hero{background:radial-gradient(900px 380px at 82% -12%,rgba(77,141,255,.14),transparent),linear-gradient(180deg,#04070E,#0A0F19);color:var(--ink);padding:56px 0 48px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero h1{font-size:clamp(1.9rem,4.2vw,2.6rem);font-weight:500;margin:0 0 12px;letter-spacing:-.032em;line-height:1.12}.hero p{margin:0;color:var(--ink-soft);font-size:15px;max-width:760px}.hero .tag{display:inline-block;margin-top:16px;background:transparent;border:1px solid var(--line-2);padding:6px 14px;border-radius:999px;font-size:11px;color:var(--brand);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.settings{position:fixed;top:16px;right:16px;z-index:1000}.settings-btn{width:44px;height:44px;border-radius:12px;border:1px solid var(--line-2);background:rgba(11,17,28,.85);color:var(--brand);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .3s var(--ease),color .3s var(--ease),background .3s var(--ease)}.settings-btn:hover{border-color:var(--brand);color:var(--brand-2);background:var(--surface-2)}.settings-btn:active{transform:scale(.96)}.settings-panel{position:absolute;top:54px;right:0;width:216px;background:var(--surface);color:var(--ink);border:1px solid var(--line-2);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:16px}.settings-panel[hidden]{display:none}.settings-row{display:flex;flex-direction:column;gap:8px}.settings-label{font-size:11px;font-weight:500;color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.seg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:0;gap:0}.seg-btn{flex:1;border:none;border-right:1px solid var(--line);background:transparent;color:var(--ink-soft);font-size:13px;padding:8px 0;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s var(--ease)}.seg-btn:last-child{border-right:none}.seg-btn:hover{background:var(--surface-2);color:var(--ink)}.seg-btn.active{background:var(--accent);color:var(--bg)}.settings-row a.seg-btn{border:1px solid var(--line);background:var(--surface-2);text-decoration:none;text-align:center;display:block;color:var(--ink-soft);font-weight:500;font-size:13px;padding:8px 0;border-radius:8px}.settings-row a.seg-btn:hover{background:var(--surface);color:var(--ink)}body.dark .settings-btn{background:rgba(11,17,28,.85)}body.dark .settings-panel{background:var(--surface);color:var(--ink);border-color:var(--line-2)}body.dark .settings-label{color:var(--ink-soft)}body.dark .seg{background:var(--bg)}body.dark .seg-btn{color:var(--ink-soft)}body.dark .seg-btn:hover{background:var(--surface-2)}body.dark .seg-btn.active{background:var(--accent);color:var(--bg)}body.dark .settings-row a.seg-btn{border-color:var(--line);background:var(--surface-2);color:var(--ink-soft)}body.dark .settings-row a.seg-btn:hover{background:var(--surface)}.legend{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 6px}.chip{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line);padding:7px 14px;border-radius:999px;font-size:12px;color:var(--ink-soft);font-weight:400;font-family:var(--font-mono);letter-spacing:.04em;line-height:1.3;transition:border-color .3s var(--ease)}.chip:hover{border-color:var(--line-2)}.chip .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block}.chip .ok{background:var(--ok)}.chip .warn{background:var(--warn)}.chip .na{background:var(--na)}.chip .fut{background:var(--fut)}body.dark .chip{background:transparent;border-color:var(--line);color:var(--ink-soft)}.filterbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}.filterbar .filter-input{flex:1;min-width:140px}.filter-input{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:var(--surface);color:var(--ink);box-sizing:border-box;font-family:inherit;transition:border-color .3s var(--ease)}.filter-input::placeholder{color:var(--ink-3)}.filter-input:focus{outline:none;border-color:var(--brand)}body.dark .filter-input{background:var(--surface);border-color:var(--line);color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}@media(max-width:768px){.chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;gap:4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips::after{content:'';min-width:8px}}.chip-filter{display:inline-flex;align-items:center;padding:6px 13px;border-radius:999px;font-size:11px;font-weight:500;white-space:nowrap;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink-soft);transition:all .3s var(--ease);flex-shrink:0;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.chip-filter:hover{border-color:var(--line-2);color:var(--ink)}.chip-filter.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}body.dark .chip-filter{background:transparent;border-color:var(--line);color:var(--ink-soft)}body.dark .chip-filter:hover{border-color:var(--line-2)}body.dark .chip-filter.active{background:var(--accent);color:var(--bg)}nav.toc{position:sticky;top:0;z-index:50;background:rgba(12,11,9,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}nav.toc::-webkit-scrollbar{display:none}nav.toc ul{display:flex;flex-wrap:nowrap;gap:2px 2px;width:max-content;margin:0;padding:8px 20px 8px calc(max(20px,(100vw - 1140px)/2 + 20px) - 6px);justify-content:flex-start;list-style:none}.toc-toggle{display:none!important}nav.toc a{position:relative;display:block;padding:5px 8px;border-radius:6px;font-size:12.5px;color:var(--ink-soft);white-space:nowrap;font-weight:500;transition:color .3s var(--ease)}nav.toc a::after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}nav.toc a:hover{background:transparent;color:var(--ink);text-decoration:none}nav.toc a:hover::after{transform:scaleX(1)}nav.toc a.active{background:transparent;color:var(--accent)}nav.toc a.active::after{transform:scaleX(1)}@media(max-width:1139px){nav.toc ul{flex-wrap:nowrap;justify-content:flex-start;gap:2px 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}nav.toc ul::-webkit-scrollbar{display:none}nav.toc a{font-size:11.5px;padding:4px 6px}nav.toc a::after{left:6px;right:6px}}@media(min-width:1140px) and (max-width:1280px){nav.toc a{font-size:12px}nav.toc ul{gap:1px 2px}}section{padding:64px 0 8px}.sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}.sec-num{font-size:11px;font-weight:400;color:var(--bg);background:var(--accent);width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-family:var(--font-mono);letter-spacing:.02em}h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:500;margin:0;letter-spacing:-.028em}h3{font-size:18px;font-weight:500;margin:30px 0 12px;color:var(--ink);letter-spacing:-.015em}h4{font-size:12px;margin:18px 0 8px;color:var(--brand);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-weight:500}p{color:var(--ink-soft)}.lead{color:var(--ink-soft);max-width:880px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin-bottom:16px;transition:border-color .4s var(--ease)}.card:hover{border-color:var(--line-2)}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}@media(max-width:820px){.g2,.g3{grid-template-columns:1fr}}.player{border-left:1px solid var(--accent)}.player h4{margin-top:0}.meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.m{font-size:11px;background:transparent;border:1px solid var(--line);padding:4px 10px;border-radius:8px;color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.04em}.badge{font-size:11px;font-weight:500;padding:3px 9px;border-radius:999px;color:var(--bg);font-family:var(--font-mono);letter-spacing:.04em}.os-card{padding:16px 18px;transition:border-color .4s var(--ease)}.os-card:hover{border-color:var(--line-2)}body.dark .os-card:hover{border-color:var(--line-2)}.os-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.os-rank{font-size:11px;font-weight:400;color:var(--bg);background:var(--accent);min-width:28px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-family:var(--font-mono)}.os-name{font-weight:500;font-size:14px;color:var(--brand);text-decoration:none;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-name:hover{color:var(--brand-2)}.os-stars{font-size:11px;color:var(--ink-soft);white-space:nowrap;font-weight:400;flex-shrink:0;font-family:var(--font-mono)}.os-desc{font-size:13px;color:var(--ink-soft);line-height:1.55;margin:0 0 10px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.os-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.os-cat{font-size:10px;font-weight:500;padding:2px 8px;border-radius:999px;background:transparent;color:var(--brand);border:1px solid var(--line-2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}body.dark .os-cat{background:transparent;border-color:var(--line-2);color:var(--brand)}.os-lang{font-size:11px;color:var(--ink-soft);font-weight:400;font-family:var(--font-mono)}.os-lang::before{content:"• ";opacity:.4}.os-upd{font-size:11px;color:var(--ink-3);margin-left:auto;font-family:var(--font-mono)}.os-topics{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.os-tag{font-size:10px;font-weight:400;padding:2px 7px;border-radius:999px;background:transparent;color:var(--ink-soft);border:1px solid var(--line);font-family:var(--font-mono)}.os-empty{text-align:center;color:var(--ink-soft);font-size:14px;padding:40px 0;grid-column:1/-1}.trial-row{padding:16px 18px;transition:border-color .4s var(--ease)}.trial-row:hover{border-color:var(--line-2)}body.dark .trial-row:hover{border-color:var(--line-2)}.t-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:6px}.t-title{font-weight:500;font-size:14px;color:var(--brand);text-decoration:none;flex:1}.t-title:hover{color:var(--brand-2)}.t-status{font-size:10px;font-weight:500;padding:3px 9px;border-radius:999px;flex-shrink:0;white-space:nowrap;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.t-status.s-rec{background:transparent;color:var(--ok);border:1px solid rgba(61,220,151,.45)}.t-status.s-other{background:transparent;color:var(--ink-3);border:1px solid var(--line)}body.dark .t-status.s-rec{background:transparent;border-color:rgba(61,220,151,.45);color:var(--ok)}body.dark .t-status.s-other{background:transparent;border-color:var(--line);color:var(--ink-3)}.t-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--ink-soft);margin-bottom:8px}.t-meta span{white-space:nowrap}.t-conds{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.t-tag{font-size:10px;padding:2px 8px;border-radius:999px;background:transparent;color:var(--ink-soft);border:1px solid var(--line);font-weight:400;font-family:var(--font-mono)}.t-nct{font-size:11px;color:var(--ink-3);font-family:var(--font-mono)}.b-ok{background:var(--ok);color:#060A12}.b-warn{background:var(--warn);color:#060A12}.b-na{background:var(--na);color:#060A12}.b-fut{background:var(--fut);color:#060A12}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:14px}thead th{background:var(--surface-2);text-align:left;padding:12px 14px;font-size:11px;color:var(--brand);border-bottom:1px solid var(--line-2);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-weight:500}tbody td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--ink-soft);vertical-align:top}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:rgba(77,141,255,.04)}.table-scroll{overflow-x:auto;margin:8px 0 18px;scrollbar-width:none}.table-scroll::-webkit-scrollbar{display:none}.nowrap{white-space:nowrap}.callout{border:1px solid var(--line-2);background:rgba(77,141,255,.06);border-radius:12px;padding:14px 18px;margin:14px 0;font-size:14px;color:var(--ink-soft)}.callout b{color:var(--brand)}.note{border:1px solid var(--line);border-left:2px solid var(--accent);background:var(--surface);border-radius:12px;padding:18px 22px;margin:18px 0;font-size:14px;color:var(--ink-soft);line-height:1.75}body.dark .note{background:var(--surface);border-color:var(--line);border-left-color:var(--accent);color:var(--ink-soft)}ol.steps{counter-reset:s;list-style:none;padding:0;margin:0}ol.steps li{counter-increment:s;position:relative;padding:14px 16px 14px 56px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:10px}ol.steps li::before{content:counter(s);position:absolute;left:16px;top:13px;width:26px;height:26px;border-radius:8px;background:transparent;border:1px solid var(--line-2);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:400;font-size:13px;font-family:var(--font-mono)}details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px 18px;margin:8px 0}summary{cursor:pointer;padding:14px 0;font-weight:500;color:var(--ink)}summary:hover{color:var(--brand)}details ol{padding-left:20px;color:var(--ink-soft);font-size:13.5px}details li{margin:6px 0}footer{margin-top:64px;background:#04070E;color:var(--ink-soft);padding:40px 0;font-size:13px;border-top:1px solid var(--line)}footer a{color:var(--brand)}footer a:hover{color:var(--brand-2)}.top{display:block;text-align:center;padding:14px;color:var(--brand);font-weight:500;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:12px}body.dark{--bg:#060A12;--surface:#0B111C;--surface-2:#101826;--ink:#E8EEF9;--ink-soft:#8C9AB3;--line:rgba(77,141,255,.18)}body.dark .hero{background:radial-gradient(900px 380px at 82% -12%,rgba(77,141,255,.14),transparent),linear-gradient(180deg,#04070E,#0A0F19)}body.dark nav.toc{background:rgba(12,11,9,.88)}body.dark tbody tr:hover{background:rgba(77,141,255,.04)}body.dark .callout{background:rgba(77,141,255,.06);border-color:var(--line-2);color:var(--ink-soft)}.hero-mini{padding:26px 0;height:260px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero-mini .wrap{width:100%}.hero-mini h1{font-size:clamp(1.4rem,2.6vw,1.75rem);font-weight:500;line-height:1.2;letter-spacing:-.028em;margin:0 0 10px}.hero-mini .lv{margin:0 0 8px}.hero-mini p{font-size:14px;line-height:1.55;margin:0 0 10px;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-mini .legend{margin:0}.hero .update-badge-fixed{position:absolute;top:118px;right:16%;z-index:5;display:inline-flex;align-items:center;gap:10px;background:transparent;border:none;padding:0;white-space:nowrap;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;pointer-events:auto}.ub-dot{position:relative;width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.ub-dot::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--accent);opacity:.5;animation:ubPulse 2.4s ease-out infinite}@keyframes ubPulse{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(3.4);opacity:0}}.ub-main{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.11em}.ub-sep{width:1px;height:11px;background:var(--line-2);flex-shrink:0}.ub-next{color:var(--accent);letter-spacing:.04em}@media(prefers-reduced-motion:reduce){.ub-dot::after{animation:none}}@media(max-width:767px){.hero .update-badge-fixed{top:6px;bottom:auto;left:0;right:0;justify-content:center;text-align:center;font-size:10.5px;letter-spacing:.1em}}.back-link{display:inline-block;margin:0 0 10px;color:var(--brand);text-decoration:none;font-size:12px;font-weight:500;opacity:.92;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.back-link:hover{color:var(--brand-2);text-decoration:none}.promo-banner{display:block;margin:24px 0 24px;padding:20px 26px;border-radius:12px;background:var(--surface);border:1px solid var(--line-2);color:var(--ink);font-size:15px;font-weight:500;text-decoration:none;transition:border-color .4s var(--ease),background .4s var(--ease)}.promo-banner:hover{border-color:var(--brand);background:var(--surface-2);text-decoration:none}.promo-banner .promo-sub{display:block;font-size:13px;font-weight:400;color:var(--ink-soft);margin-top:4px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--bg);padding:8px 14px;border-radius:8px;z-index:9999;font-size:14px;text-decoration:none}.skip-link:focus{left:0}.search-btn{display:none}.src{display:flex;flex-wrap:wrap;align-items:center;gap:7px 14px;font-size:12px;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:10px;padding:11px 14px;margin-top:10px;line-height:1.55}.src::before{content:"来源";flex-shrink:0;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);padding:2px 8px;border:1px solid var(--line-2);border-radius:6px}.src a{color:var(--brand);text-decoration:underline;text-decoration-color:rgba(77,141,255,.4);text-underline-offset:2px;transition:text-decoration-color .3s var(--ease),color .3s var(--ease)}.src-item{color:var(--ink-soft)}.src a:hover{color:var(--brand-2);text-decoration-color:currentColor}body.dark .src{background:transparent;border-color:var(--line)}.src-note{font-size:11px;color:var(--ink-3);margin-top:28px;padding-top:14px;border-top:1px solid var(--line);text-align:center;font-style:normal}.lv{display:inline-block;font-size:10px;font-weight:400;padding:3px 10px;border-radius:999px;margin-left:8px;vertical-align:middle;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid}.lv-learn{background:transparent;color:var(--ok);border-color:rgba(61,220,151,.45)}.lv-mid{background:transparent;color:var(--brand);border-color:var(--line-2)}.lv-research{background:transparent;color:var(--fut);border-color:rgba(167,139,250,.45)}.tier{padding:26px 24px 8px;margin-top:36px;scroll-margin-top:64px;border-radius:12px}.tier-green{border-left:1px solid var(--ok);background:rgba(61,220,151,.03)}.tier-blue{border-left:1px solid var(--brand);background:rgba(77,141,255,.035)}.tier-purple{border-left:1px solid var(--fut);background:rgba(167,139,250,.035)}body.dark .tier-green{background:rgba(61,220,151,.04)}body.dark .tier-blue{background:rgba(77,141,255,.045)}body.dark .tier-purple{background:rgba(167,139,250,.045)}.tier-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.tier-tag{font-size:11px;font-weight:500;color:var(--bg);padding:5px 14px;border-radius:999px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.tier-green .tier-tag{background:var(--ok)}.tier-blue .tier-tag{background:var(--brand)}.tier-purple .tier-tag{background:var(--fut)}.tier-desc{font-size:13px;color:var(--ink-soft);margin:0}.tier-green h3,.tier-green h4,.tier-green h5,.tier-green h6{color:var(--ok)!important}.tier-blue h3,.tier-blue h4,.tier-blue h5,.tier-blue h6{color:var(--brand)!important}.tier-purple h3,.tier-purple h4,.tier-purple h5,.tier-purple h6{color:var(--fut)!important}.path-card{display:block;text-decoration:none;color:inherit;transition:border-color .4s var(--ease)}.path-card:hover{text-decoration:none;border-color:var(--line-2)!important}.tier-tabs{display:flex;gap:0;flex-wrap:wrap;margin:26px 0 4px;position:sticky;top:56px;z-index:20;background:rgba(12,11,9,.88);backdrop-filter:blur(12px);padding:0;border:1px solid var(--line);border-radius:14px}.tt-btn{border:none;border-right:1px solid var(--line);background:transparent;color:var(--ink-soft);font-size:12px;font-weight:500;padding:11px 20px;border-radius:999px;cursor:pointer;transition:all .3s var(--ease);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.tt-btn:last-child{border-right:none}.tt-btn:hover{background:var(--surface-2);color:var(--ink)}.tt-btn.active{background:var(--accent);color:var(--bg)}body.dark .tier-tabs{background:rgba(12,11,9,.88)}body.dark .tt-btn{background:transparent;color:var(--ink-soft)}body.dark .tt-btn:hover{background:var(--surface-2)}.tier-hidden{display:none !important}.video-wrap{max-width:840px;margin:20px auto 6px;background:#000;border-radius:14px;overflow:hidden;border:1px solid var(--line-2)}.video-wrap video{display:block;width:100%;height:auto;background:#000}body.dark .video-wrap{border-color:var(--line-2)}a,.src,td,th,p{overflow-wrap:anywhere}img{max-width:100%;height:auto}@media (max-width:820px){.g2,.g3{grid-template-columns:1fr}.hero{padding:40px 0 32px}.hero h1{font-size:1.6rem}.hero p{font-size:14px}.sec-head{gap:10px}.sec-num{width:24px;height:24px;font-size:10px}h2{font-size:1.35rem}h3{font-size:16px}section{padding:44px 0 6px}.card{padding:18px 18px}.tier{padding:22px 16px 6px}}@media (max-width:560px){.wrap{padding:0 12px}nav.toc ul{padding:8px 10px;gap:2px 3px}nav.toc a{padding:4px 5px;font-size:11.5px}.hero{padding:32px 0 26px}.hero h1{font-size:1.4rem;letter-spacing:-.02em;line-height:1.2}.hero p{font-size:13.5px}.hero .tag{font-size:10px;padding:5px 12px;margin-top:12px}.hero-mini{padding:18px 0;height:auto;min-height:0}.hero-mini h1{font-size:1.25rem;margin:0 0 4px}.hero-mini p{display:none}.hero-mini .legend{gap:5px}.hero-mini .chip{padding:4px 9px;font-size:10px;gap:5px}.hero-mini .chip .dot{width:7px;height:7px}.filterbar{flex-direction:column;gap:6px}.promo-banner{padding:16px 16px;font-size:14px}.promo-banner .promo-sub{font-size:12px}.filter-input{padding:8px 10px;font-size:13px}.chips{gap:3px}.chip-filter{padding:5px 10px;font-size:10px}.sec-head{margin-bottom:8px}.sec-num{width:22px;height:22px;font-size:9px}h2{font-size:1.25rem}section{padding:36px 0 4px}.sec-head{flex-wrap:wrap;gap:8px;margin-bottom:14px}h3{font-size:15px;margin:22px 0 10px}.card{padding:16px 16px;margin-bottom:12px}.tier{padding:18px 12px 4px;margin-top:24px}.grid{gap:12px}.g2,.g3{gap:12px}.settings{top:10px;right:10px}.settings-btn{width:40px;height:40px;font-size:16px}.settings-panel{width:190px;top:48px;right:0}.tier-tabs{top:52px;gap:0}.tt-btn{padding:9px 14px;font-size:10.5px}.legend{gap:7px;margin:18px 0 4px}.chip{padding:5px 10px;font-size:10.5px}table{font-size:12.5px}thead th{padding:9px 10px;font-size:10px}tbody td{padding:9px 10px}.src{font-size:11px;padding:9px 11px;gap:6px 10px;border-radius:8px}.src::before{content:"📎";padding:0;border:none;font-size:11px;letter-spacing:0}ol.steps li{font-size:13.5px;padding:12px 12px 12px 48px}ol.steps li::before{width:23px;height:23px;left:12px;top:11px;font-size:12px}.note,.callout{padding:14px 15px}details{padding:4px 14px}.video-wrap{margin:12px auto 4px}.hero-mini .lv{font-size:9px;padding:2px 8px}}@media (max-width:380px){.hero h1{font-size:1.25rem}.hero p{font-size:13px}h2{font-size:1.15rem}h3{font-size:14px}.tt-btn{padding:8px 11px;font-size:10px}nav.toc a{padding:3px 4px;font-size:10.5px}}.news-card{padding:20px 22px}.news-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.news-cat{font-size:10px;font-weight:500;padding:3px 9px;border-radius:5px;color:#fff;font-family:var(--font-mono);letter-spacing:.06em;line-height:1.5;white-space:nowrap}.news-date{font-size:11px;color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.02em}.news-region{font-size:11px;color:var(--ink-soft)}.news-title{font-size:16px;font-weight:500;margin:0 0 10px;line-height:1.4;color:var(--ink);letter-spacing:-.012em}.news-summary{font-size:13.5px;color:var(--ink-soft);line-height:1.7;margin:0 0 14px}.news-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}.news-src{font-size:11px;color:var(--ink-3);font-family:var(--font-mono)}.news-links{display:flex;gap:14px;flex-wrap:wrap}.news-link{font-size:11.5px;color:var(--brand);text-decoration:underline;text-decoration-color:rgba(77,141,255,.4);text-underline-offset:2px;transition:color .3s var(--ease)}.news-link:hover{color:var(--brand-2);text-decoration-color:currentColor}.news-cat[style*="background"]{color:#fff}@media(prefers-reduced-motion:reduce){}.to-top{position:fixed;right:20px;bottom:20px;z-index:900;width:42px;height:42px;border-radius:12px;border:1px solid var(--line-2);background:rgba(11,17,28,.92);color:var(--brand);cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);padding:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s cubic-bezier(.22,.8,.22,1),transform .3s cubic-bezier(.22,.8,.22,1),visibility .3s,border-color .3s cubic-bezier(.22,.8,.22,1),color .3s}.to-top:hover{border-color:var(--brand);color:var(--brand-2)}.to-top.is-visible{opacity:1;visibility:visible;transform:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.card,.path-card,.os-card,.trial-row{transition:border-color .4s var(--ease),transform .25s var(--ease)}.card:hover,.path-card:hover{transform:translateY(-2px)}@media(max-width:560px){.to-top{right:14px;bottom:14px;width:38px;height:38px;border-radius:10px}}.read-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:1100;background:linear-gradient(90deg,var(--brand),var(--accent));transform:scaleX(0);transform-origin:left;opacity:0;transition:opacity .3s var(--ease);pointer-events:none}.read-progress.is-active{opacity:1}.skeleton{pointer-events:none;border-color:var(--line)!important}.sk-line{height:12px;border-radius:6px;margin-bottom:10px;background:linear-gradient(90deg,rgba(77,141,255,.08) 25%,rgba(77,141,255,.18) 37%,rgba(77,141,255,.08) 63%);background-size:400% 100%;animation:skShimmer 1.4s ease infinite}.sk-40{width:40%}.sk-90{width:90%}.sk-70{width:70%}.sk-row{display:flex;gap:6px}.sk-chip{width:56px;height:18px;border-radius:999px;background:rgba(77,141,255,.1)}@keyframes skShimmer{0%{background-position:100% 0}100%{background-position:0 0}}.stagger{animation:cardIn .42s cubic-bezier(.22,.8,.22,1) both}@keyframes cardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.is-press{transform:scale(.98)!important;transition:transform .1s ease}.card.is-press,.path-card.is-press{transform:scale(.992) translateY(-2px)!important}nav.toc.is-scrolled{background:rgba(6,10,18,.96);border-bottom-color:var(--line-2)}nav.toc a.is-current{color:var(--accent)}nav.toc a.is-current::after{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){.stagger{animation:none}.sk-line{animation:none}.is-press{transform:none!important}}@media(hover:none){*{-webkit-tap-highlight-color:transparent}a,button,.card,.path-card,.chip-filter,.tt-btn,.seg-btn,[role="button"]{touch-action:manipulation}.card:hover,.path-card:hover{transform:none;border-color:var(--line)}.card:hover{border-color:var(--line-2)}nav.toc a:hover{color:var(--ink-soft)}nav.toc a:hover::after{transform:scaleX(0)}nav.toc a.active:hover,nav.toc a.is-current:hover{color:var(--accent)}nav.toc a.active:hover::after,nav.toc a.is-current:hover::after{transform:scaleX(1)}.chip:hover{border-color:var(--line)}.chip-filter:hover{border-color:var(--line);color:var(--ink-soft)}.chip-filter.active:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.tt-btn:hover{background:transparent;color:var(--ink-soft)}.tt-btn.active:hover{background:var(--accent);color:var(--bg)}.settings-btn:hover{border-color:var(--line-2);color:var(--brand);background:rgba(11,17,28,.85)}.to-top:hover{border-color:var(--line-2);color:var(--brand)}.promo-banner:hover{border-color:var(--line-2);background:var(--surface)}.os-card:hover,.trial-row:hover{border-color:var(--line)}a:hover{color:var(--brand)}details summary:hover{color:var(--ink)}.settings-row a.seg-btn:hover{background:var(--surface-2);color:var(--ink-soft)}.feedback-actions .btn-primary:hover{background:var(--brand);border-color:var(--brand)}.feedback-actions .btn-secondary:hover{border-color:var(--line);color:var(--ink-soft)}.feedback-close:hover{border-color:transparent;color:var(--ink-soft)}}footer{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.to-top{right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px))}.settings{top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px))}@media(max-width:820px){input,textarea,select{font-size:16px!important}nav.toc a{padding:9px 8px}.chip-filter{padding:7px 13px}.seg-btn{padding:11px 0}.settings-btn{width:44px;height:44px}.tt-btn{padding:12px 18px}.settings-row a.seg-btn{padding:11px 0}ol.steps li{padding:15px 16px 15px 56px}}@media(max-width:560px){footer{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}.to-top{right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}.settings{top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px))}}@media(max-height:500px) and (orientation:landscape){.hero{min-height:auto;padding:28px 0 22px}.hero-mini{height:auto;min-height:0;padding:16px 0}.hero h1{font-size:1.5rem}.hero-mini p{display:none}}@media(max-width:820px){.table-scroll{position:relative;background:linear-gradient(to right,rgba(11,17,28,0) 92%,rgba(11,17,28,.6)) no-repeat right/32px 100%}}html.light,body.light{--bg:#F6F8FC;--surface:#FFFFFF;--surface-2:#EFF3F9;--ink:#0F1729;--ink-soft:#5A6B85;--ink-3:#8B99AD;--line:rgba(15,35,70,.13);--line-2:rgba(15,35,70,.26);--brand:#2563EB;--brand-2:#1D4ED8;--accent:#0891B2;--ok:#0E9F6E;--warn:#B45309;--na:#8B99AD;--fut:#7C3AED}html.light body,body.light{background-color:var(--bg);color:var(--ink)}html.light::selection,body.light::selection{background:var(--brand);color:#fff}html.light .hero,body.light .hero{background:radial-gradient(900px 380px at 82% -12%,rgba(37,99,235,.10),transparent),linear-gradient(180deg,#F1F5FD,#FAFCFF);border-bottom-color:var(--line)}html.light .hero p,body.light .hero p{color:var(--ink-soft)}html.light .hero .update-badge-fixed,body.light .hero .update-badge-fixed{color:var(--brand);text-shadow:none}html.light nav.toc,body.light nav.toc{background:rgba(255,255,255,.9);border-bottom-color:var(--line)}html.light nav.toc.is-scrolled,body.light nav.toc.is-scrolled{background:rgba(255,255,255,.98);border-bottom-color:var(--line-2)}html.light nav.toc a,body.light nav.toc a{color:var(--ink-soft)}html.light nav.toc a.active,body.light nav.toc a.active,html.light nav.toc a.is-current,body.light nav.toc a.is-current{color:var(--brand)}html.light .settings-btn,body.light .settings-btn{background:rgba(255,255,255,.92)}html.light .settings-btn:hover,body.light .settings-btn:hover{background:var(--surface-2);color:var(--brand-2);border-color:var(--brand)}html.light .feedback-close:hover,body.light .feedback-close:hover{border-color:var(--line);color:var(--ink)}html.light .settings-panel,body.light .settings-panel{background:var(--surface);border-color:var(--line-2)}html.light .to-top,body.light .to-top{background:rgba(255,255,255,.94)}html.light .tier-tabs,body.light .tier-tabs{background:rgba(255,255,255,.92)}html.light footer,body.light footer{background:#EDF2F9;border-top-color:var(--line);color:var(--ink-soft)}html.light footer a,body.light footer a{color:var(--brand)}html.light .b-ok,html.light .b-warn,html.light .b-na,html.light .b-fut,body.light .b-ok,body.light .b-warn,body.light .b-na,body.light .b-fut{color:#fff}html.light .sk-line,body.light .sk-line{background:linear-gradient(90deg,rgba(37,99,235,.06) 25%,rgba(37,99,235,.15) 37%,rgba(37,99,235,.06) 63%);background-size:400% 100%}html.light .sk-chip,body.light .sk-chip{background:rgba(37,99,235,.09)}html.light .table-scroll,body.light .table-scroll{background:linear-gradient(to right,rgba(246,248,252,0) 92%,rgba(246,248,252,.85)) no-repeat right/32px 100%}html.light .feedback-modal,body.light .feedback-modal{background:rgba(15,23,41,.45)}html.light .feedback-box,body.light .feedback-box{background:var(--surface)}html.light .feedback-form textarea,body.light .feedback-form textarea{background:var(--surface-2);color:var(--ink)}html.light .feedback-actions .btn-primary,body.light .feedback-actions .btn-primary{background:var(--brand);color:#fff}html.light .src,body.light .src{border-color:var(--line);color:var(--ink-soft)}html.light .src::before,body.light .src::before{color:var(--brand);border-color:var(--line-2)}html.light .src a,body.light .src a{color:var(--brand);text-decoration-color:rgba(37,99,235,.4)}html.light .callout,body.light .callout{background:rgba(37,99,235,.05);border-color:var(--line-2);color:var(--ink-soft)}html.light .callout b,body.light .callout b{color:var(--brand)}html.light .note,body.light .note{background:var(--surface);border-color:var(--line);border-left-color:var(--brand)}html.light .tier-green,body.light .tier-green{background:rgba(14,159,110,.045)}html.light .tier-blue,body.light .tier-blue{background:rgba(37,99,235,.045)}html.light .tier-purple,body.light .tier-purple{background:rgba(124,58,237,.045)}@media(hover:none){html.light .card:hover,body.light .card:hover{border-color:var(--line)}html.light .promo-banner:hover,body.light .promo-banner:hover{background:var(--surface)}}ins.adsbygoogle{display:none !important}.os-cat[href]{cursor:pointer;text-decoration:none}.os-cat[href]:hover{color:var(--accent);border-color:var(--accent)}@keyframes pageFadeIn{from{opacity:0}to{opacity:1}}.page-fade-in{animation:pageFadeIn 0.2s ease-out}@media (prefers-reduced-motion:reduce){.page-fade-in{animation:none}}h1,h2,h3,h4,.hero h1,.hero-mini h1,.sec-head h2,.sec-num{font-weight:430;letter-spacing:-0.042em;font-feature-settings:"palt" 1,"kern" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hero h1,.hero-mini h1{letter-spacing:-0.05em}.sec-num{font-variant-numeric:tabular-nums;font-weight:300;letter-spacing:-0.02em}@keyframes revealIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.animate-in{animation:revealIn .5s cubic-bezier(.16,1,.3,1) both}@media (prefers-reduced-motion:reduce){.animate-in{animation:none}}@media (max-width:1280px){nav.toc ul{padding:8px 16px;gap:0 0}nav.toc a{font-size:11px;padding:5px 5px;letter-spacing:-0.01em}nav.toc a::after{left:5px;right:5px}}@media (max-width:1100px){nav.toc a{font-size:10.5px;padding:5px 4px}}nav.toc a{padding-left:6px;padding-right:6px}nav.toc a::after{left:6px;right:6px}@media (max-width:1600px){nav.toc a{font-size:11.5px}}@media (max-width:1400px){nav.toc a{font-size:11px;padding-left:5px;padding-right:5px}nav.toc ul{padding-left:calc(max(20px,(100vw - 1140px)/2 + 20px) - 5px)}nav.toc a::after{left:5px;right:5px}}@media (max-width:1200px){nav.toc a{font-size:10.5px;padding-left:4px;padding-right:4px}nav.toc ul{padding-left:calc(max(20px,(100vw - 1140px)/2 + 20px) - 4px)}nav.toc a::after{left:4px;right:4px}}@media (max-width:1100px){nav.toc a{font-size:10px;padding-left:4px;padding-right:4px}}@media (min-width:768px){html[lang="en"] .hero .update-badge-fixed{top:auto;bottom:22px}}@media (min-width:768px){html[lang="en"] .hero .update-badge-fixed{top:auto;bottom:22px}}html[lang="zh-CN"] .hero .update-badge-fixed,html[lang^="zh"] .hero .update-badge-fixed{right:16%;top:118px;color:rgba(232,242,255,.96)}body.dark .hero,body.light .hero,html.light .hero,body.dark .hero,body.light .hero,html.light .hero,.hero{background:linear-gradient(100deg,#132555 0%,#1c4e8b 100%)}.hero .update-badge-fixed{color:#FFFFFF}.hero .chip{border-color:rgba(255,255,255,.38);color:rgba(255,255,255,.92)}.hero h1,.hero-mini h1,html.light .hero h1,html.light .hero-mini h1,body.light .hero h1,body.light .hero-mini h1,body.dark .hero h1,body.dark .hero-mini h1{color:#45D8E8;-webkit-text-fill-color:#45D8E8;font-weight:700}.hero .wrap>p,.hero-mini .wrap>p,html.light .hero .wrap>p,html.light .hero-mini .wrap>p,body.light .hero .wrap>p,body.light .hero-mini .wrap>p,body.dark .hero .wrap>p,body.dark .hero-mini .wrap>p{color:#8FC2FF}.hero .chip{border-color:rgba(214,228,247,.26);color:rgba(214,228,247,.82)}.hero .update-badge-fixed,body.dark .hero .update-badge-fixed,body.light .hero .update-badge-fixed,html.light .hero .update-badge-fixed{color:rgba(214,228,247,.78)}.hero .update-badge-fixed .ub-main,.hero .update-badge-fixed .ub-num,body.dark .hero .update-badge-fixed .ub-main,body.light .hero .update-badge-fixed .ub-main,html.light .hero .update-badge-fixed .ub-main{color:rgba(236,245,255,.96)}.promo-banner,body.dark .promo-banner,body.light .promo-banner,html.light .promo-banner{background:linear-gradient(100deg,#132555 0%,#1c4e8b 100%);border-color:rgba(120,170,255,.28);color:#E8F2FF}.promo-banner .promo-sub,body.dark .promo-banner .promo-sub,body.light .promo-banner .promo-sub,html.light .promo-banner .promo-sub{color:rgba(176,206,245,.84)}.promo-banner:hover,body.dark .promo-banner:hover,body.light .promo-banner:hover,html.light .promo-banner:hover{background:linear-gradient(100deg,#16285E 0%,#20518F 100%);border-color:rgba(120,170,255,.52)}.legal-links{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3);letter-spacing:.01em;text-align:center}.legal-links a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent;transition:color .3s var(--ease),border-color .3s var(--ease)}.legal-links a:hover{color:var(--accent);border-bottom-color:var(--accent)}.hero .legal-links{display:none}.legal-hero{height:auto;min-height:0;padding:44px 0 36px;justify-content:flex-start}.legal-hero .wrap{padding-top:0}.legal-hero h1{margin:6px 0 10px}.legal-hero>.wrap>p:last-child{margin-bottom:0}.hero.legal-hero,body.dark .hero.legal-hero,body.light .hero.legal-hero,html.light .hero.legal-hero{background:var(--bg);border-bottom:1px solid var(--line)}body.dark .hero.legal-hero h1,body.light .hero.legal-hero h1,html.light .hero.legal-hero h1,html.dark .hero.legal-hero h1{color:var(--ink);-webkit-text-fill-color:var(--ink);font-weight:700}body.dark .hero.legal-hero .wrap>p,body.light .hero.legal-hero .wrap>p,html.light .hero.legal-hero .wrap>p,html.dark .hero.legal-hero .wrap>p{color:var(--ink-soft)}body.dark .hero.legal-hero .hero-eyebrow,body.light .hero.legal-hero .hero-eyebrow,html.light .hero.legal-hero .hero-eyebrow{color:var(--ink-3)}.hero .chip{border-color:rgba(206,222,244,.22);color:rgba(236,245,255,.90)}.hero .update-badge-fixed,body.dark .hero .update-badge-fixed,body.light .hero .update-badge-fixed,html.light .hero .update-badge-fixed{color:rgba(206,222,244,.72)}.hero .update-badge-fixed .ub-main,.hero .update-badge-fixed .ub-num,body.dark .hero .update-badge-fixed .ub-main,body.light .hero .update-badge-fixed .ub-main,html.light .hero .update-badge-fixed .ub-main{color:rgba(236,245,255,.90)}.hero .lv{background:rgba(255,255,255,.07)}.hero .lv-learn{color:#83EDBF;border-color:rgba(131,237,191,.66)}.hero .lv-mid{color:#A6CBFF;border-color:rgba(166,203,255,.66)}.hero .lv-research{color:#CFC2FF;border-color:rgba(207,194,255,.66)}.hero .ub-next,body.dark .hero .ub-next,body.light .hero .ub-next{color:#B6DBFF}.hero .ub-dot{background:#B6DBFF}.hero .ub-dot::after{background:#B6DBFF}.hero .update-badge-fixed,body.dark .hero .update-badge-fixed,body.light .hero .update-badge-fixed,html.light .hero .update-badge-fixed{color:rgba(236,245,255,.90)}.hero .update-badge-fixed .ub-main,.hero .update-badge-fixed .ub-num,body.dark .hero .update-badge-fixed .ub-main,body.light .hero .update-badge-fixed .ub-main,html.light .hero .update-badge-fixed .ub-main{color:rgba(236,245,255,.90)}.hero .ub-next,body.dark .hero .ub-next,body.light .hero .ub-next{color:#CFE6FF}.hero .update-badge-fixed,body.dark .hero .update-badge-fixed,body.light .hero .update-badge-fixed,html.light .hero .update-badge-fixed,.hero .update-badge-fixed .ub-main,.hero .update-badge-fixed .ub-num,body.dark .hero .update-badge-fixed .ub-main,body.light .hero .update-badge-fixed .ub-main,html.light .hero .update-badge-fixed .ub-main,.hero .ub-next,body.dark .hero .ub-next,body.light .hero .ub-next{color:#FFFFFF}.hero .ub-dot{background:#FFFFFF}.hero .ub-dot::after{background:#FFFFFF}.hero .chip,body.dark .hero .chip,body.light .hero .chip,html.light .hero .chip{color:rgba(255,255,255,.92);border-color:rgba(255,255,255,.38)}.hero h1,.hero-mini h1,body.dark .hero h1,body.light .hero h1,html.light .hero h1,body.dark .hero-mini h1,body.light .hero-mini h1,html.light .hero-mini h1{color:#45D8E8;-webkit-text-fill-color:#45D8E8;font-weight:700}.hero .wrap>p,.hero-mini .wrap>p,body.dark .hero .wrap>p,body.light .hero .wrap>p,html.light .hero .wrap>p,body.dark .hero-mini .wrap>p,body.light .hero-mini .wrap>p,html.light .hero-mini .wrap>p{color:#8FC2FF}body.dark .hero.legal-hero h1,body.light .hero.legal-hero h1,html.light .hero.legal-hero h1{color:var(--ink);-webkit-text-fill-color:var(--ink)}body.dark .hero.legal-hero .wrap>p,body.light .hero.legal-hero .wrap>p,html.light .hero.legal-hero .wrap>p{color:var(--ink-soft)}.hero .update-badge-fixed,body.dark .hero .update-badge-fixed,body.light .hero .update-badge-fixed,html.light .hero .update-badge-fixed,.hero .update-badge-fixed .ub-main,.hero .update-badge-fixed .ub-num,body.dark .hero .update-badge-fixed .ub-main,body.light .hero .update-badge-fixed .ub-main,html.light .hero .update-badge-fixed .ub-main{color:#FFFFFF}.hero .ub-dot,body.dark .hero .ub-dot,body.light .hero .ub-dot,html.light .hero .ub-dot,.hero .ub-dot::after,body.dark .hero .ub-dot::after,body.light .hero .ub-dot::after,html.light .hero .ub-dot::after{background:#4D8DFF}.hero .ub-next,body.dark .hero .ub-next,body.light .hero .ub-next,html.light .hero .ub-next{color:#45D8E8}.card[data-href],.card.is-clickable{cursor:pointer}.card.card-ic{border-top:2px solid var(--brand)}.ic-head{display:flex;align-items:center;gap:10px;margin:0 0 10px}.ic-head h4{margin:0;font-size:16px;font-weight:600;color:var(--ink);letter-spacing:0}.ic{width:34px;height:34px;border-radius:8px;background:rgba(77,141,255,.12);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.ic svg{width:18px;height:18px;stroke:var(--brand);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.card.card-ic{border-top:1px solid rgba(37,99,235,.35)}.ic-head{display:block;margin:0 0 10px}.ic-head h4{font-size:16px;font-weight:600;color:var(--ink)}.card.card-ic{border-top:1px solid rgba(37,99,235,.35)}.ic-head{display:block;margin:0 0 10px}.ic-head h4{font-size:16px;font-weight:600;color:var(--ink)}.card.card-ic{border-top:3px solid var(--brand)}.card.card-ic{border-top:3px solid var(--brand)}@media (max-width:767px){.grid.g2,.grid.g3{grid-template-columns:minmax(0,1fr)}.card{min-width:0}.os-name,.os-desc{overflow-wrap:anywhere}.os-top{flex-wrap:wrap;gap:6px 8px}.os-topics{overflow-wrap:anywhere}.filterbar{gap:8px;max-width:100%}.chips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.filter-input{flex:1 1 100%;min-width:0}nav.toc a{display:inline-flex;align-items:center;min-height:40px;padding:8px 9px;font-size:12.5px}.chip-filter{min-height:34px;padding:8px 14px;font-size:12px}.os-tag{font-size:11.5px;padding:3px 8px}.os-meta{font-size:12px}.os-stars{font-size:12px}.t-meta{flex-wrap:wrap;gap:4px 12px}.t-meta span{white-space:normal;min-width:0;overflow-wrap:anywhere}.t-meta{flex-wrap:wrap;gap:4px 12px}.t-meta span{white-space:normal;min-width:0;overflow-wrap:anywhere}.card p,.os-desc{line-height:1.72}}@media (max-width:767px){.grid.g2,.grid.g3{grid-template-columns:minmax(0,1fr)}.card{min-width:0}.os-name,.os-desc{overflow-wrap:anywhere}.os-top{flex-wrap:wrap;gap:6px 8px}.os-topics{overflow-wrap:anywhere}.filterbar{gap:8px;max-width:100%}.chips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.filter-input{flex:1 1 100%;min-width:0}nav.toc a{display:inline-flex;align-items:center;min-height:40px;padding:8px 9px;font-size:12.5px}.chip-filter{min-height:34px;padding:8px 14px;font-size:12px}.os-tag{font-size:11.5px;padding:3px 8px}.os-meta{font-size:12px}.os-stars{font-size:12px}.t-meta{flex-wrap:wrap;gap:4px 12px}.t-meta span{white-space:normal;min-width:0;overflow-wrap:anywhere}.t-meta{flex-wrap:wrap;gap:4px 12px}.t-meta span{white-space:normal;min-width:0;overflow-wrap:anywhere}.card p,.os-desc{line-height:1.72}}@media (max-width:767px){.os-cat{display:inline-flex;align-items:center;min-height:26px}}@media (max-width:767px){.os-cat{display:inline-flex;align-items:center;min-height:26px}}@media (max-width:767px){.lead[style]{white-space:normal !important;overflow:visible !important;text-overflow:clip !important}}@media (max-width:767px){.lead[style]{white-space:normal !important;overflow:visible !important;text-overflow:clip !important}}.hero,body.dark .hero,body.light .hero,html.light .hero,html.dark .hero{background-image:linear-gradient(100deg,#0C1838 0%,#2A66A6 100%)}.hero,body.dark .hero,body.light .hero,html.light .hero,html.dark .hero{background-image:linear-gradient(100deg,#0C1838 0%,#2A66A6 100%)}.card h4{text-transform:none;letter-spacing:0}.card h4{text-transform:none;letter-spacing:0}@media (min-width:768px){html[lang="en"] .hero .update-badge-fixed{top:118px;bottom:auto}}@media (min-width:768px){html[lang="en"] .hero .update-badge-fixed{top:118px;bottom:auto}}@media (min-width:768px){html[lang="en"] .hero p{max-width:720px}}@media (min-width:768px){html[lang="en"] .hero p{max-width:720px}}.chart-block{margin:28px 0 8px;padding:22px 0 4px;border-top:1px solid var(--line)}.chart-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 4px}.chart-head h3{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.chart-note{margin:0 0 14px;font-size:12px;color:var(--ink-soft);line-height:1.6}.chart{width:100%;max-width:760px}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-bar{fill:var(--brand);transform:scaleY(.02);transition:transform .7s cubic-bezier(.16,.84,.44,1)}.chart-bar.in{transform:scaleY(1)}.chart-axis{stroke:var(--line-2,rgba(77,141,255,.3));stroke-width:1}.chart-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}.chart-val{fill:var(--ink);font-size:13px;font-weight:600;font-family:var(--font-mono)}.chart-lab{fill:var(--ink-soft);font-size:12px}.chart-sub{fill:var(--ink-soft);font-size:10px;opacity:.65}.chart-axis-lab{fill:var(--ink-soft);font-size:11px;font-family:var(--font-mono)}.chart-line{fill:none;stroke:var(--brand);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-area{fill:var(--brand);opacity:0}.chart-dot{fill:var(--surface);stroke:var(--brand);stroke-width:2.5;opacity:0}.chart-svg--donut{max-width:280px;margin:0 auto}.chart-seg{stroke:var(--brand);transition:stroke-dasharray .8s cubic-bezier(.16,.84,.44,1)}.chart-seg-1{stroke:var(--accent)}.chart-seg-2{stroke:var(--ok)}.chart-seg-3{stroke:var(--na)}.chart-center-num{fill:var(--ink);font-size:26px;font-weight:600;font-family:var(--font-mono)}.chart-center-lab{fill:var(--ink-soft);font-size:11px;letter-spacing:.12em}.chart-legend{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin:12px 0 0;padding:0}.chart-legend li{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-soft)}.chart-legend b{font-family:var(--font-mono);font-weight:600;color:var(--ink)}.chart-legend .dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--brand)}.chart-legend .seg-1{background:var(--accent)}.chart-legend .seg-2{background:var(--ok)}.chart-legend .seg-3{background:var(--na)}@media (max-width:767px){.chart-block{margin:22px 0 6px}.chart-legend{gap:6px 14px}}.sec-head{align-items:center}.sec-num{display:inline-flex;align-items:center;justify-content:center;line-height:1;height:26px;min-width:26px;padding:0 7px;font-size:13px}.chart-bar{fill:#2F5F9E}.chart-line{stroke:#2F5F9E;stroke-width:2}.chart-area{fill:#2F5F9E}.chart-dot{stroke:#2F5F9E;stroke-width:2}.chart-val{fill:var(--ink-soft);font-size:12px}.chart-seg{stroke:#2F5F9E}.chart-seg-1{stroke:#2E8B93}.chart-seg-2{stroke:#4E7F5C}.chart-seg-3{stroke:#6B7688}.load-more{display:block;width:100%;margin:4px 0 18px;padding:12px;font-size:13px;font-family:inherit;color:var(--brand);background:transparent;border:1px solid var(--line-2,rgba(77,141,255,.28));border-radius:10px;cursor:pointer;transition:border-color .3s var(--ease),color .3s var(--ease)}.load-more:hover{border-color:var(--brand);color:var(--brand-2,var(--brand))}.load-more{display:block;width:100%;margin:4px 0 18px;padding:12px;font-size:13px;font-family:inherit;color:var(--brand);background:transparent;border:1px solid var(--line-2,rgba(77,141,255,.28));border-radius:10px;cursor:pointer;transition:border-color .3s var(--ease),color .3s var(--ease)}.load-more:hover{border-color:var(--brand);color:var(--brand-2,var(--brand))}.filterbar select.filter-input{flex:0 1 auto;width:auto;min-width:150px;max-width:260px}.filterbar input.filter-input{flex:1 1 220px;min-width:160px}.filterbar select.filter-input{flex:0 1 auto;width:auto;min-width:150px;max-width:260px}.filterbar input.filter-input{flex:1 1 220px;min-width:160px}section.chart-sec{padding-top:8px}section.chart-sec{padding-top:8px}section:has(>.chart-block){padding-top:8px}.tier-head + section:has(>.chart-block){padding-top:4px}section:has(>.chart-block){padding-top:8px}.tier-head + section:has(>.chart-block){padding-top:4px}main>.sec-head:first-child,main>section:first-child>.sec-head:first-child{margin-top:28px}main>section:first-child>h2:first-child{padding-top:28px}main>.sec-head:first-child,main>section:first-child>.sec-head:first-child{margin-top:28px}main>section:first-child>h2:first-child{padding-top:28px}main{padding-top:28px}main>section:first-child{padding-top:0 !important}main>.sec-head:first-child,main>section:first-child>.sec-head:first-child{margin-top:0 !important}main>section:first-child>h2:first-child{padding-top:0 !important}main{padding-top:28px}main>section:first-child{padding-top:0 !important}main>.sec-head:first-child,main>section:first-child>.sec-head:first-child{margin-top:0 !important}main>section:first-child>h2:first-child{padding-top:0 !important}main.wrap{padding-top:28px}main.wrap{padding-top:28px}.chart-tip{position:fixed;left:0;top:0;z-index:3000;max-width:240px;padding:8px 11px;border-radius:8px;background:rgba(17,26,43,.95);color:#fff;font-size:12.5px;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .15s ease;box-shadow:0 6px 18px rgba(0,0,0,.18)}.chart-tip.on{opacity:1}.chart-tip b{display:block;font-weight:600;margin-bottom:2px}.chart-tip i{display:block;font-style:normal;color:rgba(255,255,255,.75);font-family:var(--font-mono);font-size:11.5px}.chart-seg{cursor:pointer}.chart-seg-4{stroke:#6E5EA8}.chart-legend .seg-4{background:#6E5EA8}