:root {
  --canvas: #f3f1eb;
  --paper: #fffefa;
  --ink: #17211d;
  --muted: #657069;
  --line: #d8dad2;
  --line-soft: #e9e9e2;
  --forest: #245b47;
  --forest-dark: #174334;
  --forest-soft: #e5f0e9;
  --blue: #476d8a;
  --blue-soft: #e8f0f6;
  --amber: #a5642c;
  --amber-soft: #f8eadb;
  --rose: #98594f;
  --rose-soft: #f6e7e3;
  --violet: #675e86;
  --violet-soft: #eeebf5;
  --shadow: 0 20px 55px rgba(30, 43, 36, .09);
  --shadow-soft: 0 8px 26px rgba(30, 43, 36, .065);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--canvas);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { min-height: 100%; max-width: 100%; margin: 0; }
body { overflow-x: hidden; background: var(--canvas); color: var(--ink); }
button, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible, a:focus-visible { outline: 3px solid rgba(36,91,71,.25); outline-offset: 2px; }

.app-shell { display: grid; grid-template-columns: 286px minmax(0,1fr); min-height: 100vh; transition: grid-template-columns .22s ease; }
.app-shell.library-collapsed { grid-template-columns: 72px minmax(0,1fr); }
.library-panel { position: sticky; top: 0; z-index: 30; height: 100vh; display: flex; flex-direction: column; background: #e8e5dc; border-right: 1px solid #cdcec6; overflow: hidden; }
.brand { min-height: 92px; display: flex; align-items: center; gap: 12px; padding: 22px 16px 18px 20px; }
.brand-copy { min-width: 0; }
.brand h1 { margin: 2px 0 0; white-space: nowrap; font-family: Georgia, "Songti SC", serif; font-size: 24px; letter-spacing: .02em; }
.eyebrow { white-space: nowrap; color: var(--forest); font-size: 10px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.brand-mark { flex: 0 0 auto; width: 43px; height: 43px; position: relative; border-radius: 50%; background: var(--forest-dark); box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.brand-mark span { position: absolute; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; }
.brand-mark span:nth-child(1) { inset: 8px; }.brand-mark span:nth-child(2) { width: 7px; height: 7px; left: 8px; top: 18px; border: 0; background: #ead3a4; }.brand-mark span:nth-child(3) { width: 5px; height: 5px; right: 8px; top: 11px; border: 0; background: white; }
.panel-toggle { margin-left: auto; flex: 0 0 auto; width: 30px; height: 30px; border: 1px solid #cacbc3; border-radius: 8px; background: rgba(255,255,255,.5); font-size: 22px; line-height: 1; }
.panel-toggle:hover { background: white; }
.search-box { display: flex; align-items: center; gap: 8px; margin: 0 14px 20px; padding: 11px 12px; color: var(--muted); background: rgba(255,255,255,.68); border: 1px solid transparent; border-radius: 11px; }
.search-box:focus-within { background: white; border-color: #aebfb5; }
.search-box input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; font-size: 13px; }
.library-heading { display: flex; align-items: center; justify-content: space-between; padding: 0 19px 10px; color: #626a64; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.count-badge { min-width: 24px; padding: 3px 7px; border-radius: 999px; color: var(--forest); background: rgba(36,91,71,.1); text-align: center; }
.paper-list { min-height: 0; overflow-y: auto; padding: 0 9px 18px; }
.library-overview { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; margin: 0 2px 10px; padding: 9px; border: 1px solid rgba(36,91,71,.11); border-radius: 11px; background: rgba(255,255,255,.42); }.library-overview div { text-align: center; }.library-overview b, .library-overview span { display: block; }.library-overview b { color: var(--forest); font-family: Georgia,serif; font-size: 16px; }.library-overview span { margin-top: 2px; color: var(--muted); font-size: 8px; }
.paper-item { width: 100%; display: flex; gap: 10px; align-items: center; margin-bottom: 6px; padding: 13px 11px; border: 0; border-radius: 13px; background: transparent; text-align: left; }
.paper-item:hover { background: rgba(255,255,255,.55); }.paper-item.active { background: var(--paper); box-shadow: var(--shadow-soft); }
.paper-initial { display: none; flex: 0 0 auto; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 10px; color: var(--forest); background: rgba(255,255,255,.62); font-family: Georgia, "Songti SC", serif; font-weight: 800; }
.paper-item-copy { min-width: 0; flex: 1; }.paper-title { display: block; font-family: Georgia, "Songti SC", serif; font-size: 14px; line-height: 1.45; font-weight: 700; }
.paper-meta { display: flex; gap: 6px; align-items: center; margin-top: 7px; color: var(--muted); font-size: 11px; }.mini-state { margin-left: auto; width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }.mini-state.confirmed { background: var(--forest); }
.library-empty { padding: 20px 12px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.library-footer { margin-top: auto; min-height: 66px; display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-top: 1px solid #d0d0c8; }
.sync-state { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; white-space: nowrap; }.sync-dot, .verified-dot { width: 8px; height: 8px; border-radius: 50%; background: #55936e; box-shadow: 0 0 0 4px rgba(85,147,110,.12); }
.icon-button { flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid #ccccC4; border-radius: 9px; background: rgba(255,255,255,.52); font-size: 18px; }.icon-button:hover { background: white; }

.library-collapsed .brand { padding: 16px 14px; min-height: 92px; flex-direction: column; gap: 8px; }.library-collapsed .brand-copy, .library-collapsed .search-box, .library-collapsed .library-heading, .library-collapsed .sync-state { display: none; }
.library-collapsed .panel-toggle { margin: 0; width: 28px; height: 25px; }.library-collapsed .paper-list { padding: 6px 10px; }.library-collapsed .library-overview { display: none; }.library-collapsed .paper-item { padding: 7px; justify-content: center; }.library-collapsed .paper-initial { display: flex; }.library-collapsed .paper-item-copy { display: none; }.library-collapsed .library-footer { justify-content: center; padding: 12px; }

.main-panel { min-width: 0; }
.topbar { position: sticky; top: 0; z-index: 20; height: 62px; display: flex; align-items: center; gap: 12px; padding: 0 24px; background: rgba(248,247,242,.91); border-bottom: 1px solid rgba(207,208,200,.9); backdrop-filter: blur(16px); }
.breadcrumb { min-width: 0; display: flex; gap: 8px; align-items: center; color: var(--muted); font-size: 12px; }.breadcrumb strong { max-width: 54vw; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--ink); }.breadcrumb b { color: #afb2ab; }
.library-expand-button, .mobile-library-button { display: none; border: 0; background: transparent; font-size: 20px; }
.library-collapsed .library-expand-button { display: block; }
.ask-top-button { margin-left: auto; padding: 8px 12px; border: 1px solid #cbd2cd; border-radius: 9px; background: white; color: var(--forest); font-size: 12px; font-weight: 750; }.ask-top-button span { color: var(--amber); }
.portfolio-button { padding: 8px 12px; border: 1px solid #b8c9bf; border-radius: 9px; color: var(--forest); background: var(--forest-soft); font-size: 12px; font-weight: 800; }.portfolio-button:hover { border-color: var(--forest); background: #dcece2; }.portfolio-button span { margin-right: 3px; }
.paper-workspace { min-width: 0; width: min(1440px,100%); margin: 0 auto; padding: 30px 34px 90px; }

.paper-header { display: flex; justify-content: space-between; align-items: start; gap: 24px; margin-bottom: 20px; }.paper-header h1 { max-width: 970px; margin: 0; overflow-wrap: anywhere; font-family: Georgia, "Songti SC", serif; font-size: clamp(31px,4vw,52px); line-height: 1.12; letter-spacing: -.028em; }.paper-subtitle { max-width: 950px; margin: 10px 0 0; overflow-wrap: anywhere; color: var(--muted); font-size: 13px; line-height: 1.6; }
.paper-kicker { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 11px; }.paper-actions { display: flex; gap: 9px; flex-shrink: 0; }
.button { padding: 10px 14px; border: 1px solid #cbd0cb; border-radius: 9px; background: rgba(255,255,255,.82); font-size: 12px; font-weight: 750; }.button:hover { background: white; transform: translateY(-1px); }.button.primary { color: white; border-color: var(--forest); background: var(--forest); box-shadow: 0 8px 20px rgba(36,91,71,.18); }.button.primary:hover { background: var(--forest-dark); }.button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.tag { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 9px; border-radius: 999px; color: #49647a; background: var(--blue-soft); font-size: 10px; font-weight: 800; }.tag.pending { color: #805126; background: var(--amber-soft); }.tag.confirmed { color: var(--forest-dark); background: var(--forest-soft); }.tag.neutral { color: #5e645f; background: #e9e8e2; }
.method-line { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-bottom: 20px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.5); color: #4d5b55; font-size: 11px; }.method-line-label { color: var(--muted); }.method-line span:not(.method-line-label) { font-weight: 750; }.method-line i { color: #a8aaa4; font-style: normal; }
.warning-panel { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 18px; padding: 13px 15px; border: 1px solid #ead0b4; border-radius: 11px; background: var(--amber-soft); font-size: 12px; }.warning-panel strong { color: #75471f; }

.material-gate { width:min(1050px,100%); margin:24px auto 0; overflow:hidden; border:1px solid #d3c2ad; border-radius:18px; background:var(--paper); box-shadow:var(--shadow-soft); }.material-gate>header { padding:38px clamp(24px,5vw,58px); color:#f8f4eb; background:linear-gradient(135deg,#463a2e,#6b4d34); }.material-gate>header .section-label { color:#ebcc8e; }.material-gate>header h2 { margin:8px 0 12px; font-family:Georgia,"Songti SC",serif; font-size:clamp(28px,3.6vw,43px); }.material-gate>header p { max-width:850px; margin:0; color:#e6dbcc; font-size:14px; line-height:1.8; }.material-gate-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:28px clamp(20px,4vw,48px); }.material-gate-grid article { min-width:0; padding:17px; border:1px solid var(--line); border-radius:11px; background:#f8faf7; }.material-gate-grid article.missing { border-color:#dfb89f; background:#fff4eb; }.material-gate-grid span { display:inline-block; padding:4px 7px; border-radius:999px; color:var(--forest); background:var(--forest-soft); font-size:9px; font-weight:850; }.material-gate-grid .missing span { color:#8a4b31; background:#f4d9c8; }.material-gate-grid h3 { margin:13px 0 7px; font-size:15px; }.material-gate-grid p { margin:0; color:var(--muted); font-size:11px; line-height:1.65; }.material-gate-boundary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0 clamp(20px,4vw,48px) 28px; }.material-gate-boundary div { padding:18px; border-left:4px solid var(--forest); background:var(--forest-soft); }.material-gate-boundary div+div { border-color:var(--rose); background:var(--rose-soft); }.material-gate-boundary b { font-size:12px; }.material-gate-boundary p { margin:8px 0 0; font-size:12px; line-height:1.7; }.material-gate>footer { display:grid; grid-template-columns:110px 1fr; gap:14px; padding:20px clamp(20px,4vw,48px); border-top:1px solid var(--line); background:#f4f2eb; }.material-gate>footer span { color:var(--amber); font-size:11px; font-weight:900; letter-spacing:.08em; }.material-gate>footer p { margin:0; font-size:13px; line-height:1.6; }

.paper-resource-bar { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:0 0 22px; }.paper-resource-bar a,.paper-resource-bar button { min-width:0; display:grid; grid-template-columns:36px 1fr; grid-template-rows:auto auto; column-gap:10px; padding:13px 14px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:rgba(255,255,255,.72); text-align:left; text-decoration:none; }.paper-resource-bar a:hover,.paper-resource-bar button:hover { border-color:#8eaa9a; background:white; }.paper-resource-bar span { grid-row:1/3; align-self:center; color:var(--forest); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:19px; }.paper-resource-bar b { overflow:hidden; font-size:12px; white-space:nowrap; text-overflow:ellipsis; }.paper-resource-bar small { margin-top:3px; overflow:hidden; color:var(--muted); font-size:9px; white-space:nowrap; text-overflow:ellipsis; }.paper-resource-bar .resource-code { border-color:#9ac5b4; background:var(--forest-soft); }

.paper-explainer { margin-bottom: 22px; overflow: hidden; border: 1px solid #a9c2b3; border-radius: 20px; background: var(--paper); box-shadow: 0 22px 54px rgba(28,61,46,.09); }
.paper-explainer > header { padding: clamp(25px,4vw,42px); color: #eef7f1; background: radial-gradient(circle at 88% 12%,rgba(233,208,122,.18),transparent 34%),linear-gradient(135deg,#123e31,#1e5a43); }
.paper-explainer > header .section-label { color: #e9d07a; }
.paper-explainer > header h2 { margin: 8px 0 13px; font-family: Georgia,"Songti SC",serif; font-size: clamp(29px,4vw,44px); letter-spacing: -.025em; }
.paper-explainer > header p { max-width: 980px; margin: 0; color: #d6e7dc; font-family: Georgia,"Songti SC",serif; font-size: 17px; line-height: 1.85; }
.paper-storyline { display: grid; padding: 8px clamp(19px,3vw,34px); }
.paper-storyline article { position: relative; display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 15px; padding: 19px 0; }
.paper-storyline article:not(:last-child) { border-bottom: 1px solid var(--line-soft); }
.paper-storyline article > span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #a8c1b1; border-radius: 50%; color: var(--forest); background: var(--forest-soft); font-family: Georgia,serif; font-size: 15px; font-weight: 800; }
.paper-storyline h3 { margin: 0 0 7px; color: var(--forest-dark); font-size: 13px; }
.paper-storyline p { margin: 0; color: #35443d; font-size: 14px; line-height: 1.78; }
.explainer-memory { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr); gap: 0; border-top: 1px solid var(--line); background: #f5f5ef; }
.explainer-memory > div, .explainer-memory > aside { padding: 24px clamp(20px,3vw,34px); }
.explainer-memory > aside { border-left: 1px solid var(--line); background: var(--amber-soft); }
.explainer-memory strong { color: var(--forest); font-size: 11px; letter-spacing: .08em; }
.explainer-memory ol { margin: 13px 0 0; padding-left: 20px; }
.explainer-memory li { margin: 7px 0; padding-left: 4px; font-size: 13px; line-height: 1.65; }
.explainer-memory aside strong { color: #855021; }
.explainer-memory aside p { margin: 10px 0 0; color: #594b3f; font-family: Georgia,"Songti SC",serif; font-size: 14px; line-height: 1.75; }
.explainer-audit { width: 100%; display: flex; justify-content: space-between; gap: 16px; padding: 15px clamp(20px,3vw,34px); border: 0; border-top: 1px solid #adc5b7; color: #e8f3ec; background: var(--forest-dark); text-align: left; }
.explainer-audit:hover { background: #0f3529; }
.explainer-audit span { color: #bcd2c5; font-size: 11px; }
.explainer-audit b { color: #f0d788; font-size: 12px; white-space: nowrap; }
.reading-meta-tools { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.58); }
.reading-meta-tools > summary { display: grid; grid-template-columns: 55px 1fr auto; gap: 10px; align-items: center; padding: 16px 19px; list-style: none; cursor: pointer; }
.reading-meta-tools > summary::-webkit-details-marker { display: none; }
.reading-meta-tools > summary span { color: var(--forest); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.reading-meta-tools > summary b { font-size: 13px; }
.reading-meta-tools > summary small { color: var(--muted); font-size: 10px; }
.reading-meta-tools > summary::after { content: "+"; color: var(--forest); font-size: 20px; font-weight: 400; }
.reading-meta-tools[open] > summary::after { content: "−"; }
.reading-meta-tools > div { display: grid; gap: 18px; padding: 0 18px 18px; }

.reader-guide { width:min(1100px,100%); margin:0 auto; overflow:hidden; border:1px solid #d1d4cc; border-radius:16px; background:#fffefa; box-shadow:0 12px 38px rgba(30,43,36,.055); }.reader-guide-lead { padding:36px clamp(24px,5vw,64px); border-bottom:1px solid var(--line); background:#f8f7f1; }.reader-guide-lead h2 { max-width:900px; margin:9px 0 22px; font-family:Georgia,"Songti SC",serif; font-size:clamp(27px,3vw,39px); line-height:1.35; }.reader-one-sentence { display:grid; grid-template-columns:72px 1fr; gap:15px; align-items:start; max-width:920px; }.reader-one-sentence span { padding:7px 9px; border-radius:999px; color:white; background:var(--forest); font-size:10px; font-weight:850; text-align:center; }.reader-one-sentence p { margin:0; color:#2d3b34; font-family:Georgia,"Songti SC",serif; font-size:17px; line-height:1.85; }
.guide-section { display:grid; grid-template-columns:54px minmax(0,1fr); gap:22px; padding:42px clamp(24px,5vw,64px); border-bottom:1px solid var(--line-soft); scroll-margin-top:72px; }.guide-section:last-child { border-bottom:0; }.guide-number { padding-top:3px; color:#9aa69f; font-family:Georgia,serif; font-size:18px; }.guide-copy { min-width:0; }.guide-copy>h2 { margin:0 0 16px; font-family:Georgia,"Songti SC",serif; font-size:28px; }.guide-copy>p,.guide-intro { max-width:880px; margin:0 0 18px; color:#3f4d46; font-size:14px; line-height:1.82; }.guide-intro { color:#57645d; }.prerequisite-list,.existing-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.prerequisite-list article,.existing-methods article { padding:18px; border:1px solid var(--line-soft); border-radius:10px; background:#fbfbf7; }.prerequisite-list h3,.existing-methods h3 { margin:0 0 9px; font-size:15px; }.prerequisite-list p,.existing-methods p { margin:7px 0; color:#405047; font-size:12px; line-height:1.7; }.prerequisite-list small { display:block; margin-top:10px; color:var(--muted); line-height:1.6; }.guide-takeaway { margin-top:18px; padding:17px 19px; border-left:4px solid var(--amber); background:var(--amber-soft); }.guide-takeaway>b { color:#865021; font-size:12px; }.guide-takeaway p { margin:7px 0 0; font-size:14px; line-height:1.75; }.guide-takeaway small { display:block; margin-top:8px; color:#806d5a; }
.guide-pipeline { display:grid; gap:0; margin:22px 0 28px; padding:0; list-style:none; counter-reset:guide-step; }.guide-pipeline li { counter-increment:guide-step; position:relative; min-height:48px; padding:3px 0 20px 48px; color:#35453d; font-size:13px; line-height:1.65; }.guide-pipeline li::before { content:counter(guide-step); position:absolute; left:0; top:0; width:30px; height:30px; display:grid; place-items:center; border:1px solid #99b6a6; border-radius:50%; color:var(--forest); background:var(--forest-soft); font-family:Georgia,serif; font-weight:800; }.guide-pipeline li:not(:last-child)::after { content:""; position:absolute; left:15px; top:31px; bottom:0; border-left:1px solid #b9c9c0; }
.dimension-table-wrap,.guide-result-table { overflow:auto; border:1px solid var(--line); border-radius:11px; }.dimension-table,.guide-result-table table { width:100%; min-width:860px; border-collapse:collapse; background:white; }.dimension-table th,.dimension-table td,.guide-result-table th,.guide-result-table td { padding:13px 12px; border-right:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); font-size:11px; line-height:1.62; text-align:left; vertical-align:top; }.dimension-table thead th,.guide-result-table thead th { color:#294c3d; background:#eef3ef; font-weight:850; }.dimension-table tbody th { min-width:125px; color:var(--forest-dark); font-size:12px; }.dimension-table small { display:block; margin-top:7px; color:var(--muted); }.dimension-caveat { color:#765246; background:#fff9f5; }.guide-result-table { margin:20px 0; }.guide-result-table th:first-child { color:var(--muted); font-weight:650; }.guide-result-table th:nth-child(2) { color:var(--ink); }.guide-result-table td { font-variant-numeric:tabular-nums; }
.guide-source-figures { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:24px; }.guide-source-figures figure { margin:0; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:#f5f4ee; }.guide-source-figures img { width:100%; height:330px; display:block; object-fit:cover; object-position:top; border-bottom:1px solid var(--line); }.guide-source-figures figcaption { display:grid; gap:4px; padding:13px; }.guide-source-figures figcaption span { color:#46544d; font-size:11px; line-height:1.55; }.guide-source-figures figcaption small { color:var(--forest); }
.guide-findings { display:grid; gap:0; }.guide-findings article { display:grid; grid-template-columns:38px 1fr; gap:13px; padding:20px 0; border-bottom:1px solid var(--line-soft); }.guide-findings article:last-child { border-bottom:0; }.guide-findings article>span { color:var(--forest); font-family:Georgia,serif; font-size:18px; }.guide-findings h3 { margin:0 0 10px; font-size:16px; }.guide-findings p { margin:7px 0; color:#3c4a43; font-size:12px; line-height:1.7; }.guide-findings small { display:block; margin-top:9px; color:var(--muted); }.guide-findings .finding-caveat { color:#745347; }.bottom-line-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.bottom-line-grid article { padding:20px; border:1px solid #a9c8b7; border-radius:11px; background:var(--forest-soft); }.bottom-line-grid article.not-supported { border-color:#ddc0b6; background:var(--rose-soft); }.bottom-line-grid span { color:var(--forest); font-size:10px; font-weight:900; letter-spacing:.1em; }.bottom-line-grid .not-supported span { color:#8a4f46; }.bottom-line-grid p { margin:9px 0 0; font-size:13px; line-height:1.75; }.memorable-line { margin:20px 0 0; padding:17px 20px; border-left:4px solid var(--amber); color:#43382c; background:var(--amber-soft); font-family:Georgia,"Songti SC",serif; font-size:17px; line-height:1.7; }.guide-subheading { margin:28px 0 10px; font-size:16px; }.limitation-list { margin:0; padding-left:22px; }.limitation-list li { margin:8px 0; padding-left:4px; color:#49554f; font-size:12px; line-height:1.7; }.project-translation { display:grid; gap:11px; }.project-translation p { margin:0; padding:15px 17px; border-left:3px solid #8bb09b; background:#f2f6f3; font-size:13px; line-height:1.75; }
.code-locations { display:grid; grid-template-columns:minmax(200px,.75fr) minmax(0,1.25fr); gap:24px; margin-top:30px; padding-top:25px; border-top:1px solid var(--line); }.code-locations h3 { margin:6px 0 7px; font-size:19px; }.code-locations>div>p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }.code-locations>div:last-child { display:grid; gap:7px; }.code-locations a { display:grid; grid-template-columns:34px 1fr auto; column-gap:9px; padding:11px 13px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:white; text-decoration:none; }.code-locations a:hover { border-color:#8fb19e; }.code-locations a>span { grid-row:1/3; align-self:center; color:var(--forest); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }.code-locations a>b { font-size:12px; }.code-locations a>small { grid-column:2; margin-top:3px; color:var(--muted); font-size:9px; }.code-locations a>em { grid-column:3; grid-row:1/3; align-self:center; color:var(--forest); font-size:9px; font-style:normal; }
.fallback-story { padding:8px clamp(24px,5vw,64px); }.fallback-story article { display:grid; grid-template-columns:42px 1fr; gap:13px; padding:18px 0; border-bottom:1px solid var(--line-soft); }.fallback-story article>span { color:var(--forest); font-family:Georgia,serif; }.fallback-story h3 { margin:0 0 7px; font-size:14px; }.fallback-story p { margin:0; color:#3f4d46; font-size:13px; line-height:1.75; }.fallback-longform { padding:16px clamp(24px,5vw,64px) 44px; }.fallback-longform>div { padding:28px 0; border-top:1px solid var(--line-soft); }.fallback-longform h2 { margin:0 0 15px; font-family:Georgia,"Songti SC",serif; font-size:25px; }
.technical-appendix { width:min(1100px,100%); margin:18px auto 0; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.62); }.technical-appendix>summary { display:grid; grid-template-columns:76px 1fr auto; gap:11px; align-items:center; padding:17px 20px; list-style:none; cursor:pointer; }.technical-appendix>summary::-webkit-details-marker { display:none; }.technical-appendix>summary span { color:var(--forest); font-size:10px; font-weight:900; letter-spacing:.1em; }.technical-appendix>summary b { font-size:13px; }.technical-appendix>summary small { color:var(--muted); font-size:10px; }.technical-appendix>summary::after { content:"+"; color:var(--forest); font-size:20px; }.technical-appendix[open]>summary::after { content:"−"; }.technical-appendix-body { display:grid; gap:34px; padding:12px 26px 30px; border-top:1px solid var(--line-soft); }.technical-appendix-body>section { padding-top:24px; }
.share-poster-overlay { position:fixed; z-index:200; inset:0; display:grid; place-items:center; padding:24px; background:rgba(9,16,13,.72); backdrop-filter:blur(10px); }.share-poster-dialog { width:min(960px,100%); max-height:94vh; display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; border:1px solid #63736b; border-radius:18px; background:#f5f3ed; box-shadow:0 40px 100px rgba(0,0,0,.35); }.share-poster-dialog>header { display:flex; justify-content:space-between; gap:20px; padding:20px 24px; border-bottom:1px solid var(--line); }.share-poster-dialog h2 { margin:4px 0; font-family:Georgia,"Songti SC",serif; }.share-poster-dialog header p { margin:0; color:var(--muted); font-size:10px; }.share-poster-dialog header button { width:34px; height:34px; border:0; border-radius:50%; background:white; font-size:22px; }.share-poster-preview { min-height:0; overflow:auto; padding:20px; text-align:center; background:#d9d8d2; }.share-poster-preview img { width:min(520px,100%); height:auto; display:block; margin:0 auto; box-shadow:0 16px 45px rgba(0,0,0,.22); }.share-poster-dialog>footer { display:flex; justify-content:flex-end; gap:9px; padding:15px 22px; border-top:1px solid var(--line); }
.atlas-node.pending-knowledge circle { stroke-dasharray:5 4; opacity:.78; }.atlas-node.pending-knowledge .node-meta { opacity:.7; }

.route-console { display: grid; grid-template-columns: minmax(280px,.9fr) 120px minmax(520px,1.5fr); gap: 18px; align-items: stretch; margin-bottom: 20px; padding: 21px; border: 1px solid #bbcec1; border-radius: 18px; background: linear-gradient(135deg,#fcfdf9,#e9f2ec); box-shadow: var(--shadow-soft); }.route-console.missing { grid-template-columns: 1fr; }.route-decision h2 { margin: 6px 0 8px; font-family: Georgia,"Songti SC",serif; font-size: 25px; }.route-decision > p { margin: 0; color: #44534b; font-size: 12px; line-height: 1.7; }.next-action { display: grid; grid-template-columns: auto 1fr; gap: 9px; margin-top: 14px; padding: 10px 12px; border-radius: 9px; background: rgba(255,255,255,.75); font-size: 11px; line-height: 1.55; }.next-action b { color: var(--forest); }.coverage-dial { width: 112px; height: 112px; align-self: center; display: grid; place-items: center; position: relative; margin-bottom:24px; border-radius: 50%; background: conic-gradient(var(--forest) var(--coverage),#d7e1da 0); }.coverage-dial::before { content:""; position:absolute; inset:9px; border-radius:50%; background:#f8fbf8; }.coverage-dial > div, .coverage-dial > small { position:relative; z-index:1; text-align:center; }.coverage-dial > div b, .coverage-dial > div span { display:block; }.coverage-dial > div b { font-family:Georgia,serif; font-size:25px; }.coverage-dial > div span { color:var(--muted); font-size:8px; }.coverage-dial > small { position:absolute; width:190px; bottom:-34px; color:var(--muted); font-size:8px; line-height:1.45; }.pass-track { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }.pass-card { min-width:0; padding:12px; border:1px solid var(--line); border-radius:11px; background:rgba(255,255,255,.72); }.pass-card > div { display:flex; justify-content:space-between; gap:5px; align-items:center; }.pass-card > div span { color:var(--forest); font-family:Georgia,serif; font-size:18px; }.pass-card em { padding:3px 5px; border-radius:999px; color:var(--muted); background:#eeeeea; font-size:8px; font-style:normal; }.pass-card h3 { margin:9px 0 5px; font-size:12px; }.pass-card p { margin:0; color:var(--muted); font-size:9px; line-height:1.5; }.pass-card small { display:block; margin-top:9px; color:#7b817d; font-size:8px; }.pass-card.complete { border-color:#a9c4b2; background:#f3faf5; }.pass-card.complete em { color:var(--forest); background:var(--forest-soft); }.pass-card.recommended { border-color:#d9b48f; background:#fff9f2; }.pass-card.recommended em { color:#805126; background:var(--amber-soft); }

.reading-tabs { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin-bottom: 22px; }.reading-tab { display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; column-gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.6); text-align: left; }.reading-tab > span { grid-row: span 2; align-self: center; color: #a4aaa5; font-family: Georgia,serif; font-size: 22px; }.reading-tab b { font-size: 14px; }.reading-tab small { margin-top: 3px; color: var(--muted); }.reading-tab:hover { border-color: #9eafa5; background: white; }.reading-tab.active { color: white; border-color: var(--forest); background: var(--forest); box-shadow: 0 12px 30px rgba(36,91,71,.18); }.reading-tab.active > span, .reading-tab.active small { color: rgba(255,255,255,.7); }
.reading-stage { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr); gap: 18px; }

.reader-orientation { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.75fr); border: 1px solid #cddbd2; border-radius: 20px; overflow: hidden; background: var(--paper); box-shadow: var(--shadow); }.orientation-main { padding: clamp(24px,4vw,48px); }.orientation-main h2 { margin: 9px 0 16px; font-family: Georgia,"Songti SC",serif; font-size: clamp(30px,4vw,48px); }.orientation-main .lead { margin: 0; font-family: Georgia,"Songti SC",serif; font-size: 19px; line-height: 1.85; }.analogy { margin-top: 26px; padding: 18px 20px; border-left: 4px solid var(--amber); border-radius: 0 12px 12px 0; background: var(--amber-soft); }.analogy strong { font-size: 12px; letter-spacing: .08em; }.analogy p { margin: 7px 0 0; font-size: 15px; line-height: 1.8; }
.orientation-side { padding: 32px 28px; color: #e9f4ed; background: var(--forest-dark); }.orientation-side > strong { display: block; margin-bottom: 14px; color: #b9d5c5; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }.orientation-side ul { display: grid; gap: 13px; margin: 0; padding-left: 18px; }.orientation-side li { padding-left: 3px; font-size: 13px; line-height: 1.7; }

.module-path, .reading-module, .evidence-intro, .learning-hero, .upgrade-card, .research-note-card { padding: clamp(22px,3vw,34px); border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.74); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 17px; }.section-heading h2, .evidence-intro h2, .learning-hero h2, .upgrade-card h2 { margin: 5px 0 0; font-family: Georgia,"Songti SC",serif; font-size: 27px; }.section-heading > p, .evidence-intro p, .learning-hero p { max-width: 560px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }.section-label { color: var(--forest); font-size: 10px; line-height: 1.2; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.module-path-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }.module-path-grid a { min-height: 92px; display: grid; grid-template-columns: 33px 1fr; grid-template-rows: auto auto; column-gap: 9px; padding: 13px; color: var(--ink); border: 1px solid var(--line-soft); border-radius: 11px; background: var(--paper); text-decoration: none; }.module-path-grid a:hover { border-color: #9bb0a2; transform: translateY(-2px); box-shadow: var(--shadow-soft); }.module-path-grid span { grid-row: span 2; color: var(--forest); font-family: Georgia,serif; font-size: 19px; }.module-path-grid b { font-size: 13px; }.module-path-grid small { margin-top: 4px; color: var(--muted); line-height: 1.4; }

.reading-module { scroll-margin-top: 78px; }.module-heading { display: flex; gap: 18px; align-items: start; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--line-soft); }.module-number { flex: 0 0 auto; color: var(--forest); font-family: Georgia,serif; font-size: 36px; font-style: italic; line-height: 1; }.module-heading h2 { margin: 5px 0 6px; font-family: Georgia,"Songti SC",serif; font-size: 28px; }.module-heading p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }.subsection-heading { margin: 34px 0 15px; }.subsection-heading span { color: var(--forest); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.subsection-heading h3 { margin: 5px 0 0; font-family: Georgia,"Songti SC",serif; font-size: 22px; }
.snapshot-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }.snapshot-grid > div { padding: 15px; border: 1px solid var(--line-soft); border-radius: 11px; background: var(--paper); }.snapshot-grid span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 10px; letter-spacing: .08em; }.snapshot-grid b { font-size: 13px; line-height: 1.5; }.why-matters { margin-top: 12px; padding: 18px; border-radius: 12px; background: var(--forest-soft); }.why-matters strong { color: var(--forest); font-size: 11px; letter-spacing: .08em; }.why-matters p { margin: 7px 0 0; font-size: 14px; line-height: 1.75; }

.concept-map { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.concept-card { min-width: 0; padding: 17px; border: 1px solid var(--line-soft); border-radius: 13px; background: var(--paper); }.concept-top { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 10px; }.concept-top > span { color: var(--forest); font-family: Georgia,serif; font-size: 16px; }.concept-card h3 { margin: 9px 0 7px; font-size: 16px; }.concept-card > p { margin: 0; color: #35443d; font-size: 13px; line-height: 1.7; }.concept-why { margin-top: 12px; padding: 10px; border-radius: 8px; background: var(--forest-soft); font-size: 11px; line-height: 1.55; }.concept-why b { display: block; margin-bottom: 3px; color: var(--forest); }.depends { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: 10px; color: var(--muted); font-size: 10px; }.depends code { padding: 3px 5px; border-radius: 5px; background: #eeeee9; }
.mechanism-flow { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }.mechanism-flow article { display: grid; grid-template-columns: 46px 1fr; gap: 14px; padding: 17px; border: 1px solid var(--line-soft); border-radius: 12px; background: var(--paper); }.step-index { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--forest); font-family: Georgia,serif; }.mechanism-flow h4 { margin: 0 0 7px; font-size: 15px; }.mechanism-flow p { margin: 0; color: #3b4741; font-size: 12px; line-height: 1.65; }.mechanism-flow dl { display: flex; gap: 14px; margin: 11px 0; }.mechanism-flow dl div { min-width: 0; }.mechanism-flow dt { color: var(--muted); font-size: 9px; }.mechanism-flow dd { margin: 2px 0 0; font-size: 10px; }.mechanism-flow small { color: var(--muted); }
.philosophy-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }.philosophy-grid article { padding: 17px; border-left: 4px solid var(--blue); border-radius: 0 11px 11px 0; background: var(--blue-soft); }.philosophy-grid h4 { margin: 0 0 7px; font-size: 14px; }.philosophy-grid p { margin: 0 0 9px; font-size: 12px; line-height: 1.65; }.philosophy-grid small { color: var(--muted); }

.evidence-front-door { margin: 18px 0; overflow: hidden; border: 1px solid #9eb9aa; border-radius: 18px; background: #fffefa; box-shadow: 0 18px 46px rgba(28,61,46,.09); }.evidence-front-door > header { display: flex; justify-content: space-between; gap: 28px; padding: 25px 27px 22px; color: #f2f5ee; background: radial-gradient(circle at 88% 20%,rgba(232,197,89,.17),transparent 32%),linear-gradient(135deg,#0b2b24,#194b3d); }.evidence-front-door h2 { margin: 5px 0 7px; font-family: Georgia,"Songti SC",serif; font-size: clamp(23px,2.4vw,32px); }.evidence-front-door header p { max-width: 680px; margin: 0; color: #c4d4cd; font-size: 11px; line-height: 1.65; }.evidence-front-door header .section-label { color: #e8cf78; }.audit-stats { flex: 0 0 auto; display: grid; grid-template-columns: repeat(4,minmax(64px,1fr)); align-self: center; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: rgba(255,255,255,.06); }.audit-stats div { min-width: 70px; padding: 11px 12px; text-align: center; }.audit-stats div + div { border-left: 1px solid rgba(255,255,255,.11); }.audit-stats b { display: block; color: #ebd47d; font-family: Georgia,serif; font-size: 22px; }.audit-stats .warn b { color: #f2a987; }.audit-stats span { color: #b8cbc2; font-size: 8px; white-space: nowrap; }.evidence-front-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.75fr); }.front-ledger { min-width: 0; padding: 22px 25px; border-right: 1px solid var(--line); }.front-ledger-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; color: var(--muted); font-size: 9px; }.front-ledger-head span { color: var(--ink); font-weight: 850; letter-spacing: .08em; }.front-ledger button { width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr) minmax(145px,.45fr) 18px; gap: 11px; align-items: center; padding: 13px 7px; border: 0; border-top: 1px solid var(--line-soft); background: transparent; text-align: left; }.front-ledger button:hover { color: var(--forest); background: #f4f8f4; }.ledger-number { color: var(--forest); font-family: Georgia,serif; font-size: 15px; }.ledger-copy,.ledger-proof { min-width: 0; display: grid; gap: 4px; }.ledger-copy b { font-size: 12px; line-height: 1.45; }.ledger-copy em { overflow: hidden; color: #385347; font-size: 10px; font-style: normal; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }.ledger-proof { justify-items: start; }.ledger-proof strong { color: var(--muted); font-size: 9px; line-height: 1.45; }.ledger-proof small { padding: 3px 6px; border-radius: 999px; color: var(--forest); background: var(--forest-soft); font-size: 8px; }.ledger-arrow { color: var(--forest); }.front-boundaries { padding: 22px; background: #f6f4ee; }.front-boundaries article { padding: 13px 14px; border-left: 3px solid var(--forest); background: #edf4ee; }.front-boundaries article + article { margin-top: 9px; }.front-boundaries article.forbidden { border-color: var(--rose); background: var(--rose-soft); }.front-boundaries article > span { color: var(--forest); font-size: 9px; font-weight: 900; letter-spacing: .08em; }.front-boundaries .forbidden > span { color: var(--rose); }.front-boundaries article p { margin: 6px 0 0; font-size: 10px; line-height: 1.62; }.front-risks { margin-top: 15px; }.front-risks > b { color: #805126; font-size: 9px; letter-spacing: .08em; }.front-risks p { display: grid; grid-template-columns: 80px 1fr; gap: 8px; margin: 7px 0 0; padding-top: 7px; border-top: 1px solid #e4ddd1; color: #625a4d; font-size: 9px; line-height: 1.5; }.front-risks p span { color: #805126; font-weight: 800; }.audit-entry { width: 100%; display: grid; grid-template-columns: minmax(0,auto) 1fr auto; gap: 14px; align-items: center; padding: 15px 26px; border: 0; border-top: 1px solid var(--line); color: var(--forest-dark); background: #e8f1eb; text-align: left; }.audit-entry:hover { background: #dcebe1; }.audit-entry span { font-weight: 850; }.audit-entry small { color: var(--muted); }.audit-entry b { font-size: 18px; }
.evidence-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }.evidence-card { padding: 17px; border: 1px solid var(--line-soft); border-radius: 12px; background: var(--paper); text-align: left; }.evidence-card:hover { border-color: #91aa9a; box-shadow: var(--shadow-soft); transform: translateY(-2px); }.evidence-top { display: flex; justify-content: space-between; gap: 10px; align-items: start; }.evidence-index { color: var(--forest); font-family: Georgia,serif; font-size: 16px; }.evidence-field { margin-top: 13px; }.evidence-field > small { display: block; margin-bottom: 5px; color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .09em; }.evidence-card h4 { margin: 0; font-size: 14px; line-height: 1.5; }.evidence-card .metric { color: var(--forest-dark); font-family: Georgia,"Songti SC",serif; font-size: 16px; line-height: 1.55; }.evidence-card .boundary { padding: 10px; border-radius: 8px; background: #f5f1eb; }.evidence-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }.evidence-anchor { display: flex; justify-content: space-between; gap: 9px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 9px; }.evidence-anchor b { flex: 0 0 auto; color: var(--forest); }
.boundary-section { border-left: 3px solid var(--amber); }.claim-limit { border-left: 3px solid var(--forest); background: var(--forest-soft); }.overclaim-limit { border-left: 3px solid var(--rose); background: var(--rose-soft); }.drawer-warning { margin-top: 10px; padding: 9px; color: #805126; background: var(--amber-soft); font-size: 9px; line-height: 1.5; }.drawer-checklist { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.drawer-checklist li { display: grid; gap: 4px; padding: 9px; border: 1px solid var(--line-soft); border-radius: 8px; background: var(--paper); }.drawer-checklist b { color: #805126; font-size: 10px; }.drawer-checklist span { color: var(--muted); font-size: 9px; line-height: 1.5; }.evidence-question { margin-top: 10px; color: var(--forest); background: var(--forest-soft); }
.figure-grid { display: grid; gap: 13px; }.figure-card { display: grid; grid-template-columns: minmax(250px,.72fr) 1fr; gap: 20px; padding: 14px; border: 1px solid var(--line-soft); border-radius: 14px; background: var(--paper); }.figure-card > a { position: relative; display: block; min-height: 220px; overflow: hidden; border-radius: 9px; background: #ecebe6; }.figure-card img { width: 100%; height: 290px; display: block; object-fit: cover; object-position: top; }.figure-card > a span { position: absolute; right: 9px; bottom: 9px; padding: 7px 9px; border-radius: 7px; color: white; background: rgba(20,38,30,.86); font-size: 10px; }.figure-card > div { align-self: center; }.figure-card h3 { margin: 0 0 8px; font-family: Georgia,"Songti SC",serif; font-size: 19px; }.figure-card p { margin: 0 0 13px; color: #3a4741; font-size: 13px; line-height: 1.7; }.figure-card strong { display: block; padding: 11px 13px; border-radius: 9px; color: var(--forest-dark); background: var(--forest-soft); font-size: 12px; line-height: 1.6; }
.quote-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 11px; }.quote-grid article { padding: 20px; border: 1px solid var(--line-soft); border-radius: 13px; background: var(--paper); }.quote-grid blockquote { margin: 0 0 15px; color: var(--forest); font-family: Georgia,serif; font-size: 18px; line-height: 1.55; }.quote-grid h4 { margin: 0 0 8px; font-size: 14px; }.quote-grid p { margin: 0 0 10px; color: var(--muted); font-size: 12px; line-height: 1.65; }.quote-grid small { color: var(--muted); }
.expert-qa { display: grid; gap: 8px; }.expert-qa details, .recall-list details { border: 1px solid var(--line-soft); border-radius: 11px; background: var(--paper); }.expert-qa summary, .recall-list summary { display: flex; gap: 12px; align-items: center; padding: 15px 17px; cursor: pointer; list-style: none; }.expert-qa summary::-webkit-details-marker, .recall-list summary::-webkit-details-marker { display: none; }.expert-qa summary span { flex: 0 0 auto; color: var(--forest); font-family: Georgia,serif; font-size: 16px; }.expert-qa summary b { font-size: 13px; line-height: 1.5; }.expert-qa details > div { padding: 0 18px 18px 49px; }.expert-qa details p { margin: 7px 0 0; font-size: 13px; line-height: 1.8; }.answer-label { color: var(--forest); font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.ask-inline { width: 100%; display: flex; justify-content: space-between; margin-top: 14px; padding: 15px 17px; border: 1px dashed #91aa9a; border-radius: 11px; color: var(--forest); background: var(--forest-soft); font-weight: 750; }.ask-inline:hover { background: #dcece2; }

.document-map { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }.document-node { display:grid; grid-template-columns:42px 1fr; gap:13px; padding:16px; border:1px solid var(--line-soft); border-radius:12px; background:var(--paper); }.document-node.complete { border-left:4px solid var(--forest); }.document-node.partial { border-left:4px solid var(--amber); }.document-index { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:var(--forest); background:var(--forest-soft); font-family:Georgia,serif; }.document-meta { display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:9px; }.document-meta em { padding:2px 6px; border-radius:999px; background:#ecece7; font-style:normal; }.document-node h3 { margin:6px 0; font-size:14px; }.document-node p { margin:0; color:#3d4a44; font-size:11px; line-height:1.55; }.document-node small { display:block; margin-top:9px; color:var(--muted); line-height:1.55; }.document-node small b { color:var(--forest); }.coverage-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.coverage-item { padding:14px; border:1px solid var(--line-soft); border-radius:11px; background:var(--paper); }.coverage-item > div { display:flex; justify-content:space-between; gap:10px; }.coverage-item span { font-size:12px; font-weight:750; }.coverage-item b { padding:3px 6px; border-radius:999px; color:var(--muted); background:#ecece7; font-size:8px; }.coverage-item.complete b { color:var(--forest); background:var(--forest-soft); }.coverage-item.partial b { color:#805126; background:var(--amber-soft); }.coverage-item.missing b { color:var(--rose); background:var(--rose-soft); }.coverage-item p { margin:8px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }

.claim-boundary { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.claim-boundary article { padding:22px; border:1px solid #a9c4b2; border-radius:15px; background:var(--forest-soft); }.claim-boundary article:last-child { border-color:#e2c0b9; background:var(--rose-soft); }.claim-boundary h3 { margin:7px 0 9px; font-family:Georgia,"Songti SC",serif; font-size:20px; }.claim-boundary p { margin:0; font-size:13px; line-height:1.75; }.critique-matrix { display:grid; gap:8px; }.critique-row { display:grid; grid-template-columns:170px 1fr minmax(230px,.7fr); gap:14px; align-items:start; padding:15px; border:1px solid var(--line-soft); border-radius:11px; background:var(--paper); }.critique-row > div:first-child { display:flex; gap:9px; align-items:center; }.critique-row h3 { margin:0; font-size:13px; }.critique-status { flex:0 0 auto; padding:4px 6px; border-radius:999px; color:var(--muted); background:#ecece7; font-size:8px; }.critique-row.supported .critique-status, .critique-row.supported_with_limits .critique-status { color:var(--forest); background:var(--forest-soft); }.critique-row.risk .critique-status { color:var(--rose); background:var(--rose-soft); }.critique-row.partial .critique-status, .critique-row.unresolved .critique-status { color:#805126; background:var(--amber-soft); }.critique-row > p { margin:0; color:#3c4942; font-size:11px; line-height:1.65; }.critique-next { display:grid; gap:5px; }.critique-next small { color:var(--muted); }.critique-next b { font-size:10px; line-height:1.5; }.negative-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.negative-grid article { padding:17px; border:1px solid #ead0ca; border-radius:12px; background:#fffaf8; }.negative-grid article > span { padding:4px 7px; border-radius:999px; color:var(--rose); background:var(--rose-soft); font-size:8px; font-weight:800; }.negative-grid h3 { margin:11px 0 7px; font-size:13px; line-height:1.55; }.negative-grid p { margin:0 0 9px; color:var(--muted); font-size:11px; line-height:1.6; }.negative-grid small { color:#8a7772; }

.citation-readiness { display:flex; gap:7px; margin-bottom:14px; }.citation-readiness span,.citation-readiness b { padding:5px 8px; border-radius:999px; font-size:9px; }.citation-readiness span { color:var(--forest); background:var(--forest-soft); }.citation-readiness b { color:#805126; background:var(--amber-soft); }.citation-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.citation-columns > div { padding:17px; border:1px solid var(--line-soft); border-radius:12px; background:var(--paper); }.citation-columns > div > h3 { margin:0 0 12px; font-family:Georgia,"Songti SC",serif; font-size:18px; }.citation-columns article { display:grid; grid-template-columns:auto 1fr; gap:4px 10px; padding:11px 0; border-top:1px solid var(--line-soft); }.citation-columns article b { font-size:12px; }.citation-columns article span { color:var(--muted); font-size:9px; text-align:right; }.citation-columns article p { grid-column:1/-1; margin:0; color:#45524b; font-size:10px; line-height:1.55; }.citation-actions { margin:15px 0 0; padding:14px 14px 14px 34px; border-radius:10px; background:var(--blue-soft); }.citation-actions li { margin:5px 0; font-size:11px; line-height:1.55; }

.evidence-intro, .learning-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; }.evidence-count { flex: 0 0 auto; min-width: 130px; padding: 18px; border-radius: 14px; color: white; background: var(--forest); text-align: center; }.evidence-count b { display: block; font-family: Georgia,serif; font-size: 34px; }.evidence-count span { font-size: 10px; }
.r2-gates { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }.r2-gates article { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.58); }.r2-gates article.done { border-color: #a8c2b1; background: var(--forest-soft); }.r2-gates span { color: var(--forest); font-size: 10px; font-weight: 850; letter-spacing: .1em; }.r2-gates h3 { margin: 7px 0 6px; font-size: 14px; }.r2-gates p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.source-card-stack { display: grid; gap: 10px; }.source-card { border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.72); overflow: hidden; }.source-card summary { display: grid; grid-template-columns: 36px 1fr auto; gap: 10px; align-items: center; padding: 16px 18px; cursor: pointer; list-style: none; }.source-card summary::-webkit-details-marker { display: none; }.source-card summary > span { color: var(--forest); font-family: Georgia,serif; font-size: 18px; }.source-card summary b { font-size: 14px; }.source-card summary small { color: var(--muted); }.source-copy { padding: 3px 20px 22px 64px; border-top: 1px solid var(--line-soft); }
.upgrade-card { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; background: var(--rose-soft); border-color: #ead0ca; }.upgrade-card p { color: #4f4542; font-size: 13px; line-height: 1.7; }.upgrade-card strong { color: var(--rose); font-size: 11px; letter-spacing: .08em; }

.recall-list { display: grid; gap: 9px; }.recall-list summary > span { flex: 0 0 auto; color: var(--forest); font-family: Georgia,serif; font-size: 17px; }.recall-list summary > div { display: grid; gap: 4px; }.recall-list summary b { font-size: 13px; line-height: 1.5; }.recall-list summary small { color: var(--muted); }.recall-answer { margin: 0 18px 18px 50px; padding: 13px 15px; border-radius: 9px; background: var(--forest-soft); }.recall-answer strong { color: var(--forest); font-size: 10px; letter-spacing: .1em; }.recall-answer p { margin: 5px 0 0; font-size: 13px; line-height: 1.7; }
.explanations-empty { display: flex; gap: 15px; align-items: center; padding: 24px; border: 1px dashed #a9b9af; border-radius: 12px; background: var(--forest-soft); }.explanations-empty > span { font-size: 28px; color: var(--amber); }.explanations-empty h3 { margin: 0 0 5px; }.explanations-empty p { margin: 0; color: var(--muted); font-size: 12px; }
.explanation-list { display: grid; gap: 11px; }.explanation-list article { padding: 18px; border: 1px solid var(--line-soft); border-radius: 12px; background: var(--paper); }.explanation-head { display: flex; justify-content: space-between; align-items: center; }.explanation-head small { color: var(--muted); }.explanation-list h3 { margin: 12px 0 9px; font-size: 16px; }.explanation-answer p { margin: 7px 0; font-size: 13px; line-height: 1.75; }.citation-row { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }.citation-row span { padding: 4px 7px; border-radius: 999px; color: var(--forest); background: var(--forest-soft); font-size: 10px; }
.research-note-card { display: grid; grid-template-columns: .7fr 1fr auto; gap: 14px; align-items: center; }.research-note-card h3 { margin: 5px 0; }.research-note-card p { margin: 0; color: var(--muted); font-size: 11px; }.note-input { width: 100%; min-height: 90px; resize: vertical; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: white; line-height: 1.6; }

.markdown-content { color: #334139; font-size: 13px; line-height: 1.8; }.markdown-content.large-copy { font-size: 14px; }.markdown-content h4 { margin: 21px 0 8px; color: var(--ink); font-family: Georgia,"Songti SC",serif; font-size: 18px; }.markdown-content p { margin: 10px 0; }.markdown-content ul, .markdown-content ol { margin: 10px 0; padding-left: 22px; }.markdown-content li { margin: 7px 0; }.markdown-content blockquote { margin: 13px 0; padding: 13px 15px; border-left: 4px solid var(--amber); border-radius: 0 9px 9px 0; background: var(--amber-soft); }.markdown-table-wrap { max-width: 100%; margin: 14px 0; overflow-x: auto; border-radius: 9px; }.markdown-content table { width: 100%; min-width: 720px; border-collapse: collapse; background: var(--paper); font-size: 11px; line-height: 1.55; }.markdown-content th, .markdown-content td { padding: 11px; border: 1px solid var(--line-soft); vertical-align: top; text-align: left; }.markdown-content th { background: #eeeee8; }
.label-token { display: inline-flex; margin-right: 3px; padding: 2px 6px; border-radius: 999px; font-size: 9px; font-weight: 800; }.label-token.claim { color: #4f687b; background: var(--blue-soft); }.label-token.evidence { color: var(--forest-dark); background: var(--forest-soft); }.label-token.judgment { color: #7c5127; background: var(--amber-soft); }.label-token.pending { color: var(--rose); background: var(--rose-soft); } code { padding: 2px 4px; border-radius: 4px; background: #ecece7; }
.empty-inline { padding: 22px; border: 1px dashed var(--line); border-radius: 11px; color: var(--muted); text-align: center; }

.evidence-drawer, .assistant-drawer { position: fixed; z-index: 70; top: 0; right: 0; height: 100vh; background: #fcfbf7; border-left: 1px solid var(--line); box-shadow: -24px 0 60px rgba(27,39,33,.18); transform: translateX(105%); transition: transform .22s ease; overflow-y: auto; }.evidence-drawer { width: min(430px,94vw); padding: 25px; }.assistant-drawer { width: min(610px,96vw); }.evidence-drawer.open, .assistant-drawer.open { transform: translateX(0); }
.drawer-backdrop, .assistant-backdrop { position: fixed; z-index: 65; inset: 0; background: rgba(22,30,26,.28); opacity: 0; visibility: hidden; transition: .2s ease; }.drawer-backdrop.open, .assistant-backdrop.open { opacity: 1; visibility: visible; }.assistant-backdrop { z-index: 75; }.assistant-drawer { z-index: 80; }
.drawer-header, .assistant-header { display: flex; justify-content: space-between; gap: 15px; align-items: start; }.drawer-header h3, .assistant-header h2 { margin: 5px 0 0; font-family: Georgia,"Songti SC",serif; font-size: 25px; }.drawer-close { border: 0; background: transparent; font-size: 26px; }.drawer-section { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }.drawer-section h4 { margin: 0 0 9px; color: var(--muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }.drawer-section p { margin: 0; font-size: 13px; line-height: 1.7; }.evidence-quote { padding: 15px; border-radius: 11px; background: var(--forest-soft); font-family: Georgia,"Songti SC",serif; font-size: 15px; line-height: 1.7; }.full-button { display: block; margin-top: 13px; text-align: center; text-decoration: none; }
.assistant-shell { height: 100%; display: grid; grid-template-rows: auto auto auto minmax(0,1fr) auto; padding: 24px; }.model-status { display: flex; gap: 10px; align-items: start; margin-top: 17px; padding: 12px; border-radius: 10px; }.model-status > span { flex: 0 0 auto; width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; }.model-status > div { min-width: 0; }.model-status b, .model-status small { display: block; }.model-status small { margin-top: 3px; line-height: 1.5; }.model-status.ready { background: var(--forest-soft); }.model-status.ready > span { background: #4d946a; }.model-status.not-ready { background: var(--amber-soft); }.model-status.not-ready > span { background: var(--amber); }.model-status details { margin-top: 8px; }.model-status summary { cursor: pointer; color: #74491f; font-size: 11px; }.model-status code { display: block; margin-top: 6px; padding: 7px; white-space: normal; font-size: 10px; }
.assistant-suggestions { display: flex; flex-wrap: wrap; gap: 6px; padding: 14px 0; border-bottom: 1px solid var(--line); }.assistant-suggestions > small { width: 100%; color: var(--muted); }.assistant-suggestions button { padding: 7px 9px; border: 1px solid var(--line); border-radius: 999px; background: white; font-size: 10px; }.assistant-suggestions button:hover { border-color: #91aa9a; color: var(--forest); }
.chat-stream { min-height: 0; overflow-y: auto; padding: 18px 3px; }.chat-empty { min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center; }.chat-empty > span { color: var(--amber); font-size: 30px; }.chat-empty h3 { margin: 9px 0 6px; }.chat-empty p { max-width: 390px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.chat-message { max-width: 90%; margin-bottom: 14px; padding: 13px 15px; border-radius: 13px; }.chat-message > span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .1em; }.chat-message p { margin: 6px 0; font-size: 13px; line-height: 1.72; }.chat-message.user { margin-left: auto; color: white; background: var(--forest); border-bottom-right-radius: 4px; }.chat-message.user > span { color: rgba(255,255,255,.65); }.chat-message.assistant { background: #f0efe9; border-bottom-left-radius: 4px; }.save-explanation { margin-top: 11px; padding: 7px 9px; border: 1px solid #a9b8af; border-radius: 7px; color: var(--forest); background: white; font-size: 10px; font-weight: 750; }.save-explanation:disabled { opacity: .6; }
.question-form { padding-top: 14px; border-top: 1px solid var(--line); }.question-form textarea { width: 100%; min-height: 92px; max-height: 220px; resize: vertical; padding: 13px; border: 1px solid #bfc7c1; border-radius: 11px; background: white; line-height: 1.6; }.question-actions { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: 8px; }.question-actions span { color: var(--muted); font-size: 10px; }

.empty-state, .error-state { min-height: 70vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center; }.empty-state h2, .error-state h2 { font-family: Georgia,"Songti SC",serif; }.empty-state p, .error-state p { max-width: 480px; color: var(--muted); font-size: 13px; line-height: 1.7; }.empty-orbit { width: 72px; height: 72px; position: relative; margin-bottom: 12px; border: 1px solid #91a298; border-radius: 50%; animation: orbit 4s linear infinite; }.empty-orbit::after { content: ""; position: absolute; width: 8px; height: 8px; left: 31px; top: 6px; border-radius: 50%; background: var(--forest); }.empty-orbit span { position: absolute; inset: 15px; border: 1px solid #c2cdc6; border-radius: 50%; }

.portfolio-page { display:grid; gap:20px; }.portfolio-hero { display:flex; justify-content:space-between; gap:30px; align-items:end; padding:32px; border:1px solid #b9cec0; border-radius:20px; background:linear-gradient(135deg,#fdfdf9,#e8f1eb); box-shadow:var(--shadow-soft); }.portfolio-hero h1 { margin:8px 0 10px; font-family:Georgia,"Songti SC",serif; font-size:clamp(34px,4vw,54px); letter-spacing:-.03em; }.portfolio-hero p { max-width:720px; margin:0; color:#4f5d56; font-size:13px; line-height:1.75; }.portfolio-stats { display:grid; grid-template-columns:repeat(3,minmax(90px,1fr)); min-width:330px; overflow:hidden; border:1px solid rgba(36,91,71,.16); border-radius:14px; background:rgba(255,255,255,.67); }.portfolio-stats div { padding:18px; text-align:center; }.portfolio-stats div+div { border-left:1px solid var(--line); }.portfolio-stats b,.portfolio-stats span { display:block; }.portfolio-stats b { color:var(--forest); font-family:Georgia,serif; font-size:31px; }.portfolio-stats span { margin-top:5px; color:var(--muted); font-size:9px; }
.portfolio-automation { display:flex; gap:13px; align-items:center; padding:15px 18px; border:1px solid #b7cbbd; border-radius:13px; background:var(--forest-soft); }.portfolio-automation .sync-dot { flex:0 0 auto; }.portfolio-automation b { color:var(--forest-dark); font-size:13px; }.portfolio-automation p { margin:4px 0 0; color:#536259; font-size:11px; line-height:1.55; }
.portfolio-section { min-width:0; padding:26px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.72); }.portfolio-graph { position:relative; min-height:380px; overflow:hidden; border:1px solid var(--line-soft); border-radius:15px; background:radial-gradient(circle at center,#f5faf6,#edeee8); }.portfolio-graph svg { width:100%; min-width:720px; display:block; }.graph-edge line { stroke:#a4b8ac; stroke-width:2; }.graph-edge text { fill:#6b776f; font-size:10px; text-anchor:middle; paint-order:stroke; stroke:#f2f4ef; stroke-width:5px; stroke-linejoin:round; }.graph-node { cursor:pointer; }.graph-node circle { fill:#fffefa; stroke:#41745e; stroke-width:2.4; filter:drop-shadow(0 8px 13px rgba(30,54,42,.12)); transition:.18s ease; }.graph-node:hover circle,.graph-node:focus circle { fill:#e5f0e9; stroke:#174334; transform:scale(1.06); }.graph-node-title { fill:#1d2923; font-family:Georgia,"Songti SC",serif; font-size:10px; font-weight:700; }.graph-node-meta { fill:#68766e; font-size:8px; }.graph-empty-note { position:absolute; left:20px; right:20px; bottom:18px; margin:0; color:var(--muted); font-size:11px; text-align:center; }
.cluster-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; }.cluster-grid article { padding:19px; border:1px solid var(--line-soft); border-radius:13px; background:var(--paper); }.cluster-grid article>span { color:var(--forest); font-size:9px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.cluster-grid h3 { margin:8px 0 6px; font-family:Georgia,"Songti SC",serif; font-size:20px; }.cluster-grid p { margin:0 0 13px; color:var(--muted); font-size:10px; line-height:1.55; }.cluster-grid article>div { display:flex; flex-wrap:wrap; gap:5px; }.cluster-grid button { padding:6px 8px; border:1px solid #cbd5ce; border-radius:999px; color:var(--forest); background:var(--forest-soft); font-size:9px; }
.portfolio-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }.r2-queue { display:grid; gap:8px; }.r2-queue>button { width:100%; display:grid; grid-template-columns:34px 1fr 30px; gap:11px; align-items:start; padding:14px; border:1px solid var(--line-soft); border-radius:11px; background:var(--paper); text-align:left; }.r2-queue>button:hover { border-color:#a9bcb0; box-shadow:var(--shadow-soft); }.r2-queue>button>span { color:var(--forest); font-family:Georgia,serif; font-size:18px; }.r2-queue h3 { margin:0 0 5px; font-size:13px; line-height:1.45; }.r2-queue p { margin:0; color:#4a574f; font-size:10px; line-height:1.55; }.r2-queue small { display:block; margin-top:7px; color:var(--muted); line-height:1.45; }.r2-queue>button>b { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:#805126; background:var(--amber-soft); font-size:10px; }.issue-list { display:grid; gap:8px; }.issue-list article { padding:14px; border-left:4px solid var(--amber); border-radius:0 10px 10px 0; background:#fff9f2; }.issue-list span { color:#805126; font-size:8px; font-weight:800; }.issue-list h3 { margin:6px 0; font-size:12px; }.issue-list p { margin:0; color:#5d5147; font-size:10px; line-height:1.6; }.portfolio-empty { min-height:70vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.portfolio-empty h1 { font-family:Georgia,"Songti SC",serif; }.portfolio-empty p { color:var(--muted); }
.toast { position: fixed; z-index: 100; left: 50%; bottom: 28px; padding: 11px 16px; border-radius: 999px; color: white; background: #20372d; box-shadow: var(--shadow); font-size: 12px; opacity: 0; transform: translate(-50%,18px); pointer-events: none; transition: .2s ease; }.toast.show { opacity: 1; transform: translate(-50%,0); }.loading-stack { display: grid; gap: 14px; }.skeleton { height: 90px; border-radius: 12px; background: linear-gradient(90deg,#e5e3dc 25%,#f3f1ec 50%,#e5e3dc 75%); background-size: 200% 100%; animation: shimmer 1.4s infinite; }.skeleton.tall { height: 420px; }

@keyframes shimmer { to { background-position: -200% 0; } }
@keyframes orbit { to { transform: rotate(360deg); } }

@media (max-width: 1220px) {
  .concept-map { grid-template-columns: repeat(2,1fr); }.module-path-grid { grid-template-columns: repeat(2,1fr); }.r2-gates { grid-template-columns: repeat(2,1fr); }.snapshot-grid { grid-template-columns: repeat(2,1fr); }
  .reader-orientation { grid-template-columns: 1fr; }.orientation-side { padding: 24px 30px; }.orientation-side ul { grid-template-columns: repeat(2,1fr); }.route-console { grid-template-columns:1fr 110px; }.pass-track { grid-column:1/-1; }.critique-row { grid-template-columns:150px 1fr; }.critique-next { grid-column:2; }
}

@media (max-width: 960px) {
  .app-shell, .app-shell.library-collapsed { display: block; }.library-panel { position: fixed; left: 0; top: 0; width: min(330px,88vw); transform: translateX(-105%); transition: transform .2s ease; box-shadow: var(--shadow); }.library-panel.open { transform: translateX(0); }.library-collapsed .brand { flex-direction: row; padding: 22px 16px 18px 20px; }.library-collapsed .brand-copy, .library-collapsed .search-box, .library-collapsed .library-heading, .library-collapsed .sync-state { display: initial; }.library-collapsed .search-box { display: flex; }.library-collapsed .library-heading { display: flex; }.library-collapsed .sync-state { display: flex; }.library-collapsed .paper-initial { display: none; }.library-collapsed .paper-item-copy { display: block; }.library-collapsed .paper-item { padding: 13px 11px; justify-content: initial; }.panel-toggle, .library-expand-button { display: none !important; }.mobile-library-button { display: block; }
  .paper-workspace { padding: 24px 20px 70px; }.paper-header { display: block; }.paper-actions { margin-top: 16px; }.paper-resource-bar { grid-template-columns:repeat(3,minmax(0,1fr)); }.reading-tabs { grid-template-columns: 1fr; }.material-gate-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.module-path-grid { grid-template-columns: repeat(3,1fr); }.figure-card { grid-template-columns: 1fr; }.figure-card img { height: 360px; }.source-copy { padding-left: 20px; }.research-note-card { grid-template-columns: 1fr; }.portfolio-hero { display:block; }.portfolio-stats { min-width:0; margin-top:20px; }.portfolio-columns { grid-template-columns:1fr; }.evidence-front-door > header { display:block; }.audit-stats { margin-top:18px; }.evidence-front-grid { grid-template-columns:1fr; }.front-ledger { border-right:0; border-bottom:1px solid var(--line); }.explainer-memory { grid-template-columns:1fr; }.explainer-memory > aside { border-top:1px solid var(--line); border-left:0; }.code-locations { grid-template-columns:1fr; }.guide-source-figures { grid-template-columns:1fr; }.guide-source-figures img { height:420px; }
}

@media (max-width: 700px) {
  .topbar { padding: 0 14px; }.ask-top-button,.portfolio-button { padding: 8px; font-size: 0; }.ask-top-button span,.portfolio-button span { margin:0; font-size:18px; }.paper-workspace { padding: 20px 13px 60px; }.paper-header h1 { font-size: 31px; }.paper-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .reader-orientation, .reading-module, .module-path, .evidence-intro, .learning-hero, .upgrade-card, .research-note-card, .evidence-front-door, .paper-explainer, .reading-meta-tools, .reader-guide, .technical-appendix { border-radius: 14px; }.orientation-main { padding: 24px 20px; }.orientation-main .lead { font-size: 17px; }.orientation-side ul { grid-template-columns: 1fr; }.evidence-front-door > header { padding:21px 18px; }.audit-stats { grid-template-columns:repeat(2,1fr); }.audit-stats div:nth-child(3) { border-left:0; border-top:1px solid rgba(255,255,255,.11); }.audit-stats div:nth-child(4) { border-top:1px solid rgba(255,255,255,.11); }.front-ledger { padding:17px 14px; }.front-ledger button { grid-template-columns:28px 1fr 16px; }.ledger-proof { grid-column:2; }.ledger-arrow { grid-column:3; grid-row:1/3; }.front-boundaries { padding:17px 14px; }.audit-entry { grid-template-columns:1fr auto; padding:14px 17px; }.audit-entry small { grid-column:1/-1; grid-row:2; }.paper-explainer > header p { font-size:15px; }.paper-storyline article { grid-template-columns:44px 1fr; gap:11px; }.paper-storyline article > span { width:36px; height:36px; font-size:13px; }.explainer-audit { display:grid; }.reading-meta-tools > summary { grid-template-columns:1fr auto; }.reading-meta-tools > summary span { grid-column:1; }.reading-meta-tools > summary b { grid-column:1; }.reading-meta-tools > summary small { display:none; }.reading-meta-tools > summary::after { grid-column:2; grid-row:1/3; }.paper-resource-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }.reader-guide-lead { padding:27px 20px; }.reader-one-sentence { grid-template-columns:1fr; }.reader-one-sentence span { width:max-content; }.guide-section { grid-template-columns:1fr; gap:8px; padding:31px 20px; }.guide-number { font-size:13px; }.guide-copy>h2 { font-size:24px; }.prerequisite-list,.existing-methods,.bottom-line-grid { grid-template-columns:1fr; }.guide-source-figures img { height:300px; }.technical-appendix>summary { grid-template-columns:1fr auto; }.technical-appendix>summary span,.technical-appendix>summary b { grid-column:1; }.technical-appendix>summary small { display:none; }.technical-appendix>summary::after { grid-column:2; grid-row:1/3; }.technical-appendix-body { padding:8px 14px 22px; }.share-poster-overlay { padding:8px; }.share-poster-dialog { max-height:98vh; border-radius:12px; }
  .module-path-grid, .concept-map, .mechanism-flow, .philosophy-grid, .evidence-grid, .quote-grid, .r2-gates, .snapshot-grid, .upgrade-card, .document-map, .coverage-grid, .claim-boundary, .negative-grid, .citation-columns,.cluster-grid,.material-gate-grid,.material-gate-boundary { grid-template-columns: 1fr; }.material-gate>footer { grid-template-columns:1fr; }.route-console { grid-template-columns:1fr; }.coverage-dial { margin:0 auto 18px; }.pass-track { grid-template-columns:1fr; }.critique-row { grid-template-columns:1fr; }.critique-next { grid-column:auto; }.paper-actions { grid-template-columns:1fr; }.module-path-grid a { min-height: 78px; }.section-heading, .evidence-intro, .learning-hero { align-items: start; flex-direction: column; }.figure-card img { height: 280px; }.source-card summary { grid-template-columns: 30px 1fr; }.source-card summary small { display: none; }.assistant-shell { padding: 18px 14px; }.portfolio-hero,.portfolio-section { padding:19px; }.portfolio-stats { grid-template-columns:1fr; }.portfolio-stats div+div { border-left:0; border-top:1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }

/* Multi-domain research atlas */
.atlas-hero { position:relative; overflow:hidden; display:flex; justify-content:space-between; gap:28px; margin-bottom:16px; padding:30px 32px; border:1px solid #173f38; border-radius:20px; color:#f4f2e9; background:radial-gradient(circle at 82% 18%,rgba(70,215,194,.18),transparent 34%),linear-gradient(135deg,#071b19,#12382f 68%,#142e29); box-shadow:0 24px 70px rgba(10,34,29,.18); }.atlas-hero::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.32; background-image:radial-gradient(circle,#e9d07a 0 1px,transparent 1.4px); background-size:43px 43px; mask-image:linear-gradient(90deg,transparent 10%,#000 65%); }.atlas-hero>div { position:relative; z-index:1; }.atlas-hero h1 { margin:5px 0 9px; font-family:Georgia,"Songti SC",serif; font-size:clamp(34px,4vw,54px); letter-spacing:-.035em; }.atlas-hero p { max-width:720px; margin:0; color:#c8d6cf; line-height:1.7; }.atlas-hero .section-label { color:#e9d07a; }.atlas-hero .portfolio-stats { min-width:400px; align-self:center; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.05); backdrop-filter:blur(10px); }.atlas-hero .portfolio-stats div+div { border-color:rgba(255,255,255,.12); }.atlas-hero .portfolio-stats b { color:#f1d778; }.atlas-hero .portfolio-stats span { color:#b6c8c0; }
.atlas-mode-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0; }.atlas-mode-switch button { display:grid; grid-template-columns:38px 1fr; column-gap:10px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.62); text-align:left; }.atlas-mode-switch button:hover { border-color:#a8bcb1; background:white; }.atlas-mode-switch button.active { color:var(--forest-dark); border-color:#7aa593; background:var(--forest-soft); box-shadow:0 8px 24px rgba(36,91,71,.08); }.atlas-mode-switch span { grid-row:1/3; align-self:center; color:var(--amber); font-size:27px; }.atlas-mode-switch b { font-size:13px; }.atlas-mode-switch small { margin-top:3px; color:var(--muted); font-size:10px; }
.space-strip { display:flex; gap:9px; margin:0 0 16px; padding:3px 0 5px; overflow-x:auto; }.space-chip { position:relative; min-width:150px; display:grid; grid-template-columns:12px 1fr auto; align-items:center; gap:8px; padding:11px 12px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.64); text-align:left; }.space-chip:hover,.space-chip.active { border-color:#8faa9b; background:white; }.space-chip.active { box-shadow:inset 0 0 0 1px rgba(36,91,71,.18),var(--shadow-soft); }.space-chip i { width:9px; height:9px; border-radius:50%; background:var(--space-color); box-shadow:0 0 0 4px color-mix(in srgb,var(--space-color) 18%,transparent); }.space-chip span { font-size:11px; font-weight:800; white-space:nowrap; }.space-chip b { color:var(--forest); font-family:Georgia,serif; }.space-chip small { grid-column:2/4; max-width:230px; overflow:hidden; color:var(--muted); font-size:8px; white-space:nowrap; text-overflow:ellipsis; }
.atlas-stage { overflow:hidden; }.atlas-layout { display:grid; grid-template-columns:minmax(0,1fr) 292px; gap:14px; min-height:680px; }.atlas-graph { position:relative; min-width:0; min-height:680px; overflow:hidden; border:1px solid #163a34; border-radius:16px; background:radial-gradient(circle at 50% 45%,#143b34 0,#071c1a 54%,#030c0b 100%); }.atlas-graph::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.25; background-image:radial-gradient(circle,#cfdfd5 0 1px,transparent 1.4px); background-size:51px 51px; }.atlas-graph svg { position:relative; z-index:1; width:100%; height:100%; min-height:680px; }.atlas-edge { cursor:pointer; }.atlas-edge line { stroke:rgba(111,172,158,.2); stroke-width:1.2; transition:.15s ease; }.atlas-edge text { fill:#d7c67b; paint-order:stroke; stroke:#081b18; stroke-width:4px; font-size:8px; font-weight:700; pointer-events:none; }.atlas-edge--explicit_link line,.atlas-edge--shared_concept line { stroke:#d4b966; stroke-width:2; stroke-dasharray:6 5; }.atlas-edge:hover line,.atlas-edge:focus line,.atlas-edge.selected line { stroke:#fff1a9; stroke-width:5; }.atlas-edge--belongs_to line { stroke:rgba(80,214,192,.32); }.atlas-edge--discusses line { stroke:rgba(198,184,119,.17); stroke-width:.8; }.atlas-node { cursor:pointer; }.atlas-node circle { fill:color-mix(in srgb,var(--node-color) 82%,#102a25); stroke:rgba(255,255,255,.62); stroke-width:1.2; filter:drop-shadow(0 0 10px color-mix(in srgb,var(--node-color) 55%,transparent)); transition:.15s ease; }.atlas-node text { fill:#edf3ed; font-size:9px; font-weight:750; paint-order:stroke; stroke:#081a17; stroke-width:3px; pointer-events:none; }.atlas-node .node-meta { fill:#9eb6ad; font-size:7.5px; font-weight:550; }.atlas-node--topic circle { stroke:#ead893; }.atlas-node:hover circle,.atlas-node:focus circle,.atlas-node.selected circle { stroke:#fff5be; stroke-width:4; transform:scale(1.12); }.graph-legend { position:absolute; z-index:2; left:15px; bottom:13px; display:flex; flex-wrap:wrap; gap:8px 13px; padding:8px 11px; border:1px solid rgba(255,255,255,.1); border-radius:9px; color:#bcd0c7; background:rgba(3,13,12,.7); backdrop-filter:blur(8px); font-size:8px; }.graph-legend span { display:flex; align-items:center; gap:5px; }.graph-legend i { display:block; width:8px; height:8px; border-radius:50%; }.legend-space { background:#46d7c2; }.legend-paper { background:#72a59a; }.legend-topic { background:#d8b35f; }.graph-legend .legend-explicit { width:18px; height:0; border-top:2px dashed #e7cf78; border-radius:0; }
.atlas-inspector { min-width:0; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fffefa; box-shadow:var(--shadow-soft); overflow:auto; }.inspector-kicker { color:var(--amber); font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }.atlas-inspector h3 { margin:9px 0 7px; overflow-wrap:anywhere; font-family:Georgia,"Songti SC",serif; font-size:22px; line-height:1.3; }.inspector-subtitle { margin:0 0 14px; color:var(--muted); font-size:10px; }.inspector-description { margin:0 0 14px; color:#415049; font-size:11px; line-height:1.7; }.inspector-tags { display:flex; flex-wrap:wrap; gap:5px; margin:12px 0; }.inspector-tags span { padding:5px 7px; border-radius:999px; color:#336451; background:var(--forest-soft); font-size:8px; font-weight:800; }.inspector-count { display:flex; align-items:baseline; gap:7px; margin:18px 0; padding:13px; border-radius:11px; background:#f0f1ea; }.inspector-count b { color:var(--forest); font-family:Georgia,serif; font-size:25px; }.inspector-count span { color:var(--muted); font-size:9px; }.inspector-open-paper { width:100%; }.inspector-paper-list { display:grid; gap:6px; margin-top:13px; }.inspector-paper-list button { padding:9px; border:1px solid var(--line); border-radius:8px; background:white; font-size:9px; text-align:left; }.inspector-paper-list button:hover { border-color:#92ad9e; }.relation-pair { display:grid; grid-template-columns:1fr 18px 1fr; gap:5px; align-items:center; margin:16px 0; padding:11px; border-radius:10px; color:#264a3c; background:var(--forest-soft); font-size:9px; line-height:1.4; }.relation-pair b { color:var(--amber); text-align:center; }.inspector-facts { display:grid; gap:0; margin:0; }.inspector-facts div { padding:10px 0; border-bottom:1px solid var(--line-soft); }.inspector-facts dt { color:var(--muted); font-size:8px; font-weight:800; }.inspector-facts dd { margin:4px 0 0; font-size:10px; line-height:1.55; }.inspector-warning { margin-top:16px; padding:10px; border-left:3px solid var(--amber); color:#6d573f; background:#fff7eb; font-size:9px; line-height:1.6; }
.universe-layout { min-height:700px; }.universe-shell { position:relative; min-width:0; height:700px; overflow:hidden; border:1px solid #163a34; border-radius:16px; background:#030908; }.universe-shell canvas { display:block; width:100%; height:100%; cursor:grab; touch-action:none; }.universe-shell canvas:active { cursor:grabbing; }.universe-hud { position:absolute; top:15px; left:15px; display:flex; flex-wrap:wrap; gap:7px; pointer-events:none; }.universe-hud span { padding:7px 9px; border:1px solid rgba(255,255,255,.1); border-radius:8px; color:#a9c2b9; background:rgba(4,18,16,.68); backdrop-filter:blur(8px); font-size:8px; }.universe-hud b { color:#f0d879; font-size:11px; }.universe-axis { position:absolute; left:50%; bottom:15px; transform:translateX(-50%); padding:7px 11px; border-radius:999px; color:#9db5ac; background:rgba(4,18,16,.72); font-size:8px; pointer-events:none; white-space:nowrap; }

@media (max-width:1100px) { .atlas-hero { display:block; }.atlas-hero .portfolio-stats { min-width:0; margin-top:20px; }.atlas-layout { grid-template-columns:1fr; }.atlas-inspector { min-height:220px; }.universe-shell,.universe-layout { height:620px; min-height:620px; } }
@media (max-width:700px) { .atlas-hero { padding:23px 20px; }.atlas-hero .portfolio-stats { grid-template-columns:repeat(2,1fr); }.atlas-hero .portfolio-stats div+div { border-top:0; border-left:1px solid rgba(255,255,255,.12); }.atlas-mode-switch { grid-template-columns:1fr; }.space-chip { min-width:135px; }.atlas-graph,.atlas-graph svg { min-height:520px; }.atlas-layout { min-height:520px; }.universe-shell,.universe-layout { height:530px; min-height:530px; }.graph-legend { right:10px; }.atlas-inspector { padding:16px; } }

/* Reader-first article view */
.article-reading-layout { display:grid; grid-template-columns:minmax(0,860px) minmax(230px,280px); gap:24px; justify-content:center; align-items:start; }
.paper-reading-article { min-width:0; overflow:hidden; border:1px solid #d4d5ce; border-radius:14px; background:#fffefa; box-shadow:0 12px 34px rgba(30,43,36,.055); }
.article-lead { padding:34px clamp(28px,5vw,54px) 30px; border-bottom:1px solid var(--line); background:#f8f7f1; scroll-margin-top:76px; }
.article-lead h2 { margin:8px 0 15px; font-family:Georgia,"Songti SC",serif; font-size:clamp(28px,3vw,36px); letter-spacing:-.02em; }
.article-dek { margin:0; color:#27362f; font-family:Georgia,"Songti SC",serif; font-size:19px; line-height:1.85; }
.article-at-a-glance { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:25px; padding-top:20px; border-top:1px solid #dddcd4; }
.article-at-a-glance p { margin:0; color:#526059; font-size:12px; line-height:1.7; }
.article-at-a-glance b { display:block; margin-bottom:6px; color:var(--forest); font-size:10px; letter-spacing:.08em; }
.article-prerequisites { padding:22px clamp(28px,5vw,54px); border-bottom:1px solid var(--line); background:#f2f5f0; }
.article-prerequisites h3 { margin:0 0 12px; color:#31463b; font-size:13px; }
.article-prerequisites dl { display:grid; gap:0; margin:0; }
.article-prerequisites dl>div { display:grid; grid-template-columns:150px 1fr; gap:18px; padding:10px 0; border-top:1px solid #dde4de; }
.article-prerequisites dt { color:var(--forest-dark); font-size:12px; font-weight:850; }
.article-prerequisites dd { margin:0; color:#425149; font-size:12px; line-height:1.7; }
.article-prerequisites small { display:block; margin-top:4px; color:#78817c; }
.article-section { padding:36px clamp(28px,5vw,54px); border-bottom:1px solid var(--line-soft); scroll-margin-top:76px; }
.article-section:last-child { border-bottom:0; }
.article-section-label { margin-bottom:9px; color:var(--amber); font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.article-section>h2 { margin:0 0 18px; font-family:Georgia,"Songti SC",serif; font-size:27px; line-height:1.35; }
.article-section>h3 { margin:28px 0 10px; font-size:17px; }
.article-section>p,.article-section>ol { color:#38473f; font-size:15px; line-height:1.88; }
.article-section .section-opening { color:#26372f; font-family:Georgia,"Songti SC",serif; font-size:17px; }
.article-section>blockquote { margin:23px 0 0; padding:16px 19px; border-left:4px solid var(--amber); color:#54483e; background:#f8eadb; font-size:14px; line-height:1.75; }
.article-section>blockquote b { color:#7d4a24; }
.article-existing { display:grid; gap:0; border-top:1px solid var(--line); }
.article-existing>div { padding:14px 0; border-bottom:1px solid var(--line); }
.article-existing h4 { margin:0 0 6px; color:var(--forest-dark); font-size:14px; }
.article-existing p { margin:0; color:#46554d; font-size:13px; line-height:1.75; }
.article-pipeline { margin:10px 0 0!important; padding-left:23px; }
.article-pipeline li { margin:8px 0; padding-left:5px; }
.article-pipeline li::marker { color:var(--forest); font-family:Georgia,serif; font-weight:800; }
.article-components { display:grid; gap:0; border-top:1px solid var(--line); }
.article-components>section { display:grid; grid-template-columns:38px 1fr; gap:12px; padding:20px 0; border-bottom:1px solid var(--line); }
.article-components>section>span { color:#96a29b; font-family:Georgia,serif; font-size:16px; }
.article-components h4 { margin:0 0 8px; font-size:16px; }
.article-components p { margin:6px 0; color:#405048; font-size:13px; line-height:1.72; }
.article-components .component-purpose { color:#315545; }
.article-components .component-caveat { color:#745347; }
.article-components small,.article-anchor { display:block; margin-top:8px; color:#7a837e; font-size:10px; }
.paper-reading-article .guide-result-table { margin:22px 0 15px; }
.paper-reading-article .guide-result-table table { min-width:700px; }
.paper-reading-article .table-reading { margin:16px 0 0; padding:14px 17px; border-left:3px solid var(--forest); background:#eef4ef; font-size:13px; }
.paper-reading-article .guide-source-figures { grid-template-columns:1fr; margin-top:25px; }
.paper-reading-article .guide-source-figures img { height:auto; max-height:520px; object-fit:contain; background:#f0efe8; }
.article-findings { display:grid; gap:0; border-top:1px solid var(--line); }
.article-findings>section { display:grid; grid-template-columns:38px 1fr; gap:12px; padding:22px 0; border-bottom:1px solid var(--line); }
.article-findings>section>span { color:var(--forest); font-family:Georgia,serif; font-size:16px; }
.article-findings h3 { margin:0 0 9px; font-size:17px; }
.article-findings p { margin:7px 0; color:#3e4c45; font-size:13px; line-height:1.75; }
.article-findings .finding-limit { color:#704f44; }
.article-findings small { display:block; margin-top:9px; color:#7a837e; font-size:10px; }
.article-conclusion .supported,.article-conclusion .unsupported { margin:0; padding:15px 17px; border-left:4px solid var(--forest); background:#e9f2ec; font-size:14px; }
.article-conclusion .unsupported { margin-top:10px; border-color:var(--rose); background:var(--rose-soft); }
.article-memory { font-family:Georgia,"Songti SC",serif; font-size:17px!important; }
.article-conclusion ol { margin:10px 0 0; padding-left:23px; }
.article-conclusion li { margin:8px 0; padding-left:4px; }
.paper-reading-article .code-locations { grid-template-columns:1fr; gap:13px; }
.authored-lead { padding-bottom:24px; }
.authored-preface blockquote { margin:8px 0 0; padding:18px 21px; border-left:4px solid var(--amber); background:#f8eadb; color:#4b4037; font-family:Georgia,"Songti SC",serif; font-size:19px; line-height:1.7; }
.authored-markdown>p { margin:0 0 17px; color:#35443c; font-size:15.5px; line-height:1.95; }
.authored-markdown>h3 { margin:29px 0 12px; color:#24362d; font-family:Georgia,"Songti SC",serif; font-size:19px; }
.authored-markdown>h4 { margin:24px 0 10px; font-size:16px; }
.authored-markdown>ul,.authored-markdown>ol { margin:13px 0 20px; padding-left:24px; color:#35443c; font-size:15px; line-height:1.85; }
.authored-markdown>blockquote { margin:20px 0; padding:15px 18px; border-left:4px solid var(--forest); background:#eef4ef; color:#33483d; line-height:1.8; }
.authored-markdown a { color:#17674d; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.authored-markdown .markdown-table-wrap { margin:22px 0; overflow:auto; }
.authored-markdown table { width:100%; min-width:620px; border-collapse:collapse; font-size:13px; }
.authored-markdown th,.authored-markdown td { padding:11px 13px; border:1px solid var(--line-soft); text-align:left; vertical-align:top; }
.authored-markdown th { color:#71481f; background:#f7ead9; }
.article-sidecar { position:sticky; top:80px; display:grid; gap:12px; }
.article-sidecar>nav,.article-sidecar>section { padding:17px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.7); }
.article-sidecar span { display:block; margin-bottom:10px; color:var(--amber); font-size:9px; font-weight:900; letter-spacing:.12em; }
.article-sidecar nav a { display:block; padding:7px 0; border-bottom:1px solid var(--line-soft); color:#35463d; font-size:11px; text-decoration:none; }
.article-sidecar nav a:hover { color:var(--forest); }
.article-sidecar p { margin:0; color:#536058; font-size:11px; line-height:1.65; }
.article-sidecar button { width:100%; display:grid; gap:4px; padding:10px 0; border:0; border-top:1px solid var(--line-soft); background:transparent; text-align:left; }
.article-sidecar button b { font-family:Georgia,"Songti SC",serif; font-size:11px; line-height:1.45; }
.article-sidecar button small { color:var(--muted); font-size:8px; }
.article-appendices { width:min(1164px,100%); display:grid; gap:10px; margin:22px auto 0; }
.article-appendices>details { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.62); }
.article-appendices>details>summary { display:grid; grid-template-columns:110px 1fr auto; gap:12px; align-items:center; padding:17px 20px; list-style:none; cursor:pointer; }
.article-appendices>details>summary::-webkit-details-marker { display:none; }
.article-appendices>details>summary span { color:var(--forest); font-size:10px; font-weight:900; letter-spacing:.1em; }
.article-appendices>details>summary b { font-size:13px; }
.article-appendices>details>summary small { color:var(--muted); font-size:10px; }
.article-appendices>details>summary::after { content:"+"; color:var(--forest); font-size:20px; }
.article-appendices>details[open]>summary::after { content:"−"; }
.article-appendices>details>div { display:grid; gap:18px; padding:20px; border-top:1px solid var(--line); }

/* Finance Factor Mining Workspace */
.paper-resource-bar .resource-finance { border-color:#a98d58; background:#fffaf0; }
.paper-resource-bar .resource-finance span { color:#8a6428; }
.finance-workspace { width:min(1164px,100%); margin:28px auto 0; overflow:hidden; border:1px solid #d4c49f; border-radius:18px; background:linear-gradient(180deg,#fffdf7 0,#f7f3e8 100%); box-shadow:0 18px 50px rgba(85,67,31,.08); scroll-margin-top:82px; }
.finance-workspace-header { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:34px; align-items:end; padding:28px 30px 24px; background:linear-gradient(135deg,#183e32,#2f5a48); color:#fff; }
.finance-workspace-header h2 { margin:5px 0 8px; color:#fff; font-family:Georgia,"Noto Serif SC",serif; font-size:30px; }
.finance-workspace-header p { max-width:720px; margin:0; color:rgba(255,255,255,.72); line-height:1.75; }
.finance-workspace-header .section-label { color:#e6c981; }
.finance-profile-control { display:grid; gap:7px; }
.finance-profile-control label { color:#e6c981; font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.finance-profile-control select { width:100%; padding:11px 12px; border:1px solid rgba(255,255,255,.26); border-radius:10px; color:#fff; background:#1d493a; font:inherit; }
.finance-profile-control small { color:rgba(255,255,255,.58); font-size:10px; }
.finance-safety-strip { display:flex; flex-wrap:wrap; gap:7px; padding:12px 30px; border-bottom:1px solid #e0d6bd; background:#efe8d6; }
.finance-safety-strip span { padding:5px 9px; border:1px solid #d9c9a2; border-radius:999px; color:#674e22; background:#fffaf0; font-size:9px; font-weight:800; letter-spacing:.04em; }
.finance-tabs { display:grid; grid-template-columns:repeat(4,1fr); padding:15px 30px 0; border-bottom:1px solid #ddd2b9; background:#fffdf8; }
.finance-tabs button { padding:13px 10px 12px; border:0; border-bottom:3px solid transparent; color:#756c5c; background:none; font-weight:800; }
.finance-tabs button.active { border-bottom-color:#9b7132; color:#68470f; }
.finance-workspace-body { padding:25px 30px 28px; }
.finance-workspace-actions { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:16px 30px; border-top:1px solid #ddd2b9; background:#fffdf8; }
.finance-readonly { color:#817767; font-size:11px; }
.finance-export-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.finance-export-actions span { margin-right:4px; color:#716a5f; font-size:10px; font-weight:800; }
.finance-export-actions a { padding:7px 10px; border:1px solid #d5c6a4; border-radius:8px; color:#694b18; background:#fff; font-size:10px; font-weight:900; text-decoration:none; }
.finance-empty { padding:44px; border:1px dashed #cdbd97; border-radius:14px; background:rgba(255,255,255,.66); text-align:center; }
.finance-empty>span { display:inline-block; padding:5px 9px; border-radius:999px; color:#77581e; background:#efe4c8; font-size:9px; font-weight:900; letter-spacing:.08em; }
.finance-empty h3 { margin:13px 0 7px; font-family:Georgia,"Noto Serif SC",serif; font-size:24px; }
.finance-empty p { max-width:680px; margin:0 auto; color:#746d60; line-height:1.75; }
.finance-empty.blocked { border-color:#d5b8a8; background:#fff8f4; }
.finance-empty dl { display:flex; justify-content:center; gap:28px; margin:24px auto 0; }
.finance-empty dl div { display:grid; gap:3px; }
.finance-empty dt { color:#938873; font-size:9px; font-weight:900; }
.finance-empty dd { margin:0; font-size:11px; }
.finance-conversion { display:grid; gap:18px; }
.finance-decision-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.6fr); gap:24px; padding:22px; border:1px solid #d8ccb1; border-left:5px solid #96703a; border-radius:13px; background:#fff; }
.finance-decision-card.ready_for_experiment { border-left-color:#2b7558; }
.finance-decision-card.rejected,.finance-decision-card.needs_revision { border-left-color:#aa6147; }
.finance-decision-card span,.finance-route-grid article>span,.finance-proxy-section header>span { color:#8b744e; font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.finance-decision-card h3 { margin:5px 0 5px; font-size:20px; }
.finance-decision-card p { margin:0; color:#70695e; line-height:1.65; }
.finance-decision-card dl,.finance-route-grid dl { display:grid; gap:8px; margin:0; }
.finance-decision-card dl div,.finance-route-grid dl div { display:flex; justify-content:space-between; gap:12px; padding-bottom:7px; border-bottom:1px solid #eee8da; }
.finance-decision-card dt,.finance-route-grid dt { color:#8b8375; font-size:10px; }
.finance-decision-card dd,.finance-route-grid dd { margin:0; font-size:10px; font-weight:800; text-align:right; }
.finance-route-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.finance-route-grid>article { min-width:0; padding:17px; border:1px solid #ded5c2; border-radius:12px; background:rgba(255,255,255,.72); }
.finance-route-grid>article>p { margin:12px 0 4px; font-weight:800; }
.finance-route-grid>article>small { color:#857c6e; line-height:1.5; }
.finance-role-list,.finance-chip-list { display:flex; flex-wrap:wrap; gap:5px; margin-top:11px; }
.finance-role-list code,.finance-chip-list i { padding:5px 7px; border-radius:6px; color:#514b40; background:#ede6d6; font-size:9px; font-style:normal; }
.finance-provenance-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.finance-provenance-columns>div { overflow:hidden; border:1px solid #ddd3bd; border-radius:13px; background:#fff; }
.finance-provenance-columns header { display:flex; gap:10px; align-items:center; padding:16px 18px; border-bottom:1px solid #eee8dc; }
.finance-provenance-columns h3 { margin:0; font-size:14px; }
.finance-provenance-columns article { padding:15px 18px; border-bottom:1px solid #f0ece2; }
.finance-provenance-columns article:last-child { border-bottom:0; }
.finance-provenance-columns article p { margin:0 0 7px; line-height:1.65; }
.finance-provenance-columns article small { color:#8b8377; }
.provenance { width:max-content; padding:4px 7px; border-radius:999px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:8px; font-weight:900; }
.provenance.paper { color:#1f674e; background:#dff2ea; }
.provenance.inferred { color:#865e1a; background:#f5e8c5; }
.finance-inline-empty { padding:18px; color:#8a8174; }
.finance-proxy-section,.finance-deferrals { padding:20px; border:1px solid #ddd3bd; border-radius:13px; background:rgba(255,255,255,.7); }
.finance-proxy-section header h3 { margin:5px 0 15px; }
.finance-proxy-section>div { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.finance-proxy-section article { padding:14px; border:1px solid #e4dcc9; border-radius:10px; background:#fff; }
.finance-proxy-section article p { min-height:40px; color:#6e685e; line-height:1.55; }
.finance-proxy-section article small { color:#9a8c74; }
.finance-deferrals h3 { margin-top:0; }
.finance-deferrals li { margin:7px 0; color:#775e4e; }
.finance-candidate-list { display:grid; gap:16px; }
.finance-candidate { overflow:hidden; border:1px solid #d9cfb8; border-left:5px solid #a56048; border-radius:14px; background:#fff; }
.finance-candidate.ready { border-left-color:#2c7b5d; }
.finance-candidate>header { display:flex; justify-content:space-between; gap:18px; padding:19px 21px 14px; border-bottom:1px solid #eee8db; }
.finance-candidate>header span { color:#92713a; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:9px; }
.finance-candidate>header h3 { margin:4px 0 0; font-size:19px; }
.finance-candidate>header>b { align-self:start; padding:6px 9px; border-radius:999px; color:#8a4d37; background:#f6e3da; font-size:9px; }
.finance-candidate.ready>header>b { color:#21634d; background:#dff1e9; }
.candidate-provenance { display:flex; gap:9px; align-items:center; padding:12px 21px 0; }
.candidate-provenance small { color:#837c70; }
.candidate-hypothesis { margin:14px 21px; font-size:14px; line-height:1.7; }
.finance-candidate>pre { margin:0 21px 17px; padding:16px; overflow:auto; border-radius:10px; color:#eaf4ef; background:#173b31; }
.finance-candidate>pre code { font-size:12px; white-space:pre-wrap; }
.candidate-spec { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0 21px 18px; }
.candidate-spec>div { min-width:0; padding:11px; border:1px solid #ece5d8; border-left:0; }
.candidate-spec>div:first-child { border-left:1px solid #ece5d8; border-radius:9px 0 0 9px; }
.candidate-spec>div:last-child { border-radius:0 9px 9px 0; }
.candidate-spec dt { color:#8f8678; font-size:9px; }
.candidate-spec dd { margin:5px 0 0; overflow:hidden; font-size:10px; font-weight:800; text-overflow:ellipsis; }
.candidate-detail-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; padding:0 21px 18px; }
.candidate-detail-grid section { padding:13px; border-radius:9px; background:#f8f5ed; }
.candidate-detail-grid h4 { margin:0 0 7px; font-size:10px; }
.candidate-detail-grid ul { margin:0; padding-left:16px; }
.candidate-detail-grid li { margin:4px 0; color:#716b60; font-size:9px; line-height:1.45; }
.finance-candidate>footer { display:grid; grid-template-columns:100px 1fr; gap:12px; padding:14px 21px; border-top:1px solid #eee8db; background:#fbf9f4; }
.finance-candidate>footer p { margin:0; color:#716a5e; font-size:10px; }
.finance-validation>header { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:16px; }
.finance-validation>header span,.finance-lineage>header span { color:#8e713d; font-size:9px; font-weight:900; letter-spacing:.09em; }
.finance-validation>header h3,.finance-lineage>header h3 { margin:5px 0; font-size:22px; }
.finance-validation>header p,.finance-lineage>header p { margin:0; color:#766f63; }
.finance-validation-score { display:grid; width:76px; height:76px; place-content:center; border:7px solid #d9c89f; border-radius:50%; text-align:center; }
.finance-validation-score b { font-size:23px; line-height:1; }
.finance-validation-score span { margin-top:3px; font-size:8px; }
.validator-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.validator-grid article { padding:15px; border:1px solid #ddd4c1; border-top:4px solid #2f765b; border-radius:11px; background:#fff; }
.validator-grid article.failed { border-top-color:#aa5f47; }
.validator-grid article.warning { border-top-color:#bd8528; }
.validator-grid article>div { display:flex; justify-content:space-between; color:#857a67; font-size:8px; }
.validator-grid article>div b { color:#2f765b; }
.validator-grid article.failed>div b { color:#aa5f47; }
.validator-grid article.warning>div b { color:#a16d18; }
.validator-grid h4 { min-height:32px; margin:10px 0 5px; font-size:11px; }
.validator-grid p { min-height:31px; margin:0 0 6px; color:#7b7367; font-size:9px; line-height:1.5; }
.validator-grid small { color:#9a8f7c; font-size:8px; }
.finance-lineage { display:grid; gap:18px; }
.lineage-track { display:flex; gap:9px; overflow:auto; padding:8px 0 14px; }
.lineage-track article { position:relative; display:grid; grid-template-columns:32px 210px; flex:0 0 auto; gap:9px; padding:14px; border:1px solid #ddd2b9; border-radius:11px; background:#fff; }
.lineage-track article:not(:last-child)::after { content:"→"; position:absolute; right:-10px; top:37px; z-index:2; color:#9e8453; }
.lineage-track article>span { display:grid; width:30px; height:30px; place-content:center; border-radius:50%; color:#fff; background:#315d4b; font-size:9px; }
.lineage-track article>div { display:grid; gap:4px; min-width:0; }
.lineage-track small { color:#9b7d47; font-weight:900; }
.lineage-track b,.lineage-track code { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.lineage-track code { color:#8e8679; font-size:8px; }
.lineage-edges { padding:18px; border:1px solid #ddd2b9; border-radius:11px; background:#fff; }
.lineage-edges h4 { margin-top:0; }
.lineage-edges p { display:grid; grid-template-columns:1fr auto 1fr; gap:10px; align-items:center; margin:8px 0; }
.lineage-edges p span { padding:4px 7px; border-radius:999px; color:#72551f; background:#f2e7cc; font-size:8px; }
.lineage-edges code { overflow:hidden; text-overflow:ellipsis; }

@media (max-width: 980px) {
  .finance-workspace-header { grid-template-columns:1fr; }
  .finance-route-grid,.candidate-spec,.candidate-detail-grid { grid-template-columns:repeat(2,1fr); }
  .validator-grid { grid-template-columns:repeat(2,1fr); }
  .finance-proxy-section>div { grid-template-columns:1fr 1fr; }
}

@media (max-width: 680px) {
  .finance-workspace { border-radius:14px; }
  .finance-workspace-header,.finance-workspace-body,.finance-workspace-actions { padding-left:17px; padding-right:17px; }
  .finance-safety-strip { padding-left:17px; padding-right:17px; }
  .finance-tabs { grid-template-columns:1fr 1fr; padding-left:17px; padding-right:17px; }
  .finance-decision-card,.finance-provenance-columns,.finance-route-grid,.candidate-spec,.candidate-detail-grid,.validator-grid,.finance-proxy-section>div { grid-template-columns:1fr; }
  .finance-workspace-actions { align-items:stretch; flex-direction:column; }
  .finance-empty { padding:30px 18px; }
  .finance-empty dl { align-items:center; flex-direction:column; gap:12px; }
  .candidate-spec>div,.candidate-spec>div:first-child,.candidate-spec>div:last-child { border:1px solid #ece5d8; border-radius:8px; }
  .finance-candidate>header { align-items:flex-start; flex-direction:column; }
  .finance-candidate>footer { grid-template-columns:1fr; }
  .lineage-edges p { grid-template-columns:1fr; }
  .lineage-edges p span { width:max-content; }
}

@media (max-width:1100px) {
  .article-reading-layout { grid-template-columns:minmax(0,860px); }
  .article-sidecar { position:static; grid-template-columns:1fr 1fr; }
  .article-sidecar>nav { display:none; }
}
@media (max-width:700px) {
  .article-lead,.article-section { padding:27px 20px; }
  .article-dek { font-size:17px; }
  .article-at-a-glance,.article-sidecar { grid-template-columns:1fr; }
  .article-prerequisites { padding:20px; }
  .article-prerequisites dl>div { grid-template-columns:1fr; gap:4px; }
  .article-section>h2 { font-size:24px; }
  .article-components>section,.article-findings>section { grid-template-columns:28px 1fr; }
  .article-appendices>details>summary { grid-template-columns:1fr auto; }
  .article-appendices>details>summary span,.article-appendices>details>summary b { grid-column:1; }
  .article-appendices>details>summary small { display:none; }
  .article-appendices>details>summary::after { grid-column:2; grid-row:1/3; }
}

/* Obsidian-style paper graph */
.atlas-stage { padding:18px; background:#f8f8f3; }
.atlas-stage>.section-heading { padding:4px 6px 16px; }
.atlas-layout { grid-template-columns:minmax(0,1fr) 310px; gap:12px; min-height:780px; }
.atlas-graph-pane { min-width:0; display:grid; grid-template-rows:auto 1fr; overflow:hidden; border:1px solid #183d37; border-radius:17px; background:#071513; box-shadow:0 20px 60px rgba(13,35,29,.16); }
.graph-toolbar { position:relative; z-index:5; display:flex; align-items:center; gap:12px; min-height:58px; padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(5,19,17,.96); }
.graph-search { min-width:210px; flex:1; display:flex; align-items:center; gap:8px; padding:9px 11px; border:1px solid rgba(189,224,210,.16); border-radius:9px; color:#a9c8bd; background:rgba(255,255,255,.045); }
.graph-search:focus-within { border-color:rgba(100,224,197,.62); box-shadow:0 0 0 3px rgba(70,215,194,.08); }
.graph-search input { width:100%; border:0; outline:0; color:#e8f2ec; background:transparent; font:inherit; font-size:11px; }
.graph-search input::placeholder { color:#6f8c82; }
.graph-live-stats { display:flex; align-items:center; gap:9px; color:#78988e; font-size:8px; white-space:nowrap; }
.graph-live-stats span { padding:5px 7px; border-radius:6px; background:rgba(255,255,255,.035); }
.graph-live-stats b { color:#d9e8df; }
.graph-controls { display:flex; align-items:center; gap:5px; }
.graph-controls button { width:31px; height:31px; display:grid; place-items:center; padding:0; border:1px solid rgba(189,224,210,.15); border-radius:8px; color:#b9d0c7; background:rgba(255,255,255,.04); font-size:15px; }
.graph-controls button:hover { color:#fff2b0; border-color:rgba(255,235,150,.42); background:rgba(255,255,255,.09); }
.atlas-graph { min-height:720px; border:0; border-radius:0; background:radial-gradient(circle at 50% 48%,#12352f 0,#081c19 48%,#030b0a 100%); }
.atlas-graph::before { opacity:.2; background-size:48px 48px; }
.atlas-graph svg { min-height:720px; touch-action:none; cursor:grab; }
.atlas-graph svg.is-panning { cursor:grabbing; }
.graph-viewport { transform-origin:0 0; }
.atlas-edge { opacity:.72; transition:opacity .16s ease; }
.atlas-edge line { stroke:rgba(116,174,158,.18); stroke-width:1.05; transition:stroke .16s ease,stroke-width .16s ease,opacity .16s ease; vector-effect:non-scaling-stroke; pointer-events:stroke; }
.atlas-edge--belongs_to line { stroke:rgba(70,215,194,.24); stroke-width:1.25; }
.atlas-edge--discusses line { stroke:rgba(194,176,102,.15); stroke-width:.85; }
.atlas-edge--shared_concept line,.atlas-edge--explicit_link line { stroke:rgba(239,207,104,.44); stroke-width:1.8; stroke-dasharray:none; }
.atlas-node { opacity:.9; transition:opacity .16s ease; }
.atlas-node circle { stroke:rgba(244,250,244,.72); stroke-width:1.15; filter:drop-shadow(0 0 7px color-mix(in srgb,var(--node-color) 50%,transparent)); transition:transform .16s ease,stroke .16s ease,stroke-width .16s ease,filter .16s ease; vector-effect:non-scaling-stroke; }
.atlas-node text { opacity:0; fill:#f2f7f2; stroke:#061310; stroke-width:3.5px; font-size:10px; font-weight:760; transition:opacity .16s ease; }
.atlas-node.graph-label-always text { opacity:.68; }
.atlas-node--paper text { font-size:9px; }
.atlas-node--space text { opacity:1; fill:#fff0a0; font-size:12px; font-weight:900; }
.atlas-node--space circle { stroke:#fff0a0; stroke-width:2.2; }
.atlas-node--topic circle { stroke:rgba(255,233,154,.68); }
.atlas-node:hover circle,.atlas-node:focus circle,.atlas-node.selected circle,.atlas-node.is-focus circle { stroke:#fffbd0; stroke-width:3.5; transform:scale(1.22); filter:drop-shadow(0 0 16px var(--node-color)); }
.atlas-node:hover text,.atlas-node:focus text,.atlas-node.selected text,.atlas-node.is-focus text,.atlas-node.is-neighbor text { opacity:1; }
.atlas-graph.has-graph-focus .atlas-node.is-dimmed { opacity:.075; }
.atlas-graph.has-graph-focus .atlas-edge.is-dimmed { opacity:.035; }
.atlas-graph.has-graph-focus .atlas-node.is-neighbor { opacity:.96; }
.atlas-graph.has-graph-focus .atlas-edge.is-active { opacity:1; }
.atlas-graph.has-graph-focus .atlas-edge.is-active line { stroke:#fff0a0; stroke-width:2.8; }
.atlas-graph.has-graph-focus .atlas-node.is-neighbor circle { stroke:rgba(255,242,177,.88); stroke-width:2; filter:drop-shadow(0 0 11px var(--node-color)); }
.graph-hover-card { position:absolute; z-index:4; top:0; left:0; width:210px; display:grid; gap:4px; padding:11px 12px; opacity:0; pointer-events:none; border:1px solid rgba(255,255,255,.14); border-radius:9px; color:#e9f2ed; background:rgba(2,12,10,.9); box-shadow:0 12px 36px rgba(0,0,0,.28); backdrop-filter:blur(10px); transition:opacity .12s ease; }
.graph-hover-card.show { opacity:1; }
.graph-hover-card b { overflow:hidden; font-family:Georgia,"Songti SC",serif; font-size:11px; line-height:1.35; text-overflow:ellipsis; }
.graph-hover-card span,.graph-hover-card small { color:#93ada4; font-size:8px; }
.graph-hover-card small { color:#f0d879; }
.graph-legend { right:14px; left:auto; align-items:center; }
.graph-legend small { color:#6f9287; }
.atlas-inspector { position:sticky; top:74px; max-height:780px; border-color:#d9ddd4; background:#fffefa; }
.atlas-graph-pane:fullscreen { width:100vw; height:100vh; border:0; border-radius:0; }
.atlas-graph-pane:fullscreen .atlas-graph,.atlas-graph-pane:fullscreen .atlas-graph svg { min-height:calc(100vh - 58px); }
.atlas-graph.graph-no-results::after { content:"没有匹配的论文或概念"; position:absolute; z-index:4; left:50%; top:50%; transform:translate(-50%,-50%); padding:12px 16px; border-radius:9px; color:#d7e4dd; background:rgba(2,12,10,.82); font-size:11px; }

@media (max-width:1100px) {
  .atlas-layout { grid-template-columns:1fr; }
  .atlas-inspector { position:static; max-height:none; }
}
@media (max-width:700px) {
  .atlas-stage { padding:10px; }
  .graph-toolbar { flex-wrap:wrap; }
  .graph-search { min-width:100%; }
  .graph-live-stats { flex:1; }
  .atlas-graph,.atlas-graph svg { min-height:570px; }
  .graph-legend small { display:none; }
}

/* Full-screen graph workbench */
body.graph-workbench-mode { height:100vh; overflow:hidden; background:#070b13; color:#e9edf5; }
body.graph-workbench-mode .app-shell { display:block; width:100vw; height:100vh; min-height:0; overflow:hidden; }
body.graph-workbench-mode .library-panel,
body.graph-workbench-mode .topbar { display:none !important; }
body.graph-workbench-mode .main-panel,
body.graph-workbench-mode .paper-workspace { width:100vw; height:100vh; min-height:0; max-width:none; margin:0; padding:0; overflow:hidden; background:#070b13; }
.graph-workbench { --graph-gold:#efb632; --graph-teal:#31d0be; --graph-panel:#111722; --graph-panel-2:#171e2b; width:100%; height:100vh; display:grid; grid-template-rows:70px minmax(0,1fr); color:#e9edf5; background:#080d16; }
.graph-workbench-empty { place-items:center; align-content:center; gap:18px; }
.graph-workbench-empty button { padding:10px 16px; border:1px solid #354154; border-radius:8px; color:#e8edf6; background:#151d29; }
.graph-appbar { position:relative; z-index:20; display:grid; grid-template-columns:330px minmax(0,1fr) 190px; align-items:center; border-bottom:1px solid #222b39; background:#090e17; box-shadow:0 4px 22px rgba(0,0,0,.2); }
.graph-brand { height:70px; display:flex; align-items:center; gap:13px; padding:0 26px; border:0; border-right:1px solid #202936; text-align:left; color:inherit; background:transparent; }
.graph-brand:hover { background:#101722; }
.graph-brand-mark { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(49,208,190,.48); border-radius:10px; color:var(--graph-teal); background:rgba(49,208,190,.08); font-size:18px; }
.graph-brand b,.graph-brand small { display:block; }
.graph-brand b { color:var(--graph-gold); font-family:Georgia,"Songti SC",serif; font-size:18px; letter-spacing:.03em; }
.graph-brand small { margin-top:3px; color:#69778d; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.graph-view-tabs { justify-self:center; height:70px; display:flex; align-items:stretch; gap:20px; }
.graph-view-tabs button { position:relative; min-width:104px; padding:0 12px; border:0; color:#8995a8; background:transparent; font-size:12px; font-weight:700; }
.graph-view-tabs button::after { content:""; position:absolute; right:10px; bottom:0; left:10px; height:3px; transform:scaleX(0); border-radius:3px 3px 0 0; background:var(--graph-gold); transition:transform .18s ease; }
.graph-view-tabs button:hover { color:#d9e0eb; }
.graph-view-tabs button.active { color:var(--graph-gold); }
.graph-view-tabs button.active::after { transform:scaleX(1); }
.graph-library-return { justify-self:end; margin-right:22px; padding:9px 12px; border:1px solid #2d394b; border-radius:8px; color:#a9b4c5; background:#101722; font-size:10px; }
.graph-library-return:hover { color:#fff; border-color:#5b6a7e; }
.graph-workbench-body { min-height:0; display:grid; grid-template-columns:330px minmax(0,1fr); }
.graph-sidebar { position:relative; z-index:8; min-width:0; height:100%; padding:0 20px 24px; overflow-x:hidden; overflow-y:auto; border-right:1px solid #222b39; background:#101621; scrollbar-width:thin; scrollbar-color:#384356 transparent; }
.graph-sidebar-intro { display:grid; grid-template-columns:30px 1fr; gap:10px; margin:0 -20px 20px; padding:21px 20px 18px; border-bottom:1px solid #26303e; }
.graph-sidebar-intro>span { color:var(--graph-gold); font-size:19px; }
.graph-sidebar-intro h1 { margin:0; color:var(--graph-gold); font-size:16px; letter-spacing:.02em; }
.graph-sidebar-intro p { margin:7px 0 0; color:#778499; font-size:9px; line-height:1.55; }
.workbench-search { height:48px; display:flex; align-items:center; gap:10px; margin-bottom:18px; padding:0 13px; border:1px solid #2c3748; border-radius:9px; color:#8693a7; background:#171e2b; }
.workbench-search:focus-within { border-color:rgba(49,208,190,.62); box-shadow:0 0 0 3px rgba(49,208,190,.07); }
.workbench-search input { min-width:0; flex:1; border:0; outline:0; color:#e8edf5; background:transparent; font-size:11px; }
.workbench-search input::placeholder { color:#68758a; }
.graph-sidebar-panel { margin-bottom:16px; padding:17px; border:1px solid #2a3443; border-radius:11px; background:#171e2a; }
.graph-sidebar-panel h2 { margin:0 0 14px; color:#aeb8c7; font-size:11px; letter-spacing:.04em; }
.graph-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.graph-stat-grid>div { min-height:76px; display:grid; place-content:center; text-align:center; border:1px solid #303a4a; border-radius:9px; background:#1b2330; }
.graph-stat-grid b,.graph-stat-grid span { display:block; }
.graph-stat-grid b { color:var(--graph-gold); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:19px; }
.graph-stat-grid span { margin-top:5px; color:#7c899c; font-size:8px; }
.graph-filter-panel { display:grid; gap:12px; }
.graph-filter-panel h2 { margin-bottom:0; }
.graph-filter-panel label { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#9aa6b8; font-size:9px; }
.graph-filter-panel input { width:68px; padding:7px 8px; border:1px solid #354154; border-radius:7px; outline:0; color:#e9edf5; background:#202937; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.graph-filter-panel button { padding:8px 10px; border:1px solid rgba(49,208,190,.38); border-radius:7px; color:var(--graph-teal); background:rgba(49,208,190,.07); font-size:9px; }
.graph-filter-panel p,.graph-legend-panel p,.graph-source-boundary p { margin:0; color:#7f8b9e; font-size:9px; line-height:1.6; }
.graph-legend-panel>div { display:grid; gap:9px; margin-bottom:12px; }
.graph-legend-panel span { display:flex; align-items:center; gap:8px; color:#aeb8c7; font-size:9px; }
.graph-legend-panel i { width:10px; height:10px; display:block; border-radius:50%; background:var(--graph-teal); box-shadow:0 0 10px rgba(49,208,190,.55); }
.graph-legend-panel .legend-topic-node { background:var(--graph-gold); box-shadow:0 0 10px rgba(239,182,50,.55); }
.graph-legend-panel .legend-link { width:20px; height:0; border-top:1px solid #69798f; border-radius:0; background:none; box-shadow:none; }
.graph-source-boundary { border-color:#3a3540; background:linear-gradient(135deg,#191e29,#1a1922); }
.graph-source-boundary b { color:#e7bf62; }
.graph-inspector-panel { min-height:170px; }
.graph-inspector-panel .inspector-kicker { color:var(--graph-teal); font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.graph-inspector-panel h3 { margin:8px 0; color:#edf1f7; font-family:Georgia,"Songti SC",serif; font-size:15px; line-height:1.35; }
.graph-inspector-panel .inspector-subtitle,.graph-inspector-panel .inspector-description { color:#7f8c9f; font-size:9px; line-height:1.6; }
.graph-inspector-panel .inspector-count { display:flex; align-items:baseline; gap:8px; margin:13px 0; }
.graph-inspector-panel .inspector-count b { color:var(--graph-gold); font-size:20px; }
.graph-inspector-panel .inspector-count span { color:#7f8c9f; font-size:8px; }
.graph-inspector-panel .inspector-facts { display:grid; gap:8px; margin:12px 0; }
.graph-inspector-panel .inspector-facts>div { display:grid; grid-template-columns:70px 1fr; gap:8px; }
.graph-inspector-panel dt { color:#667489; font-size:8px; }
.graph-inspector-panel dd { margin:0; color:#aeb9c9; font-size:8px; line-height:1.5; }
.graph-inspector-panel .relation-pair { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:7px; padding:10px; border-radius:8px; background:#111823; color:#aab5c5; font-size:8px; }
.graph-inspector-panel .relation-pair b { color:var(--graph-gold); }
.graph-inspector-panel .inspector-warning { color:#757f91; font-size:8px; line-height:1.55; }
.graph-inspector-panel .inspector-tags { display:flex; flex-wrap:wrap; gap:5px; }
.graph-inspector-panel .inspector-tags span { padding:4px 6px; border:1px solid rgba(49,208,190,.24); border-radius:999px; color:#70d8ca; font-size:7px; }
.graph-inspector-panel .inspector-paper-list { display:grid; gap:5px; margin:10px 0; }
.graph-inspector-panel .inspector-paper-list button { padding:7px 8px; border:1px solid #2e3848; border-radius:6px; text-align:left; color:#aeb8c7; background:#111722; font-size:8px; line-height:1.4; }
.graph-inspector-panel .button { width:100%; margin-top:8px; border-color:rgba(49,208,190,.38); color:#06221d; background:var(--graph-teal); font-size:9px; }
.graph-canvas-stage { position:relative; min-width:0; min-height:0; overflow:hidden; background:#070b13; }
.graph-canvas-wrap { position:absolute; inset:0; overflow:hidden; background:radial-gradient(circle at 48% 44%,#121d2a 0,#090f19 52%,#060a11 100%); }
.graph-canvas-wrap::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.18; background-image:radial-gradient(circle,#718096 0 1px,transparent 1.4px); background-size:48px 48px; }
.graph-engine-host { position:absolute; inset:0; z-index:1; min-width:0; min-height:0; overflow:hidden; background:transparent; cursor:grab; }
.graph-engine-host:active { cursor:grabbing; }
.graph-engine-host canvas { display:block; }
.graph-engine-host.graph-engine-ready { animation:graph-engine-reveal .28s ease-out both; }
.graph-engine-loading,.graph-engine-error { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:8px; color:#8190a4; text-align:center; pointer-events:none; }
.graph-engine-loading span { width:32px; height:32px; border:2px solid rgba(49,208,190,.14); border-top-color:#35d3c1; border-radius:50%; animation:graph-engine-spin .8s linear infinite; }
.graph-engine-loading b { margin-top:4px; color:#cbd5e2; font-size:11px; }
.graph-engine-loading small,.graph-engine-error small { color:#65758b; font-size:8px; }
.graph-engine-error { pointer-events:auto; }
.graph-engine-error b { color:#f1c761; font-size:13px; }
.graph-engine-error p { max-width:420px; margin:0; color:#9aa7b9; font-size:9px; line-height:1.55; }
.graph-engine-host .sigma-container,.graph-engine-host>canvas { position:absolute; inset:0; width:100% !important; height:100% !important; }
@keyframes graph-engine-spin { to { transform:rotate(360deg); } }
@keyframes graph-engine-reveal { from { opacity:0; transform:scale(.992); } to { opacity:1; transform:none; } }
.graph-canvas-caption { position:absolute; z-index:4; top:18px; left:20px; display:flex; align-items:center; gap:11px; padding:7px 10px; border:1px solid rgba(142,158,181,.15); border-radius:7px; color:#748197; background:rgba(8,13,22,.76); backdrop-filter:blur(8px); font-size:8px; }
.graph-canvas-caption b { color:#acb7c7; font-size:9px; }
.graph-canvas-stage .atlas-graph { position:absolute; inset:0; min-height:0; border:0; border-radius:0; background:transparent; }
.graph-canvas-stage .atlas-graph::before { display:none; }
.graph-canvas-stage .atlas-graph svg { width:100%; height:100%; min-height:0; cursor:grab; touch-action:none; }
.graph-canvas-stage .atlas-graph svg.is-panning { cursor:grabbing; }
.graph-canvas-stage .atlas-edge line { stroke:rgba(113,132,159,.21); stroke-width:1.15; vector-effect:non-scaling-stroke; }
.graph-canvas-stage .atlas-edge--shared_concept line,.graph-canvas-stage .atlas-edge--explicit_link line { stroke:rgba(239,182,50,.34); stroke-width:1.7; }
.graph-canvas-stage .atlas-edge--cooccurrence line { stroke:rgba(95,143,164,.3); stroke-width:calc(.45px + var(--edge-weight) * .34px); }
.graph-canvas-stage .atlas-node circle { fill:var(--node-color); stroke:rgba(234,241,248,.78); stroke-width:1.2; filter:drop-shadow(0 0 8px color-mix(in srgb,var(--node-color) 55%,transparent)); }
.graph-canvas-stage .atlas-node--topic circle { fill:var(--graph-teal); stroke:#a5f3e8; }
.graph-canvas-stage .atlas-node text { fill:#dfe6ee; stroke:#080d15; stroke-width:4px; font-size:10px; font-weight:720; }
.graph-canvas-stage .atlas-node--paper text { font-size:10px; }
.graph-canvas-stage .atlas-node.graph-label-always text { opacity:.66; }
.graph-canvas-stage .atlas-node:hover text,.graph-canvas-stage .atlas-node:focus text,.graph-canvas-stage .atlas-node.selected text,.graph-canvas-stage .atlas-node.is-focus text,.graph-canvas-stage .atlas-node.is-neighbor text { opacity:1; }
.graph-canvas-stage .atlas-graph.has-graph-focus .atlas-node.is-dimmed { opacity:.045; }
.graph-canvas-stage .atlas-graph.has-graph-focus .atlas-edge.is-dimmed { opacity:.018; }
.graph-canvas-stage .atlas-graph.has-graph-focus .atlas-edge.is-active line { stroke:#f7c84f; stroke-width:2.8; }
.graph-canvas-stage .atlas-graph.has-graph-focus .atlas-node.is-neighbor circle { stroke:#fff4b0; stroke-width:2.2; }
.graph-controls-vertical { position:absolute; z-index:5; right:20px; top:50%; display:grid; gap:8px; transform:translateY(-50%); }
.graph-controls-vertical button { width:42px; height:42px; border-color:#283347; border-radius:50%; color:#aeb9c9; background:rgba(15,21,32,.88); box-shadow:0 8px 26px rgba(0,0,0,.22); font-size:19px; }
.graph-controls-vertical button:hover { color:var(--graph-gold); border-color:rgba(239,182,50,.55); }
.graph-canvas-help { position:absolute; z-index:4; right:20px; bottom:18px; padding:7px 11px; border-radius:999px; color:#667489; background:rgba(8,13,22,.76); font-size:8px; pointer-events:none; }
.graph-canvas-stage .graph-hover-card { z-index:8; border-color:#344257; color:#edf2f8; background:rgba(9,14,23,.94); }
.graph-canvas-stage .graph-hover-card small { color:var(--graph-gold); }
.workbench-universe { position:absolute; inset:0; width:auto; height:auto; min-height:0; border:0; border-radius:0; }
.workbench-universe .graph-engine-host-3d { inset:0; background:#050912; }
.workbench-universe .graph-engine-host-3d>div { position:absolute; inset:0; }
.workbench-universe canvas { width:100%; height:100%; }
.workbench-universe .universe-hud { top:18px; left:20px; }
.workbench-universe .universe-hud span { border-color:#2a3649; color:#8290a5; background:rgba(9,14,23,.82); }
.workbench-universe .universe-hud b { color:var(--graph-gold); }
.workbench-universe .universe-axis { color:#738096; background:rgba(9,14,23,.86); }
.graph-canvas-stage:fullscreen { background:#070b13; }

.corpus-workbench-mode .paper-workspace { padding:0; background:#f3f1ea; }
.corpus-workbench { min-height:100%; padding:34px; color:#14202b; background:linear-gradient(180deg,#edf6f3 0,#f7f4ec 320px,#f4f2eb 100%); }
.corpus-hero { display:flex; justify-content:space-between; gap:30px; padding:34px; border:1px solid #ccd9d4; border-radius:18px; background:#fff; box-shadow:0 18px 50px rgba(30,56,53,.08); }
.corpus-hero>div:first-child { max-width:820px; }
.corpus-hero span,.benchmark-metrics header span,.corpus-table-section header span,.gold-set-section header span { color:#168b7e; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.corpus-hero h1 { margin:8px 0 10px; font:800 clamp(28px,3.4vw,48px)/1.06 Georgia,serif; }
.corpus-hero p,.gold-set-section header p { margin:0; color:#5a6870; line-height:1.75; }
.corpus-actions { display:flex; align-items:flex-start; gap:10px; flex-wrap:wrap; }
.corpus-safety-strip { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; }
.corpus-safety-strip span { padding:7px 11px; border:1px solid #c6d7d1; border-radius:999px; color:#46665f; background:#edf7f4; font-size:11px; font-weight:700; }
.corpus-summary-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.corpus-summary-grid article { padding:18px; border:1px solid #ddd8ca; border-radius:12px; background:#fff; }
.corpus-summary-grid span { display:block; color:#738078; font-size:11px; }
.corpus-summary-grid b { display:block; margin-top:5px; color:#163d37; font-size:28px; }
.benchmark-metrics,.corpus-table-section,.gold-set-section { margin-top:22px; padding:24px; border:1px solid #ddd8ca; border-radius:16px; background:#fff; }
.benchmark-metrics>header,.corpus-table-section>header,.gold-set-section>header { display:flex; justify-content:space-between; gap:20px; align-items:end; margin-bottom:18px; }
.benchmark-metrics h2,.corpus-table-section h2,.gold-set-section h2 { margin:5px 0 0; font:750 24px/1.2 Georgia,serif; }
.benchmark-metrics>div { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.benchmark-metrics article { padding:16px; border:1px solid #d8e0dd; border-radius:10px; background:#f8fbfa; }
.benchmark-metrics article.lower-better { background:#fffaf1; }
.benchmark-metrics article span,.benchmark-metrics article small { display:block; color:#6c7976; font-size:10px; }
.benchmark-metrics article b { display:block; margin:6px 0; font-size:24px; }
.corpus-table-wrap { overflow:auto; max-height:680px; border:1px solid #e1ddd2; border-radius:10px; }
.corpus-table-wrap table { width:100%; border-collapse:collapse; font-size:12px; }
.corpus-table-wrap th { position:sticky; top:0; z-index:1; padding:11px; color:#52635f; background:#eef4f2; text-align:left; }
.corpus-table-wrap td { padding:11px; border-top:1px solid #ebe7dd; vertical-align:top; }
.corpus-table-wrap td b,.corpus-table-wrap td small { display:block; max-width:420px; }
.corpus-table-wrap td small { margin-top:4px; color:#7a8581; }
.status-pill { display:inline-flex; padding:4px 7px; border-radius:999px; color:#6d5b2b; background:#fff3ca; font-size:9px; font-weight:800; }
.status-pill.ok,.status-pill.verified { color:#176c61; background:#dff5ef; }
.status-pill.missing,.status-pill.rejected { color:#98503f; background:#fde6df; }
.gold-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gold-list article { padding:16px; border:1px solid #e2ddd2; border-radius:12px; background:#faf9f5; }
.gold-list article>header { display:flex; gap:9px; align-items:center; margin-bottom:12px; }
.gold-list article>header b { flex:1; }
.gold-list label { display:grid; gap:5px; margin:9px 0; color:#5d6863; font-size:11px; }
.gold-list input,.gold-list textarea,.evidence-review-panel input,.evidence-review-panel textarea { width:100%; box-sizing:border-box; padding:9px 10px; border:1px solid #d2d5ce; border-radius:7px; color:#17231f; background:#fff; font:inherit; }
.gold-list textarea { min-height:58px; resize:vertical; }
.gold-list .gold-checkbox { display:flex; grid-template-columns:auto 1fr; align-items:center; }
.gold-list .gold-checkbox input { width:auto; }
.evidence-review-panel { margin:0 24px 22px; padding:20px; border:1px solid rgba(65,178,163,.28); border-radius:14px; background:#f7fcfb; }
.evidence-review-panel>header { display:flex; justify-content:space-between; gap:20px; }
.evidence-review-panel>header h3 { margin:5px 0; }
.evidence-review-panel>header p { margin:0; color:#62736f; }
.evidence-review-panel>header>div:last-child { display:flex; gap:7px; }
.evidence-review-panel>header>div:last-child span { display:grid; place-items:center; min-width:58px; padding:8px; border-radius:8px; background:#e9f4f1; color:#62736f; font-size:9px; }
.evidence-review-panel>header>div:last-child b { color:#176c61; font-size:18px; }
.research-seed-dialog { max-width:760px; }
.research-seed-dialog form { display:grid; gap:12px; padding:0 24px 24px; }
.research-seed-dialog form>label { display:grid; gap:6px; color:#435651; font-size:12px; font-weight:700; }
.research-seed-dialog textarea,.research-seed-dialog input,.research-seed-dialog select { width:100%; box-sizing:border-box; padding:9px 10px; border:1px solid #d2d5ce; border-radius:7px; color:#17231f; background:#fff; font:inherit; }
.research-seed-dialog textarea { min-height:72px; resize:vertical; }
.research-seed-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.research-seed-row label { display:grid; gap:6px; color:#435651; font-size:12px; font-weight:700; }
.research-seed-backends { display:flex; gap:18px; color:#435651; font-size:12px; }
.research-seed-backends input { width:auto; }
.research-seed-dialog form>footer { display:flex; justify-content:flex-end; gap:8px; }
.evidence-review-grid { display:grid; grid-template-columns:320px 1fr; gap:18px; margin-top:18px; }
.evidence-review-grid form { display:grid; gap:9px; align-content:start; }
.evidence-review-grid form label { display:grid; gap:4px; color:#5d6d69; font-size:10px; }
.evidence-review-grid textarea { min-height:64px; resize:vertical; }
.evidence-review-list { display:grid; gap:9px; }
.evidence-review-list article { padding:13px; border:1px solid #dce8e4; border-radius:9px; background:#fff; }
.evidence-review-list article header,.evidence-review-list article footer { display:flex; justify-content:space-between; gap:7px; }
.evidence-review-list article p,.evidence-review-list article small { display:block; margin:5px 0; color:#65736f; }
@media (max-width:1100px) { .corpus-summary-grid,.benchmark-metrics>div { grid-template-columns:repeat(3,1fr); } .gold-list { grid-template-columns:1fr; } }
@media (max-width:720px) { .corpus-workbench { padding:14px; } .corpus-hero,.benchmark-metrics>header,.corpus-table-section>header,.gold-set-section>header { display:block; } .corpus-actions { margin-top:16px; } .corpus-summary-grid,.benchmark-metrics>div { grid-template-columns:repeat(2,1fr); } .evidence-review-grid { grid-template-columns:1fr; } }

.wq-workbench-mode .paper-workspace { padding:0; background:#08101a; }
.wq-workbench { min-height:100%; padding:34px; color:#dce6ef; background:radial-gradient(circle at 88% 3%,rgba(21,150,139,.18),transparent 32%),linear-gradient(180deg,#09111c,#101a25 560px,#0b121c); }
.wq-hero { display:flex; justify-content:space-between; gap:28px; padding:34px; border:1px solid #27394a; border-radius:18px; background:linear-gradient(135deg,rgba(16,29,42,.98),rgba(10,20,30,.96)); box-shadow:0 22px 60px rgba(0,0,0,.28); }
.wq-hero>div:first-child { max-width:820px; }
.wq-hero>div:first-child>span,.wq-panel>header>span { color:#55dfc8; font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.wq-hero h1 { margin:8px 0 10px; color:#f2f7fa; font:800 clamp(29px,3.4vw,49px)/1.04 Georgia,serif; }
.wq-hero p,.wq-panel>header p { margin:0; color:#94a7b8; line-height:1.72; }
.wq-runtime-card { display:grid; align-content:start; gap:8px; min-width:255px; padding:18px; border:1px solid #2d4651; border-radius:13px; background:rgba(5,13,21,.62); }
.wq-runtime-card small,.wq-runtime-card span { color:#8297a9; }
.wq-runtime-card b { overflow-wrap:anywhere; color:#eaf5f2; }
.wq-lock-strip { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.wq-lock-strip>* { padding:7px 11px; border:1px solid #294250; border-radius:999px; color:#8fa7b5; background:#101f2a; font-size:10px; }
.wq-lock-strip strong { border-color:#713d3c; color:#ffb5a9; background:#271819; letter-spacing:.05em; }
.wq-stat-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:11px; }
.wq-stat-grid article { padding:17px; border:1px solid #263746; border-radius:11px; background:#101b27; }
.wq-stat-grid b,.wq-stat-grid span { display:block; }
.wq-stat-grid b { color:#62e4cd; font-size:25px; }
.wq-stat-grid span { margin-top:4px; color:#8295a6; font-size:9px; }
.wq-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:18px; margin-top:20px; }
.wq-panel { padding:24px; border:1px solid #273846; border-radius:15px; background:rgba(15,25,36,.96); box-shadow:0 15px 42px rgba(0,0,0,.2); }
.wq-panel>header h2 { margin:6px 0 8px; color:#edf4f8; font:750 24px/1.18 Georgia,serif; }
.wq-new-research form { display:grid; gap:12px; margin-top:20px; }
.wq-new-research label,.wq-train-gate label,.wq-field-search { display:grid; gap:5px; color:#96a9b8; font-size:10px; }
.wq-new-research input,.wq-new-research textarea,.wq-new-research select,.wq-train-gate input,.wq-field-search input { width:100%; box-sizing:border-box; padding:10px 11px; border:1px solid #334654; border-radius:8px; color:#e6eef3; background:#0a141e; font:inherit; }
.wq-new-research textarea { min-height:66px; resize:vertical; }
.wq-form-row { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.wq-new-research fieldset { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin:0; padding:12px; border:1px solid #2d414f; border-radius:9px; }
.wq-new-research legend { padding:0 6px; color:#64cdbd; font-size:9px; }
.wq-new-research .wq-check { display:flex; grid-template-columns:auto 1fr; align-items:center; }
.wq-new-research .wq-check input { width:auto; }
.wq-knowledge dl { display:grid; gap:0; margin:18px 0; }
.wq-knowledge dl div { display:grid; gap:3px; padding:11px 0; border-bottom:1px solid #263744; }
.wq-knowledge dt { color:#6f8495; font-size:9px; text-transform:uppercase; }
.wq-knowledge dd { margin:0; color:#d4dfe6; font-size:11px; }
.wq-field-list { display:grid; gap:7px; max-height:430px; margin-top:10px; overflow:auto; }
.wq-field-list article { display:grid; gap:3px; padding:10px; border:1px solid #273a47; border-radius:8px; background:#0c1721; }
.wq-field-list code { color:#63e1cb; }
.wq-field-list span,.wq-field-list small { color:#7e93a4; }
.wq-experiments,.wq-memory { margin-top:20px; }
.wq-experiment-list { display:grid; gap:13px; margin-top:18px; }
.wq-experiment { padding:18px; border:1px solid #2d404e; border-radius:12px; background:#0b1620; }
.wq-experiment>header { display:flex; justify-content:space-between; gap:15px; }
.wq-experiment>header h3 { margin:7px 0 4px; color:#eff6fa; }
.wq-experiment>header code,.wq-experiment>header small { color:#738898; }
.wq-manifest-facts { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:14px 0 0; }
.wq-manifest-facts div { padding:10px; border:1px solid #253744; border-radius:8px; background:#0e1b25; }
.wq-manifest-facts dt { color:#667c8d; font-size:8px; text-transform:uppercase; }
.wq-manifest-facts dd { margin:4px 0 0; color:#bdcad3; font-size:10px; }
.wq-candidate-grid,.wq-result-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:9px; margin-top:14px; }
.wq-candidate-grid article,.wq-result-grid article { display:grid; gap:5px; padding:12px; border:1px solid #273a47; border-radius:9px; background:#111e29; }
.wq-candidate-grid span { color:#52d4bf; font-size:9px; text-transform:uppercase; }
.wq-candidate-grid code { overflow-wrap:anywhere; color:#e4c56f; }
.wq-candidate-grid small,.wq-result-grid span,.wq-result-grid small { color:#8094a4; }
.wq-diagnoses,.wq-mutations { display:flex; gap:7px; flex-wrap:wrap; margin-top:12px; }
.wq-yearly { display:flex; gap:7px; flex-wrap:wrap; margin-top:12px; }
.wq-yearly b,.wq-yearly span { padding:6px 9px; border-radius:7px; background:#172632; color:#91a6b5; font-size:9px; }
.wq-diagnoses b,.wq-mutations b,.wq-diagnoses span,.wq-mutations span { padding:6px 9px; border-radius:7px; background:#172632; color:#91a6b5; font-size:9px; }
.wq-diagnoses span { color:#f2b5a6; background:#291d1e; }
.wq-train-gate { display:grid; grid-template-columns:1.2fr 1.4fr .7fr auto auto; gap:9px; align-items:end; margin-top:15px; padding:14px; border:1px solid #62423b; border-radius:10px; background:#241a1a; }
.wq-train-gate p { grid-column:1/-1; margin:0; color:#dba99e; }
.wq-memory-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; }
.wq-memory-grid article { padding:17px; border:1px solid #2b3e4b; border-radius:9px; background:#0d1822; }
.wq-memory-grid b,.wq-memory-grid span { display:block; }
.wq-memory-grid b { color:#60dbc6; font-size:24px; }
.wq-memory-grid span { color:#8094a4; font-size:10px; }
.wq-empty { padding:30px; border:1px dashed #334956; border-radius:10px; color:#8195a5; text-align:center; }
@media (max-width:1100px) { .wq-stat-grid { grid-template-columns:repeat(3,1fr); } .wq-grid { grid-template-columns:1fr; } .wq-train-gate { grid-template-columns:1fr 1fr; } }
@media (max-width:720px) { .wq-workbench { padding:14px; } .wq-hero { display:block; } .wq-runtime-card { margin-top:16px; } .wq-stat-grid { grid-template-columns:repeat(2,1fr); } .wq-form-row,.wq-new-research fieldset,.wq-memory-grid,.wq-train-gate { grid-template-columns:1fr; } }

@media (max-width:1000px) {
  .graph-appbar { grid-template-columns:260px 1fr 155px; }
  .graph-brand { padding:0 16px; }
  .graph-workbench-body { grid-template-columns:285px minmax(0,1fr); }
  .graph-sidebar { padding-right:14px; padding-left:14px; }
  .graph-sidebar-intro { margin-right:-14px; margin-left:-14px; padding-right:14px; padding-left:14px; }
  .graph-view-tabs { gap:5px; }
  .graph-view-tabs button { min-width:85px; }
}
@media (max-width:720px) {
  .graph-workbench { grid-template-rows:58px minmax(0,1fr); }
  .graph-appbar { grid-template-columns:1fr auto; }
  .graph-brand { height:58px; border-right:0; }
  .graph-brand small,.graph-library-return { display:none; }
  .graph-view-tabs { height:58px; gap:0; }
  .graph-view-tabs button { min-width:68px; padding:0 6px; font-size:9px; }
  .graph-workbench-body { grid-template-columns:1fr; }
  .graph-sidebar { position:absolute; z-index:12; top:58px; left:0; width:250px; height:calc(100vh - 58px); transform:translateX(calc(-100% + 12px)); opacity:.96; transition:transform .2s ease; }
  .graph-sidebar:hover,.graph-sidebar:focus-within { transform:translateX(0); }
  .graph-canvas-stage { grid-column:1; }
  .graph-controls-vertical { right:12px; }
}
