:root{
  --bg:#06101a;--bg2:#08131f;--panel:#0a1723;--panel2:#0d1b29;--panel3:#0b1520;
  --line:#173247;--line2:#20445c;--text:#f2f6fb;--muted:#7f9ab0;--muted2:#58738b;
  --s:#ff3158;--a:#ff7a37;--b:#f0bd3d;--test:#b66cff;--cyan:#35a8ff;--good:#21d99a;--bad:#ff5268;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--text);font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif}
body{margin:0;background:linear-gradient(180deg,#06121e 0,#06101a 42%,#050c14 100%);min-height:100vh}
button,input,select{font:inherit}
button{color:inherit}
.radar-shell{width:min(1520px,calc(100% - 36px));margin:0 auto;padding:18px 0 28px}
.radar-header{height:82px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #173044;padding:2px 2px 14px}
.brand-row{display:flex;align-items:center;gap:12px}
h1{font-size:27px;line-height:1.1;margin:0;font-weight:800;letter-spacing:.01em}
.live-badge{display:inline-flex;align-items:center;gap:6px;height:25px;padding:0 10px;border:1px solid #7c1931;background:#3a1020;color:#ff6983;border-radius:5px;font-size:11px;font-weight:900;letter-spacing:.08em}
.live-badge i{width:6px;height:6px;border-radius:50%;background:#ff3158;box-shadow:0 0 8px #ff3158}
.brand-block p{margin:7px 0 4px;color:#91a9bb;font-size:13px}
.update-line{display:flex;gap:14px;color:#5f8098;font-size:11px}
.header-status{display:flex;align-items:center;gap:8px;color:#78a0b8;font-size:12px;margin-top:5px}
.status-dot{width:8px;height:8px;border-radius:50%;background:#24d7a0;box-shadow:0 0 10px rgba(36,215,160,.45)}
.top-search{height:42px;border:1px solid var(--line2);background:#091621;border-radius:8px;margin:14px 0 12px;display:flex;align-items:center;padding:0 13px;gap:10px}
.search-icon{font-size:22px;color:#6f94ad;line-height:1}
.top-search input{width:100%;border:0;outline:none;background:transparent;color:#eaf1f7;font-size:14px}
.top-search input::placeholder{color:#647f95}
.level-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.level-stat{height:78px;border:1px solid var(--line);background:#0a1622;border-radius:8px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}
.level-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:currentColor}
.level-stat div{display:flex;flex-direction:column;gap:3px}
.level-stat b{font-size:15px}
.level-stat span{font-size:10px;color:#6d879c}
.level-stat strong{font-size:31px;line-height:1;font-weight:850;font-variant-numeric:tabular-nums}
.stat-s{color:#ff3158;border-color:#5b2030;background:linear-gradient(100deg,#1c0d17 0,#0a1622 45%)}
.stat-a{color:#ff7a37;border-color:#57311f;background:linear-gradient(100deg,#1c120d 0,#0a1622 45%)}
.stat-b{color:#f0bd3d;border-color:#55451d;background:linear-gradient(100deg,#1a170c 0,#0a1622 45%)}
.micro-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.micro-stats article{min-height:58px;border:1px solid var(--line);background:#081521;border-radius:7px;padding:9px 11px;display:flex;align-items:flex-end;gap:8px}
.micro-stats span{color:#7895aa;font-size:11px;align-self:flex-start}
.micro-stats strong{margin-left:auto;font-size:19px;font-variant-numeric:tabular-nums}
.micro-stats small{font-size:10px;color:#5e7c92;margin-bottom:2px}
.mainline-banner{min-height:52px;margin:9px 0;border:1px solid #442337;background:linear-gradient(90deg,#180d17 0,#0b1723 58%,#0a1723 100%);border-radius:8px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:9px 13px}
.mainline-label{font-size:12px;color:#ff6b83;font-weight:800;white-space:nowrap}
.mainline-banner>strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mainline-score{display:flex;align-items:baseline;color:#ff6d84}
.mainline-score span{font-size:22px;font-weight:850}.mainline-score small{font-size:11px;margin-left:2px}
.filter-panel{border:1px solid var(--line);background:#08141f;border-radius:8px;padding:9px 10px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.level-tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{height:32px;padding:0 11px;border-radius:6px;border:1px solid #1d394d;background:#091722;color:#8eabc0;font-size:12px;cursor:pointer}
.tab span{opacity:.7;margin-left:2px}
.tab.active{background:#0d77ed;border-color:#1690ff;color:#fff;font-weight:800;box-shadow:0 0 14px rgba(13,119,237,.18)}
.filter-right{display:flex;gap:8px}
.filter-right label{display:flex;align-items:center;gap:6px;color:#6f8ca2;font-size:11px}
select{height:32px;background:#07131d;border:1px solid #1d394d;color:#dce8f2;border-radius:5px;padding:0 27px 0 9px;outline:none}
.list-head{height:38px;display:flex;justify-content:space-between;align-items:center;color:#6f8ca2;font-size:11px;padding:0 3px}
.list-head strong{color:#fff;font-size:13px}
.event-list{display:flex;flex-direction:column;gap:9px}
.event-card{border:1px solid #19384d;border-radius:9px;background:#091621;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.13)}
.event-card:hover{border-color:#28536d}
.event-card.level-S{border-color:#6b2235;box-shadow:0 8px 24px rgba(255,49,88,.08)}
.event-card.level-A{border-color:#6a3a23}
.event-card.level-B{border-color:#62511f}
.event-card.level-TEST{border-color:#50356b}
.event-summary{width:100%;border:0;background:transparent;padding:0;text-align:left;display:grid;grid-template-columns:5px 1fr;cursor:pointer}
.rank-rail{background:#486174}
.level-S .rank-rail{background:var(--s);box-shadow:0 0 13px rgba(255,49,88,.55)}
.level-A .rank-rail{background:var(--a);box-shadow:0 0 11px rgba(255,122,55,.36)}
.level-B .rank-rail{background:var(--b)}
.level-TEST .rank-rail{background:var(--test)}
.summary-body{padding:12px 14px 13px}
.summary-top{display:flex;align-items:center;gap:9px}
.badges{display:flex;align-items:center;gap:5px}
.level-badge{height:25px;min-width:42px;padding:0 10px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;border:1px solid currentColor}
.level-S .level-badge{color:#ff6b83;background:#35111c}
.level-A .level-badge{color:#ff995f;background:#2b170f}
.level-B .level-badge{color:#ffd15f;background:#26200f}
.level-TEST .level-badge{color:#d7a6ff;background:#21132e}
.new-badge{height:20px;padding:0 6px;border-radius:4px;background:#c7193c;color:#fff;font-size:9px;font-weight:900;display:inline-flex;align-items:center}
.discovered{color:#6f8ca2;font-size:11px;font-variant-numeric:tabular-nums}
.direction-badge{margin-left:auto;height:23px;padding:0 8px;border-radius:5px;border:1px solid #29475b;color:#afc3d1;font-size:10px;font-weight:700;display:inline-flex;align-items:center}
.direction-badge.good{color:#42e3a9;border-color:#1d6f59;background:#0b2a22}
.direction-badge.bad{color:#ff7286;border-color:#6a2635;background:#2b1019}
.direction-badge.test{color:#d6a3ff;border-color:#664287;background:#21142d}
.title-row{display:flex;align-items:center;gap:9px;margin-top:8px}
.event-title{font-size:17px;line-height:1.35;margin:0;font-weight:800;flex:1;word-break:break-word}
.expand-arrow{font-size:25px;line-height:1;color:#6e8aa0;transition:transform .18s}
.event-summary[aria-expanded="true"] .expand-arrow{transform:rotate(90deg)}
.tag-row{display:flex;gap:6px;margin-top:7px}
.mini-tag{height:21px;padding:0 7px;border:1px solid #1d3b50;border-radius:5px;background:#0c1b28;color:#7595aa;font-size:9px;display:inline-flex;align-items:center}
.test-tag{color:#d0a1f5;border-color:#5a3f72}
.score-strip{display:grid;grid-template-columns:repeat(3,minmax(0,150px));gap:7px;margin-top:10px}
.score-chip{height:42px;border:1px solid #234157;background:#0a1a27;border-radius:6px;padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.score-chip span{color:#6f8ea4;font-size:9px;white-space:nowrap}.score-chip strong{font-size:15px;color:#a9becd;font-weight:850}
.trade-chip{border-color:#594225;background:#15150f}.trade-chip strong{color:#ffc64b}.level-S .trade-chip{border-color:#6a2838;background:#1d1016}.level-S .trade-chip strong{color:#ff647e}.level-A .trade-chip{border-color:#6a3b23;background:#1c120e}.level-A .trade-chip strong{color:#ff985f}.level-B .trade-chip{border-color:#5b4d21;background:#19170d}.level-B .trade-chip strong{color:#f4c84c}.level-TEST .trade-chip{border-color:#5a3f72;background:#171021}.level-TEST .trade-chip strong{color:#d69bff}
.trade-number{font-size:16px;font-weight:900}
.trade-meter{height:3px;background:#1b2b38;border-radius:2px;margin-top:6px;overflow:hidden}
.core-block{border-top:1px solid #153044;padding-top:8px;margin-top:8px}.core-block>span{display:block;color:#7b99ad;font-size:10px;margin-bottom:4px;font-weight:700}
.trade-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff7a37,#f5c84a);box-shadow:0 0 8px rgba(245,200,74,.2)}
.level-S .trade-meter i{background:linear-gradient(90deg,#ff3158,#ff765f)}
.level-TEST .trade-meter i{background:linear-gradient(90deg,#a85cff,#d68fff)}
.core-story{margin:0;color:#cedae3;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.event-detail{border-top:1px solid #19384d;background:#07131e;padding:12px 14px 15px}
.story-panel{border:1px solid #5b1e31;background:linear-gradient(90deg,#250d17,#0b1622);border-radius:7px;padding:11px 13px}
.section-kicker{font-size:11px;color:#ff526f;font-weight:850;margin-bottom:6px}
.story-copy{margin:0;color:#f1f4f7;font-size:13px;line-height:1.6}
.headline-scores{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.score-hero{border:1px solid #3e3b25;border-radius:7px;background:#11150e;padding:10px 12px;display:flex;align-items:center;justify-content:space-between}
.score-hero>span{color:#b8ad7e;font-size:11px}
.score-hero div{display:flex;align-items:baseline}.score-hero strong{font-size:30px;line-height:1;color:#ffc74b}.score-hero small{font-size:11px;color:#9a875a;margin-left:2px}
.trade-hero{border-color:#603423;background:#1d120e}.trade-hero strong{color:#ff7e43}
.detail-block{margin-top:9px;border:1px solid #19384d;border-radius:7px;background:#091722;padding:11px 12px}
.detail-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}
.detail-title span{font-size:12px;font-weight:850}.detail-title small{font-size:9px;color:#58778e}
.metric-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
.metric-row{display:grid;grid-template-columns:130px minmax(80px,1fr) 60px;align-items:center;gap:8px;height:26px}
.metric-row label{font-size:10px;color:#7b98ad}
.metric-bar{height:5px;background:#1a2b38;border-radius:3px;overflow:hidden}.metric-bar i{display:block;height:100%;background:#36576b;width:0}
.metric-row.has-value .metric-bar i{background:linear-gradient(90deg,#ff7a37,#f5c84a)}
.metric-row strong{text-align:right;font-size:12px;color:#c9d6df;font-variant-numeric:tabular-nums}
.metric-row.has-value strong{color:#ff9a62}
.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mapping-empty{display:grid;gap:9px}
.mapping-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.mapping-flow span{border:1px solid #21445a;background:#0b1b28;border-radius:5px;padding:6px 8px;font-size:10px;color:#9bb5c6}.mapping-flow b{color:#4e7188;font-size:11px}
.mapping-empty p{margin:0;color:#6e8ba0;font-size:11px}
.mapping-tags{display:flex;gap:6px;flex-wrap:wrap}.mapping-tags em{font-style:normal;font-size:9px;color:#6e8ba0;border:1px solid #1d394c;border-radius:4px;padding:4px 6px}
.timeline-empty{display:flex;align-items:center;gap:10px;padding:2px 0}
.timeline-empty i{width:12px;height:12px;border-radius:50%;background:#f0bd3d;box-shadow:0 0 0 4px rgba(240,189,61,.08)}
.timeline-empty div{display:flex;flex-direction:column;gap:2px}.timeline-empty b{font-size:11px}.timeline-empty span{font-size:9px;color:#627f94}
.content-body{font-size:12px;line-height:1.75;color:#bfd0dc;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;padding-right:3px}
.tech-info{margin-top:9px;border-top:1px dashed #17364a;padding-top:8px}
.tech-info summary{cursor:pointer;color:#54758d;font-size:10px;user-select:none}
.tech-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:8px}
.tech-item{background:#07131d;border:1px solid #163044;padding:7px;border-radius:5px;min-width:0}.tech-item span{display:block;color:#4f6f86;font-size:8px;text-transform:uppercase;margin-bottom:3px}.tech-item b{font-size:9px;color:#8ca8ba;word-break:break-all}
.empty{border:1px solid #19384d;border-radius:8px;background:#091621;padding:48px 20px;text-align:center;color:#607d92;font-size:12px}
.page-footer{display:flex;justify-content:space-between;padding:17px 3px 0;color:#3e627b;font-size:9px;letter-spacing:.08em}
.service-ok{color:#23d99b}.service-bad{color:#ff5268}

@media(max-width:1000px){
  .radar-shell{width:min(100% - 22px,1520px)}
  .score-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .metric-matrix{grid-template-columns:1fr}
  .detail-columns{grid-template-columns:1fr}
  .tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  body{background:#06111b}
  .radar-shell{width:100%;padding:11px 10px 22px}
  .radar-header{height:91px;padding:3px 2px 13px}
  h1{font-size:23px}.live-badge{height:22px;padding:0 8px}
  .brand-block p{font-size:11px;margin-top:6px}.update-line{gap:9px;font-size:9px}
  .header-status{font-size:0}.header-status:after{content:"⚙";font-size:18px;color:#9bb0bf}
  .top-search{height:39px;margin:10px 0}
  .level-overview{gap:6px}.level-stat{height:72px;padding:9px 10px}.level-stat b{font-size:13px}.level-stat strong{font-size:27px}
  .micro-stats{grid-template-columns:repeat(4,1fr);gap:5px}.micro-stats article{min-height:52px;padding:7px 6px;display:block;text-align:center}.micro-stats span{font-size:8px}.micro-stats strong{display:block;margin:5px 0 0;font-size:15px}.micro-stats small{display:none}
  .mainline-banner{grid-template-columns:auto 1fr auto;gap:7px;padding:8px 9px}.mainline-label{font-size:9px}.mainline-banner>strong{font-size:11px}.mainline-score span{font-size:17px}
  .filter-panel{align-items:stretch;flex-direction:column;padding:8px}.level-tabs{gap:4px;flex-wrap:nowrap}.tab{flex:1;padding:0 4px;height:30px;font-size:10px}.tab span{display:none}
  .filter-right{display:grid;grid-template-columns:1fr 1fr}.filter-right label{display:grid;grid-template-columns:auto 1fr;font-size:9px}select{width:100%;height:30px;font-size:10px}
  .list-head{height:34px}
  .summary-body{padding:10px 10px 11px}.summary-top{gap:6px}.level-badge{min-width:38px;height:23px;font-size:12px;padding:0 8px}.discovered{font-size:9px}.direction-badge{height:21px;font-size:9px;padding:0 6px}
  .event-title{font-size:15px}.tag-row{margin-top:6px}.score-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:8px}.score-chip{height:39px;padding:5px 6px}.score-chip span{font-size:8px}.score-chip strong{font-size:13px}.core-block{padding-top:7px;margin-top:7px}
  .trade-number{font-size:14px}.core-story{font-size:11px;line-height:1.55}
  .event-detail{padding:9px}.story-panel{padding:9px}.headline-scores{gap:6px}.score-hero{padding:8px}.score-hero>span{font-size:9px}.score-hero strong{font-size:25px}
  .metric-row{grid-template-columns:104px minmax(70px,1fr) 56px;gap:6px}.metric-row label{font-size:9px}.metric-row strong{font-size:10px}
  .detail-columns{gap:0}.detail-block{padding:9px}.detail-title span{font-size:11px}.detail-title small{display:none}
  .tech-grid{grid-template-columns:1fr 1fr}
  .content-body{font-size:11px}
}

/* Phase 2 structured data modules */
.mainline-event{display:flex;align-items:center;gap:8px;min-width:0}
.mainline-event strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mainline-level{min-width:25px;height:21px;padding:0 6px;border:1px solid #5f3040;border-radius:4px;background:#211019;color:#ff6b83;font-size:9px;font-weight:900;display:inline-flex;align-items:center;justify-content:center}
.detail-empty{border:1px dashed #1d3a4e;border-radius:6px;background:#07131d;color:#5f7e94;font-size:10px;padding:16px 12px;text-align:center}
.mapping-body,.timeline-body,.sources-body{display:grid;gap:7px}
.mapping-item{border:1px solid #1b3b50;background:#07141f;border-radius:6px;padding:9px 10px}
.mapping-head{display:flex;align-items:center;gap:8px}
.mapping-head strong{font-size:11px;color:#d9e4eb}
.map-direction{margin-left:auto;border:1px solid #2b4b5e;border-radius:4px;padding:3px 6px;font-size:8px;font-weight:800;color:#a8becd}
.map-direction.good{color:#42e3a9;border-color:#1d6f59;background:#0b2a22}
.map-direction.bad{color:#ff7286;border-color:#6a2635;background:#2b1019}
.mapping-path{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}
.mapping-path span{border:1px solid #1f4055;background:#0a1a27;border-radius:5px;padding:5px 7px;font-size:9px;color:#8da9ba}
.mapping-path b{color:#4d7087;font-size:9px}
.mapping-meta{display:flex;align-items:flex-start;gap:8px;margin-top:7px}
.mapping-meta em{font-style:normal;white-space:nowrap;border:1px solid #5a4721;background:#17150d;color:#f0c35a;border-radius:4px;padding:3px 6px;font-size:8px}
.mapping-meta p{margin:0;color:#7693a8;font-size:9px;line-height:1.5}
.timeline-item{display:grid;grid-template-columns:122px 1fr;gap:10px;position:relative;padding:8px 0 8px 14px;border-left:1px solid #29465a}
.timeline-item:before{content:"";position:absolute;left:-4px;top:15px;width:7px;height:7px;border-radius:50%;background:#f0bd3d;box-shadow:0 0 0 3px rgba(240,189,61,.08)}
.timeline-item time{font-size:9px;color:#607f95;line-height:1.45}
.timeline-copy{min-width:0}
.timeline-head{display:flex;align-items:center;gap:8px}
.timeline-head strong{font-size:10px;color:#d5e1e8}
.timeline-head span{font-size:9px;color:#ff9b65;border:1px solid #5f3622;background:#1b120e;border-radius:4px;padding:2px 5px}
.timeline-copy p{margin:4px 0 0;color:#88a4b5;font-size:9px;line-height:1.45}
.timeline-copy small{display:block;margin-top:5px;color:#5f7d92;font-size:8px;line-height:1.45}
.timeline-scores{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.timeline-scores span{border:1px solid #224257;background:#0a1925;border-radius:4px;color:#7896aa;font-size:8px;padding:3px 5px}
.source-item{border:1px solid #1b3a4e;background:#07141f;border-radius:6px;padding:9px 10px}
.source-top{display:flex;align-items:center;gap:7px}
.source-type{border:1px solid #29485c;background:#0b1a27;color:#84a2b5;border-radius:4px;padding:3px 6px;font-size:8px}
.source-top strong{font-size:10px;color:#d6e2e9}
.source-top em{margin-left:auto;font-style:normal;color:#f3c85b;border:1px solid #5e4b22;background:#18150d;border-radius:4px;padding:3px 6px;font-size:8px}
.source-title{margin-top:6px;color:#9ab2c1;font-size:10px;line-height:1.45}
.source-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:6px;color:#56758c;font-size:8px}
.source-foot a{color:#55aef3;text-decoration:none;border-bottom:1px solid rgba(85,174,243,.25)}
.source-foot a:hover{color:#8bc9ff}
.metric-row strong{min-width:58px}
@media(max-width:700px){
  .mainline-event{gap:5px}.mainline-event strong{font-size:11px}.mainline-level{height:18px;min-width:21px;font-size:8px;padding:0 4px}
  .timeline-item{grid-template-columns:1fr;gap:4px;padding-left:12px}
  .mapping-meta{display:block}.mapping-meta p{margin-top:5px}
  .source-foot{align-items:flex-start;flex-direction:column;gap:4px}
}
