@font-face{font-family:Report;src:url('assets/NotoSansSC-Regular.woff2')}@font-face{font-family:Report;src:url('assets/NotoSansSC-Bold.woff2');font-weight:700}
:root{--ink:#edf5ff;--muted:#9fb8d4;--cyan:#66d7ed;--gold:#e3bf73;--line:#5b9bb937}*{box-sizing:border-box}body{margin:0;background:#02091b;color:var(--ink);font-family:Report,'PingFang SC',sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:none;border:1px solid var(--line)}button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:hover{background:#4eaac622}#stage{position:absolute;width:1920px;height:1080px;left:50%;top:50%;transform-origin:center;background:radial-gradient(ellipse at 77% 70%,#17305a88,transparent 65%),linear-gradient(110deg,#071a36,#0a1236 75%);overflow:hidden}#stage:after{content:'';position:absolute;inset:12px;border:1px solid #7baccc20;pointer-events:none}.ambient{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#74bde51b 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(0deg,#000,transparent 75%)}header{margin:0 60px;height:112px;display:flex;align-items:center;gap:25px;border-bottom:1px solid #6cc4e15c;position:relative}header img{width:175px;height:60px;object-fit:contain}.brand-rule{height:34px;width:1px;background:var(--line)}header>span{font-size:29px;letter-spacing:3px;font-weight:700}.edition{margin-left:auto;color:var(--muted);font-size:17px}main{position:absolute;inset:145px 78px 115px}h1,h2,h3,p{margin:0}h1{font-size:43px;line-height:1.4;letter-spacing:1px}h2{font-size:29px}h3{font-size:25px}.heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px}.heading p{font-size:21px;color:var(--muted);margin-top:13px}.tag{color:var(--gold);font-size:18px;border-bottom:1px solid #c4a56c66;padding:10px 0;white-space:nowrap}.split{display:grid;grid-template-columns:1.65fr 1fr;gap:45px;height:590px}.panel{border:1px solid var(--line);background:#0b29443b;padding:33px}.panel>p{color:var(--muted);font-size:22px;line-height:1.85;margin-top:18px}.architecture{display:flex;flex-direction:column;justify-content:center;position:relative;padding:26px 40px}.layer{border:1px solid #6fb8d044;padding:25px 30px;text-align:center;background:linear-gradient(90deg,#153b5680,#153b5625);position:relative}.layer h2{color:#b9ecfa;font-size:31px}.layer p{font-size:21px;margin-top:12px;color:#b4cbe0}.layer.core{border-color:#67d2ec99;background:#225a783d;padding:36px}.connector{text-align:center;color:#77a7bd;font-size:18px;padding:15px}.endpoints{display:flex;justify-content:space-between;gap:18px}.endpoints span{flex:1;text-align:center;border:1px solid var(--line);padding:17px;font-size:21px;background:#142c473b}.takeaway{margin-top:30px;border-left:3px solid var(--gold);padding:14px 23px;background:#b4965520;font-size:24px;line-height:1.6}.points{display:flex;flex-direction:column;justify-content:space-evenly}.point{padding:24px 0;border-bottom:1px solid var(--line)}.point:last-child{border:0}.point h3{color:#dcebf7}.point p{color:var(--muted);font-size:21px;line-height:1.75;margin-top:10px}.status{font-size:16px;color:var(--gold);display:inline-block;margin-top:19px}.steps{display:flex;align-items:stretch;gap:15px;margin:35px 0}.step{flex:1;border-top:3px solid #5caec7;background:#14375355;padding:25px 19px;min-height:160px}.step strong{font-size:23px;display:block}.step p{font-size:19px;line-height:1.8;color:var(--muted);margin-top:13px}.arrow{align-self:center;color:#79a6be;font-size:25px}.wide{height:590px}.evidence-row{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:30px}.code-preview{padding:23px 27px;background:#030f23aa;border:1px solid var(--line);text-align:left;width:100%}.code-preview small{color:var(--cyan);font-size:17px}.code-preview strong{display:block;font-size:25px;margin:12px 0}.code-preview span{color:var(--muted);font-size:18px}.matrix{width:100%;border-collapse:collapse;margin-top:25px;font-size:23px}.matrix th{text-align:left;color:var(--muted);font-size:18px;font-weight:400}.matrix td,.matrix th{padding:24px;border-bottom:1px solid var(--line)}.matrix td:last-child{color:var(--gold);font-size:20px}.note{font-size:19px;color:var(--muted);margin-top:25px;line-height:1.8}.photo{height:320px;position:relative;border:1px dashed #7bb6cc77;background:linear-gradient(150deg,#284d6944,#0a213344);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;color:var(--muted)}.photo svg{width:70px;height:70px;stroke:#8eb6cd;fill:none;stroke-width:1.5}.photo strong{font-size:24px;font-weight:400}.photo span{font-size:17px}.scene-title{font-size:31px;margin-bottom:20px}.boundary{display:flex;gap:30px;margin-top:30px}.boundary>div{flex:1;border-top:2px solid var(--line);padding-top:24px}.boundary h3{color:var(--cyan)}.boundary p{font-size:22px;line-height:1.8;margin-top:15px;color:var(--muted)}footer{position:absolute;bottom:30px;left:60px;right:60px;height:55px;display:flex;align-items:center;border-top:1px solid var(--line);padding-top:15px;gap:25px}.signature{font-size:16px;color:#7797b4;white-space:nowrap}nav{display:flex;gap:8px;margin:auto}nav button{border:0;font-size:17px;padding:10px 14px;color:#7797b4;border-bottom:2px solid transparent}nav button[aria-current=true]{color:#d2edf8;border-color:var(--cyan)}.tools{display:flex;align-items:center;gap:14px}.tools button{height:40px;min-width:40px;font-size:25px}.tools button:disabled{opacity:.25;cursor:default}#count{font-size:17px;color:var(--muted);min-width:56px;text-align:center}dialog{background:#081a31;color:var(--ink);border:1px solid #73bad380;width:min(1300px,93vw);max-height:90vh;padding:35px;box-shadow:0 40px 180px #0009}dialog::backdrop{background:#020817e8}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head span{color:var(--gold)}.dialog-head h2{margin-top:9px}.dialog-head button{font-size:35px;width:48px;height:48px}#code-path{font-size:14px;color:var(--muted);overflow-wrap:anywhere;margin:24px 0}pre{overflow:auto;background:#030d1c;padding:25px;line-height:1.8;font-size:17px;color:#bce4ef;max-height:55vh}.code-note{font-size:15px;color:var(--muted);margin-top:18px}@media(prefers-reduced-motion:no-preference){main{animation:appear .25s ease}@keyframes appear{from{opacity:.3}to{opacity:1}}}
/* 全景结构在固定内容区内排布，底部结论保留独立间距。 */
.architecture{min-height:0;padding:22px 30px}.architecture .layer{padding:18px 24px}.architecture .layer.core{padding:23px}.architecture .connector{padding:10px}.architecture .endpoints span{padding:12px}.architecture .layer h2{font-size:29px}.architecture .layer p{margin-top:9px}
.sip-context{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:25px}.sip-context>p{font-size:20px;line-height:1.7;color:var(--muted);max-width:1250px}.sip-context strong{color:var(--gold);font-weight:400}.path-switch{display:flex;flex-shrink:0;gap:8px}.path-switch button{font-size:18px;padding:11px 18px}.path-switch button[aria-pressed=true]{background:#205575;color:#dbf4ff;border-color:#68b7d3}.sip-layout{display:grid;grid-template-columns:1fr 420px;gap:36px}.swimlane{position:relative;height:560px;border:1px solid var(--line);background:#081b3266}.lane-heads{display:grid;grid-template-columns:repeat(4,1fr);height:65px;align-items:center;text-align:center;border-bottom:1px solid var(--line);font-size:21px;color:#c1e2f2}.flow-lines{position:absolute;top:65px;left:0;width:100%;height:460px}.lifelines{stroke:#6a9fb137;stroke-dasharray:5 8;fill:none}.control-lines,.hook-line,.return-line{fill:none;stroke:#71bdde;stroke-width:2;marker-end:url(#sip-arrow)}.media-line{fill:none;stroke:#e3bf73;stroke-width:3;marker-end:url(#media-arrow)}.timeout-path{display:none;fill:none;stroke:#e3bf73;stroke-width:2;marker-end:url(#media-arrow)}.show-timeout .timeout-path{display:block}.show-timeout .normal-path{display:none}.flow-label{position:absolute;transform:translate(-50%,-100%);font-size:17px;background:#0a1e37;padding:5px 10px;white-space:nowrap;color:#bcd6e7}.flow-label[data-code]{border:1px solid #5c9fbc66;color:#d4f1ff;background:#12354c;min-height:34px}.request-label{left:25%;top:102px}.allocate-label{left:62.5%;top:157px}.invite-label{left:50%;top:217px}.response-label{left:50%;top:265px}.media-label{left:75%;top:323px;color:var(--gold)}.hook-label{left:62.5%;top:383px}.return-label{left:25%;top:450px}.timeout-label{left:50%;top:375px}.release-label{left:62.5%;top:450px;color:var(--gold)}.flow-legend{position:absolute;bottom:14px;left:25px;display:flex;gap:25px;color:#85a9c1;font-size:15px}.flow-legend span{display:flex;align-items:center;gap:9px}.flow-legend i{display:inline-block;width:25px;height:2px;background:#71bdde}.flow-legend span:nth-child(2) i{background:var(--gold)}.sip-explain{padding:20px 0}.sip-explain h2{font-size:28px;line-height:1.5}.sip-explain>p{font-size:21px;line-height:1.9;color:var(--muted);margin-top:20px}.sip-value{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.sip-value h3{font-size:23px;color:var(--cyan)}.sip-value p{font-size:21px;color:#b2cada;line-height:2;margin-top:14px}.sip-explain .sip-source{font-size:16px;margin-top:25px}nav{gap:2px}nav button{padding:10px 11px;font-size:16px}

.support-code{font-size:17px;padding:10px 15px;margin-top:16px;color:#bce4ef}.sip-explain .sip-source{margin-top:15px;font-size:15px}.sip-value{margin-top:22px;padding-top:18px}nav button{padding:10px 20px}

.code-location{display:flex;align-items:center;gap:22px;justify-content:space-between}.code-location #code-path{flex:1}.code-location a{flex-shrink:0;color:#bce4ef;text-decoration:none;border:1px solid #5c9fbc66;padding:11px 16px;font-size:16px}.code-location a:hover{background:#205575}.code-location a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}@media(max-width:700px){.code-location{flex-direction:column;align-items:flex-start;gap:0}.code-location a{margin-bottom:15px}}
dialog#evidence{width:min(1760px,96vw);padding:28px 32px;max-height:94vh}.code-workbench{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;margin-top:24px}.code-reader{min-width:0}#code-nav{display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--line);padding-right:20px;max-height:67vh;overflow:auto;margin:0}#code-nav button{display:flex;text-align:left;align-items:center;gap:14px;font-size:17px;line-height:1.6;padding:14px 12px;color:#93b1c9;border:1px solid transparent;border-radius:0}#code-nav button span{font-size:15px;color:#6d96af}#code-nav button[aria-current=true]{color:#d7f3ff;background:#20557577;border-color:#6facc155}#code-nav button[aria-current=true] span{color:var(--gold)}#code-summary{font-size:20px;line-height:1.8;color:#c4dfeb;min-height:60px}.code-location{gap:15px}.code-location #code-path{margin:15px 0;font-size:13px;line-height:1.6}.code-location a{font-size:14px}.code-reader pre{font-size:16px;max-height:49vh;min-height:260px;margin:8px 0 14px;padding:20px;line-height:1.9;tab-size:4}.code-bottom{display:flex;align-items:center;gap:20px;justify-content:space-between}.code-bottom button{padding:10px 18px;font-size:15px}.code-bottom button:disabled{opacity:.3;cursor:default}#code-position{font-size:15px;color:var(--muted)}.code-note{font-size:13px;margin-top:15px}@media(max-width:900px){.code-workbench{grid-template-columns:1fr}#code-nav{flex-direction:row;max-height:100px;overflow:auto;border-right:0;padding:0}#code-nav button{min-width:190px}.code-reader pre{font-size:13px;max-height:38vh}#code-summary{font-size:16px;min-height:0}}
.resource-layout{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:38px}.resource-flow{border:1px solid var(--line);padding:22px 25px;background:#0a23363b}.resource-band{display:flex;gap:25px;align-items:center}.band-label{writing-mode:vertical-rl;letter-spacing:4px;color:#7ca5bf;font-size:18px;flex-shrink:0}.resource-row{display:flex;gap:15px;align-items:center;width:100%}.resource-node{flex:1;min-width:0;text-align:left;padding:19px 20px;border-color:#5495ad66;background:#163c5355}.resource-node strong{display:flex;justify-content:space-between;font-size:22px;font-weight:400;color:#d8edf7}.resource-node strong span{font-size:17px;color:#7ecbe3}.resource-node small{display:block;font-size:16px;line-height:1.7;color:#91b1c8;margin-top:9px}.resource-row>i{font-size:25px;color:#7aa9bf;font-style:normal}.resource-down{font-size:15px;color:#80a8bc;text-align:center;margin:9px 0}.resource-down>span{margin-left:15px;font-size:22px}.dispatch-band{display:block;position:relative;padding-left:48px}.dispatch-band>.band-label{position:absolute;left:0;top:70px}.dispatch-entry{width:65%;margin:0 auto}.dispatch-entry .resource-node{width:100%;text-align:center;padding:13px 20px}.dispatch-entry .resource-node strong{justify-content:center;gap:12px}.dispatch-entry .resource-node small{margin-top:4px}.branch-arms{width:52%;height:22px;display:flex;margin:auto;position:relative}.branch-arms:before{content:'';height:10px;width:1px;background:#5a9bb5;position:absolute;left:50%}.branch-arms span{width:50%;border-top:1px solid #5a9bb5;border-left:1px solid #5a9bb5;margin-top:10px}.branch-arms span+span{border-left:0;border-right:1px solid #5a9bb5}.dispatch-options{display:flex;gap:22px}.dispatch-options>button{flex:1;text-align:center;padding:13px 20px}.dispatch-options b{font-size:21px;font-weight:400;display:block}.dispatch-options span{font-size:16px;color:#91b1c8;display:block;margin-top:7px}.dispatch-options [aria-pressed=true]{border-color:#6bc5de;background:#20557588}.dispatch-options [aria-pressed=true] b{color:#a6edff}.dispatch-detail{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:11px 0 15px}.dispatch-detail p{font-size:16px;color:#b1ccde;line-height:1.7}.dispatch-detail .support-code{font-size:15px;white-space:nowrap;padding:8px 12px;margin:0}.resource-explain h2{font-size:27px;line-height:1.5}.resource-explain>p,.resource-principle p{font-size:20px;line-height:1.9;color:var(--muted);margin-top:17px}.resource-principle{margin-top:25px;border-top:1px solid var(--line);padding-top:22px}.resource-principle h3{color:var(--cyan);font-size:23px}.resource-principle p{margin-top:10px}.resource-explain .resource-boundary{font-size:15px;margin-top:20px}.resource-explain .support-code{font-size:16px}
.topic-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:38px}.topic-chart{border:1px solid var(--line);background:#0b25383b;padding:28px;height:625px;display:flex;flex-direction:column;justify-content:space-between}.topic-row{display:flex;gap:15px;align-items:center}.topic-node{flex:1;min-width:0;padding:21px 20px;text-align:left;border-color:#529bb166;background:#16394e66}.topic-node strong{display:flex;justify-content:space-between;gap:12px;font-size:23px;font-weight:400;color:#d8f0fa}.topic-node strong span{font-size:17px;color:#7bc9e4}.topic-node p{color:#9bbace;font-size:18px;line-height:1.8;margin-top:12px}.topic-row>i{font-style:normal;font-size:27px;color:#77afc4}.topic-down{text-align:center;font-size:16px;color:#8bb3c7;padding:12px}.topic-down span{margin-left:20px;font-size:24px}.topic-choice{display:flex;gap:20px;justify-content:center}.topic-choice button{padding:14px 25px;min-width:250px;font-size:22px}.topic-choice [aria-pressed=true]{border-color:#66c9df;background:#225e7a77;color:#b9f2ff}.topic-path{width:85%;margin:12px auto 0}.topic-path .topic-node{width:100%;border-color:#d1b36c66}.topic-result{padding:23px;border-left:3px solid var(--gold);background:#bb9a4517}.topic-result h2{font-size:27px}.topic-result p{font-size:20px;line-height:1.8;color:#b0cadc;margin-top:10px}.topic-aside h2{font-size:28px;line-height:1.6}.topic-aside>p,.topic-aside>div p{font-size:20px;color:var(--muted);line-height:1.85;margin-top:14px}.topic-aside>div{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.topic-aside h3{font-size:23px;color:var(--cyan)}.topic-aside .support-code{font-size:17px;margin-top:25px}.continuity-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;height:625px}.continuity-columns article{border:1px solid var(--line);padding:25px 22px;background:#12324844;display:flex;flex-direction:column}.continuity-columns article>h2{font-size:27px}.continuity-columns article>p{font-size:17px;color:var(--muted);margin:17px 0 25px}.continuity-columns .topic-node{flex:0;padding:20px 15px;min-height:142px}.continuity-columns .topic-node strong{font-size:22px}.continuity-columns .topic-node p{font-size:18px}.continuity-columns i{font-size:25px;color:#72b5cb;text-align:center;padding:12px}.column-result{margin-top:auto;padding-top:25px;border-top:1px solid var(--line);font-size:23px;color:var(--gold);line-height:1.6}.algorithm-pools{display:flex;align-items:center;gap:25px}.algorithm-pools>div{flex:1;text-align:center;padding:16px;background:#153c5255;border:1px solid var(--line)}.algorithm-pools h3{font-size:23px;color:#aee5f6}.algorithm-pools p{font-size:18px;color:var(--muted);line-height:1.8;margin-top:8px}.algorithm-pools>span{font-size:25px;color:var(--gold)}.topic-result.compact{padding:12px 20px}.topic-result.compact p{margin:0;font-size:18px}nav button{font-size:15px;padding:10px 12px}
.topic-chart{height:650px;padding:22px}.topic-node{padding:17px 18px}.topic-node p{font-size:17px;line-height:1.65;margin-top:9px}.topic-down{padding:7px}.topic-choice button{padding:11px 22px;font-size:21px}.topic-path{margin-top:8px}.topic-path .topic-node{padding:16px 20px}.topic-result{padding:16px 20px}.topic-result h2{font-size:25px}.topic-result p{font-size:18px;line-height:1.7;margin-top:8px}.topic-aside h2{font-size:25px;line-height:1.5}.topic-aside>p,.topic-aside>div p{font-size:18px;line-height:1.75;margin-top:11px}.topic-aside>div{padding-top:16px;margin-top:18px}.topic-aside h3{font-size:22px}.topic-aside .support-code{margin-top:19px}.continuity-columns{height:650px}.continuity-columns article>p{margin-bottom:22px}
