/* AgentGuard harness check */
.hc { max-width: 880px; margin: 0 auto; padding: 32px 16px 64px; gap: 32px; box-sizing: border-box; width: 100%; min-width: 0; }
.hc-hero h1 { font-size: clamp(28px, 5vw, 44px); line-height: 1.1; margin: 0 0 12px; }
.hc-sub { font-size: 18px; color: #94a3b0; margin: 0; }
.hc-input label { display: block; font-weight: 600; margin: 16px 0 8px; }
.hc-repo label { margin-top: 0; }
.hc-row { display: flex; gap: 10px; min-width: 0; }
.hc-row input { flex: 1 1 auto; min-width: 0; box-sizing: border-box; min-height: 48px; padding: 10px 14px; background: #07101E; color: #E6EEF3; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 12px; font: 15px/1.4 'JetBrains Mono', ui-monospace, monospace; }
.hc-input textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; background: #07101E; color: #E6EEF3; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 12px; font: 13px/1.5 'JetBrains Mono', ui-monospace, monospace; resize: vertical; }
.hc-select { width: 100%; max-width: 100%; box-sizing: border-box; min-height: 44px; padding: 8px 12px; background: #07101E; color: #E6EEF3; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 12px; font: 14px/1.4 'JetBrains Mono', ui-monospace, monospace; }
.hc-row input:focus, .hc-input textarea:focus, .hc-select:focus { outline: 2px solid #2abcb4; outline-offset: 2px; }
.hc-hosts { margin: 0 0 12px; font-weight: 600; color: #cbd5e1; }
.hc-privacy { font-size: 14px; color: #94a3b0; margin: 10px 0 0; }
.hc-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; background: #2abcb4; color: #04201e; border: 0; border-radius: 999px; padding: 12px 22px; font-weight: 700; font-size: 16px; cursor: pointer; text-decoration: none; flex: 0 0 auto; }
.hc-button:hover { filter: brightness(1.05); }
.hc-button[disabled] { opacity: 0.6; cursor: progress; }
.hc-secondary { background: transparent; color: #E6EEF3; border: 1px solid rgba(230, 238, 243, 0.25); }
.hc-toggle { margin-top: 18px; min-height: 44px; background: none; border: 0; padding: 0; color: #2abcb4; font: inherit; font-weight: 600; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.hc-paste { margin-top: 8px; padding: 18px; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 16px; background: #0C1828; }
.hc-paste .hc-privacy { margin: 0 0 4px; }
.hc-paste .hc-button { margin-top: 18px; }
.hc-result { padding: 22px; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 20px; background: #0C1828; scroll-margin-top: 16px; min-width: 0; animation: hc-in 240ms ease-out; }
@keyframes hc-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .hc-result { animation: none; } }
.hc-top { display: flex; align-items: center; gap: 18px; }
.hc-score { flex: 0 0 auto; width: 92px; height: 92px; border-radius: 24px; display: grid; place-items: center; font-size: 40px; font-weight: 800; color: #fff; background: #6b7280; }
.hc-band-gated { background: #15803d; }
.hc-band-partly-gated { background: #b45309; }
.hc-band-open { background: #b91c1c; }
.hc-band { margin: 0; font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #94a3b0; font-weight: 700; }
.hc-headline { font-size: 20px; font-weight: 600; margin: 4px 0 0; }
.hc-band-reason { font-size: 14px; color: #cbd5e1; margin: 6px 0 0; overflow-wrap: anywhere; }
.hc-source { font-size: 14px; color: #94a3b0; margin: 16px 0 0; overflow-wrap: anywhere; }
.hc h2 { font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; color: #94a3b0; margin: 28px 0 12px; }
.hc-findings { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.hc-f { padding: 16px; border-radius: 14px; background: #07101E; border: 1px solid rgba(255, 255, 255, 0.08); border-left: 4px solid #6b7280; min-width: 0; }
.hc-f-gap { border-left-color: #ef4444; }
.hc-f-info { border-left-color: #eab308; }
.hc-f-ok { border-left-color: #22c55e; }
.hc-f-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.hc-sev { font: 700 12px/1 'JetBrains Mono', ui-monospace, monospace; padding: 5px 8px; border-radius: 6px; background: #374151; color: #fff; }
.hc-sev-gap { background: #b91c1c; }
.hc-sev-info { background: #854d0e; }
.hc-sev-ok { background: #166534; }
.hc-id { font: 600 12px/1 'JetBrains Mono', ui-monospace, monospace; color: #94a3b0; }
.hc-weight { font: 600 12px/1 'JetBrains Mono', ui-monospace, monospace; color: #fca5a5; margin-left: auto; }
.hc-f-title { font-size: 18px; margin: 10px 0 6px; }
.hc-f-summary { margin: 0; overflow-wrap: anywhere; }
.hc-label { margin: 14px 0 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #94a3b0; }
.hc-ev { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.hc-ev li { min-width: 0; }
.hc-file { display: block; font: 12px/1.5 'JetBrains Mono', ui-monospace, monospace; color: #94a3b0; overflow-wrap: anywhere; }
.hc-excerpt { display: block; white-space: pre-wrap; overflow-wrap: anywhere; padding: 6px 10px; border-left: 3px solid #2abcb4; border-radius: 6px; }
.hc-fix { margin: 0 0 8px; overflow-wrap: anywhere; }
.hc-snippet { position: relative; min-width: 0; }
.hc-snippet pre { margin: 0; padding-right: 72px; max-width: 100%; box-sizing: border-box; white-space: pre; overflow-wrap: normal; overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* Advice fixes are single sentences: wrap them, keeping room for the Copy button. */
.hc-advice-list .hc-snippet pre { white-space: pre-wrap; overflow-wrap: anywhere; overflow-x: visible; }
.hc-copy { position: absolute; top: 8px; right: 8px; min-height: 32px; padding: 0 12px; border-radius: 6px; background: #0C1828; border: 1px solid rgba(230, 238, 243, 0.25); color: #E6EEF3; font: 500 12px/1 'JetBrains Mono', ui-monospace, monospace; cursor: pointer; }
.hc-passed summary { cursor: pointer; min-height: 44px; line-height: 44px; font-weight: 600; }
.hc-passed .hc-findings { margin-top: 8px; }
.hc-advice-note { margin: 0 0 12px; }
.hc-list { padding-left: 20px; margin: 0; }
.hc-list li { margin: 0 0 6px; }
.hc-meta { color: #94a3b0; font-size: 13px; margin-top: 24px; overflow-wrap: anywhere; }
.hc-honesty-line, .hc-honesty p { font-size: 14px; margin: 6px 0; color: #cbd5e1; overflow-wrap: anywhere; }
.hc-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.hc-share-note, .hc-share-out { font-size: 14px; color: #94a3b0; overflow-wrap: anywhere; }
.hc-share-out a { color: #2abcb4; }
.hc-note { background: rgba(234, 179, 8, 0.1); border: 1px solid rgba(234, 179, 8, 0.4); color: #fde68a; padding: 12px 14px; border-radius: 12px; margin: 0; overflow-wrap: anywhere; }
.hc-title { font-size: clamp(24px, 4vw, 36px); line-height: 1.15; margin: 0 0 16px; overflow-wrap: anywhere; }
@media (max-width: 520px) {
  .hc-row { flex-direction: column; }
  .hc-row .hc-button { width: 100%; }
  .hc-top { align-items: flex-start; }
  .hc-score { width: 72px; height: 72px; font-size: 30px; border-radius: 18px; }
  .hc-result { padding: 16px; }
  .hc-f { padding: 14px 12px; }
}

/* Oct 1 2026: on tall screens the short page left the footer halfway up. The page is a column and
   the main area takes the free height, so the footer sits at the bottom of the window. */
body.hc-page{min-height:100vh;display:flex;flex-direction:column}
body.hc-page>main{flex:1 0 auto}
