:root { --report-b: #7cc043; --report-d: #f0a742; }
/* Persistent domain report page (roadmap 1.2). Tokens only. */
.report { padding: var(--space-6, 24px) 0 var(--space-8, 48px); }
.report__crumbs { font-size: 0.8125rem; color: var(--muted, #8494ae); display: flex; gap: 0.4rem; flex-wrap: wrap; }
.report__crumbs a { color: var(--muted, #8494ae); text-decoration: none; }
.report__crumbs a:hover { color: var(--text, #f0f2f8); }

.report__hero {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-5, 20px);
  margin-top: var(--space-4, 16px);
  padding: var(--space-5, 20px);
  background: var(--surface, #14171f);
  border: 1px solid var(--border, rgba(255, 255, 255, 0.06));
  border-radius: var(--radius, 12px);
}
.report__grade {
  flex: 0 0 auto;
  width: 128px;
  height: 128px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius, 12px);
  border: 3px solid var(--muted, #8494ae);
  color: var(--muted, #8494ae);
}
.report__grade--a { border-color: var(--green, #3dd68c); color: var(--green, #3dd68c); }
.report__grade--b { border-color: var(--report-b); color: var(--report-b); }
.report__grade--c { border-color: var(--yellow, #f5c842); color: var(--yellow, #f5c842); }
.report__grade--d { border-color: var(--report-d); color: var(--report-d); }
.report__grade--e,
.report__grade--f { border-color: var(--red, #f47272); color: var(--red, #f47272); }
.report__grade-letter { font-family: var(--mono, 'JetBrains Mono', monospace); font-size: 3.2rem; font-weight: 700; line-height: 1; }
.report__grade-letter--na { color: var(--muted, #8494ae); }
.report__grade-score { font-size: 0.9375rem; font-variant-numeric: tabular-nums; margin-top: 0.3rem; }

.report__hero-main { flex: 1 1 320px; min-width: 0; }
.report__h1 { margin: 0; font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2rem); font-weight: 700; color: var(--text, #f0f2f8); overflow-wrap: anywhere; }
.report__verdict { margin: var(--space-3, 12px) 0 0; font-size: 1rem; line-height: 1.6; color: var(--text2, #c5ccdf); }
.report__verdict--na { color: var(--muted, #8494ae); }
.report__verdict strong { color: var(--text, #f0f2f8); }
.report__meta { margin: var(--space-3, 12px) 0 0; font-size: 0.8125rem; color: var(--muted, #8494ae); }

.report__actions { display: flex; flex-wrap: wrap; gap: var(--space-3, 12px); margin-top: var(--space-4, 16px); }
.report__actions .btn { min-height: 44px; }

.report__explain, .report__siblings { margin-top: var(--space-6, 24px); }
.report__explain h2, .report__siblings h2 { font-size: 1.1rem; color: var(--text, #f0f2f8); }
.report__explain p { color: var(--muted, #8494ae); line-height: 1.65; max-width: 75ch; }
.report__explain a, .report__siblings a { color: var(--accent, #59a8ff); }
.report__siblings-list { list-style: none; margin: var(--space-3, 12px) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-3, 12px); }
.report__siblings-list a {
  display: inline-block;
  padding: 0.5rem 0.9rem;
  background: var(--surface, #14171f);
  border: 1px solid var(--border2, rgba(255, 255, 255, 0.1));
  border-radius: var(--radius-sm, 8px);
  text-decoration: none;
  min-height: 44px;
  line-height: 1.9;
}
