/* AssessFair. Signature element: the verdict gauge (.af-gauge), a one-axis dot plot of comparable homes against
   yours, drawn in inline SVG by src/ui.tsx. Classes are prefixed af-. Bump APP_CSS_V in src/ui.tsx on change. */

.af-gauge { margin: 0; padding: 0.5rem 0 0; }
.af-gauge-svg { display: block; width: 100%; height: auto; overflow: visible; }
.af-gauge-axis { stroke: var(--border); stroke-width: 2; }
.af-gauge-tick { stroke: var(--muted-foreground); stroke-width: 2; stroke-linecap: round; }
.af-gauge-median { stroke: var(--foreground); stroke-width: 2; stroke-dasharray: 4 3; }
.af-gauge-subject { fill: var(--primary); stroke: var(--background); stroke-width: 2; }
.af-gauge-label { fill: var(--foreground); font: 500 13px var(--font-body, sans-serif); }
.af-gauge-label-strong { font-weight: 600; }
.af-gauge-unit { fill: var(--muted-foreground); font: 400 12px var(--font-body, sans-serif); }
.af-gauge figcaption { margin-top: 0.25rem; }
@media (max-width: 640px) { .af-gauge-label { font-size: 24px; } .af-gauge-tick, .af-gauge-median { stroke-width: 3; } }

.af-verdict-title { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem); }
.af-search { display: grid; gap: 0.75rem; max-width: 34rem; }
.af-search .btn { justify-self: start; }
.af-hero-search { width: 100%; max-width: 34rem; }
.af-matches { display: grid; gap: 0.5rem; list-style: none; padding: 0; margin: 0; }
.af-matches li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem; padding: 0.5rem 0; border-bottom: 1px solid var(--border); }
.af-list, .af-math, .af-steps, .af-points, .af-disclaimer ul { padding-left: 1.25rem; }
.af-list { list-style: disc; }
.af-list > li + li, .af-math > li + li, .af-steps > li + li, .af-points > li + li, .af-disclaimer li + li { margin-top: 0.4rem; }
.af-more { margin-top: 0.5rem; }
.af-more summary { cursor: pointer; padding: 0.6rem 0; font-weight: 500; }

.af-disclaimer { border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem 1.25rem; background: var(--muted); }
.af-disclaimer-title { font-family: var(--font-body, sans-serif); font-size: 1rem; font-weight: 600; display: flex; align-items: center; gap: 0.4rem; margin: 0 0 0.5rem; }
.af-disclaimer ul { margin: 0; list-style: disc; font-size: 0.875rem; }

/* The packet: reads like a filing on screen, prints as plain black on white. */
.af-packet { max-width: 52rem; margin-inline: auto; }
.af-packet-head h1 { margin: 0.25rem 0; }
.af-deadline { border: 1px solid var(--foreground); border-radius: var(--radius); padding: 0.75rem 1rem; margin: 0.75rem 0; }
.af-block { padding-top: 1.25rem; border-top: 1px solid var(--border); }
.af-block h2 { margin-top: 0; }
.af-points { list-style: disc; font-size: 0.875rem; }
.af-letter { border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem 1.25rem; display: grid; gap: 0.75rem; }
.af-letter p { margin: 0; }
.af-math, .af-steps { list-style: decimal; }
.af-subject-row td { font-weight: 600; background: var(--muted); }

@media print {
  .site-header, .site-footer, .skip-link, .af-noprint, #toaster, [role="status"] { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
  main { padding: 0 !important; }
  .wrap { max-width: none !important; padding: 0 !important; }
  .af-packet { max-width: none; }
  .af-block, .af-letter, table.data tr { break-inside: avoid; }
  a { color: inherit; text-decoration: none; }
  .af-subject-row td { background: #eee !important; }
}
ol.af-list { list-style: decimal; }
