/* Version V0.0.2 */
.trust-assessment-card {
  --trust-green: #15936a;
  --trust-light-green: #62b86b;
  --trust-yellow: #d8a81c;
  --trust-orange: #db7421;
  --trust-red: #c44343;
  --trust-critical: #a61e35;
  --trust-gray: #7d8794;
  display: grid;
  gap: 18px;
}

.trust-assessment-card .section-title { align-items: flex-start; }
.trust-assessment-card .section-title p { margin: 4px 0 0; color: var(--muted); max-width: 68ch; }
.trust-state { border: 1px solid var(--border); border-radius: 999px; padding: 5px 9px; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.trust-summary-layout { display: grid; grid-template-columns: minmax(250px, 360px) minmax(260px, 1fr); gap: clamp(18px, 4vw, 46px); align-items: center; }
.trust-wheel-wrap { position: relative; width: min(100%, 340px); margin: 0 auto; aspect-ratio: 1; }
.trust-wheel { display: block; width: 100%; height: 100%; overflow: visible; }
.trust-wheel-segment { cursor: pointer; stroke: var(--surface, #fff); stroke-width: 2; transition: filter .16s ease, transform .16s ease, stroke-width .16s ease; transform-origin: 120px 120px; }
.trust-wheel-segment:hover { filter: brightness(1.08); }
.trust-wheel-segment:focus { outline: none; stroke: #1d9bf0; stroke-width: 5; }
.trust-wheel-center { position: absolute; inset: 31%; display: grid; place-content: center; gap: 5px; border: 1px solid var(--border); border-radius: 50%; text-align: center; background: var(--surface, #fff); box-shadow: 0 12px 30px rgba(15, 23, 42, .12); pointer-events: none; }
.trust-wheel-center span, .trust-score-label { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.trust-wheel-center strong { max-width: 120px; font-size: clamp(1.2rem, 4vw, 2.15rem); line-height: 1; overflow-wrap: anywhere; }
.trust-global-summary { display: grid; gap: 9px; }
.trust-score-value { font-size: clamp(2.8rem, 8vw, 5.6rem); font-weight: 850; line-height: .94; letter-spacing: -.055em; }
.trust-score-value.suppressed { max-width: 14ch; font-size: clamp(1.5rem, 4vw, 2.5rem); letter-spacing: -.02em; color: var(--trust-gray); }
.trust-global-metrics, .trust-dialog-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.trust-metric { display: grid; gap: 3px; min-width: 0; border: 1px solid var(--border); border-radius: 10px; padding: 10px; background: color-mix(in srgb, var(--surface, #fff) 93%, var(--trust-gray)); }
.trust-metric span { color: var(--muted); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
.trust-metric strong { overflow-wrap: anywhere; font-size: .93rem; }
.trust-metric.confidence-high { border-style: solid; }
.trust-metric.confidence-medium { border-style: dashed; }
.trust-metric.confidence-low, .trust-metric.confidence-insufficient { border-style: dotted; border-width: 2px; }
.trust-critical-alert { display: grid; gap: 10px; border: 2px solid var(--trust-critical); border-radius: 12px; padding: 13px; background: color-mix(in srgb, var(--surface, #fff) 92%, var(--trust-critical)); }
.trust-critical-alert > div { display: flex; justify-content: space-between; gap: 12px; color: var(--trust-critical); }
.trust-coverage-note, .trust-explanation, .trust-freshness-note { margin: 0; border-left: 4px solid var(--trust-gray); border-radius: 6px; padding: 10px 12px; background: color-mix(in srgb, var(--surface, #fff) 92%, var(--trust-gray)); }
.trust-coverage-note p, .trust-freshness-note p, .trust-product-note { margin: 4px 0 0; color: var(--muted); line-height: 1.45; }
.trust-freshness-note { border-left-color: var(--trust-orange); background: color-mix(in srgb, var(--surface, #fff) 92%, var(--trust-orange)); }
.trust-product-note { border-top: 1px solid var(--border); padding-top: 10px; font-size: .82rem; }
.trust-segment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.trust-segment-card { position: relative; display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-width: 0; border: 1px solid var(--border); border-radius: 11px; padding: 11px; background: var(--surface, #fff); color: inherit; text-align: left; cursor: pointer; }
.trust-segment-card:hover { background: color-mix(in srgb, var(--surface, #fff) 95%, #1d9bf0); }
.trust-segment-card:focus-visible, .trust-dialog-close:focus-visible, .trust-check summary:focus-visible, .trust-advanced summary:focus-visible { outline: 3px solid #1d9bf0; outline-offset: 2px; }
.trust-segment-card > span { min-width: 0; }
.trust-segment-card strong, .trust-segment-card small { display: block; }
.trust-segment-card small { margin-top: 3px; color: var(--muted); font-size: .72rem; line-height: 1.25; }
.trust-segment-state { width: 11px; height: 42px; border-radius: 999px; background: currentColor; }
.trust-segment-values { text-align: right; }
.trust-segment-values b { font-size: 1.35rem; }
.trust-critical-marker { position: absolute; top: 5px; right: 7px; border-radius: 999px; padding: 2px 5px; background: var(--trust-critical); color: #fff; font-size: .57rem; font-weight: 850; text-transform: uppercase; }
.trust-visual--gray { color: var(--trust-gray); fill: var(--trust-gray); }
.trust-visual--green { color: var(--trust-green); fill: var(--trust-green); }
.trust-visual--light-green { color: var(--trust-light-green); fill: var(--trust-light-green); }
.trust-visual--yellow { color: var(--trust-yellow); fill: var(--trust-yellow); }
.trust-visual--orange { color: var(--trust-orange); fill: var(--trust-orange); }
.trust-visual--red { color: var(--trust-red); fill: var(--trust-red); }
.trust-visual--red-critical { color: var(--trust-critical); fill: var(--trust-critical); }
.trust-confidence--medium.trust-wheel-segment { stroke-dasharray: 9 4; }
.trust-confidence--low.trust-wheel-segment, .trust-confidence--insufficient.trust-wheel-segment { stroke-dasharray: 2 5; }
.trust-confidence--medium.trust-segment-card { border-style: dashed; }
.trust-confidence--low.trust-segment-card, .trust-confidence--insufficient.trust-segment-card { border-style: dotted; border-width: 2px; }
.trust-finding-list, .trust-reference-list, .trust-change-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.trust-finding { display: grid; gap: 3px; border-left: 4px solid var(--trust-orange); padding: 7px 9px; background: color-mix(in srgb, var(--surface, #fff) 94%, var(--trust-orange)); }
.trust-finding--critical { border-color: var(--trust-critical); background: color-mix(in srgb, var(--surface, #fff) 92%, var(--trust-critical)); }
.trust-finding small, .trust-reference-list small { display: block; color: var(--muted); overflow-wrap: anywhere; }
.trust-history { display: grid; gap: 10px; }
.trust-history h4, .trust-dialog h4, .trust-check h5 { margin: 0; }
.trust-history-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 9px; margin: 0; padding: 0; list-style: none; }
.trust-history-item { display: grid; gap: 8px; border: 1px solid var(--border); border-radius: 10px; padding: 10px; }
.trust-history-item.current { border-color: #1d9bf0; }
.trust-history-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.trust-history-heading strong { font-size: .82rem; }
.trust-history-item p { margin: 0; color: var(--muted); font-size: .74rem; }
.trust-history-bars { display: grid; grid-template-columns: auto minmax(70px, 1fr) auto; gap: 5px 8px; align-items: center; font-size: .69rem; }
.trust-history-bars div { height: 7px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--border) 85%, transparent); }
.trust-history-bars i { display: block; width: var(--trust-value); height: 100%; background: var(--trust-green); }
.trust-history-bars i.coverage { background: #1d9bf0; }
.trust-history-change { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.trust-history-change small { width: 100%; color: var(--muted); }
.trust-status-badge { display: inline-flex; align-items: center; width: fit-content; border: 1px solid currentColor; border-radius: 999px; padding: 3px 7px; color: var(--muted); font-size: .62rem; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }
.trust-status-badge.warning { color: var(--trust-orange); }
.trust-status-badge.critical { color: var(--trust-critical); }
.trust-empty { display: grid; justify-items: center; gap: 7px; padding: 30px 12px; border: 2px dashed var(--border); border-radius: 12px; text-align: center; }
.trust-empty p, .trust-empty-inline { margin: 0; color: var(--muted); }
.trust-empty--unavailable { border-color: var(--trust-orange); }
.trust-global-advanced { border-top: 1px solid var(--border); padding-top: 12px; }

.trust-dialog { width: min(920px, calc(100vw - 28px)); max-height: min(88vh, 900px); border: 1px solid var(--border); border-radius: 15px; padding: 0; background: var(--surface, #fff); color: inherit; box-shadow: 0 24px 80px rgba(0, 0, 0, .34); }
.trust-dialog::backdrop { background: rgba(9, 15, 27, .7); backdrop-filter: blur(2px); }
.trust-dialog-shell { display: grid; max-height: inherit; }
.trust-dialog-toolbar { position: sticky; top: 0; z-index: 2; display: flex; justify-content: flex-end; padding: 9px; border-bottom: 1px solid var(--border); background: var(--surface, #fff); }
.trust-dialog-close { border: 1px solid var(--border); border-radius: 8px; padding: 7px 10px; background: transparent; color: inherit; cursor: pointer; }
.trust-dialog-body { display: grid; gap: 18px; overflow: auto; padding: 18px; }
.trust-dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.trust-dialog-heading h3 { margin: 2px 0 4px; font-size: 1.55rem; }
.trust-dialog-heading p { margin: 0; color: var(--muted); }
.trust-eyebrow { color: var(--muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.trust-check-list { display: grid; gap: 8px; }
.trust-check, .trust-advanced { border: 1px solid var(--border); border-radius: 9px; }
.trust-check > summary, .trust-advanced > summary { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 10px; cursor: pointer; }
.trust-check > summary small { display: block; margin-top: 2px; color: var(--muted); }
.trust-check-body { display: grid; gap: 13px; padding: 0 10px 12px; }
.trust-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.trust-detail-list > div { min-width: 0; border: 1px solid var(--border); border-radius: 7px; padding: 8px; }
.trust-detail-list dt { color: var(--muted); font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.trust-detail-list dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.trust-reference-list li, .trust-change-list li { display: grid; gap: 3px; border: 1px solid var(--border); border-radius: 7px; padding: 8px; overflow-wrap: anywhere; }
.trust-change-list pre { overflow: auto; max-height: 250px; padding: 8px; border-radius: 6px; background: rgba(127, 127, 127, .1); }
.trust-category-history ul { display: grid; gap: 5px; margin: 8px 0 0; padding: 0; list-style: none; }
.trust-category-history li { display: grid; grid-template-columns: minmax(130px, 1fr) auto auto; gap: 10px; border-bottom: 1px solid var(--border); padding: 7px 0; }

@media (max-width: 767px) {
  .trust-summary-layout { grid-template-columns: 1fr; }
  .trust-wheel-wrap { width: min(82vw, 290px); }
  .trust-segment-grid { grid-template-columns: 1fr; }
  .trust-global-metrics, .trust-dialog-metrics, .trust-detail-list { grid-template-columns: 1fr; }
  .trust-dialog { width: calc(100vw - 16px); max-height: calc(100vh - 16px); }
  .trust-dialog-body { padding: 13px; }
  .trust-dialog-heading { display: grid; }
  .trust-category-history li { grid-template-columns: 1fr 1fr; }
  .trust-category-history time { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .trust-wheel-segment { transition: none; }
}
