.context-section { margin-bottom: 14px; }
.context-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.context-card { min-width: 0; border: 1px solid var(--line); border-radius: 18px; padding: 15px; background: var(--panel-soft); }
.context-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.context-title-row h3 { margin: 0; font-size: 1.06rem; line-height: 1.3; overflow-wrap: anywhere; }
.context-eyebrow { margin-bottom: 4px; }
.context-subtitle { margin: 8px 0 0; color: var(--muted); font-size: 0.79rem; line-height: 1.35; }

.mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.mini-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mini-metric { min-width: 0; border: 1px solid var(--line); border-radius: 12px; padding: 9px 10px; background: rgba(7, 16, 29, 0.34); }
.mini-metric span { display: block; color: var(--muted); font-size: 0.68rem; line-height: 1.2; }
.mini-metric strong { display: block; margin-top: 4px; font-size: 0.92rem; line-height: 1.25; overflow-wrap: anywhere; }

.signal-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.signal-chip { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; border-radius: 999px; padding: 5px 8px; background: rgba(155, 170, 192, 0.11); color: #c8d3e1; font-size: 0.68rem; line-height: 1.15; }
.signal-chip strong { color: var(--text); font-weight: 700; }
.signal-chip.status-ok { background: rgba(87, 209, 161, 0.13); color: var(--accent); }
.signal-chip.status-warn { background: rgba(241, 187, 98, 0.13); color: var(--warn); }
.signal-chip.status-error { background: rgba(255, 122, 137, 0.13); color: var(--danger); }

.archive-note { margin: 10px 0 0; color: var(--muted); font-size: 0.67rem; line-height: 1.3; overflow-wrap: anywhere; }
.context-notice { margin-top: 12px; }
#cards-summary { display: none !important; }
#cards-summary.is-visible { display: block !important; }

.sleep-score-row { display: flex; align-items: baseline; gap: 8px; margin-top: 10px; }
.sleep-score { font-size: 2rem; line-height: 1; }
.sleep-score-row span { color: var(--muted); font-size: 0.73rem; }

.context-empty { color: var(--muted); font-size: 0.82rem; }

@media (max-width: 760px) {
  .context-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .context-section { margin-bottom: 9px; }
  .context-grid { gap: 8px; margin-top: 9px; }
  .context-card { border-radius: 13px; padding: 11px; }
  .context-title-row { gap: 6px; }
  .context-title-row h3 { font-size: 0.92rem; }
  .context-subtitle { margin-top: 5px; font-size: 0.7rem; }
  .mini-grid { gap: 6px; margin-top: 8px; }
  .mini-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mini-metric { border-radius: 10px; padding: 7px 8px; }
  .mini-metric span { font-size: 0.6rem; }
  .mini-metric strong { margin-top: 3px; font-size: 0.78rem; }
  .signal-list { gap: 5px; margin-top: 8px; }
  .signal-chip { padding: 4px 7px; font-size: 0.61rem; }
  .archive-note { margin-top: 7px; font-size: 0.6rem; }
  .sleep-score-row { margin-top: 7px; }
  .sleep-score { font-size: 1.65rem; }
  .sleep-score-row span { font-size: 0.65rem; }
  .context-notice { margin-top: 9px; }
}

@media (max-width: 360px) {
  .mini-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
