:root { --vs-green: #1f7a4d; --vs-green-dark: #155c39; --vs-green-light: #e6f3ec; --vs-red: #b3261e; --vs-red-light: #fbe9e7;
  --vs-amber: #9a6700; --vs-ink: #1b1f23; --vs-muted: #5c6670; --vs-rule: #d9dee3; --vs-paper: #ffffff; }
body { margin: 0; padding: 2rem 1rem; background: #f4f6f8; color: var(--vs-ink);
  font: 15px/1.5 -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
#vs-analyzer, [data-vs-analyzer] { max-width: 820px; margin: 0 auto; background: var(--vs-paper); border: 1px solid var(--vs-rule); border-radius: 8px; padding: 1.5rem; }
#vs-analyzer h1 { font-size: 1.6rem; margin: 0 0 0.25rem; } #vs-analyzer h1 b { color: var(--vs-green); }
#vs-analyzer h2 { font-size: 1.3rem; margin: 1.5rem 0 0.75rem; border-bottom: 2px solid var(--vs-green); padding-bottom: 4px; color: var(--vs-green-dark); }
#vs-analyzer h3 { font-size: 1.05rem; margin: 1.25rem 0 0.5rem; } #vs-analyzer h4 { margin: 0 0 0.25rem; font-size: 1rem; }
.vs-form, .vs-row { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.vs-form input, .vs-row input { flex: 1 1 200px; padding: 0.6rem 0.8rem; border: 1px solid var(--vs-rule); border-radius: 6px; font: inherit; }
.vs-selector { flex: 0 1 220px !important; }
#vs-analyzer button { padding: 0.6rem 1.2rem; border: 0; border-radius: 6px; background: var(--vs-green); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
#vs-analyzer button:disabled { opacity: 0.6; cursor: wait; }
.vs-muted { color: var(--vs-muted); } .vs-small { font-size: 0.85rem; }
.vs-score { display: flex; gap: 1.5rem; align-items: flex-start; flex-wrap: wrap; }
.vs-score-big { font-size: 3rem; font-weight: 700; color: var(--vs-green-dark); } .vs-score-of { color: var(--vs-muted); }
.vs-score-table { flex: 1 1 320px; } .vs-score-table table { border-collapse: collapse; width: 100%; }
.vs-score-table td { padding: 3px 8px; border-bottom: 1px solid var(--vs-rule); vertical-align: top; }
td.vs-num { text-align: right; color: var(--vs-red); font-weight: 600; white-space: nowrap; }
.vs-strip { list-style: none; padding: 0; margin: 1rem 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.vs-strip li { border: 1px solid var(--vs-rule); border-radius: 6px; padding: 0.4rem 0.7rem; min-width: 120px; }
.vs-strip li.ok { background: var(--vs-green-light); } .vs-strip li.bad { background: var(--vs-red-light); } .vs-strip li.off { color: var(--vs-muted); }
.vs-strip-name { display: block; font-size: 0.7rem; text-transform: uppercase; color: var(--vs-muted); } .vs-strip-value { font-weight: 600; }
.vs-actions { padding-left: 1.25rem; } .vs-actions li { margin-bottom: 1rem; }
.vs-sev { font-size: 0.7rem; text-transform: uppercase; padding: 2px 6px; border-radius: 4px; background: var(--vs-rule); vertical-align: middle; }
.sev-high .vs-sev { background: var(--vs-red-light); color: var(--vs-red); } .sev-medium .vs-sev { background: #fff4d6; color: var(--vs-amber); }
#vs-analyzer pre { background: #f4f6f8; border: 1px solid var(--vs-rule); padding: 0.5rem; white-space: pre-wrap; word-break: break-all; font-size: 0.85rem; }
.vs-export { margin-top: 1.5rem; border-top: 1px solid var(--vs-rule); padding-top: 1rem; display: block; }
.vs-turnstile { margin-top: 0.5rem; }
