.radar-locked { min-height: 390px; padding: 44px 24px; border: 1px solid var(--line); background: var(--surface); display: grid; justify-items: center; align-content: center; text-align: center; }
.radar-locked > span { width: 54px; height: 54px; margin-bottom: 18px; border: 1px solid var(--line-strong); display: grid; place-items: center; color: var(--green); }
.radar-locked > span svg { width: 25px; }
.radar-locked h2 { margin: 0 0 9px; font-size: 21px; }
.radar-locked p { max-width: 480px; margin: 0 0 20px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.radar-toolbar { min-height: 54px; margin-bottom: 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.radar-toolbar > span { color: var(--muted); font-size: 9px; }
.radar-tabs { align-self: stretch; display: flex; }
.radar-tabs button { min-width: 104px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--muted); font-size: 10px; font-weight: 700; cursor: pointer; }
.radar-tabs button.is-active { border-bottom-color: var(--green); color: var(--ink); }
.radar-subscription-panel { border: 1px solid var(--line); background: var(--surface); }
.radar-subscription-panel .section-heading strong { font: 700 12px "Roboto Mono", monospace; }
.radar-subscription-grid { padding: 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.radar-subscription { min-height: 70px; padding: 11px 12px; border: 1px solid var(--line); background: var(--surface); display: grid; grid-template-columns: 25px 1fr; align-items: center; gap: 10px; cursor: pointer; }
.radar-subscription.is-selected { border-color: #9fc5ad; background: #f4faf6; }
.radar-subscription input { position: absolute; opacity: 0; pointer-events: none; }
.subscription-check { width: 23px; height: 23px; border: 1px solid var(--line-strong); display: grid; place-items: center; color: transparent; }
.subscription-check svg { width: 14px; }
.radar-subscription.is-selected .subscription-check { border-color: var(--green); background: var(--green); color: #fff; }
.subscription-copy strong, .subscription-copy small { display: block; }
.subscription-copy strong { margin-bottom: 3px; font-size: 11px; }
.subscription-copy small { color: var(--muted); font-size: 8px; }
.radar-feed { display: grid; gap: 10px; }
.radar-feed-heading { padding: 15px 0 10px; display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.radar-feed-heading h2 { margin: 0 0 4px; font-size: 19px; }
.radar-feed-heading p { margin: 0; color: var(--muted); font-size: 9px; }
.radar-news-item { padding: 20px; border: 1px solid var(--line); background: var(--surface); }
.radar-news-meta { margin-bottom: 10px; display: flex; align-items: center; gap: 8px; color: var(--muted); font: 600 8px "Roboto Mono", monospace; }
.radar-news-meta time { margin-left: auto; }
.source-tier { min-width: 28px; padding: 3px 5px; background: #eeeeeb; color: #5d625c; text-align: center; }
.source-tier.is-t1 { background: #e5f2e9; color: #17633d; }
.radar-news-item h2 { max-width: 900px; margin: 0 0 8px; font-size: 15px; line-height: 1.5; }
.radar-news-item h2 a { color: var(--ink); text-decoration: none; }
.radar-news-item h2 a:hover { color: var(--green); text-decoration: underline; }
.radar-news-item > p { max-width: 900px; margin: 0 0 14px; color: var(--muted); font-size: 10px; line-height: 1.75; }
.radar-news-item footer { padding-top: 12px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.radar-news-item footer > div { display: flex; flex-wrap: wrap; gap: 6px; }
.radar-news-item footer button { padding: 4px 7px; border: 1px solid var(--line); background: var(--surface-2); color: var(--ink); font-size: 8px; cursor: pointer; }
.radar-news-item footer button:hover { border-color: var(--green); }
.radar-news-item footer > span { color: var(--muted); font-size: 8px; text-align: right; }
.verification-note { margin-top: 10px; color: #93621d; display: flex; align-items: center; gap: 6px; font-size: 8px; }
.verification-note.is-confirmed { color: var(--green); }
.verification-note svg { width: 12px; }
.radar-empty { min-height: 240px; border: 1px solid var(--line); background: var(--surface); display: grid; place-items: center; align-content: center; gap: 8px; color: var(--muted); text-align: center; }
.radar-empty svg { width: 24px; color: var(--green); }
.radar-empty strong { color: var(--ink); font-size: 12px; }
.radar-empty span { font-size: 9px; }
.radar-disclaimer { margin: 14px 0 0; color: var(--muted); font-size: 8px; text-align: center; }

@media (max-width: 720px) {
  .radar-toolbar { align-items: flex-start; flex-direction: column; padding-bottom: 10px; }
  .radar-tabs { width: 100%; height: 48px; }
  .radar-tabs button { flex: 1; }
  .radar-subscription-grid { grid-template-columns: 1fr; padding: 10px; }
  .radar-news-item { padding: 16px; }
  .radar-news-item footer { align-items: flex-start; flex-direction: column; }
  .radar-news-item footer > span { text-align: left; }
}
.radar-control-panel { margin-bottom: 18px; padding: 12px; border: 1px solid var(--line); background: var(--surface); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.radar-filters { display: flex; flex-wrap: wrap; gap: 5px; }
.radar-filters button { min-height: 32px; padding: 0 13px; border: 1px solid transparent; background: transparent; color: var(--muted); font-size: 9px; cursor: pointer; }
.radar-filters button:hover { color: var(--ink); }
.radar-filters button.is-active { border-color: #9fc5ad; background: #eef8f1; color: var(--green); font-weight: 700; }
.radar-search { width: min(290px, 38%); min-height: 36px; padding: 0 10px; border: 1px solid var(--line); background: var(--surface-2); display: flex; align-items: center; gap: 8px; }
.radar-search svg { width: 14px; color: var(--muted); }
.radar-search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 9px; }
.radar-day { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 0; }
.radar-day > h3 { margin: 0; padding: 7px 14px 0 0; color: var(--green); font: 700 11px "Roboto Mono", monospace; text-align: right; }
.radar-timeline { min-width: 0; }
.radar-timeline-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); position: relative; }
.radar-timeline-time { min-height: 100%; padding: 20px 16px 0 0; border-right: 1px solid var(--line-strong); position: relative; text-align: right; }
.radar-timeline-time strong { font: 700 12px "Roboto Mono", monospace; }
.radar-timeline-time i { position: absolute; right: -4px; top: 25px; width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px var(--canvas); }
.radar-timeline-row .radar-news-item { margin: 0 0 10px 16px; }
.radar-score { margin-left: auto; padding: 3px 6px; border: 1px solid #d6b35b; background: #fff8e5; color: #8d6512; }
.recommendation-reason { margin-top: 12px; padding: 10px 12px; border-left: 3px solid var(--green); background: #eef8f3; display: flex; align-items: flex-start; gap: 8px; color: #17633d; font-size: 9px; line-height: 1.65; }
.recommendation-reason strong { flex: none; }
.recommendation-reason span { color: #337052; }

@media (max-width: 720px) {
  .radar-control-panel { align-items: stretch; flex-direction: column; }
  .radar-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .radar-filters button { flex: none; }
  .radar-search { width: 100%; }
  .radar-day { grid-template-columns: 1fr; }
  .radar-day > h3 { padding: 10px 0 8px; text-align: left; }
  .radar-timeline-row { grid-template-columns: 44px minmax(0, 1fr); }
  .radar-timeline-time { padding-right: 9px; }
  .radar-timeline-time strong { font-size: 9px; }
  .radar-timeline-row .radar-news-item { margin-left: 10px; }
  .recommendation-reason { display: grid; }
}
.radar-detail-meta { min-height: 52px; margin-bottom: 16px; padding: 0 15px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 9px; }
.radar-detail-meta strong { color: #8d6512; }
.radar-detail-meta time { margin-left: auto; }
.radar-detail-section { margin-bottom: 12px; padding: 22px; border: 1px solid var(--line); background: var(--surface); }
.radar-detail-section > span { display: block; margin-bottom: 10px; color: var(--green); font: 700 9px "Roboto Mono", monospace; }
.radar-detail-section > p { max-width: 900px; margin: 0; color: var(--ink); font-size: 12px; line-height: 1.9; }
.radar-detail-section.is-reason { border-color: #d6b35b; background: #fffaf0; }
.radar-detail-section.is-reason > span { color: #9a6412; }
.radar-detail-section.is-original > p { color: var(--muted); font-size: 10px; }
.radar-detail-footer { padding: 16px 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.radar-detail-footer > div { display: flex; flex-wrap: wrap; gap: 7px; }
.radar-detail-footer > div button { padding: 6px 9px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font-size: 9px; cursor: pointer; }
.radar-detail-footer > div button:hover { border-color: var(--green); }
.radar-detail-footer > a { text-decoration: none; }

@media (max-width: 720px) {
  .radar-detail-meta { align-items: flex-start; flex-wrap: wrap; padding: 12px; }
  .radar-detail-meta time { margin-left: 0; }
  .radar-detail-footer { align-items: stretch; flex-direction: column; }
  .radar-detail-footer > a { justify-content: center; }
}

/* Dark theme readability pass */
.radar-control-panel,
.radar-news-item,
.radar-subscription-panel,
.radar-detail-section,
.radar-empty {
  background: rgba(13, 21, 16, .96);
  border-color: rgba(217, 244, 91, .18);
  color: #f4f8f0;
}

.radar-filters button {
  color: #b8c5ba;
}

.radar-filters button:hover {
  color: #ffffff;
}

.radar-filters button.is-active {
  background: #f4f8f0;
  border-color: #f4f8f0;
  color: #14825a;
  font-weight: 800;
}

.radar-search {
  background: rgba(255, 255, 255, .045);
  border-color: rgba(217, 244, 91, .20);
  color: #f4f8f0;
}

.radar-search svg {
  color: #d9f45b;
}

.radar-search input {
  color: #f4f8f0;
}

.radar-search input::placeholder {
  color: #aebbae;
}

.radar-feed-heading h2,
.radar-news-item h2,
.radar-news-item h2 button,
.radar-news-item h2 a {
  background: transparent;
  border: 0;
  color: #ffffff;
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-align: left;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .25);
}

.radar-news-item h2 button:hover {
  color: #d9f45b;
}

.radar-news-item h2 span,
.radar-news-item h2 mark {
  color: inherit;
}

.radar-feed-heading p,
.radar-news-item > p,
.radar-news-meta,
.radar-news-item footer > span,
.radar-disclaimer,
.radar-detail-section.is-original > p {
  color: #b8c5ba;
}

.source-tier {
  background: rgba(217, 244, 91, .14);
  border: 1px solid rgba(217, 244, 91, .25);
  color: #eaff9d;
}

.source-tier.is-t1 {
  background: #d9f45b;
  border-color: #d9f45b;
  color: #101711;
}

.radar-score {
  background: #fff0b8;
  border-color: #ffd76a;
  color: #3d2c00;
  font-weight: 800;
}

.recommendation-reason {
  background: rgba(217, 244, 91, .10);
  border-left-color: #d9f45b;
  color: #f4f8f0;
}

.recommendation-reason strong {
  color: #d9f45b;
}

.recommendation-reason span {
  color: #dfe8db;
}

.verification-note.is-confirmed {
  color: #31e890;
}

.radar-detail-section.is-reason {
  background: rgba(217, 244, 91, .10);
  border-color: rgba(217, 244, 91, .32);
}

.radar-detail-section.is-reason > span {
  color: #d9f45b;
}

.radar-detail-section > p {
  color: #f4f8f0;
}

.radar-subscription,
.radar-subscription.is-selected {
  background: rgba(13, 21, 16, .96);
  border-color: rgba(217, 244, 91, .22);
  color: #f4f8f0;
}

.radar-subscription.is-selected {
  background: rgba(217, 244, 91, .08);
}

.subscription-copy strong {
  color: #ffffff;
}

.subscription-copy small {
  color: #b8c5ba;
}

.radar-filters button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.radar-filters button strong {
  font: inherit;
  color: inherit;
}

.radar-filters button span {
  min-width: 17px;
  padding: 2px 5px;
  border: 1px solid rgba(217, 244, 91, .22);
  background: rgba(217, 244, 91, .08);
  color: #d9f45b;
  font: 800 8px "Roboto Mono", monospace;
  text-align: center;
}

.radar-filters button.is-active span {
  border-color: rgba(16, 23, 17, .18);
  background: rgba(16, 23, 17, .12);
  color: #101711;
}
