:root {
    --ark-accent: #38bdf8;
}

body {
    min-height: 100vh;
    background: radial-gradient(1200px 600px at 80% -10%, #15233a 0%, #0d1117 55%) fixed;
}

.navbar-brand i { font-size: 1.2rem; }

.card {
    background-color: rgba(22, 27, 34, 0.85);
    border-color: rgba(255, 255, 255, 0.08);
}

.mono { font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace; }

.badge-module { background-color: #1f6feb; }
.badge-issue { background-color: #238636; }

.rule-pass { color: #3fb950; }
.rule-fail { color: #8b949e; }
.rule-neg  { color: #f85149; }

.hit {
    background: rgba(56, 189, 248, 0.18);
    border-radius: 3px;
    padding: 0 2px;
}

.eval-row { border-left: 3px solid transparent; }
.eval-row.passed { border-left-color: #3fb950; }
.eval-row.failed { border-left-color: #30363d; }
.eval-row.gate-fail { border-left-color: #f85149; }

.candidate-top {
    border: 1px solid var(--ark-accent);
    box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.25);
}

.agree-yes { color: #3fb950; }
.agree-no  { color: #d29922; }

textarea.json-editor {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.85rem;
    min-height: 360px;
    white-space: pre;
}

.model-pick { max-height: 230px; overflow-y: auto; }

.spinner-wrap { display: none; }
.spinner-wrap.show { display: inline-flex; }

.rule-chip {
    font-size: 0.72rem;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    padding: 1px 8px;
    margin: 1px;
    display: inline-block;
}
