/* Canonical foundation for the local workspace and public offline atlas. */
:root{--ink:#183c37;--muted:#536e67;--subtle:#647a73;--accent:#176450;--accent-hover:#104d3d;--accent-soft:#e6f0eb;--line:#dbe5df;--bg:#f7f9f6;--panel:#eef3ee;--surface:#fff;--focus:#147661;--radius:14px;--ease:cubic-bezier(.16,1,.3,1);--fast:160ms;--motion:260ms;--body-font:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
::selection{background:#c7e4d5;color:#153e31}html{scrollbar-color:#afc3b7 var(--bg);scrollbar-width:thin}body{color:var(--ink);font-family:var(--body-font);-webkit-font-smoothing:antialiased}input,textarea{caret-color:var(--accent)}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a{text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,summary{touch-action:manipulation}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.5}.ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Offline atlas. Shared foundation is prepended by the builder. */
*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px/1.75 var(--body-font)}[hidden]{display:none!important}button{cursor:pointer;border:0;background:none}a{color:var(--accent)}button,a,input,select,summary{transition:background-color var(--fast),color var(--fast),border-color var(--fast)}button:active:not(:disabled){transform:translateY(1px)}
aside{position:fixed;inset:0 auto 0 0;width:248px;padding:36px 22px 24px;background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;z-index:20;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);margin:0 12px 42px}.brand-mark{display:grid;place-items:center;background:#1a493c;color:#e1f1e6;width:42px;height:46px;border-radius:12px}.brand-mark svg{width:33px;height:33px}.brand b{display:block;font-size:30px;letter-spacing:-.03em;line-height:1.15;font-weight:650}.brand small{display:block;font-size:10px;letter-spacing:.05em;color:var(--muted);margin-top:4px}nav{display:grid;gap:7px}nav button{display:flex;align-items:center;gap:12px;min-height:46px;padding:11px 14px;border-radius:10px;text-align:left;color:var(--muted);font-size:14px}nav button.active{background:#dfece3;color:#14583f;font-weight:600}nav button:hover{background:#e1ebe2}.nav-count{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums}footer{margin-top:auto;padding:36px 12px 0;color:var(--muted);font-size:12px;line-height:1.9}footer>span{font-size:10px}.offline-dot{display:flex;align-items:center;gap:7px;margin-top:16px;font-size:12px}.offline-dot:before,.mode-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#277b59;display:inline-block}
main{margin-left:248px;padding:40px clamp(24px,4.4vw,76px) 64px;max-width:1576px;min-height:100dvh}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:23px;margin-bottom:36px;border-bottom:1px solid var(--line)}h1{font-size:24px;font-weight:600;letter-spacing:-.025em;line-height:1.3;margin:0}.mode-badge{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}h2,h3{letter-spacing:-.025em;text-wrap:balance}p{overflow-wrap:anywhere}.welcome{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:50px;padding:20px 0 38px}.welcome h2{font-size:clamp(30px,3.1vw,46px);line-height:1.42;font-weight:580;letter-spacing:-.03em;margin:0 0 20px}.welcome p{font-size:15px;line-height:1.95;color:var(--muted);margin:0}.tags{display:flex;gap:20px;color:var(--muted);font-size:12px;margin-top:25px}.tags span{display:flex;gap:7px;align-items:center}.tags .ui-icon{width:16px;height:16px}.topic-paths{display:grid;border-left:1px solid var(--line);padding-left:26px}.topic-paths button{display:flex;gap:14px;align-items:center;padding:18px 0;text-align:left;color:var(--ink);font-size:14px}.topic-paths button+button{border-top:1px solid var(--line)}.topic-paths .ui-icon:last-child{margin-left:auto;width:16px;color:var(--accent)}.topic-paths button:hover{color:var(--accent)}
.knowledge-search{background:#fff;border:1px solid #c9dcd0;border-radius:var(--radius);padding:24px 26px;margin-bottom:24px}.knowledge-search label{font-size:14px;font-weight:600;display:block;margin-bottom:12px}.knowledge-search>div{display:flex;gap:12px;align-items:center}.search-field{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.search-field .ui-icon{color:var(--accent)}input[type=search]{width:100%;min-width:0;background:#fff;padding:12px 14px;border:1px solid var(--line);border-radius:9px;font-size:14px;color:var(--ink)}.knowledge-search input{border:0;padding:9px 0;font-size:16px}.knowledge-search p{margin:13px 0 0;color:var(--muted);font-size:12px}.search-submit,.primary{background:var(--accent);color:#fff;padding:12px 20px;border-radius:9px;font-size:14px;font-weight:550;min-height:44px;white-space:nowrap}.search-submit:hover,.primary:hover{background:var(--accent-hover)}input::placeholder{color:var(--subtle)}.examples-entry{width:100%;display:flex;align-items:center;gap:18px;padding:24px 6px;text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink)}.examples-entry>.ui-icon{color:var(--accent);width:26px;height:26px}.examples-entry b,.examples-entry em{display:block}.examples-entry b{font-size:17px;font-weight:600;margin-bottom:4px}.examples-entry em{font-size:13px;color:var(--muted);font-style:normal}.entry-arrow{margin-left:auto;transition:transform var(--motion) var(--ease)}.examples-entry:hover .entry-arrow{transform:translateX(4px)}.welcome-note{font-size:12px;color:var(--muted);margin-top:18px}.examples-intro{margin:0 0 30px}.examples-intro h2{font-size:30px;font-weight:580;margin:0 0 10px}.examples-intro p{color:var(--muted);font-size:14px;margin:0}.example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.example-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;padding:25px 2px;border-bottom:1px solid var(--line);color:var(--ink)}.example-card:hover{background:#edf3ee}.example-card small{font-size:12px;color:var(--muted)}.example-card b{font-size:19px;line-height:1.5;font-weight:600;margin:8px 0 10px}.example-question{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 18px}.choice-mark{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;color:var(--accent);font-size:12px}.choice-mark .ui-icon{width:17px;height:17px}
.section-label{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:26px 0 14px}.config{border-top:1px solid var(--line);margin-top:26px}.config label{display:block;font-size:12px;color:var(--muted);margin:16px 0 7px}.config .selected-example-name{font-size:15px;font-weight:600}.config select{width:100%;font-size:12px}.primary,.outline{width:100%;margin-top:12px}.outline{border:1px solid #c5d5c9;border-radius:9px;padding:10px;min-height:44px;font-size:13px}.outline:hover{background:var(--accent-soft)}.quiet{font-size:12px;color:var(--muted);padding:12px 0}.hint{font-size:12px;line-height:1.8;color:var(--muted)}#history button{display:block;width:100%;padding:10px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--muted)}#history button:hover,#history button.selected{background:#dfece3;border-radius:8px}
.message{margin:12px 0 30px}.question-bubble{margin:0 0 24px;padding:16px 20px;border-radius:12px;background:var(--accent-soft);font-size:16px;line-height:1.85;white-space:pre-wrap}.answer-bubble{padding:8px 0 12px;max-width:75ch;line-height:1.95;overflow-wrap:anywhere;font-size:15px}.answer-bubble p{margin:0 0 22px}.answer-bubble pre,.paper pre{overflow:auto;padding:18px;border-radius:10px;background:#edf3ef;font-size:13px;line-height:1.7}.katex-display{overflow:auto hidden;max-width:100%;padding:4px}.actions{display:flex;gap:22px;margin:14px 0 22px}.actions button{font-size:12px;color:var(--muted);min-height:36px}.actions button:hover{color:var(--accent)}.back-link{display:inline-flex;align-items:center;gap:10px;color:var(--muted);padding:0 0 24px;font-size:13px}.back-link .ui-icon{transform:rotate(180deg)}.record-panel{border:1px solid var(--line);border-radius:12px;background:#fff;margin:12px 0;font-size:13px}.record-panel summary{padding:15px 18px;cursor:pointer;list-style-position:inside;color:var(--ink)}.record-panel summary:hover{background:#f0f5f0}.panel-body{border-top:1px solid var(--line);padding:20px}.panel-body label{display:block;font-size:13px;margin-bottom:8px}select{padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;max-width:100%;font-size:13px}.panel-body select{width:100%}.source-location,.provenance{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.source-text{white-space:pre-wrap;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.details-grid div{font-size:12px;color:var(--muted)}.details-grid b{display:block;color:var(--ink);font-size:22px;font-weight:550;font-variant-numeric:tabular-nums}.trace{border-top:1px solid var(--line);padding:8px 0;font-size:12px}.diagnostic{background:#f7efe1;color:#755326;border-radius:10px;padding:14px;font-size:13px}.related-wiki{margin-top:26px;padding-top:14px;border-top:1px solid var(--line)}.related-wiki h3{font-size:15px;font-weight:600}.wiki-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;background:var(--accent-soft);border-radius:8px;color:var(--accent);font-size:12px;margin:3px 6px 3px 0;min-height:44px}.wiki-chip:hover{background:#d5e6da}
.knowledge-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;margin-top:24px}#article-list{max-height:75dvh;overflow:auto;position:sticky;top:22px;align-self:start;padding-right:8px}#article-list button{display:block;min-height:44px;width:100%;text-align:left;padding:12px 13px;color:var(--muted);font-size:13px;border-radius:8px;margin-bottom:4px}#article-list button.selected{background:#e1eee5;color:var(--accent);font-weight:600}#article-list button:hover{background:#eaf1eb}.wiki-detail{min-width:0}.paper{padding:26px 0;font-size:15px;line-height:1.95;max-width:75ch;overflow-wrap:anywhere}.paper h1{font-size:27px;line-height:1.5}.paper h2{font-size:20px;margin:32px 0 12px}.paper h3{font-size:17px}.paper li{margin:9px 0}.wiki-graph{padding:22px 24px;background:#edf3ee;border-radius:14px}.wiki-graph h2{font-size:17px;margin:0;font-weight:600}.graph-map{display:grid;grid-template-columns:minmax(100px,1fr) 1.5fr;align-items:center;gap:24px;margin:22px 0 0}.graph-hub{position:relative;background:#1e5b46;color:#fff;padding:20px 15px;border-radius:12px;font-size:14px;text-align:center}.graph-hub:after{content:"";position:absolute;top:50%;left:100%;width:24px;border-top:1px solid #8fac99}.graph-neighbors{border-left:1px solid #8fac99;padding:0 0 0 18px;display:grid;gap:10px}.graph-node{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;padding:12px;border-radius:8px;font-size:12px;min-height:44px;text-align:left;color:var(--ink)}.graph-node:before{content:"";position:absolute;right:100%;top:50%;width:19px;border-top:1px solid #8fac99}.graph-node .ui-icon{width:14px;height:14px}.graph-node:hover{background:#dbece0;color:var(--accent)}
.source-card,.archive-card{padding:24px 0;border-bottom:1px solid var(--line)}.source-card h2,.archive-card h2{font-size:16px;font-weight:550;line-height:1.75;margin:0 0 7px}.source-card p,.archive-card p,.view-description{font-size:13px;color:var(--muted);margin:0}.archive-card{display:flex;align-items:center;gap:24px;justify-content:space-between}.archive-card button{white-space:nowrap;min-height:44px;color:var(--accent);font-size:13px}.view-description{margin-bottom:12px}#notice:not(:empty){padding:16px;border:1px solid var(--line);border-radius:10px;margin-bottom:24px;color:var(--muted);font-size:14px}#notice:empty{display:none}.processing{display:flex;align-items:center;gap:12px;padding:26px;color:var(--muted)}.dots{display:flex;gap:4px}.dots i{width:5px;height:5px;background:var(--accent);border-radius:50%;opacity:.7}@keyframes relation-focus{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.graph-map{animation:relation-focus 300ms var(--ease)}
#menu,#sidebar-dismiss{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{clip:auto;width:auto;height:auto;padding:12px;background:var(--surface);z-index:40;top:0;left:20px}table{border-collapse:collapse;max-width:100%;font-size:13px;display:block;overflow:auto}td,th{border:1px solid var(--line);padding:10px}th{background:var(--panel)}.markdown img{display:none}main:focus{outline:none}
@media(min-width:761px) and (max-width:1150px){aside{width:220px;padding:30px 16px}main{margin-left:220px;padding:32px 28px 50px}.welcome{grid-template-columns:1fr;gap:24px}.topic-paths{display:flex;justify-content:space-between;border-left:0;border-top:1px solid var(--line);padding:0}.topic-paths button+button{border-top:0}.topic-paths button{gap:8px}.knowledge-layout{grid-template-columns:160px minmax(0,1fr);gap:22px}.graph-map{grid-template-columns:1fr}.graph-hub:after{display:none}.graph-neighbors{border-left:0;padding:0}.graph-node:before{display:none}}
@media(max-width:760px){aside{width:280px;transform:translateX(-100%);transition:transform var(--motion) var(--ease);padding-top:70px;visibility:hidden}body.sidebar-open aside{transform:translateX(0);visibility:visible;box-shadow:12px 0 50px #00000021}body.sidebar-open{overflow:hidden}body.sidebar-open #sidebar-dismiss{display:block;position:fixed;inset:0;background:#183c3733;z-index:19}#menu{display:grid;place-items:center;position:fixed;top:13px;left:16px;z-index:30;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}main{margin:0;padding:80px 22px 44px}header{margin-bottom:28px;padding-bottom:20px}h1{font-size:22px}.mode-badge{font-size:12px}.welcome{grid-template-columns:1fr;gap:28px;padding:0 0 28px}.welcome h2{font-size:31px;margin-bottom:15px}.welcome p{font-size:14px}.tags{gap:16px;font-size:12px;margin-top:20px}.topic-paths{display:none}.knowledge-search{padding:20px}.knowledge-search>div{flex-wrap:wrap;gap:15px}.search-field{flex-basis:100%}.knowledge-search input{font-size:15px}.search-submit{width:100%;text-align:center}.knowledge-search p{font-size:12px;line-height:1.8}.examples-entry{padding:22px 0;gap:13px}.examples-entry b{font-size:16px}.examples-entry em{font-size:12px}.examples-entry>.ui-icon{width:22px}.example-grid{grid-template-columns:1fr}.examples-intro h2{font-size:27px}.example-card{padding:24px 0}.example-card b{font-size:18px}.question-bubble{padding:16px;font-size:15px}.answer-bubble{font-size:15px;line-height:1.95}.knowledge-layout{grid-template-columns:1fr;gap:24px}#article-list{position:static;max-height:210px;border-bottom:1px solid var(--line);padding-bottom:12px}#article-list button{font-size:14px}.paper h1{font-size:24px}.graph-map{gap:16px;grid-template-columns:minmax(90px,1fr) 1.4fr}.graph-hub{font-size:13px;padding:16px 10px}.graph-hub:after{width:16px}.graph-neighbors{padding-left:13px}.graph-node{font-size:12px;overflow-wrap:anywhere}.graph-node:before{width:14px}.wiki-graph{padding:20px 16px}.archive-card{align-items:flex-start;gap:12px}.archive-card h2{font-size:14px}.archive-card button{font-size:12px}.panel-body{padding:16px}.details-grid{gap:10px}.details-grid b{font-size:18px}.record-panel summary{padding:15px;font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.examples-entry:hover .entry-arrow,button:active:not(:disabled){transform:none}}
