:root {
  --graph-amber:#f1a52b; --graph-hot:#fff0a8; --graph-cyan:#58d8df;
  --graph-violet:#b89cff; --graph-green:#72d7a0; --graph-red:#ff796c;
}
main.wide { max-width:1480px; padding-top:22px; }
.knowledge-index { display:grid; gap:34px; }
.eyebrow { margin:0; color:var(--graph-amber); font:600 10px/1 var(--display); letter-spacing:.22em; text-transform:uppercase; }
.field-status { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:10px 4px 12px; border-bottom:1px solid var(--line); }
.field-status>p { margin:0; color:var(--graph-amber); font:600 9px var(--display); letter-spacing:.17em; text-transform:uppercase; }
.graph-stats { display:flex; gap:20px; margin:0; font-family:var(--display); }
.graph-stats div { min-width:64px; }
.graph-stats dt { color:var(--dim); font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.graph-stats dd { margin:2px 0 0; color:var(--text); font-size:1.05rem; }

.trend-deck { display:grid; gap:16px; }
.trend-deck-head,.section-heading { display:flex; justify-content:space-between; align-items:end; gap:28px; padding-top:16px; border-top:1px solid var(--line); }
.trend-deck-head h1,.trend-deck-head h2,.section-heading h2 { margin:4px 0 0; padding:0; border:0; font-size:clamp(1.7rem,4vw,3.2rem); line-height:1.05; letter-spacing:-.045em; }
.trend-deck-head>p,.section-heading>p { max-width:420px; margin:0; color:var(--dim); font:.78rem/1.5 var(--display); }
.trend-lanes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.trend-lane { position:relative; min-width:0; padding:18px; overflow:hidden; border:1px solid #2a261f; background:linear-gradient(145deg,rgba(27,24,19,.94),rgba(11,14,17,.98)); }
.trend-lane::after { content:""; position:absolute; width:180px; height:180px; right:-100px; top:-110px; border:1px solid rgba(241,165,43,.13); border-radius:50%; box-shadow:0 0 70px rgba(241,165,43,.08); pointer-events:none; }
.trend-lane>p { margin:0; color:var(--graph-amber); font:8px var(--display); letter-spacing:.16em; text-transform:uppercase; }
.trend-lane h3 { margin:5px 0 15px; font:600 1.05rem var(--display); }
.trend-lane>div { display:grid; gap:4px; }
.trend-card { position:relative; display:grid; grid-template-columns:28px 1fr 18px; align-items:center; gap:9px; width:100%; min-height:58px; padding:9px 7px; border:0; border-top:1px solid rgba(255,255,255,.055); background:transparent; color:var(--text); text-align:left; cursor:pointer; animation:signal-rise .55s calc(var(--delay) + 80ms) both; transition:background .2s,transform .2s; }
.trend-card:hover,.trend-card:focus-visible,.trend-card.is-selected { z-index:1; outline:0; background:rgba(241,165,43,.08); transform:translateX(4px); }
.trend-rank { color:#665a49; font:10px var(--display); }
.trend-card-main { display:grid; gap:3px; min-width:0; }
.trend-card-main b { overflow:hidden; color:var(--text); font:600 11px var(--display); text-overflow:ellipsis; white-space:nowrap; }
.trend-card-main small { color:var(--dim); font:8px var(--display); text-transform:uppercase; letter-spacing:.05em; }
.trend-card-main i { position:relative; display:block; height:3px; margin-top:4px; background:#24211d; }
.trend-card-main i em,.trend-card-main i strong { position:absolute; inset:0 auto 0 0; display:block; }
.trend-card-main i em { background:#4c5156; }
.trend-card-main i strong { background:linear-gradient(90deg,var(--graph-amber),var(--graph-hot)); box-shadow:0 0 8px rgba(241,165,43,.45); }
.trend-arrow { color:#655843; transition:color .2s,transform .2s; }
.trend-card:hover .trend-arrow { color:var(--graph-hot); transform:translate(2px,-2px); }
.trend-skeleton { height:270px; border:1px solid #24211d; background:linear-gradient(105deg,#111417 20%,#191713 36%,#111417 52%); background-size:200% 100%; animation:skeleton 1.4s linear infinite; }

.graph-shell { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 370px; grid-template-rows:auto minmax(590px,70vh); overflow:hidden; border:1px solid #34291b; border-radius:3px; background:#090b0d; box-shadow:0 35px 100px rgba(0,0,0,.42),0 0 60px rgba(169,96,12,.06); }
.graph-shell::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 38% 38%,rgba(181,104,14,.1),transparent 36%),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px); background-size:auto,32px 32px,32px 32px; }
.graph-toolbar { z-index:2; grid-column:1/-1; display:flex; align-items:end; gap:18px; min-height:66px; padding:11px 16px; border-bottom:1px solid #25211c; background:rgba(13,14,15,.93); backdrop-filter:blur(14px); font-family:var(--display); }
.graph-search { display:grid; gap:5px; flex:1; max-width:420px; }
.graph-search span { color:var(--dim); font-size:8px; letter-spacing:.16em; text-transform:uppercase; }
.graph-search input { width:100%; padding:8px 0; border:0; border-bottom:1px solid #34302a; outline:0; background:transparent; color:var(--text); font:12px var(--display); }
.graph-search input:focus { border-color:var(--graph-amber); }
.range-switch { display:flex; border:1px solid #302b25; }
.range-switch button,.graph-reset,.zoom-controls button { min-height:34px; border:0; background:transparent; color:var(--dim); padding:9px 11px; font:9px var(--display); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.range-switch button.active { color:#130e06; background:var(--graph-amber); box-shadow:0 0 18px rgba(241,165,43,.25); }
.graph-reset:hover,.graph-reset:focus-visible,.zoom-controls button:hover,.zoom-controls button:focus-visible { color:var(--graph-hot); outline:none; }
.zoom-controls { display:flex; align-items:center; border:1px solid #302b25; }
.zoom-controls span { min-width:42px; color:var(--text-2); font:8px var(--display); text-align:center; }
.zoom-controls button+button { border-left:1px solid #302b25; }
.zoom-controls button:last-child { border-left:1px solid #302b25; }
.graph-stage { position:relative; min-width:0; min-height:0; overflow:hidden; }
#knowledge-canvas { display:block; width:100%; height:100%; touch-action:none; cursor:crosshair; }
.graph-stage.is-inspecting #knowledge-canvas { touch-action:none; }
.graph-loading { position:absolute; inset:0; display:grid; place-items:center; color:var(--dim); font:10px var(--display); letter-spacing:.16em; text-transform:uppercase; pointer-events:none; }
.topic-panel { z-index:1; min-width:0; overflow:auto; padding:25px 22px 30px; border-left:1px solid #25211c; background:linear-gradient(180deg,rgba(20,18,15,.97),rgba(11,12,14,.99)); scrollbar-color:#4c3820 #101113; }
.panel-title-row { display:flex; align-items:start; justify-content:space-between; gap:10px; }
.topic-panel h2 { margin:5px 0 10px; padding:0; border:0; color:var(--text); font-size:1.45rem; }
.topic-panel>p { color:var(--text-2); font-size:.9rem; }
.panel-kicker { margin:0!important; color:var(--graph-amber)!important; font:9px var(--display)!important; letter-spacing:.16em; text-transform:uppercase; }
.panel-evidence-title { margin-top:22px!important; }
.panel-legend { margin-top:26px; padding:12px; border:1px solid #2a261f; color:var(--dim); font:9px/1.5 var(--display); }
.breakout-dot { display:inline-block; width:8px; height:8px; margin-right:7px; border:1px solid var(--graph-hot); border-radius:50%; box-shadow:0 0 10px var(--graph-amber); }
.copy-signal { padding:6px 8px; border:1px solid #3a3329; background:transparent; color:var(--dim); font:8px var(--display); letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.copy-signal:hover,.copy-signal:focus-visible { color:var(--graph-hot); border-color:var(--graph-amber); outline:0; }
.inspect-topic { width:100%; min-height:38px; margin:8px 0 4px; border:1px solid #5b4527; background:linear-gradient(90deg,rgba(241,165,43,.11),transparent); color:var(--graph-hot); font:8px var(--display); letter-spacing:.1em; text-transform:uppercase; cursor:zoom-in; }
.inspect-topic:hover,.inspect-topic:focus-visible { border-color:var(--graph-amber); outline:0; background:rgba(241,165,43,.14); }
.trend-badge { display:inline-flex; align-items:center; gap:5px; margin:4px 0 8px; padding:5px 7px; border:1px solid currentColor; font:8px var(--display); letter-spacing:.13em; text-transform:uppercase; }
.trend-badge::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; box-shadow:0 0 8px currentColor; }
.trend-breakout { color:var(--graph-hot); }.trend-rising { color:var(--graph-green); }.trend-sustained { color:var(--graph-cyan); }.trend-cooling,.trend-quiet { color:#77818a; }
.trend-explainer { margin:8px 0 16px; color:var(--text-2)!important; font-size:.82rem!important; line-height:1.5; }
.compare-bars { display:grid; gap:8px; margin:15px 0 18px; }
.compare-bars div { position:relative; display:grid; grid-template-columns:55px 1fr 24px; align-items:center; gap:7px; }
.compare-bars span,.compare-bars b { color:var(--dim); font:8px var(--display); text-transform:uppercase; }
.compare-bars b { color:var(--text-2); text-align:right; }
.compare-bars i { display:block; height:5px; min-width:3px; background:linear-gradient(90deg,var(--graph-amber),var(--graph-hot)); box-shadow:0 0 8px rgba(241,165,43,.35); transition:width .6s cubic-bezier(.2,.8,.2,1); }
.compare-bars div:nth-child(2) i { background:#4b535a; box-shadow:none; }
.topic-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:14px 0 22px; }
.topic-metrics div { padding:8px; border:1px solid #2a261f; background:rgba(255,255,255,.015); }
.topic-metrics b { display:block; font:600 14px var(--display); color:var(--text); }
.topic-metrics span { color:var(--dim); font:7px var(--display); letter-spacing:.08em; text-transform:uppercase; }
.topic-links,.topic-stories { display:grid; gap:7px; margin-top:12px; }
.topic-links button { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 9px; border:1px solid #2b2721; background:transparent; color:var(--text-2); text-align:left; font:10px var(--display); cursor:pointer; transition:border-color .2s,background .2s; }
.topic-links button small { color:var(--dim); font-size:7px; white-space:nowrap; }
.topic-links button:hover,.topic-links button:focus-visible,.topic-links button.is-selected { color:var(--graph-hot); border-color:#594322; background:rgba(241,165,43,.05); outline:0; }
.evidence-signal { position:relative; display:grid; gap:6px; padding:12px 0 12px 30px; border-bottom:1px solid #27231e; }
.source-icon-wrap { position:absolute; left:0; top:13px; display:grid; width:21px; height:21px; place-items:center; overflow:hidden; border:1px solid #3b352b; border-radius:50%; background:#171b1e; }
.source-icon-wrap img { z-index:1; width:15px; height:15px; object-fit:contain; }
.source-icon-wrap i { position:absolute; color:var(--graph-hot); font:600 8px var(--display); font-style:normal; }
.evidence-signal time { color:var(--graph-amber); font:8px var(--display); letter-spacing:.07em; text-transform:uppercase; }
.evidence-signal>b { color:var(--text); font-size:.8rem; line-height:1.35; }
.evidence-signal>p { margin:0; color:var(--text-2); font-size:.72rem; line-height:1.45; }
.evidence-signal>div { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:3px; }
.evidence-signal a { font:8px var(--display); letter-spacing:.05em; text-transform:uppercase; }
.source-direct { color:var(--graph-hot); }.report-context { color:var(--dim); }
.source-count { color:#5f6972; font:7px var(--display); }

.learning-path { display:grid; gap:16px; }
.learning-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; border:1px solid var(--line); background:var(--line); }
.learn-card { display:grid; grid-template-rows:1fr auto; min-width:0; background:linear-gradient(155deg,#11161c,#0c1015); animation:signal-rise .6s var(--delay) both; }
.learn-card>button { display:grid; gap:10px; min-height:190px; padding:20px; border:0; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.learn-card>button:hover,.learn-card>button:focus-visible,.learn-card>button.is-selected { outline:0; background:radial-gradient(circle at 80% 15%,rgba(88,216,223,.11),transparent 42%); }
.learn-card button span { color:var(--graph-cyan); font:8px var(--display); letter-spacing:.12em; text-transform:uppercase; }
.learn-card button b { align-self:end; font:600 clamp(1.05rem,2vw,1.4rem) var(--display); }
.learn-card button small { color:var(--text-2); font-size:.76rem; line-height:1.45; }
.learn-card>div { display:grid; padding:0 20px 17px; }
.learn-card>div a { padding:8px 0; overflow:hidden; border-top:1px solid #242b32; color:var(--dim); font:8px var(--display); text-overflow:ellipsis; white-space:nowrap; }
.learn-card>div a:hover { color:var(--graph-hot); text-decoration:none; }
.learn-card a span { float:right; }

.latest-signals { display:grid; gap:16px; }
.signal-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.signal-story { min-width:0; padding:20px; background:var(--bg); transition:background .2s,transform .2s; }
.signal-story:hover { z-index:1; background:var(--ink-2); transform:translateY(-2px); }
.signal-story time { color:var(--graph-amber); font:9px var(--display); letter-spacing:.1em; text-transform:uppercase; }
.signal-story h2 { margin:9px 0 8px; padding:0; border:0; font-size:1rem; }
.signal-story h2 a { color:var(--text); }
.signal-story p { margin:0 0 13px; color:var(--text-2); font-size:.84rem; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.signal-story .signal-source { display:block; margin:5px 0 0; color:var(--graph-cyan); font:8px var(--display); letter-spacing:.08em; text-transform:uppercase; -webkit-line-clamp:1; }
.signal-actions { display:flex; gap:12px; margin:14px 0 12px; font:8px var(--display); letter-spacing:.08em; text-transform:uppercase; }
.signal-actions a:first-child { color:var(--graph-hot); }.signal-actions a:last-child { color:var(--dim); }
.story-topics { display:flex; flex-wrap:wrap; gap:5px; }
.story-topic { min-height:26px; padding:4px 6px; border:1px solid #2c2925; background:transparent; color:var(--dim); font:8px var(--display); cursor:pointer; }
.story-topic:hover,.story-topic:focus-visible,.story-topic.is-selected { color:var(--graph-cyan); border-color:var(--graph-cyan); outline:0; }
.full-archive { border-top:1px solid var(--line); padding-top:18px; }
.full-archive summary { cursor:pointer; color:var(--text-2); font:10px var(--display); letter-spacing:.14em; text-transform:uppercase; }
.full-archive ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; margin:18px 0 0; padding:0; list-style:none; }
.full-archive li { display:grid; grid-template-columns:82px 1fr; gap:10px; padding:8px 0; border-bottom:1px solid rgba(31,41,53,.65); font-size:.82rem; }
.full-archive time { color:var(--dim); font:9px var(--display); }
.full-archive a { color:var(--text-2); }
.graph-noscript { color:var(--dim); }
@keyframes signal-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes skeleton { to { background-position:-200% 0; } }
@media(max-width:1050px){.graph-shell{grid-template-columns:minmax(0,1fr) 330px}.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.trend-deck-head,.section-heading{align-items:start;flex-direction:column}.trend-lanes{grid-template-columns:1fr}.graph-shell{grid-template-columns:1fr;grid-template-rows:auto 62vh auto}.topic-panel{border-left:0;border-top:1px solid #25211c;max-height:none}.signal-list{grid-template-columns:repeat(2,minmax(0,1fr))}.graph-toolbar{flex-wrap:wrap}.graph-search{min-width:100%}.trend-lane>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}}
@media(max-width:580px){
  .hdr{padding:8px 14px}.hdr .brand,.hdr nav a{display:inline-flex;align-items:center;min-height:44px}.hdr nav{display:flex;align-items:center}.hdr nav a{justify-content:center;min-width:44px;margin-left:0;padding:0 4px;font-size:10px}.ft{flex-direction:column;gap:7px;padding:18px 14px max(18px,env(safe-area-inset-bottom))}
  main.wide{padding:12px 14px 44px}.knowledge-index{gap:22px}.trend-deck{gap:12px}
  .field-status{padding:4px 0 11px}.field-status>p{display:none}.graph-stats{width:100%;justify-content:space-between;gap:4px}.graph-stats div{min-width:0}.graph-stats dt{font-size:7px}.graph-stats dd{font-size:.95rem}
  .trend-deck-head{gap:10px;padding-top:0;border-top:0}.trend-deck-head h1{font-size:1.72rem}.trend-deck-head>p,.section-heading>p{font-size:.7rem;line-height:1.45}
  .trend-lanes{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;overflow:visible;margin-right:0;padding:0}.trend-lane{width:100%;padding:14px}.trend-lane>div{grid-template-columns:1fr}.trend-card{min-height:56px}
  .graph-shell{grid-template-rows:auto minmax(350px,46vh) auto}.graph-toolbar{gap:7px;padding:10px 12px}.graph-search input{min-height:44px}.range-switch{order:3;width:100%}.range-switch button{flex:1;min-height:44px}.zoom-controls{order:2}.zoom-controls button{min-width:44px;min-height:44px;padding-right:8px;padding-left:8px}.graph-reset{order:2;min-height:44px;margin-left:auto}#knowledge-canvas{touch-action:pan-y}
  .signal-list,.learning-grid{grid-template-columns:1fr}.topic-panel{padding:20px 16px}.topic-links button{min-height:44px}.inspect-topic,.copy-signal{min-width:44px;min-height:44px}.evidence-signal{padding:14px 0 14px 32px}.source-icon-wrap{top:15px}.evidence-signal>p{font-size:.76rem}.evidence-signal a{display:inline-flex;align-items:center;min-height:44px}
  .learn-card>button{min-height:132px;padding:16px}.learn-card>div{padding:0 16px 14px}.learn-card>div a{display:flex;align-items:center;min-height:44px;padding:8px 0;white-space:normal;line-height:1.4}.signal-story{padding:17px}.story-topic{min-width:44px;min-height:44px;padding:7px 8px}.signal-actions a{display:inline-flex;align-items:center;min-height:44px}
  .full-archive ol{grid-template-columns:1fr}.full-archive li{grid-template-columns:74px 1fr;align-items:center;min-height:44px}.full-archive a{display:flex;align-items:center;min-height:44px}.sound-controls{display:none}
}
@media(prefers-reduced-motion:reduce){.graph-shell *{scroll-behavior:auto!important}.trend-card,.learn-card,.trend-skeleton{animation:none!important}.trend-card,.signal-story{transition:none!important}}
