:root{color:#172026;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}.app-shell{color:#162128;background:linear-gradient(#f6f8faf5,#eef3f5eb),#f4f7f8;min-height:100vh;padding:28px}.top-loader{z-index:50;background:linear-gradient(90deg,#1f7a5c,#d45b45,#88b8df);height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.top-loader:after{content:"";background:#ffffffb8;width:42%;animation:1.1s ease-in-out infinite topLoaderSweep;position:absolute;inset:0;transform:translate(-100%)}.topbar,.filter-row,.panel-heading,.article-meta,.status-line,.filter-group,.texture-button,.stat-card,.detail-facts,.topic-title-row,.back-link,.search-box,.check-filter{align-items:center;display:flex}.topbar{justify-content:space-between;gap:20px;max-width:1400px;margin:0 auto 18px}.eyebrow{color:#6b7a88;letter-spacing:0;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 6px;font-size:12px;font-weight:780;display:inline-flex}h1,h2,h3,p{margin:0}h1{color:#10202a;font-size:36px;font-weight:780;line-height:1.08}h2{color:#14242e;font-size:21px;line-height:1.2}h3{color:#172026;font-size:15px;line-height:1.35}button,input{font:inherit}.texture-surface{background:radial-gradient(circle at 20% 10%,#ffffffeb,#0000 32%),linear-gradient(135deg,#fffffff5,#f6f9faf0);border:1px solid #dbe5e8;border-radius:8px;position:relative;box-shadow:inset 0 1px #ffffffd9,0 18px 45px #22303a14}.texture-surface:after{border-radius:inherit;content:"";pointer-events:none;background-image:linear-gradient(#12202a09 1px,#0000 1px),linear-gradient(90deg,#12202a07 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.texture-surface>*{z-index:1;position:relative}.texture-button,.filter-group button,.segmented-wrap button{color:#172026;cursor:pointer;background:#fff;border:1px solid #cfd8df;border-radius:7px;font-size:14px}.texture-button{gap:8px;min-height:40px;padding:0 14px}.texture-button:disabled{cursor:wait;opacity:.72}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1400px;margin:0 auto 16px;display:grid}.stat-card{gap:12px;min-height:76px;padding:14px}.stat-card svg{color:#1f7a5c}.stat-card span{color:#687987;margin-bottom:2px;font-size:12px;display:block}.stat-card strong{color:#10202a;font-size:27px;line-height:1}.control-deck{gap:12px;max-width:1400px;margin:0 auto 16px;padding:14px;display:grid}.filter-row{flex-wrap:wrap;justify-content:space-between;gap:12px}.filter-row.compact{align-items:center}.filter-group,.segmented-wrap{background:#ffffffbd;border:1px solid #dce5e8;border-radius:8px;flex-wrap:wrap;gap:8px;padding:5px;display:flex}.filter-group button,.segmented-wrap button{border-color:#0000;min-height:34px;padding:0 12px}.filter-group button.active,.segmented-wrap button.active{color:#fff;background:#1f7a5c;border-color:#1f7a5c}.search-box{color:#6b7a88;background:#fff;border:1px solid #d4dde3;border-radius:7px;flex:280px;gap:8px;min-height:38px;padding:0 11px}.search-box:focus-within{border-color:#8cc8b1;box-shadow:0 0 0 3px #1f7a5c1a}.search-box input{color:#172026;border:0;outline:0;flex:1;min-width:0}.check-filter{color:#43525e;white-space:nowrap;gap:8px;font-size:14px}.status-line{color:#596977;white-space:nowrap;gap:7px;margin-left:auto;font-size:14px}.threshold-playground{background:linear-gradient(135deg,#ffffffeb,#f6faf8d1),#fff;border:1px solid #cfe1da;border-radius:8px;grid-template-columns:minmax(190px,260px) minmax(240px,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.threshold-copy strong{color:#17252e;font-size:15px;display:block}.threshold-control{grid-template-columns:34px auto minmax(180px,1fr) auto 34px;align-items:center;gap:10px;display:grid}.threshold-control span{color:#657684;font-size:12px;font-weight:740}.threshold-control input{appearance:none;cursor:pointer;background:0 0;width:100%;height:28px}.threshold-control input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#9bc7b6,#1f7a5c,#d45b45);border-radius:999px;height:8px}.threshold-control input::-webkit-slider-thumb{appearance:none;background:#fff;border:3px solid #1f7a5c;border-radius:999px;width:22px;height:22px;margin-top:-7px;box-shadow:0 4px 14px #1f7a5c3d}.threshold-step,.reset-threshold{color:#172026;cursor:pointer;background:#fff;border:1px solid #cfd8df;border-radius:7px;min-height:34px}.threshold-step{justify-content:center;align-items:center;width:34px;padding:0;display:flex}.reset-threshold{padding:0 12px}.error-banner{color:#8f1f1a;background:#fff1f0;border:1px solid #f2b8b5;border-radius:7px;align-items:center;gap:8px;max-width:1400px;margin:0 auto 16px;padding:11px 13px;display:flex}.ingestion-strip{color:#20313a;background:linear-gradient(135deg,#eff8f4f5,#fff8f1f0),#fff;border:1px solid #bdd9cd;border-radius:8px;grid-template-columns:220px minmax(320px,1fr);align-items:center;gap:12px;max-width:1400px;margin:0 auto 16px;padding:12px;display:grid;box-shadow:0 16px 40px #1f7a5c1a}.ingestion-strip strong,.ingestion-strip span{display:block}.ingestion-strip strong{font-size:14px}.ingestion-strip span{color:#657684;margin-top:2px;font-size:12px}.ingestion-pipeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ingestion-pipeline span{color:#72818c;background:#fff;border:1px solid #d7e6e0;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:34px;font-size:12px;font-weight:760;display:inline-flex}.ingestion-pipeline span.complete{color:#1f6b53;background:#eaf6f1;border-color:#b9dccc}.ingestion-pipeline span.active{color:#fff;background:#1f7a5c;border-color:#1f7a5c;animation:1s ease-in-out infinite alternate activeIngestionStep}.pagination-bar{background:#fff;border:1px solid #dce5e8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex}.pagination-bar>span{color:#657684;font-size:13px;font-weight:730}.pagination-actions{align-items:center;gap:8px;display:flex}.pagination-actions button{color:#172026;cursor:pointer;background:#fff;border:1px solid #cfd8df;border-radius:7px;min-height:32px;padding:0 10px;font-size:13px}.pagination-actions button:disabled{color:#9aa8b2;cursor:not-allowed;opacity:.64}.pagination-actions strong{color:#43525e;text-align:center;min-width:52px;font-size:13px}.visual-panel{max-width:1400px;min-height:620px;margin:0 auto;padding:18px;overflow:hidden}.cluster-board{gap:16px;display:grid}.lead-cluster,.cluster-card{color:inherit;cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #dce5e8;border-radius:8px}.lead-cluster{grid-template-columns:minmax(0,1fr) 220px;align-items:stretch;gap:18px;min-height:250px;padding:22px;display:grid;position:relative;overflow:hidden}.lead-cluster:before{content:"";background:linear-gradient(90deg,#1f7a5c29,#d45b451f),repeating-linear-gradient(90deg,#1f7a5c14 0 1px,#0000 1px 20px);height:7px;position:absolute;inset:0 0 auto}.lead-cluster:hover,.cluster-card:hover{border-color:#9bc7b6;transform:translateY(-2px);box-shadow:0 18px 38px #22303a1a}.lead-cluster-copy{align-content:center;gap:13px;min-width:0;display:grid}.lead-cluster h3{color:#10202a;max-width:900px;font-size:30px;line-height:1.08}.lead-cluster p{color:#536574;max-width:820px;font-size:14px;line-height:1.52}.lead-facts{flex-wrap:wrap;gap:8px;display:flex}.lead-facts span{color:#43525e;background:#f5f8f9;border:1px solid #dce5e8;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:740;display:inline-flex}.lead-cluster-model{text-align:center;background:radial-gradient(circle at 50% 18%,#fffffff2,#0000 34%),linear-gradient(#eef8f3,#fff);border:1px solid #d3e5dd;border-radius:8px;align-content:center;justify-items:center;padding:16px;display:grid}.lead-cluster-model svg{color:#1f7a5c}.lead-cluster-model strong{color:#10202a;margin-top:10px;font-size:44px;line-height:1}.lead-cluster-model>span{color:#647684;text-transform:uppercase;margin:4px 0 14px;font-size:12px;font-weight:760}.cluster-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.cluster-card{gap:10px;min-height:235px;padding:15px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.cluster-card-top,.cluster-card-footer,.cluster-score{align-items:center;display:flex}.cluster-card-top,.cluster-card-footer{justify-content:space-between;gap:10px}.cluster-kind,.cluster-score{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:790}.cluster-kind{color:#4d606e;background:#eef4f6}.cluster-score{color:#1f6b53;background:#eaf6f1;gap:5px}.cluster-card h3{color:#12232d;font-size:17px;line-height:1.26}.cluster-card p{color:#596977;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.48;display:-webkit-box;overflow:hidden}.cluster-card-footer{border-top:1px solid #edf2f4;align-self:end;padding-top:10px}.cluster-card-footer>span{color:#72818c;white-space:nowrap;font-size:12px}.signal-map{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:start;gap:18px;padding:4px;display:grid}.signal-node-card{animation:.42s both bubbleIn;animation-delay:var(--signal-delay);color:inherit;cursor:pointer;font:inherit;text-align:center;background:#fff;border:1px solid #dce5e8;border-radius:8px;justify-items:center;gap:10px;min-height:245px;padding:16px;display:grid}.signal-node-card:hover{border-color:#9bc7b6;transform:translateY(-2px);box-shadow:0 18px 38px #22303a1a}.signal-bubble{height:var(--signal-size);width:var(--signal-size);background:radial-gradient(circle at 35% 24%,#fffffff2,#0000 30%),linear-gradient(135deg,#edf8f4,#fff7f1);border:1px solid #b8d8ca;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:inset 0 1px #ffffffe6,0 16px 32px #1f30391a}.signal-count{color:#1f7a5c;font-size:28px;font-weight:820;line-height:1}.signal-confidence{color:#687987;margin-top:3px;font-size:11px;font-weight:760}.signal-source-dot{background:#fff;border:2px solid #9bc7b6;border-radius:999px;width:16px;height:16px;position:absolute}.signal-source-dot.dot-0{top:-7px;left:50%;transform:translate(-50%)}.signal-source-dot.dot-1{top:28%;right:8px}.signal-source-dot.dot-2{bottom:10px;right:24%}.signal-source-dot.dot-3{bottom:10px;left:24%}.signal-source-dot.bbc{border-color:#88b8df}.signal-source-dot.npr{border-color:#e4aa82}.signal-source-dot.guardian{border-color:#91c9a2}.signal-node-title{color:#17252e;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;font-weight:780;line-height:1.25;display:-webkit-box;overflow:hidden}.signal-node-meta{color:#6b7a88;font-size:12px}.panel-heading{justify-content:space-between;gap:14px;margin-bottom:18px}.panel-heading>span{color:#70808c;font-size:13px}.source-stack{z-index:2;flex-wrap:wrap;justify-content:center;gap:5px;display:flex;position:relative}.source-chip{border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700}.source-chip.bbc{color:#245a92;background:#e8f2ff}.source-chip.npr{color:#9b4d1c;background:#fff1e9}.source-chip.guardian{color:#24653d;background:#edf6ef}.bubble-playground{grid-template-columns:minmax(0,1fr) 310px;gap:18px;display:grid}.bubble-field{flex-wrap:wrap;place-content:center;align-items:center;gap:24px;min-height:520px;padding:24px 10px 34px;display:flex}.cluster-bubble{animation:.42s both bubbleIn;animation-delay:var(--delay);aspect-ratio:1;color:#162128;cursor:pointer;text-align:center;min-height:122px;width:min(var(--bubble-size), 280px);background:radial-gradient(circle at 35% 25%,#ffffffeb,#0000 28%),linear-gradient(135deg,#fff,#edf5f2);border:1px solid #b8d8ca;border-radius:999px;flex-direction:column;justify-content:center;gap:7px;padding:22px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffeb,0 18px 42px #26363f1f}.cluster-bubble:hover{border-color:#1f7a5c;transform:translateY(-4px)scale(1.02);box-shadow:0 24px 52px #1f7a5c2e}.cluster-bubble.mixed{background:radial-gradient(circle at 35% 25%,#ffffffe6,#0000 26%),linear-gradient(135deg,#e9f4ff,#eff8ee 48%,#fff2e8)}.cluster-bubble.npr{background:linear-gradient(135deg,#fffaf4,#ffeede);border-color:#e8c3aa}.cluster-bubble.guardian{background:linear-gradient(135deg,#f5fbf6,#e3f2e8);border-color:#b9dac5}.cluster-bubble.bbc{background:linear-gradient(135deg,#f6fbff,#e1effc);border-color:#b7cee4}.cluster-bubble.single{background:radial-gradient(circle at 34% 22%,#fffffff5,#0000 30%),linear-gradient(135deg,#fff,#eef6f8);border-color:#a8c9cf;justify-content:center;gap:9px;padding:24px 18px 18px}.cluster-bubble.single .article-beads{display:none}.cluster-bubble.single .bubble-count{background:#fffc;border:1px solid #d4e2e6;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:17px;display:flex;position:absolute;top:13px;right:15px}.bubble-core{z-index:2;background:#ffffff94;border:1px solid #cedfe2b8;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:64%;min-height:64%;margin:auto;padding:20px;display:flex;position:relative;box-shadow:0 12px 34px #1f303914}.cluster-bubble.single .bubble-core{background:#ffffffb3;width:82%;min-height:74%;padding:22px 18px 18px}.cluster-bubble.grouped .source-stack{width:max-content;max-width:190px;position:absolute;bottom:-31px;left:50%;transform:translate(-50%)}.bubble-count{color:#1f7a5c;font-size:34px;font-weight:790;line-height:1}.bubble-label{color:#10202a;-webkit-line-clamp:4;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:15px;font-weight:760;line-height:1.24;display:-webkit-box;overflow:hidden}.cluster-bubble.single .bubble-label{-webkit-line-clamp:5;font-size:14px;line-height:1.28}.bubble-meta{color:#6b7a88;font-size:12px;font-weight:680}.bubble-glass{z-index:0;background:radial-gradient(circle,#ffffffb8,#0000 58%);border-radius:999px;width:72%;height:72%;position:absolute;top:10%;left:14%}.article-beads{pointer-events:none;z-index:1;position:absolute;inset:4px}.article-bead{color:#15242d;height:clamp(22px, calc(var(--bubble-size) * .12), 34px);width:clamp(22px, calc(var(--bubble-size) * .12), 34px);background:#fff;border:2px solid #9bc7b6;border-radius:999px;justify-content:center;align-items:center;font-size:10px;font-weight:820;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 18px #18283124}.article-bead:first-child{top:2%;left:50%}.article-bead:nth-child(2){top:8%;left:92%}.article-bead:nth-child(3){top:48%;left:90%}.article-bead:nth-child(4){top:92%;left:92%}.article-bead:nth-child(5){top:98%;left:50%}.article-bead:nth-child(6){top:92%;left:8%}.article-bead:nth-child(7){top:48%;left:10%}.article-bead:nth-child(8){top:8%;left:8%}.article-bead:nth-child(9){top:2%;left:50%}.article-bead.bbc,.focus-dot.bbc{border-color:#88b8df}.article-bead.npr,.focus-dot.npr{border-color:#e4aa82}.article-bead.guardian,.focus-dot.guardian{border-color:#91c9a2}.article-bead.more{color:#fff;background:#15242d;border-color:#15242d;font-size:11px;top:88%;left:50%}.bubble-focus-panel{background:#fff;border:1px solid #dce5e8;border-radius:8px;align-self:stretch;min-height:420px;padding:14px;box-shadow:inset 0 1px #fffc}.panel-heading.tight{align-items:flex-start;margin-bottom:14px}.panel-heading.tight h3{font-size:16px}.panel-heading.tight>span{color:#1f6b53;background:#e8f4ef;border-radius:999px;justify-content:center;align-items:center;min-width:34px;height:34px;font-weight:790;display:flex}.focus-articles{gap:8px;display:grid}.focus-article{color:#263640;cursor:pointer;font:inherit;text-align:left;background:#f7fafb;border:1px solid #e1e8ed;border-radius:8px;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:9px;min-height:44px;padding:9px;font-size:13px;display:grid}.focus-article:hover{background:#eef6f2;border-color:#9bc7b6}.focus-dot{border:2px solid #9bc7b6;border-radius:999px;width:13px;height:13px}.timeline-shell{padding-bottom:6px;overflow-x:auto}.timeline-summary{justify-content:space-between;align-items:center;gap:14px;min-width:1080px;margin-bottom:14px;display:flex}.timeline-summary>span{color:#687987;font-size:13px}.timeline-chart{min-height:var(--timeline-height);background:linear-gradient(#ffffffd1,#f6fafbc2);border:1px solid #dce5e8;border-radius:8px;grid-template-columns:380px minmax(700px,1fr);min-width:1080px;display:grid;overflow:hidden}.timeline-label-column{background:#f8fbfcdb;border-right:1px solid #dce5e8;grid-template-rows:60px;display:grid}.timeline-label-spacer{border-bottom:1px solid #dce5e8}.timeline-row-label{border-bottom:1px solid #dce5e8b8;align-content:center;gap:3px;min-width:0;height:76px;padding:0 14px;display:grid}.timeline-row-label strong{color:#17252e;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.25;display:-webkit-box;overflow:hidden}.timeline-row-label span{color:#6b7a88;font-size:11px}.timeline-plot{min-height:var(--timeline-height);position:relative}.timeline-ruler{border-bottom:1px solid #dce5e8;height:60px;position:relative}.timeline-tick-label{color:#647684;white-space:nowrap;font-size:12px;font-weight:720;position:absolute;top:22px;transform:translate(-50%)}.timeline-grid{position:absolute;inset:60px 0 0}.timeline-grid-line{background:#8499a62e;width:1px;position:absolute;top:0;bottom:0}.timeline-plot:after{content:"";pointer-events:none;background-image:linear-gradient(#8499a624 1px,#0000 1px);background-size:100% 76px;position:absolute;inset:60px 0 0}.timeline-marker{color:inherit;cursor:pointer;font:inherit;height:38px;left:var(--timeline-left);min-width:32px;top:var(--timeline-top);width:max(var(--timeline-width), 32px);z-index:2;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex;position:absolute;transform:translateY(-50%)}.timeline-marker.single{width:34px}.timeline-shape{min-width:100%;height:16px;opacity:var(--timeline-opacity);background:linear-gradient(90deg,#1f7a5c,#d45b45);border:1px solid #ffffffb3;border-radius:999px;position:absolute;box-shadow:0 10px 24px #1f7a5c2e}.timeline-marker.single .timeline-shape{background:#d45b45;border:3px solid #9bc7b6;width:22px;min-width:22px;height:22px}.timeline-marker:hover .timeline-shape{opacity:1;box-shadow:0 14px 30px #1f7a5c42}.timeline-marker-count{color:#1f6b53;z-index:2;background:#fff;border:1px solid #cfdfe4;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:26px;font-size:11px;font-weight:820;display:flex;position:relative}.timeline-marker-title{color:#263640;text-overflow:ellipsis;white-space:nowrap;z-index:2;background:#ffffffe6;border:1px solid #dce5e8;border-radius:999px;max-width:190px;padding:5px 8px;font-size:11px;font-weight:730;position:relative;overflow:hidden}.timeline-note{color:#6b7a88;margin-top:10px;font-size:12px}.kind-badge,.article-badge{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750;line-height:1}.kind-badge{color:#596977;background:#eef2f5}.article-badge{color:#9a5a14;background:#fff6e9}.timeline-card h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.term-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.term-row span{color:#51616f;background:#eef2f5;border-radius:999px;padding:4px 8px;font-size:12px}.time-region{min-width:0}.time-track{background:#e1e8ed;border-radius:999px;height:14px;position:relative}.time-bar{background:linear-gradient(90deg,#1f7a5c,#d45b45);border-radius:999px;min-width:18px;height:100%;position:absolute;top:0}.time-dot{background:#d45b45;border:3px solid #9bc7b6;border-radius:999px;width:18px;height:18px;position:absolute;top:50%;transform:translate(-50%,-50%)}.time-copy{color:#6b7a88;justify-content:space-between;margin-top:7px;font-size:12px;display:flex}.empty-state{color:#70808c;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:280px;display:flex}.loading-dashboard{color:#51616f;text-align:center;place-items:center;gap:18px;min-height:470px;padding:34px 0;display:grid}.loading-orbit{border:1px solid #d4e3df;border-radius:999px;width:150px;height:150px;position:relative}.loading-orbit span,.loading-orbit strong{background:#fff;border:2px solid #9bc7b6;border-radius:999px;animation:1s ease-in-out infinite alternate skeletonPulse;position:absolute}.loading-orbit strong{background:linear-gradient(135deg,#eef7f3,#fff);height:76px;inset:36px}.loading-orbit span{width:28px;height:28px}.loading-orbit span:first-child{top:18px;left:24px}.loading-orbit span:nth-child(2){top:58px;right:14px}.loading-orbit span:nth-child(3){bottom:15px;left:48px}.skeleton-grid{flex-wrap:wrap;justify-content:center;gap:14px;max-width:680px;padding:6px 0 0;display:flex}.skeleton-bubble{background:linear-gradient(135deg,#edf2f5,#f9fbfc);border-radius:999px;width:92px;height:92px;animation:1.1s ease-in-out infinite alternate skeletonPulse}.detail-shell{max-width:1400px;margin:0 auto}.back-link{color:#315c73;cursor:pointer;background:0 0;border:0;gap:8px;margin-bottom:14px;padding:0}.detail-page{min-height:360px;padding:24px}.loading-page{color:#687987;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.loading-pulse{background:#e2eaee;border-radius:999px;width:96px;height:96px;animation:.9s ease-in-out infinite alternate skeletonPulse}.detail-hero{justify-content:space-between;align-items:center;gap:24px;min-height:230px;margin-bottom:18px;padding:28px;display:flex;overflow:hidden}.detail-hero h1{max-width:860px}.detail-hero-copy{min-width:0}.detail-facts{color:#596977;flex-wrap:wrap;align-items:flex-start;gap:10px;margin-top:18px;font-size:13px}.detail-facts span{background:#ffffffc2;border:1px solid #d8e2e7;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;display:inline-flex}.detail-orbit{color:#fff;background:radial-gradient(circle at 36% 30%,#ffffffe6,#0000 28%),linear-gradient(135deg,#1f7a5c,#d45b45);border-radius:999px;flex:none;justify-content:center;align-items:center;width:170px;height:170px;display:flex;box-shadow:0 24px 60px #1f7a5c40}.detail-orbit span{font-size:42px;font-weight:800}.detail-grid{grid-template-columns:320px minmax(0,1fr);gap:18px;display:grid}.explain-card,.article-map-card{padding:18px}.explain-copy{color:#596977;margin-bottom:12px;font-size:13px;line-height:1.42}.detail-evidence-panel{background:linear-gradient(135deg,#f6faf8f5,#fff8f1e6);border:1px solid #d7e6e0;border-radius:8px;gap:12px;margin:16px 0;padding:14px;display:grid}.evidence-score{background:#fff;border:1px solid #dce8e3;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.evidence-score svg{color:#1f7a5c}.evidence-score strong,.evidence-score span{display:block}.evidence-score strong{color:#10202a;font-size:32px;line-height:1}.evidence-score span{color:#657684;text-transform:uppercase;margin-top:3px;font-size:11px;font-weight:780}.evidence-sources{gap:8px;display:grid}.evidence-sources>span{color:#657684;text-transform:uppercase;font-size:12px;font-weight:780}.evidence-sources .source-stack{justify-content:flex-start}.evidence-articles{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;display:grid}.evidence-article-node,.evidence-more{color:#17252e;background:#fff;border:1px solid #dce5e8;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:8px;text-decoration:none;display:flex}.evidence-article-node span{border:2px solid #9bc7b6;border-radius:999px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:820;display:flex}.evidence-article-node strong{font-size:12px}.evidence-article-node.bbc span{border-color:#88b8df}.evidence-article-node.npr span{border-color:#e4aa82}.evidence-article-node.guardian span{border-color:#91c9a2}.evidence-more{color:#657684;justify-content:center;font-size:12px;font-weight:780}.article-constellation{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-auto-rows:1fr;gap:14px;display:grid}.article-node{background:#fff;border:1px solid #dce3e8;border-radius:8px;grid-template-rows:auto auto 1fr auto;gap:9px;height:100%;min-height:280px;padding:15px;display:grid;box-shadow:0 12px 30px #22303a12}.article-node.node-1,.article-node.node-3{transform:none}.article-node.node-2{background:#fbfcfd}.article-meta{color:#697987;justify-content:space-between;gap:8px;font-size:12px}.article-node h3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.article-node p{color:#596977;-webkit-line-clamp:5;-webkit-box-orient:vertical;font-size:13px;line-height:1.46;display:-webkit-box;overflow:hidden}.article-node a{color:#1f6b53;align-items:center;gap:5px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes skeletonPulse{0%{opacity:.55}to{opacity:1}}@keyframes topLoaderSweep{0%{transform:translate(-120%)}to{transform:translate(260%)}}@keyframes activeIngestionStep{0%{transform:translateY(0);box-shadow:0 0 #1f7a5c00}to{transform:translateY(-1px);box-shadow:0 10px 24px #1f7a5c38}}@media (width<=1120px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.filter-row,.detail-hero{flex-direction:column;align-items:stretch}.status-line{margin-left:0}.detail-grid,.bubble-playground,.threshold-playground,.lead-cluster,.ingestion-strip{grid-template-columns:1fr}.ingestion-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.bubble-focus-panel{min-height:0}.detail-orbit{width:120px;height:120px}}@media (width<=720px){.app-shell{padding:18px}h1{font-size:27px}.metric-grid{grid-template-columns:1fr}.control-deck,.visual-panel,.detail-page,.detail-hero,.explain-card,.article-map-card{padding:14px}.lead-cluster{min-height:0;padding:16px}.lead-cluster h3{font-size:24px}.lead-cluster-model{text-align:left;grid-template-columns:auto auto minmax(0,1fr);place-items:center start}.lead-cluster-model strong{margin-top:0;font-size:30px}.lead-cluster-model>span{margin:0}.lead-cluster-model .source-stack{grid-column:1/-1;justify-content:flex-start;margin-top:8px}.cluster-card-grid,.ingestion-pipeline{grid-template-columns:1fr}.pagination-bar{flex-direction:column;align-items:stretch}.pagination-actions{justify-content:space-between}.cluster-bubble{width:min(var(--bubble-size), 160px)}.threshold-control{grid-template-columns:34px minmax(0,1fr) 34px}.threshold-control>span{display:none}.article-node.node-1,.article-node.node-3{transform:none}}
