:root{--bg:#222426;--panel:#2b2e31;--panel2:#303337;--line:#44484c;--text:#ebecee;--muted:#afb5ba;--dim:#959da4;--accent:#f29380;--mint:#9ad5c6;--side:270px;font-family:'Segoe UI','Microsoft YaHei',system-ui,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.85}a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline;color:#cff1e7}button,input{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--text);padding:8px 14px;line-height:1.5}button:hover,.button:hover{background:#3b4044;text-decoration:none;color:white}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3{color:#f8f8f9;line-height:1.4;margin:0 0 18px}h1{font-size:clamp(30px,3vw,44px);letter-spacing:-.025em;max-width:550px}h2{font-size:28px;letter-spacing:-.025em}h3{font-size:19px;margin-top:24px;margin-bottom:10px}p{margin:0 0 18px}ol,ul{padding-left:23px;margin:12px 0 22px}li{margin:8px 0}code{font-family:Consolas,monospace;overflow-wrap:anywhere;color:#d0d7df;font-size:.9em}kbd{display:inline-block;font-family:inherit;font-size:.83em;line-height:1.3;background:#3a3f43;color:#f9fafb;border:1px solid #606970;border-bottom-width:2px;border-radius:4px;padding:3px 7px;white-space:nowrap}img{display:block;max-width:100%}[hidden]{display:none!important}.muted,.lede{color:var(--muted)}.eyebrow{display:block;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:290px;background:#fff;color:#222;z-index:100;padding:10px}.skip-link:focus{top:8px}#sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:#1a1c1e;padding:30px 23px 20px;border-right:1px solid #383c3f;display:flex;flex-direction:column;overflow:auto;z-index:30}.brand{display:flex;gap:13px;align-items:center;color:#fff;margin-bottom:22px}.brand:hover{text-decoration:none}.brand img{width:46px;height:46px}.brand b{display:block;font-size:22px;letter-spacing:.04em;line-height:1.3}.brand small{font-size:11px;color:var(--muted);letter-spacing:.06em}.version-pill{align-self:flex-start;color:#d5ddd9;background:#2e3834;border:1px solid #46584f;border-radius:4px;padding:2px 9px;font-size:12px;margin-bottom:25px}.search-wrap input{width:100%;background:#26292c;color:var(--text);border:1px solid #454b50;padding:10px 10px;border-radius:6px;font-size:12px}.search-wrap input::placeholder{color:#a7aeb4}#toc{margin:22px -10px 28px;display:flex;flex-direction:column;gap:2px}#toc a{color:#b7bec3;font-size:13px;padding:8px 12px;border-left:2px solid transparent;border-radius:0 4px 4px 0;line-height:1.6}#toc a:hover{background:#292d30;color:#fff;text-decoration:none}#toc a.active{color:#f7a18d;background:#33302f;border-left-color:var(--accent)}#search-results{margin:12px 0;max-height:420px;overflow:auto;font-size:13px}#search-results a{display:block;border-bottom:1px solid var(--line);padding:10px 0}#search-results small{display:block;color:var(--muted);font-size:11px}.sidebar-bottom{margin-top:auto;font-size:11px;color:var(--muted);border-top:1px solid #3a3e42;padding-top:16px}.sidebar-bottom small{display:block;font-size:10px;margin-top:5px}.online-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mint);margin-right:5px}main{margin-left:var(--side);padding:54px clamp(24px,4.2vw,72px) 20px;max-width:1610px}.hero{padding-bottom:48px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:center}.hero-copy>p{color:var(--muted);font-size:17px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 22px}.button{font-size:13px;display:inline-flex;align-items:center}.primary{background:#ef937f;border-color:#ef937f;color:#241e1c;font-weight:700}.primary:hover{background:#ffa591;color:#241e1c}.hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11px;color:#bcc4c9}.hero-art{border:1px solid #555b60;background:#17191b;box-shadow:0 24px 50px #0003;border-radius:10px;overflow:hidden;transform:rotate(-1deg)}.hero-art img{width:100%}.hero-art>span{font-size:10px;color:#b3bbc1;display:block;padding:8px 14px}.guide{padding:54px 0;border-bottom:1px solid var(--line);scroll-margin-top:12px}.section-heading{margin-bottom:25px}.section-heading .lede{max-width:800px}.three-cards,.two-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.route-card,.soft-card{border:1px solid #42484d;border-radius:9px;background:var(--panel);padding:21px}.route-card{display:block;color:var(--text)}.route-card:hover{text-decoration:none;background:#303639;border-color:#70847f}.route-card>span{color:var(--mint);font-size:12px}.route-card h3{font-size:17px;margin-top:10px}.route-card p,.soft-card p{font-size:14px;color:#c5cbd0;margin-bottom:14px}.soft-card h3{margin-top:0}.soft-card p:last-child,.route-card p:last-child{margin-bottom:0}.note{background:#2d3435;border-left:3px solid #92b9b0;padding:16px 20px;margin:24px 0;border-radius:0 5px 5px 0;font-size:14px}.note strong{color:#d1e5df}.note p{margin:5px 0 0;color:#c3cfd0}details{border:1px solid #444a4f;border-radius:7px;margin:20px 0;background:#272b2e;padding:0 20px}summary{padding:15px 0;cursor:pointer;color:#dbe7e1;font-size:14px}details p,details li{font-size:14px}details[open]{padding-bottom:8px}.release-layout{display:grid;grid-template-columns:126px minmax(0,1fr);gap:24px}.release-rail{display:flex;flex-direction:column;position:relative;padding-left:16px;gap:10px;align-self:start}.release-rail:before{content:'';position:absolute;left:0;top:23px;bottom:25px;width:1px;background:#52615c}.version-link{display:block;padding:8px 14px;border:1px solid transparent;border-radius:6px;color:var(--muted);position:relative}.version-link:before{content:'';width:7px;height:7px;background:#74817c;position:absolute;left:-20px;top:23px;border-radius:50%;border:2px solid var(--bg)}.version-link b{font-size:22px;display:block;line-height:1.35}.version-link span{font-size:10px}.version-link:hover{text-decoration:none;background:var(--panel)}.version-link.active{color:var(--text);border-color:#a36e5e;background:#3b302d}.version-link.active:before{background:var(--accent);box-shadow:0 0 0 4px #543e35}.release-detail{background:var(--panel);border:1px solid #444a4e;border-radius:9px;padding:28px 32px;min-height:520px}.release-detail h3.release-title{font-size:24px;margin:10px 0 14px}.release-number{font-size:50px;letter-spacing:-.055em;line-height:1.1;font-weight:650}.release-date{font-size:11px;color:var(--muted);margin-left:16px;letter-spacing:.07em}.release-intro{color:#bbc4ca;font-size:14px}.release-items{padding:0;list-style:none}.release-items li{border-top:1px solid #43494e;padding:18px 0 0;margin:18px 0 0}.release-items h4{margin:0 0 8px;font-size:16px}.release-items p{margin:0 0 8px;font-size:14px;color:#c7cdd2}.release-items a{font-size:13px}.badge{display:inline-block;font-size:10px;line-height:1.5;font-weight:500;padding:2px 6px;background:#394648;color:#b7d7d4;border-radius:3px;margin-right:10px;vertical-align:2px;white-space:nowrap}.badge.新增{background:#30483f;color:#b4e6ca}.badge.优化,.badge.改动{background:#3a4654;color:#c1d8ef}.badge.修复{background:#494136;color:#ebd7b6}.badge.调整{background:#4c414c;color:#e3c7e3}.badge.移除{background:#533d3c;color:#edc1b8}.badge.保留{background:#40454a;color:#cbd2d8}.release-note{font-size:12px;color:#c1c9cf;border-left:2px solid #799086;padding:10px 14px;background:#323a3b;margin-top:20px}.release-archive{font-size:12px;color:var(--muted);margin-top:18px}.release-layout+.muted{font-size:12px;margin-top:18px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{font-size:12px;padding:6px 15px}.filters button[aria-pressed=true]{background:#3c5048;color:#daeee4;border-color:#728e82}.table-count{font-size:12px;color:var(--muted);margin:15px 0 10px}.table-scroll{max-width:100%;overflow-x:auto;border:1px solid #454c50;border-radius:7px;margin:15px 0 18px}table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.8}th{text-align:left;color:#f2f4f5;background:#343a3e;padding:14px 16px;font-weight:600}td{padding:14px 16px;border-top:1px solid #41484d;color:#cad0d5;vertical-align:top}tbody tr:nth-child(even){background:#272c2e}.comparison td:first-child{width:27%;min-width:190px}.comparison td:nth-child(2){width:27%;color:#aab2ba}.comparison td:nth-child(3){width:46%}.comparison td:first-child .badge{display:table;margin-bottom:6px}.comparison{min-width:580px}.comparison a{color:#e7e9ec}.image-text{display:grid;grid-template-columns:minmax(220px,35%) 1fr;gap:34px;align-items:start;margin:22px 0 38px}.image-text.reverse{grid-template-columns:minmax(220px,35%) 1fr}figure{margin:26px 0;border-radius:8px;overflow:hidden;border:1px solid #454d53;background:#1c1f21}figure>a>img{margin:auto;max-height:840px}figcaption{font-size:12px;color:#bec7cd;padding:12px 16px;background:#2a3033;border-top:1px solid #41494f;line-height:1.65}figcaption>span{font-size:10px;color:#92aaa6;white-space:nowrap;margin-left:8px}.narrow{margin:0}.narrow img{max-height:590px;width:auto}.definitions{margin:12px 0;display:grid;grid-template-columns:120px 1fr;gap:12px 18px;font-size:14px}.definitions dt{font-weight:600;color:#e3e9ec}.definitions dd{margin:0;color:#bfc9d0}.demo-screen{background:#242629}.demo-screen img,.demo-screen canvas{width:100%;height:auto;display:block}.demo-controls{display:flex;gap:9px;align-items:center;padding:13px 14px;border-top:1px solid var(--line);flex-wrap:wrap}.demo-controls button{font-size:12px;white-space:nowrap}.demo-controls a{font-size:11px;white-space:nowrap;margin-left:3px}.demo-seek{flex:1;min-width:80px;accent-color:var(--accent);width:100px}.demo-time{font-size:11px;color:#c3cbd2;min-width:64px;font-variant-numeric:tabular-nums}.demo-loading{opacity:.75}.duration-example{padding:24px;border:1px solid #49574f;border-radius:7px;background:#27312e;margin:25px 0}.duration-example>div{display:flex;gap:9px;align-items:center;margin:13px 0;font-size:12px}.duration-example span{width:136px;flex-shrink:0;color:#c4d4ca}.duration-example b{font-size:13px}.duration-example i{font-style:normal;display:block;width:var(--length);background:#90b898;color:#182a21;border-radius:3px;padding:8px 12px;white-space:nowrap;font-size:12px}.track-legend{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0;font-size:12px;color:#c8d0d5}.track-legend i{display:inline-block;width:13px;height:13px;border:1px solid #73787b;margin-right:6px;vertical-align:-2px}.bitmap-base{background:white}.bitmap-key{background:#c6e5b7}.camera-base{background:#ffefb6}.camera-key{background:#d3c4eb}.scope-list{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;font-size:14px}.source-list{list-style:none;padding:0}.source-list li{padding:12px 0;border-bottom:1px solid #3c4449}.source-list span{display:block;color:var(--muted);font-size:12px}footer{padding:30px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#9aa6ad}.mobile-top{display:none}.static-history{max-width:1000px;margin:0 auto;padding:40px}.static-history section{border-bottom:1px solid var(--line);padding:36px 0}
@media(min-width:1650px){main{margin-left:max(var(--side),calc((100vw - 1550px)/2 + var(--side)));max-width:1290px}.hero{grid-template-columns:1fr 1.3fr}}
@media(max-width:1180px){:root{--side:240px}#sidebar{padding-left:18px;padding-right:18px}main{padding:35px 28px}.hero{grid-template-columns:1fr}.hero-art{max-width:700px;transform:none}.hero h1{max-width:none}.three-cards{grid-template-columns:1fr}.release-detail{padding:24px}.image-text{gap:24px}.two-col{gap:22px}.definitions{grid-template-columns:1fr;gap:2px}.definitions dd{margin-bottom:12px}}
@media(max-width:760px){html{scroll-padding-top:76px}.mobile-top{display:flex;position:sticky;top:0;z-index:50;align-items:center;justify-content:space-between;height:60px;padding:10px 18px;background:#1a1c1ef5;border-bottom:1px solid #444a50;backdrop-filter:blur(10px)}.mobile-top>a{color:#f1efed;font-weight:700;font-size:17px;letter-spacing:.03em}.mobile-top span{color:#a7b0b8;font-size:11px;margin-left:6px;font-weight:400}.mobile-top button{font-size:12px;padding:5px 12px}#sidebar{display:none;top:60px;bottom:0;width:min(320px,90vw);box-shadow:20px 0 50px #0008}#sidebar.open{display:flex}main{margin-left:0;padding:28px 20px 12px}.hero{gap:22px;padding-bottom:35px}.hero-meta{font-size:10px}.hero-copy>p{font-size:15px}h1{font-size:32px}h2{font-size:23px}.guide{padding:38px 0}.two-col,.image-text,.image-text.reverse{grid-template-columns:1fr;gap:18px}.three-cards{gap:12px}.image-text figure{max-width:400px;width:100%;margin:0 auto}.release-layout{grid-template-columns:1fr;gap:18px}.release-rail{flex-direction:row;overflow-x:auto;padding:0 0 8px;gap:7px}.release-rail:before,.version-link:before{display:none}.version-link{padding:8px 13px;min-width:75px;background:#2b3033}.version-link b{font-size:20px}.release-detail{min-height:0;padding:22px 19px}.release-detail h3.release-title{font-size:22px}.release-number{font-size:43px}.release-date{margin-left:10px;font-size:10px}.soft-card,.route-card{padding:19px}.duration-example{padding:16px 12px}.duration-example span{width:90px;font-size:10px}.duration-example i{font-size:10px;padding:7px 6px}.duration-example>div{gap:5px}.scope-list{grid-template-columns:1fr}.demo-controls{gap:8px;padding:10px}.demo-seek{flex-basis:35%}.demo-controls a{font-size:11px}.demo-controls button{padding:6px 10px}.demo-time{min-width:58px;font-size:10px}.demo-status{font-size:11px}footer{flex-direction:column;gap:8px}.skip-link{left:10px}.static-history{padding:25px}}
html{scroll-behavior:auto}
img{height:auto}
.demo-screen img,.demo-screen canvas{width:auto;max-width:100%;height:auto;max-height:min(58vh,560px);margin-inline:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{#sidebar,.mobile-top,.demo-controls,.filters,.release-rail,.actions,footer{display:none!important}main{margin:0;padding:0}.guide{break-before:auto}body{color:#111;background:white}h1,h2,h3,p,td,.muted,.lede{color:#111}a{color:#254c44}figure,.note,.soft-card,.release-detail{break-inside:avoid}.hero{display:block}#release-detail{min-height:0}}
