:root{--bg:#f4f6f9;--surface:#fff;--text:#17243d;--body:#344155;--muted:#67748a;--line:#dfe5ec;--accent:#2165d6;--good:#1f706b;--pale:#edf5ff;--warn:#a46b19;--warning-bg:#fff8eb;font-family:Aptos,'Microsoft YaHei UI','Microsoft YaHei',sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--body)}button,a{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:var(--body);background:var(--surface);border-radius:6px;padding:8px 12px}button:hover{border-color:var(--accent)}button:focus-visible,a:focus-visible{outline:3px solid #2165d677;outline-offset:3px}a{color:var(--accent);text-decoration:none}.sample-shell{max-width:1500px;padding:24px 32px;margin:auto}.sample-head{display:flex;align-items:start;gap:24px;justify-content:space-between}.sample-head h1{font-size:29px;line-height:1.4;margin:8px 0 10px;color:var(--text)}.eyebrow{font-size:12px;color:var(--good);letter-spacing:1px}.sample-head p{font-size:15px;line-height:1.8;margin:0;color:var(--muted);max-width:950px}.sample-label{font-size:12px;padding:6px 10px;border:1px solid #ead5aa;background:var(--warning-bg);border-radius:5px;color:var(--warn);white-space:nowrap}.diagram-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 14px}.diagram-tabs button[aria-selected=true]{color:#fff;background:var(--accent);border-color:var(--accent)}.flow-card{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.flow-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.flow-tools h2{font-size:17px;color:var(--text);margin:0}.flow-tools>div{display:flex;align-items:center;gap:6px}.zoom-value{font-size:12px;color:var(--muted);min-width:42px;text-align:center}.flow-key{display:flex;gap:16px;flex-wrap:wrap;padding:10px 18px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.flow-key span{display:flex;align-items:center;gap:7px}.key-box{width:18px;height:12px;border-radius:3px;border:1px solid var(--accent);background:var(--pale)}.key-diamond{width:12px;height:12px;border:1px solid var(--warn);transform:rotate(45deg);background:var(--warning-bg)}.key-line{width:25px;height:0;border-top:2px dashed #986830}.flow-canvas{height:76vh;min-height:500px;overflow:auto;overscroll-behavior:contain;padding:12px;background:var(--surface)}.flow-canvas>svg{display:block;width:100%;height:auto;max-width:none}.business-svg{color:#5d728a;font-family:Aptos,'Microsoft YaHei UI','Microsoft YaHei',sans-serif}.lane-bg{fill:#f8fafc;stroke:#e5eaf0;stroke-width:1}.lane-1{fill:#f1f6fc}.lane-heading{font-size:13px;font-weight:650;fill:#67748a}.flow-edge{fill:none;stroke:#5d728a;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.flow-edge.exception{stroke:#a57735;color:#a57735}.flow-edge.return{stroke:#90662c;stroke-dasharray:6 4;color:#90662c}.edge-label>rect{fill:#fff;stroke:#dce4ee;stroke-width:1}.edge-label>text{fill:#344155;font-size:13px}.edge-label.exception>rect,.edge-label.return>rect{fill:#fff8eb;stroke:#ead8b9}.flow-node{cursor:pointer}.flow-node>rect{fill:#fff;stroke:#9bb4d4;stroke-width:1.4}.flow-node>polygon{fill:#fff9ee;stroke:#b48b43;stroke-width:1.5}.flow-node.external>rect{fill:#f4f0fc;stroke:#a28ac4}.flow-node.start>rect,.flow-node.end>rect{fill:#eaf6f2;stroke:#69a99b}.flow-node:focus{outline:none}.flow-node:hover>rect,.flow-node:hover>polygon,.flow-node:focus>rect,.flow-node:focus>polygon{stroke:#2165d6;stroke-width:2.6}.flow-node.selected>rect,.flow-node.selected>polygon{stroke:#2165d6;stroke-width:3}.node-title{fill:#17243d;font-size:16px;font-weight:650}.node-control{fill:#536a84;font-size:12.5px}.node-owner{fill:#1f706b;font-size:11px;letter-spacing:.5px}.flow-node.decision .node-owner{fill:#966a20}.node-explanation{padding:16px 20px;border-top:1px solid var(--line);background:var(--pale);font-size:14px;line-height:1.8}.node-explanation[hidden]{display:none}.node-explanation strong{display:block;font-size:16px;color:var(--text)}.node-explanation .where{font-size:13px;color:var(--accent);margin:6px 0}.node-explanation p{margin:4px 0}.node-explanation button{float:right;background:transparent;border:0}.diagram-notes{margin:18px 0 0;border-left:3px solid var(--good);padding:4px 0 4px 16px;font-size:13px;color:var(--muted);line-height:1.8}.diagram-notes p{margin:5px 0}.model-evidence{margin-top:22px;font-size:12px;line-height:1.9;color:var(--muted)}.model-evidence summary{cursor:pointer}.model-evidence code{overflow-wrap:anywhere}.sample-footer{font-size:11px;color:var(--muted);margin-top:24px;line-height:1.8}.flow-card:fullscreen{background:var(--surface);display:flex;flex-direction:column;border-radius:0}.flow-card:fullscreen .flow-canvas{height:auto;min-height:0;flex:1}@media(max-width:760px){.sample-shell{padding:18px 12px}.sample-head{display:block}.sample-head h1{font-size:24px}.sample-label{display:inline-block;margin-top:12px}.diagram-tabs button{font-size:13px}.flow-tools{padding:10px 12px}.flow-tools h2{font-size:15px}.flow-key{gap:12px;padding:10px 12px}.flow-canvas{min-height:420px;height:70vh;padding:6px}.node-explanation{padding:12px;font-size:13px}}@media print{.sample-shell{max-width:none;padding:0}.diagram-tabs,.flow-tools>div,.sample-label,.node-explanation,.model-evidence,.sample-footer{display:none}.flow-card{border:0}.flow-canvas{height:auto;min-height:0;overflow:visible;padding:0}.flow-canvas>svg{width:100%!important}.flow-tools{padding:10px 0}.flow-key{padding-left:0}}
.flow-edge-halo{fill:none;stroke:var(--surface);stroke-width:6;stroke-linejoin:round}.business-svg.has-focus .flow-route{opacity:.24}.business-svg.has-focus .flow-route.related{opacity:1}.business-svg.has-focus .flow-route.related .flow-edge{stroke-width:2.5}

:root{font-family:Aptos,'Microsoft YaHei UI','Microsoft YaHei',sans-serif;font-synthesis:none;color:#33445d;background:#f4f6f9;--ink:#17243d;--muted:#687990;--accent:#2165d6;--line:#dfe5ed}*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}a{color:var(--accent);text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #2165d666;outline-offset:3px}[hidden]{display:none!important}#sidebar{width:298px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}.brand{padding:25px 23px 19px}.brand>a{display:flex;align-items:center;gap:13px;color:var(--accent);font-size:29px;font-weight:750}.brand>a span{font-size:19px;color:var(--ink)}.brand p{margin:8px 0 0 40px;font-size:11px;color:var(--muted)}.search-box{display:block;margin:0 18px 16px}.search-box>span{display:block;font-size:11px;color:var(--muted);margin:0 0 7px 3px}.search-box input{border:1px solid var(--line);border-radius:6px;width:100%;height:38px;padding:0 10px;font-size:13px;color:var(--ink);background:#fafbfd}#nav{flex:1;overflow:auto;padding:0 12px 20px;scrollbar-width:thin}#sidebar footer{font-size:11px;color:var(--muted);padding:15px 18px;border-top:1px solid var(--line)}.nav-home{display:block;padding:9px 12px;font-size:14px;border-radius:5px}.nav-module{margin-top:23px}.module-label{display:flex;justify-content:space-between;align-items:center;padding:0 12px 9px;margin-bottom:6px;border-bottom:1px solid var(--line);font-size:12px;font-weight:650;letter-spacing:1px;color:#64748b}.module-label a{color:inherit}.module-label small{font-size:10px;font-weight:400;letter-spacing:0;color:#8895a7}.nav-caption{font-size:11px;color:#8591a3;padding:9px 12px 5px}.nav-story{display:block;padding:8px 12px;font-size:13px;line-height:1.5;border-radius:5px}.nav-story span{font-size:10px;margin-right:8px;color:#8390a1}.nav-group{margin:2px 0}.nav-group>summary{list-style:none;display:flex;align-items:center;padding:10px 12px;font-size:15px;font-weight:650;color:var(--ink);cursor:pointer;gap:8px;border-radius:5px}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary::after{content:'›';margin-left:auto;font-size:19px;font-weight:400;color:#8492a5}.nav-group[open]>summary::after{transform:rotate(90deg)}.nav-group summary small{font-size:11px;font-weight:400;color:#8492a5}.nav-group a{display:block;font-size:12px;line-height:1.6;padding:7px 10px 7px 24px;border-radius:5px;margin-left:8px}.nav-group a code{font-family:inherit;color:#8c98a8;font-size:10px;margin-right:6px}.nav-home.active,.nav-story.active,.nav-group a.active{color:#1857b6;background:#ebf2ff;font-weight:650}.nav-group summary:hover,.nav-story:hover,.nav-group a:hover,.nav-home:hover{background:#f3f6fb}.no-results{font-size:13px;line-height:1.8;padding:15px}.workspace{margin-left:298px}.topbar{height:58px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:14px;padding:0 30px;font-size:12px}.topbar>span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar #copyLink{margin-left:auto;white-space:nowrap}#menu{display:none;background:none;border:0;font-size:20px}#main{max-width:1660px;padding:26px 30px 42px;margin:auto}.page-head{margin-bottom:21px}.page-head .path{font-size:12px;color:var(--muted);line-height:1.8}.page-head h1{font-size:27px;line-height:1.45;color:var(--ink);margin:7px 0 9px}.page-head>p{font-size:14px;line-height:1.9;max-width:980px;margin:0;color:#617087}.status-line{display:flex;gap:10px;align-items:center;font-size:11px;margin-top:13px;color:#6f7c8e}.status-line span{color:#8a611b;background:#fff7e8;border:1px solid #ecdaba;border-radius:3px;padding:3px 6px}.flow-card{margin:0}.flow-canvas{height:67vh;min-height:470px}.flow-key{gap:14px}.where-line{padding:11px 16px;border:1px solid var(--line);border-radius:6px;background:white;margin-bottom:16px;font-size:12px;line-height:1.8;display:flex;gap:18px;flex-wrap:wrap}.where-line b{color:var(--ink);margin-right:5px}.story-context{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px;margin:0 0 20px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.story-context h2{font-size:12px;color:var(--muted);font-weight:500;margin:0 0 7px}.story-context p{font-size:13px;line-height:1.85;margin:0}.notes-panel{display:grid;grid-template-columns:1.4fr 1fr;gap:26px;margin-top:20px;padding:0 4px}.notes-panel h2,.related h2{font-size:14px;margin:0 0 9px;color:var(--ink)}.notes-panel p{font-size:12px;line-height:1.85;margin:5px 0;color:#65758b}.related{padding:18px 0;margin-top:20px;border-top:1px solid var(--line)}.related>div{display:flex;gap:8px;flex-wrap:wrap}.related a{border:1px solid var(--line);border-radius:5px;padding:8px 11px;background:white;font-size:12px}.model-evidence{padding:14px 0;border-top:1px solid var(--line);margin-top:18px}.model-evidence li{overflow-wrap:anywhere}.flow-card:fullscreen .flow-canvas{height:auto}.atlas-footer{margin-top:23px;font-size:11px;color:#8793a3;display:flex;justify-content:space-between;gap:12px}.home-intro h1{font-size:31px;color:var(--ink);margin:10px 0}.home-intro>p{font-size:15px;line-height:1.8;color:#65758b;max-width:900px}.home-modules{display:flex;flex-direction:column;margin:30px 0;border-top:1px solid var(--line)}.home-module{display:grid;grid-template-columns:45px 180px 1fr 160px;align-items:center;gap:16px;padding:25px 5px;border-bottom:1px solid var(--line)}.home-module .number{font-size:23px;color:#a2b0c3}.home-module h2{font-size:22px;color:var(--ink);margin:0 0 7px}.home-module .module-state{font-size:11px;color:#738397}.home-module p{font-size:14px;line-height:1.9;margin:0;max-width:800px;color:#617087}.home-module>a{font-size:13px}.home-guide{font-size:13px;line-height:1.9;color:#687990;padding:2px 5px}.story-list{border-top:1px solid var(--line);margin-top:26px}.story-list>a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:14px;padding:20px 5px;border-bottom:1px solid var(--line)}.story-list strong{display:block;font-size:16px;color:var(--ink);margin-bottom:6px}.story-list p{font-size:13px;color:#687990;line-height:1.8;margin:0}.story-list .number{font-size:19px;color:#9aa9bd}.module-index{margin:25px 0;font-size:13px}.module-index summary{cursor:pointer}.module-index>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.module-index a{padding:8px 10px;background:white;border:1px solid var(--line);border-radius:4px;font-size:12px}.module-index small{color:#8693a5;margin-right:5px}.loading{padding:35px;line-height:1.9;color:#63768d}.fatal{border-left:3px solid #a85a4c;background:white;padding:22px;line-height:1.9}.node-explanation{scroll-margin-top:10px}.mobile-only{display:none}#shade{position:fixed;inset:0;background:#13233c66;z-index:29;border:0}@media(min-width:1800px){#sidebar{width:310px}.workspace{margin-left:310px}#main{padding:30px 40px}.page-head h1{font-size:30px}}@media(max-width:1050px){#sidebar{width:260px}.workspace{margin-left:260px}#main{padding:23px 20px}.topbar{padding:0 20px}.home-module{grid-template-columns:30px 140px 1fr}.home-module>a{grid-column:3}.story-context{grid-template-columns:1fr}.notes-panel{grid-template-columns:1fr;gap:14px}}@media(max-width:760px){#sidebar{width:286px;transform:translateX(-100%);transition:transform .18s ease}body.menu-open #sidebar{transform:none}.workspace{margin-left:0}#menu{display:block}.topbar{padding:0 12px;gap:10px;height:52px}.topbar #copyLink{font-size:11px}#main{padding:20px 12px 35px}.page-head h1{font-size:23px}.page-head>p{font-size:13px}.status-line{line-height:1.6;align-items:start}.status-line span{white-space:nowrap}.flow-canvas{height:65vh;min-height:410px}.where-line{gap:4px;padding:10px 12px}.where-line>span{width:100%}.home-intro h1{font-size:26px}.home-intro>p{font-size:14px}.home-module{grid-template-columns:30px 1fr;gap:10px;padding:20px 0}.home-module p,.home-module>a{grid-column:2}.home-module h2{font-size:21px}.home-module .number{align-self:start}.story-context{gap:12px;margin-bottom:15px}.notes-panel{margin-top:17px}.story-list strong{font-size:15px}.story-list>a{grid-template-columns:25px 1fr 10px;gap:8px}.atlas-footer{display:block;line-height:1.8}.atlas-footer span{display:block}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{#sidebar,.topbar,.related,.atlas-footer,.flow-tools>div,.model-evidence{display:none}.workspace{margin-left:0}#main{padding:0}.flow-canvas{height:auto;overflow:visible;min-height:0}.story-context{display:block}.flow-card{border:0}.flow-canvas>svg{width:100%!important}}
:is(.flow-tools)>div{flex-wrap:wrap}
.flow-canvas{overflow-anchor:none;scroll-behavior:auto;min-height:260px}.flow-stage{display:grid;place-items:center;min-width:100%;min-height:100%;overflow-anchor:none}.flow-stage>svg{display:block;max-width:none;margin:0;flex:none}.flow-tools #overview{border-color:#b9cdee;color:#1857b6;background:#f1f6ff}
