:root{color:#202a26;font-synthesis:none;--paper:#fff;--canvas:#f5f6f2;--ink:#202a26;--muted:#69736e;--line:#d9ded9;--accent:#2f6f61;--gold:#b6862b;background:#f5f6f2;font-family:Arial,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit;letter-spacing:0}button{color:inherit}.loading{height:100%;color:var(--muted);place-content:center;justify-items:center;gap:10px;display:grid}.app-shell{background:var(--canvas);grid-template:56px minmax(0,1fr)/252px minmax(420px,1fr) 0;height:100%;display:grid}.app-shell.has-detail{grid-template-columns:252px minmax(420px,1fr) 326px}.topbar{border-bottom:1px solid var(--line);background:var(--paper);z-index:30;grid-column:1/-1;grid-template-columns:252px minmax(280px,680px) 1fr;align-items:center;display:grid}.brand{border-right:1px solid var(--line);align-items:center;gap:10px;height:100%;padding:0 18px;display:flex}.brand svg{color:var(--accent)}.brand strong,.brand span{white-space:nowrap;display:block}.brand strong{font-size:14px}.brand span{color:var(--muted);margin-top:2px;font-size:11px}.search-box{border:1px solid var(--line);background:#fafbf8;align-items:center;gap:8px;height:34px;margin-left:18px;padding:0 10px;display:flex;position:relative}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #2f6f611c}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.search-box>button{background:0 0;border:0;padding:2px;display:grid}.search-results{z-index:60;border:1px solid var(--line);background:var(--paper);max-height:55vh;position:absolute;top:38px;left:-1px;right:-1px;overflow:auto;box-shadow:0 12px 28px #202a261f}.search-results button{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ec;grid-template-columns:54px 1fr;align-items:baseline;gap:8px;width:100%;padding:10px 12px;display:grid}.search-results button:hover{background:#f3f7f4}.search-results span{color:var(--accent);font:700 11px ui-monospace,monospace}.search-results strong{font-size:12px;font-weight:500}.search-results p{color:var(--muted);padding:10px 14px;font-size:12px}.artifact-link{border:1px solid var(--line);height:34px;color:var(--ink);justify-self:end;align-items:center;gap:7px;margin-right:14px;padding:0 11px;font-size:12px;text-decoration:none;display:flex}.mobile-menu{display:none}.left-panel,.right-panel{background:var(--paper);z-index:10;min-height:0}.left-panel{border-right:1px solid var(--line);overflow:auto}.left-panel nav{padding:0 10px 24px}.overview-button{border:1px solid var(--line);text-align:left;background:#fff;align-items:center;gap:8px;width:calc(100% - 20px);min-height:42px;margin:12px 10px;padding:8px 10px;font-size:12px;display:flex}.overview-button.is-active{border-color:var(--accent);color:var(--accent);background:#f1f6f3}.stage-group{border-top:1px solid #edf0ec;padding:9px 0 6px}.stage-button{text-align:left;background:0 0;border:0;grid-template-columns:29px 1fr;gap:8px;width:100%;padding:6px 5px;display:grid}.stage-button span{color:var(--accent);font:700 11px ui-monospace,monospace}.stage-button strong{font-size:12px;line-height:1.45}.stage-group.is-active .stage-button strong{color:var(--accent)}.question-list{gap:1px;display:grid}.question-list button{color:#57615c;text-align:left;background:0 0;border:0;grid-template-columns:34px 1fr;gap:5px;width:100%;padding:5px;font-size:11px;line-height:1.4;display:grid}.question-list button:hover,.question-list button.is-active{color:var(--ink);background:#f1f4f1}.question-list span{color:#8a6731;font:700 10px ui-monospace,monospace}.panel-mobile-heading{display:none}.graph-workspace{background:#f4f6f2;min-width:0;min-height:0;position:relative;overflow:hidden}.graph-canvas{position:absolute;inset:0}.graph-toolbar{z-index:8;background:#fffffff2;border:1px solid #ccd4ce;align-items:center;gap:4px;height:42px;padding:4px;display:flex;position:absolute;top:12px;left:12px;right:12px;box-shadow:0 4px 14px #24312c0d}.graph-toolbar>button,.filter-menu>button{background:0 0;border:0;place-items:center;width:32px;height:32px;display:grid}.graph-toolbar button:hover{background:#eef2ee}.view-label{align-items:baseline;gap:9px;min-width:0;margin-right:auto;padding:0 8px;display:flex}.view-label span{font-size:12px;font-weight:700}.view-label strong{color:var(--muted);font-size:10px;font-weight:500}.filter-menu{position:relative}.filter-popover{border:1px solid var(--line);background:#fff;width:156px;padding:8px;display:none;position:absolute;top:34px;right:0;box-shadow:0 8px 24px #202a261f}.filter-menu:hover .filter-popover,.filter-menu:focus-within .filter-popover{gap:4px;display:grid}.filter-popover label{align-items:center;gap:7px;padding:5px;font-size:11px;display:flex}.legend-dot{background:#777;border-radius:50%;width:8px;height:8px}.legend-dot.prerequisite{background:#2f6f61}.legend-dot.method_support{background:#3973a6}.legend-dot.application{background:#b5523b}.legend-dot.falsification{background:#8a6731}.graph-status{z-index:7;border:1px solid var(--line);min-height:34px;color:var(--muted);background:#ffffffeb;justify-content:space-between;align-items:center;gap:12px;padding:6px 9px;font-size:10px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.graph-status button,.presentation-bar button{border:1px solid var(--line);background:#fff;padding:5px 8px;font-size:10px}.presentation-bar{z-index:12;background:#fff;border:1px solid #b9c2bc;justify-content:center;align-items:center;gap:8px;width:min(560px,100% - 48px);padding:8px;display:flex;position:absolute;bottom:58px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #202a261a}.presentation-bar span{text-align:center;flex:1;min-width:0;font-size:11px;font-weight:700}.right-panel{border-left:1px solid var(--line);display:none;position:relative;overflow:auto}.has-detail .right-panel{display:block}.node-detail{min-height:100%;padding-bottom:24px}.detail-heading{border-bottom:1px solid var(--line);padding:20px 18px 14px}.detail-number{color:var(--accent);font:700 11px ui-monospace,monospace}.detail-heading h2{letter-spacing:0;margin:7px 0 12px;font-size:18px;line-height:1.45}.detail-meta{flex-wrap:wrap;gap:5px;display:flex}.detail-meta span{border:1px solid var(--line);color:var(--muted);padding:3px 6px;font-size:10px}.detail-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid}.detail-tabs button{background:#fff;border:0;border-bottom:2px solid #0000;min-width:0;padding:10px 2px 8px;font-size:10px}.detail-tabs button.is-active{border-bottom-color:var(--accent);color:var(--accent);font-weight:700}.detail-copy{padding:10px 18px}.detail-copy p{color:#3f4a45;margin:10px 0;font-size:13px;line-height:1.72}.reader-button{border:1px solid var(--line);background:#fff;align-items:center;gap:7px;margin:0 18px;padding:8px 10px;font-size:11px;display:flex}.empty-detail{text-align:center;min-height:100%;color:var(--muted);place-content:center;justify-items:center;padding:32px;display:grid}.empty-detail h2{color:var(--ink);margin:12px 0 4px;font-size:15px}.empty-detail p{max-width:240px;font-size:12px;line-height:1.6}.mobile-detail-close{z-index:3;float:right;border:1px solid var(--line);background:#fff;place-items:center;width:32px;height:32px;margin:8px 8px -40px 0;display:grid;position:sticky;top:8px}.reader-dialog{border:1px solid var(--line);width:min(760px,100% - 32px);max-height:calc(100vh - 48px);color:var(--ink);background:#fff;padding:0}.reader-dialog::backdrop{background:#17201c99}.reader-dialog>header{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:start;gap:20px;padding:18px 22px;display:flex;position:sticky;top:0}.reader-dialog header span{color:var(--accent);font:700 11px ui-monospace,monospace}.reader-dialog header h2{margin:5px 0 0;font-size:20px}.reader-dialog header button{border:1px solid var(--line);background:#fff;place-items:center;width:32px;height:32px;display:grid}.reader-dialog article{padding:6px 22px 30px}.reader-dialog article section{padding-top:20px}.reader-dialog article h3{color:var(--accent);margin:0 0 10px;font-size:14px}.reader-dialog article p{color:#3f4a45;font-size:14px;line-height:1.78}.mobile-backdrop{display:none}@media (max-width:1100px){.app-shell{grid-template-columns:226px minmax(400px,1fr) 0}.app-shell.has-detail{grid-template-columns:226px minmax(400px,1fr) 300px}.topbar{grid-template-columns:226px minmax(260px,560px) 1fr}.brand{padding:0 12px}.detail-heading h2{font-size:16px}}@media (max-width:760px){.app-shell{grid-template:52px minmax(0,1fr)/1fr}.topbar{grid-column:1;grid-template-columns:38px minmax(0,1fr) 42px;padding:0 7px}.mobile-menu{background:0 0;border:0;place-items:center;width:34px;height:34px;display:grid}.brand{border:0;min-width:0;padding:0 5px}.brand svg{display:none}.brand strong{font-size:13px}.brand span{font-size:9px}.artifact-link{justify-content:center;width:34px;height:34px;margin:0;padding:0}.artifact-link span{display:none}.search-box{z-index:20;background:#ffffffed;margin:0;position:absolute;top:59px;left:8px;right:8px}.left-panel{z-index:80;width:min(320px,88vw);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:12px 0 30px #17201c26}.left-panel.is-open{transform:translate(0)}.panel-mobile-heading{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:52px;padding:0 12px;font-size:13px;display:flex;position:sticky;top:0}.panel-mobile-heading button,.mobile-detail-close{background:0 0;border:0;place-items:center;width:32px;height:32px;display:grid}.graph-workspace{grid-row:2}.graph-toolbar{top:48px;left:8px;right:8px}.view-label{display:none}.graph-status{bottom:8px;left:8px;right:8px}.graph-status span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.right-panel,.has-detail .right-panel{z-index:90;border:0;border-top:1px solid var(--line);height:min(74vh,620px);transition:transform .18s;display:block;position:fixed;bottom:0;left:0;right:0;transform:translateY(102%);box-shadow:0 -14px 34px #17201c2b}.right-panel.is-open{transform:translateY(0)}.mobile-detail-close{z-index:3;float:right;margin:8px 8px -40px 0;position:sticky;top:8px}.mobile-backdrop{z-index:70;background:#17201c73;border:0;display:block;position:fixed;inset:0}.presentation-bar{width:calc(100% - 16px);bottom:54px}.presentation-bar span{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
