:root {
  --lg-red: #e52825;
  --lg-orange: #e66026;
  --lg-yellow: #fdd20f;
  --lg-blue: #0071bc;
  --lg-blue-dark: #3b5ea9;
  --lg-gray: #676767;
  --ink: #343434;
  --muted: #676767;
  --paper: #f4f6f8;
  --surface: #ffffff;
  --line: #dce3e8;
  --green: var(--lg-blue);
  --green-bright: var(--lg-yellow);
  --green-pale: #eaf5fb;
  --amber: var(--lg-orange);
  --red: var(--lg-red);
  --blue: var(--lg-blue-dark);
  --shadow: 0 18px 50px rgba(30, 75, 111, .09);
  font-family: Montserrat, "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--paper); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.topbar {
  height: 92px; padding: 0 max(24px, calc((100vw - 1180px) / 2));
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 20;
}
.brand { display: flex; align-items: center; gap: 18px; text-decoration: none; }
.brand img { display: block; width: 205px; height: auto; }
.brand-product { padding-left: 18px; border-left: 1px solid var(--line); color: #4e4e4e; font-size: 13px; font-weight: 700; white-space: nowrap; }
.brand-stripe { position: absolute; right: 0; bottom: 0; left: 0; height: 4px; display: flex; }
.brand-stripe span { flex: 1; }
.brand-stripe span:nth-child(1) { background: var(--lg-red); }
.brand-stripe span:nth-child(2) { background: var(--lg-orange); }
.brand-stripe span:nth-child(3) { background: var(--lg-yellow); }
.brand-stripe span:nth-child(4) { background: var(--lg-blue); }
.topbar nav { display: flex; gap: 28px; font-size: 14px; color: var(--muted); }
.topbar nav a { text-decoration: none; font-weight: 650; }
.topbar nav a:hover { color: var(--green); }

main { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.hero { min-height: 565px; padding: 78px 0 62px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); align-items: center; gap: 54px; overflow: hidden; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { color: var(--green); font-size: 12px; line-height: 1; letter-spacing: .16em; font-weight: 800; }
.hero h1 { max-width: 760px; font-size: clamp(46px, 5.5vw, 70px); line-height: 1.01; letter-spacing: -.052em; margin: 20px 0 25px; font-weight: 730; }
.hero-copy > p { max-width: 700px; font-size: 20px; line-height: 1.6; color: var(--muted); }
.hero-badges { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.hero-badges span { padding: 8px 12px; background: var(--green-pale); color: #285f82; border-radius: 99px; font-size: 13px; }
.hero-art { position: relative; min-height: 370px; isolation: isolate; }
.hero-circle, .hero-circle-outline { position: absolute; display: block; border-radius: 50%; }
.hero-circle-orange { width: 230px; height: 230px; left: 0; top: 12px; background: var(--lg-orange); }
.hero-circle-yellow { width: 202px; height: 202px; right: 2px; top: 58px; background: var(--lg-yellow); }
.hero-circle-blue { width: 220px; height: 220px; left: 66px; bottom: 2px; background: var(--lg-blue); }
.hero-circle-red { width: 88px; height: 88px; right: 3px; bottom: 28px; background: var(--lg-red); }
.hero-circle-outline { width: 178px; height: 178px; right: 24px; top: 0; border: 2px solid var(--lg-blue-dark); }

.workspace, .results {
  background: var(--surface); border: 1px solid var(--line); border-radius: 22px;
  border-top: 5px solid var(--lg-blue); box-shadow: var(--shadow); padding: clamp(24px, 5vw, 54px); margin: 24px 0 80px;
}
.section-heading, .result-header, .section-title { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; }
.section-heading h2, .result-header h2, .methodology h2 { font-size: clamp(31px, 4vw, 48px); letter-spacing: -.04em; margin: 9px 0 0; }
.privacy-note { font-size: 12px; color: var(--muted); padding-left: 18px; position: relative; }
.privacy-note::before { content: ""; width: 8px; height: 8px; background: var(--green); border-radius: 50%; position: absolute; left: 0; top: 5px; }

.drop-zone {
  margin-top: 34px; min-height: 290px; border: 1.5px dashed #9bbfd5; border-radius: 16px;
  display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 7px;
  background: #fbfcf8; transition: .2s ease; outline: none; text-align: center; padding: 28px;
}
.drop-zone:hover, .drop-zone:focus-visible, .drop-zone.dragover { border-color: var(--green); background: var(--green-pale); transform: translateY(-1px); }
.drop-zone strong { font-size: 20px; }
.drop-zone > span { color: var(--green); font-size: 15px; }
.drop-zone small { color: var(--muted); margin-top: 10px; }
.upload-icon { width: 60px; height: 60px; display: grid; place-items: center; border-radius: 16px; background: var(--green-pale); color: var(--green); margin-bottom: 8px; }
.upload-icon svg { width: 31px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.file-list { display: grid; gap: 8px; margin-top: 12px; }
.file-item { display: flex; justify-content: space-between; align-items: center; gap: 16px; background: #fbfcf8; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; }
.file-item > div { min-width: 0; display: grid; gap: 3px; }
.file-item strong { font-size: 13px; overflow-wrap: anywhere; }
.file-item span { color: var(--muted); font-size: 11px; }
.file-remove { flex: 0 0 auto; border: 0; background: transparent; color: var(--red); padding: 6px; font-size: 12px; }

.question-panel { margin: 22px 0 0; border: 1px solid #bdd9e9; border-radius: 14px; padding: 22px; background: var(--green-pale); display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.question-panel legend { padding: 0 8px; color: var(--green); font-weight: 800; font-size: 14px; }
.question-panel > p, .question-panel > small { grid-column: 1 / -1; margin: 0; color: #4f6877; font-size: 13px; line-height: 1.5; }
.question-panel > small { padding-top: 2px; }
.question-panel .config-warning { grid-column: 1 / -1; padding: 12px 14px; border: 1px solid #e5c894; border-radius: 9px; background: #fff9e9; color: #755115; font-size: 12px; line-height: 1.5; }
.question-panel .config-warning code { font-weight: 750; }
.question-panel label { display: grid; gap: 8px; color: #415868; font-size: 12px; font-weight: 750; }
.question-panel textarea { width: 100%; resize: vertical; min-height: 100px; border: 1px solid #adc9da; border-radius: 9px; padding: 12px; color: var(--ink); background: #fff; outline: none; line-height: 1.5; }
.question-panel textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(0, 113, 188, .14); }

.finding-toolbar select {
  min-width: 0; border: 1px solid #cfd7cd; border-radius: 9px; padding: 11px 12px; background: #fff; color: var(--ink); outline: none;
}
.finding-toolbar select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(0, 113, 188, .14); }

.primary-button { width: 100%; border: 0; border-radius: 12px; padding: 17px 22px; margin-top: 20px; background: var(--lg-blue); color: white; display: flex; align-items: center; justify-content: center; gap: 14px; font-weight: 750; transition: .2s; }
.primary-button:hover { background: var(--lg-blue-dark); transform: translateY(-1px); }
.primary-button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.secondary-button { border: 1px solid var(--line); padding: 10px 13px; border-radius: 9px; background: white; color: var(--ink); font-size: 13px; cursor: pointer; }
.secondary-button:hover { border-color: var(--green); color: var(--green); }
.secondary-button:disabled { opacity: .55; cursor: wait; }

.progress-panel, .error-panel { margin-top: 22px; border-radius: 12px; padding: 18px; }
.progress-panel { display: flex; gap: 15px; align-items: center; background: var(--green-pale); }
.progress-copy { display: grid; gap: 4px; min-width: 0; }
.progress-copy span { color: var(--muted); font-size: 13px; }
.spinner { width: 25px; height: 25px; border-radius: 50%; border: 3px solid rgba(0,113,188,.18); border-top-color: var(--green); animation: spin .8s linear infinite; display: grid; place-items: center; }
.progress-panel.is-complete .spinner { border: 0; background: var(--green); color: white; animation: none; }
.progress-panel.is-complete .spinner::after { content: "✓"; font-size: 16px; font-weight: 800; line-height: 1; }
@keyframes spin { to { transform: rotate(360deg); } }
.error-panel { background: #fff1ef; color: #81231e; border: 1px solid #f0cac5; }

.result-header p { color: var(--muted); margin: 9px 0 0; }
.result-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.score-overview { margin-top: 35px; padding: 31px; border-radius: 17px; background: var(--lg-blue-dark); color: white; display: flex; align-items: center; gap: 34px; }
.score-ring { --score: 0; width: 150px; height: 150px; flex: 0 0 150px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--green-bright) calc(var(--score) * 1%), rgba(255,255,255,.13) 0); position: relative; }
.score-ring::before { content: ""; width: 118px; height: 118px; border-radius: 50%; background: var(--lg-blue-dark); position: absolute; }
.score-ring > div { position: relative; display: flex; align-items: baseline; }
.score-ring strong { font-size: 45px; letter-spacing: -.05em; }
.score-ring span { color: #b8c1ba; font-size: 13px; }
.score-copy h3 { font-size: 27px; margin: 10px 0 5px; }
.score-copy > p { color: #c8d0ca; margin: 5px 0; }
.status-badge { display: inline-flex; padding: 6px 9px; border-radius: 7px; background: rgba(201,242,107,.12); color: var(--green-bright); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.verdict-unsupported, .verdict-conflicting { background: rgba(255, 160, 146, .14); color: #ffb7ad; }
.verdict-indeterminate { background: rgba(255, 201, 112, .13); color: #ffd696; }
.verdict-partially_supported { background: rgba(255, 201, 112, .13); color: #ffd696; }
.score-ring.score-indeterminate { background: rgba(255,255,255,.13); }
.provisional-note { font-size: 12px; max-width: 650px; }

.report-section { padding-top: 38px; margin-top: 38px; border-top: 1px solid var(--line); }
.section-title { align-items: end; margin-bottom: 19px; }
.section-title h3 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.section-title > span, .section-title > div > span { color: var(--muted); font-size: 12px; }
.count { background: #eef1ec; padding: 5px 8px; border-radius: 6px; color: var(--ink) !important; }
.dimension-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.dimension-card { border: 1px solid var(--line); border-radius: 13px; padding: 18px; }
.dimension-top { display: flex; justify-content: space-between; gap: 15px; }
.dimension-top strong:last-child { font-size: 22px; }
.dimension-card p { margin: 8px 0 15px; color: var(--muted); font-size: 13px; min-height: 36px; }
.bar { height: 6px; background: #edf0eb; border-radius: 9px; overflow: hidden; }
.bar > span { height: 100%; display: block; width: 0; background: var(--green); border-radius: 9px; transition: width .6s ease; }
.dimension-meta { display: flex; justify-content: space-between; margin-top: 9px; color: var(--muted); font-size: 11px; }

.finding-list, .gate-list { display: grid; gap: 10px; }
.finding-card, .gate-card { border: 1px solid var(--line); border-radius: 13px; padding: 18px; display: grid; grid-template-columns: auto 1fr; gap: 14px; }
.finding-marker { width: 9px; height: 9px; border-radius: 50%; margin-top: 6px; background: var(--blue); }
.severity-critical .finding-marker, .severity-high .finding-marker { background: var(--red); }
.severity-medium .finding-marker { background: var(--amber); }
.severity-low .finding-marker { background: #6d806f; }
.finding-heading { display: flex; justify-content: space-between; gap: 15px; }
.finding-heading strong { font-size: 15px; }
.severity-label { text-transform: uppercase; font-weight: 800; font-size: 10px; color: var(--muted); }
.finding-card p, .gate-card p { color: var(--muted); font-size: 13px; line-height: 1.5; margin: 7px 0; }
.recommendation { padding: 10px 12px; background: #f4f7f1; border-radius: 8px; color: #3a5141 !important; }
.finding-meta { display: flex; flex-wrap: wrap; gap: 7px; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.finding-meta span { padding: 4px 6px; background: #f0f2ee; border-radius: 5px; }
.gate-card { grid-template-columns: 1fr; border-color: #edc8c3; background: #fff8f7; }
.gate-card strong { color: var(--red); }
.finding-toolbar select { width: auto; min-width: 190px; padding: 8px 10px; font-size: 12px; }

.answer-card { border-radius: 14px; border: 1px solid var(--line); padding: 21px; background: #fbfcf9; }
.evaluation-criteria { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 11px; }
.evaluation-criteria > div { border: 1px solid var(--line); border-radius: 11px; padding: 14px; background: #fff; }
.evaluation-criteria span { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.evaluation-criteria p { margin: 7px 0 0; color: var(--ink); font-size: 13px; line-height: 1.5; white-space: pre-wrap; }
.answer-card > p:first-child { margin: 0; font-size: 17px; line-height: 1.65; color: var(--ink); white-space: pre-wrap; }
.judge-rationale { color: var(--muted); line-height: 1.55; font-size: 13px; margin: 13px 0 0; padding-top: 13px; border-top: 1px solid var(--line); }
.judge-flags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.judge-flags span { padding: 6px 9px; border-radius: 99px; background: #eef1ec; color: var(--muted); font-size: 11px; }
.judge-flags .flag-positive { background: var(--green-pale); color: var(--green); }
.judge-flags .flag-negative { background: #fff0ed; color: var(--red); }
.judge-flags .flag-neutral { background: #f0f1ef; color: #5c655f; }
.context-warning { margin-top: 12px; padding: 13px 15px; border-radius: 9px; border: 1px solid #e5c894; background: #fff9e9; color: #755115; font-size: 12px; line-height: 1.5; }
.duplicate-warning { border-color: #cdd5c9; background: #f4f6f2; color: #4d5c52; }

.evidence-list, .conflict-list, .claim-list { display: grid; gap: 11px; }
.claim-card { border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: #fbfcf9; }
.claim-heading { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.claim-heading span { font-size: 12px; color: var(--muted); }
.claim-text { margin: 10px 0 0; font-weight: 650; line-height: 1.45; }
.claim-explanation { margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.claim-card .evidence-card { margin-top: 11px; padding: 12px; background: #fff; }
.claim-supported { border-left: 4px solid var(--green); }
.claim-partially_supported { border-left: 4px solid #d5a642; }
.claim-unsupported, .claim-conflicting { border-left: 4px solid #d96b5f; }
.evidence-card { min-width: 0; border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: #fbfcf9; }
.evidence-card blockquote { margin: 0; padding-left: 13px; border-left: 3px solid var(--green); color: #304339; font-size: 13px; line-height: 1.55; }
.evidence-card > p { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 10px 0 0; }
.evidence-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.evidence-meta span { background: #edf1ea; border-radius: 5px; color: var(--muted); font-size: 10px; padding: 4px 6px; }
.missing-list { margin: 0; padding-left: 22px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.empty-state, .conflict-empty { margin: 0; padding: 16px; border: 1px dashed var(--line); border-radius: 11px; color: var(--muted); font-size: 13px; }
.conflict-empty.status-none { background: var(--green-pale); border-color: #c8d9bd; color: #3c5c47; }
.conflict-empty.status-indeterminate { background: #fff9e9; border-color: #e5c894; color: #755115; }
.conflict-card { border: 1px solid #edc8c3; border-radius: 13px; padding: 19px; background: #fffafa; }
.conflict-heading { display: flex; justify-content: space-between; gap: 16px; }
.conflict-card > p { color: var(--muted); font-size: 13px; line-height: 1.5; }
.conflict-claims { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.conflict-claim { min-width: 0; border-radius: 10px; padding: 12px; background: #fff; border: 1px solid #eedbd8; }
.conflict-claim > strong { display: block; margin-bottom: 10px; font-size: 13px; line-height: 1.45; }
.conflict-claim .evidence-card { padding: 12px; margin-top: 8px; }

.technical-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.technical-header h3 { margin: 0 0 5px; }
.technical-header > div > span { color: var(--muted); font-size: 12px; }
.technical-header label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; }
.technical-header select { min-width: 250px; max-width: 420px; border: 1px solid #cfd7cd; border-radius: 9px; padding: 9px 11px; background: #fff; color: var(--ink); }
.technical-overview { margin-top: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 12px; }
.technical-overview > strong { font-size: 22px; }
.technical-overview > span { justify-self: start; padding: 5px 8px; border-radius: 6px; background: var(--green-pale); color: var(--green); font-size: 11px; font-weight: 750; }
.technical-overview > p { margin: 0; color: var(--muted); font-size: 12px; text-align: right; }

.methodology { padding: 30px 0 95px; }
.methodology > p { color: var(--muted); font-size: 17px; }
.method-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 35px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.method-grid article { padding: 25px; min-height: 190px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.method-grid b { color: var(--green); font-size: 12px; }
.method-grid h3 { margin: 30px 0 8px; }
.method-grid p { color: var(--muted); font-size: 13px; line-height: 1.55; }

.site-footer { width: 100%; margin: 0; padding: 0; border-top: 0; background: var(--lg-blue-dark); color: rgba(255,255,255,.82); }
.footer-inner { width: min(1180px, calc(100% - 40px)); min-height: 150px; margin: 0 auto; padding: 24px 0; display: flex; justify-content: space-between; align-items: center; gap: 30px; font-size: 12px; }
.footer-brand { display: flex; align-items: center; gap: 20px; }
.footer-brand img { width: 112px; height: auto; }
.footer-brand span { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.28); color: #fff; font-size: 14px; font-weight: 700; }
.site-footer a { color: #fff; font-weight: 700; }
[hidden] { display: none !important; }

.question-list, .add-question-button, .question-import-tools, .question-import-status { grid-column: 1 / -1; }
.question-import-tools { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 14px; border: 1px solid #c4dbe8; border-radius: 11px; background: #fff; }
.question-import-tools > div:first-child { display: grid; gap: 4px; }
.question-import-tools strong { color: var(--ink); font-size: 13px; }
.question-import-tools span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.question-tool-actions { flex: 0 0 auto; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.question-import-status { padding: 11px 13px; border: 1px solid #b9d8c3; border-radius: 9px; background: #eef8f1; color: #17643a; font-size: 12px; line-height: 1.45; }
.question-import-status.is-error { border-color: #f0cac5; background: #fff1ef; color: #81231e; }
.question-list { display: grid; gap: 14px; }
.question-item { border: 1px solid #cbd8c9; border-radius: 12px; padding: 16px; background: #fff; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.question-item-header { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; }
.remove-question { border: 0; background: transparent; color: #9b3e36; cursor: pointer; font-weight: 750; }
.add-question-button { border: 1px dashed #7fa58f; background: #f8fcf8; color: var(--green); border-radius: 10px; padding: 13px; font-weight: 800; cursor: pointer; }
.add-question-button span { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--green); color: #fff; margin-right: 5px; }
.executive-overview { margin-top: 22px; padding: 25px; border: 1px solid #c8dfec; border-left: 6px solid var(--lg-blue); border-radius: 16px; background: #f2f8fc; }
.executive-overview h3 { margin: 12px 0 6px; font-size: clamp(22px, 3vw, 31px); }
.executive-overview > p { color: var(--muted); }
.executive-ready { background: #dcefe2; color: #17643a; }
.executive-needs_improvement { background: #fff0c9; color: #755115; }
.executive-inconclusive { background: #eceff2; color: #4f5962; }
.executive-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 18px; }
.executive-metrics div { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; display: grid; gap: 3px; }
.executive-metrics strong { font-size: 23px; }
.executive-metrics span { color: var(--muted); font-size: 11px; }
.executive-actions, .question-results { display: grid; gap: 12px; }
.executive-action { border: 1px solid var(--line); border-left: 4px solid #d5a642; border-radius: 11px; padding: 16px; background: #fff; }
.action-heading { display: flex; gap: 10px; align-items: center; }
.action-heading h4 { margin: 0; }
.priority-number { flex: 0 0 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: #fff0c9; color: #755115; font-weight: 900; }
.action-impact { color: var(--muted); font-size: 13px; }
.next-step { padding: 11px 13px; border-radius: 9px; background: #f5f7f3; }
.next-step p { margin: 4px 0 0; font-size: 13px; }
.action-related { display: block; margin-top: 9px; color: var(--muted); }
.positive-empty { background: var(--green-pale); color: var(--green); }
.question-result { border: 1px solid var(--line); border-radius: 13px; padding: 18px; background: #fff; }
.question-result-header { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.question-result-header h4 { margin: 4px 0 0; }
.question-kicker, .detail-label { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.question-status { white-space: nowrap; border-radius: 999px; padding: 6px 9px; font-size: 11px; font-weight: 800; }
.status-supported { background: #dcefe2; color: #17643a; }
.status-partially_supported { background: #fff0c9; color: #755115; }
.status-unsupported, .status-contradicted, .status-conflict, .status-conflicting { background: #fce8e5; color: #913c34; }
.status-inconclusive { background: #eceff2; color: #4f5962; }
.question-interpretation { color: var(--muted); font-size: 13px; }
.answer-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; padding: 14px; border: 1px solid #edc8c3; border-radius: 10px; background: #fff7f5; }
.answer-comparison > strong, .comparison-conclusion { grid-column: 1 / -1; }
.answer-comparison > div { padding: 10px; border-radius: 8px; background: #fff; }
.answer-comparison p { margin: 5px 0 0; line-height: 1.5; }
.comparison-conclusion { color: #7f342e; font-weight: 700; }
.direct-evidence { display: grid; gap: 9px; margin-top: 14px; padding: 14px; border-radius: 10px; background: #f5f8f3; }
.direct-evidence > strong { color: #294737; }
.direct-evidence .evidence-card { background: #fff; }
.divergence-section { display: grid; gap: 12px; margin-top: 14px; padding: 14px; border-radius: 11px; background: #f5f8f3; }
.divergence-section h5 { margin: 0; color: #294737; font-size: 16px; }
.divergence-point { padding: 15px; border: 1px solid #d7ded3; border-radius: 11px; background: #fff; }
.divergence-number { display: inline-block; margin-bottom: 10px; padding: 4px 7px; border-radius: 5px; background: #fce8e5; color: #913c34; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.divergence-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.divergence-pair > div { padding: 11px; border-radius: 8px; }
.divergence-expected { border-left: 3px solid #d96b5f; background: #fff7f5; }
.divergence-documented { border-left: 3px solid var(--green); background: #f4faf5; }
.divergence-pair p, .divergence-explanation p { margin: 5px 0 0; line-height: 1.5; }
.divergence-explanation { margin-top: 10px; padding: 11px; border-radius: 8px; background: #fff9e9; }
.divergence-explanation strong { color: #755115; font-size: 12px; }
.divergence-point .evidence-card { margin-top: 10px; padding: 12px; background: #fbfcf9; }
.source-conflict-section { display: grid; gap: 12px; margin-top: 14px; padding: 14px; border-radius: 11px; background: #eef3f8; }
.source-conflict-section > h5 { margin: 0; color: #29475a; font-size: 16px; }
.source-conflict-section > p { margin: -6px 0 0; color: var(--muted); font-size: 11px; }
.source-conflict-card { padding: 14px; border: 1px solid #d1dde5; border-radius: 10px; background: #fff; }
.source-conflict-card > p { margin: 5px 0 12px; color: var(--muted); font-size: 12px; }
.conflict-side-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.conflict-side { min-width: 0; padding: 12px; border: 1px solid var(--line); border-left: 3px solid #64849a; border-radius: 8px; background: #fbfcfd; }
.conflict-side-label { display: block; overflow-wrap: anywhere; color: #456478; font-size: 9px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.conflict-statement { margin: 7px 0 10px; font-size: 13px; font-weight: 750; line-height: 1.45; }
.conflict-side .evidence-card { margin-top: 8px; padding: 10px; background: #fff; }
.question-improvements { margin-top: 12px; padding: 13px; border-radius: 9px; background: #fff9e9; font-size: 13px; }
.question-improvements ul { margin: 6px 0 0; padding-left: 20px; }
.conflict-improvements { background: #fff1ef; }
.question-followup-actions { display: grid; gap: 9px; margin-top: 14px; padding: 14px; border-radius: 10px; background: #fff9e9; }
.question-followup-action { padding: 12px; border: 1px solid #ead9ad; border-radius: 8px; background: #fff; }
.question-followup-action h5 { margin: 0; font-size: 13px; }
.question-followup-action > p { margin: 5px 0 10px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.question-followup-action > div { padding-top: 9px; border-top: 1px solid var(--line); }
.question-followup-action > div p { margin: 5px 0 0; font-size: 12px; line-height: 1.5; }
.question-details { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.question-details summary, .technical-details > summary { cursor: pointer; color: var(--green); font-weight: 800; font-size: 13px; }
.question-details-body { display: grid; gap: 6px; padding-top: 14px; }
.question-details-body > p { margin: 0 0 10px; }
.technical-details { margin-top: 22px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: #fbfcf9; }

.document-diagnosis { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); }
.document-diagnosis-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.document-diagnosis-heading h3 { margin: 6px 0; font-size: 24px; }
.document-diagnosis-heading p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.document-analyses { display: grid; gap: 12px; }
.document-analysis-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.document-analysis-card[open] { border-color: #9eb9a7; box-shadow: 0 12px 30px rgba(28, 64, 43, .08); }
.document-analysis-card > summary { position: relative; min-height: 76px; padding: 16px 52px 16px 18px; cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.document-analysis-card > summary::-webkit-details-marker, .document-question > summary::-webkit-details-marker, .document-indicators > summary::-webkit-details-marker, .cross-document-section summary::-webkit-details-marker, .unassigned-question-section summary::-webkit-details-marker { display: none; }
.document-analysis-card > summary::after { content: "+"; position: absolute; right: 18px; top: 50%; width: 24px; height: 24px; margin-top: -12px; border-radius: 50%; display: grid; place-items: center; background: #edf2eb; color: var(--green); font-size: 17px; font-weight: 800; }
.document-analysis-card[open] > summary::after { content: "−"; }
.document-analysis-card > summary:focus-visible, .document-question > summary:focus-visible, .document-indicators > summary:focus-visible, .cross-document-section summary:focus-visible, .unassigned-question-section summary:focus-visible { outline: 3px solid rgba(31, 111, 80, .24); outline-offset: -3px; }
.document-identity { min-width: 0; display: flex; align-items: center; gap: 12px; }
.document-icon { flex: 0 0 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--green-pale); color: var(--green); font-size: 12px; font-weight: 850; }
.document-identity > div { min-width: 0; display: grid; gap: 4px; }
.document-identity strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.document-identity span:not(.document-icon) { color: var(--muted); font-size: 11px; }
.document-summary-meta { flex: 0 0 auto; display: grid; justify-items: end; gap: 6px; }
.document-decision { padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.document-decision.status-ready { background: #dcefe2; color: #17643a; }
.document-decision.status-ready_with_warnings { background: #eaf2dd; color: #526a1c; }
.document-decision.status-review_required { background: #fff0c9; color: #755115; }
.document-decision.status-not_ready, .document-decision.status-quarantined, .document-decision.status-rejected { background: #fce8e5; color: #913c34; }
.document-decision.status-content_review { background: #fce8e5; color: #913c34; }
.document-decision.status-content_warning { background: #fff0c9; color: #755115; }
.document-decision.status-cross_review { background: #e6eef5; color: #355d76; }
.document-decision.status-cross_warning { background: #edf2f7; color: #4c6575; }
.document-decision.status-not_evaluated { background: #edf2f5; color: #4c6575; }
.document-related-count { color: var(--muted); font-size: 10px; }
.document-analysis-body { padding: 18px; border-top: 1px solid var(--line); background: #fbfcf9; display: grid; gap: 18px; }
.document-decision-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 18px; border: 1px solid #d7e1d4; border-radius: 12px; background: #fff; }
.section-label { color: var(--green); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.document-decision-panel h4 { margin: 5px 0; font-size: 20px; }
.document-decision-panel p { max-width: 610px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.document-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.document-kpis > div { min-width: 0; padding: 10px; border-radius: 9px; background: #f3f6f1; display: grid; gap: 2px; }
.document-kpis strong { color: var(--ink); font-size: 18px; }
.document-kpis span { color: var(--muted); font-size: 9px; line-height: 1.3; }
.document-plan, .document-question-section { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.document-plan > h4, .document-subheading h4 { margin: 0; font-size: 17px; }
.section-intro, .document-subheading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.document-action-list { display: grid; gap: 10px; margin-top: 14px; }
.document-action { padding: 14px; border: 1px solid var(--line); border-left: 4px solid #d5a642; border-radius: 10px; background: #fff; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr) minmax(0, 1.1fr); gap: 12px; }
.document-action.severity-critical, .document-action.severity-high { border-left-color: #d96b5f; }
.document-action.shared-action { border-left-color: #64849a; background: #fbfdff; }
.document-action-heading { display: flex; align-items: flex-start; gap: 9px; }
.action-title { min-width: 0; display: grid; gap: 3px; }
.document-action-heading h5 { margin: 0; font-size: 13px; line-height: 1.4; }
.action-origin { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.action-index { flex: 0 0 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: #fff0c9; color: #755115; font-size: 10px; font-weight: 850; }
.action-business-impact, .action-next-step { padding-left: 12px; border-left: 1px solid var(--line); }
.action-business-impact strong, .action-next-step strong { color: var(--muted); font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }
.action-business-impact p, .action-next-step p { margin: 5px 0 0; font-size: 12px; line-height: 1.5; }
.action-next-step { border-radius: 0; background: transparent; }
.action-location { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
.document-subheading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.document-question-list { display: grid; gap: 8px; }
.document-question { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.document-question[open] { border-color: #b8ccb9; }
.document-question > summary { min-height: 58px; padding: 12px 14px; cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.document-question > summary > div { min-width: 0; display: grid; gap: 3px; }
.document-question > summary strong { font-size: 13px; line-height: 1.4; }
.document-question > .question-result { border: 0; border-top: 1px solid var(--line); border-radius: 0; padding: 16px; background: #fbfcf9; }
.question-scope-note { margin: 0 0 12px; padding: 9px 11px; border-radius: 8px; background: #eef4ec; color: #476251; font-size: 11px; }
.question-answer-body { margin-top: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.shared-question-note { margin-top: 12px; padding: 12px; border-radius: 9px; background: #eef3f8; }
.shared-question-note p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.shared-question-list { display: grid; gap: 7px; margin-top: 10px; }
.shared-question-link { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 10px 11px; border: 1px solid #d7e0e8; border-radius: 8px; background: #fff; color: var(--ink); text-decoration: none; }
.shared-question-link:hover { border-color: #aebfca; box-shadow: 0 4px 12px rgba(41, 71, 55, .06); }
.shared-question-link:focus-visible { outline: 3px solid rgba(31, 111, 80, .24); outline-offset: 2px; }
.shared-question-copy { min-width: 0; display: grid; gap: 2px; }
.shared-question-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.shared-question-action { color: var(--green); font-size: 10px; font-weight: 800; white-space: nowrap; }
.document-indicators { border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.document-indicators > summary { position: relative; min-height: 52px; padding: 13px 52px 13px 14px; cursor: pointer; list-style: none; color: var(--green); font-size: 13px; font-weight: 800; display: flex; align-items: center; gap: 9px; }
.document-indicators > summary::after { content: "+"; position: absolute; right: 14px; top: 50%; width: 24px; height: 24px; margin-top: -12px; border-radius: 50%; display: grid; place-items: center; background: #e7f3f9; color: var(--green); font-size: 17px; }
.document-indicators[open] > summary::after { content: "−"; }
.document-indicators > summary small { padding: 4px 7px; border-radius: 999px; background: #edf2f5; color: var(--muted); font-size: 9px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.document-indicator-body { padding: 0 14px 14px; display: grid; gap: 12px; }
.recommendation-context { margin: 0; padding: 12px 14px; border-left: 3px solid var(--lg-blue); border-radius: 0 8px 8px 0; background: #f2f8fc; color: #4f6572; font-size: 12px; line-height: 1.55; }
.optional-recommendation-list { display: grid; gap: 8px; }
.optional-recommendation { padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #fff; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 11px; }
.recommendation-icon { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; background: #fff2bf; color: #755700; font-size: 13px; font-weight: 900; }
.optional-recommendation h5 { margin: 1px 0 5px; color: var(--ink); font-size: 13px; line-height: 1.4; }
.optional-recommendation p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.secondary-observations > summary { cursor: pointer; color: var(--muted); font-size: 11px; font-weight: 750; }
.secondary-action-list .document-action { grid-template-columns: 1fr 1fr; }
.secondary-action-list .action-next-step { border-left: 1px solid var(--line); }
.cross-document-section, .unassigned-question-section { margin-top: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.cross-document-section > details > summary, .unassigned-question-section > details > summary { min-height: 54px; padding: 14px 16px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-weight: 800; }
.cross-document-section > details > p, .unassigned-question-section > details > p { margin: 0; padding: 0 16px 12px; color: var(--muted); font-size: 12px; }
.cross-document-section .question-results, .unassigned-question-section .question-results { padding: 0 16px 16px; display: grid; gap: 8px; }

/* LG visual identity: solid colors, strong contrast and circular intersections. */
::selection { background: var(--lg-yellow); color: #2f2f2f; }
.section-heading h2, .result-header h2, .methodology h2, .document-diagnosis-heading h3 { color: #343434; }
.privacy-note::before { background: var(--lg-blue); }
.drop-zone, .file-item, .answer-card, .claim-card, .evidence-card, .technical-details, .document-analysis-body, .document-question > .question-result { background: #f9fbfc; }
.drop-zone:hover, .drop-zone:focus-visible, .drop-zone.dragover { background: #eef7fc; }
.question-item { border-color: #c4dbe8; }
.add-question-button { border-color: #65a9cf; background: #f7fbfe; }
.remove-question { color: #b3302e; }
.executive-ready, .status-supported, .document-decision.status-ready { background: #dff1fb; color: #006aa6; }
.executive-needs_improvement, .status-partially_supported, .document-decision.status-ready_with_warnings, .document-decision.status-review_required, .document-decision.status-content_warning { background: #fff3c4; color: #765700; }
.positive-empty, .conflict-empty.status-none { background: #e9f5fb; border-color: #b9d9e9; color: #145f89; }
.judge-flags .flag-positive { background: #e4f3fb; color: #006da9; }
.recommendation, .next-step { background: #f1f6f9; color: #3c5666 !important; }
.evidence-card blockquote { color: #334f60; }
.evidence-meta span, .finding-meta span, .judge-flags span, .count { background: #edf2f5; }
.direct-evidence, .divergence-section { background: #f0f7fb; }
.direct-evidence > strong, .divergence-section h5 { color: #185575; }
.divergence-point { border-color: #d2e1e9; }
.divergence-documented { border-left-color: var(--lg-blue); background: #f2f8fc; }
.question-details summary, .technical-details > summary { color: var(--lg-blue); }
.document-analysis-card[open] { border-color: #77b4d4; box-shadow: 0 12px 30px rgba(0, 91, 145, .10); }
.document-analysis-card > summary::after { background: #e7f3f9; color: var(--lg-blue); }
.document-analysis-card > summary:focus-visible, .document-question > summary:focus-visible, .document-indicators > summary:focus-visible, .cross-document-section summary:focus-visible, .unassigned-question-section summary:focus-visible { outline-color: rgba(0, 113, 188, .28); }
.document-icon { background: #e6f3fa; color: var(--lg-blue); }
.document-analysis-body { background: #f6f9fb; }
.document-decision-panel { border-color: #cfdfe8; }
.document-kpis > div { background: #eff5f8; }
.document-action { border-left-color: var(--lg-orange); }
.document-action.severity-critical, .document-action.severity-high { border-left-color: var(--lg-red); }
.action-index { background: #fff2bf; color: #6f5200; }
.document-question[open] { border-color: #91bfd8; }
.question-scope-note { background: #e9f5fb; color: #2f607c; }
.shared-question-link:hover { box-shadow: 0 4px 12px rgba(0, 91, 145, .08); }
.shared-question-link:focus-visible { outline-color: rgba(0, 113, 188, .28); }
.method-grid { background: #fff; }
.method-grid article { position: relative; background: #fff; }
.method-grid article::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 3px; background: var(--lg-blue); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.method-grid article:hover::before { transform: scaleX(1); }

@media (max-width: 960px) {
  .brand-product { display: none; }
  .hero { grid-template-columns: minmax(0, 1fr) 285px; gap: 24px; }
  .hero-art { transform: scale(.82); transform-origin: center right; }
}

@media (max-width: 720px) {
  .topbar { height: 78px; padding: 0 20px; }
  .brand img { width: 158px; }
  .topbar nav a:not(:last-child) { display: none; }
  main { width: min(100% - 24px, 1180px); }
  .hero { min-height: 0; padding: 58px 0 44px; grid-template-columns: 1fr; }
  .hero-art { display: none; }
  .hero h1 { font-size: 43px; }
  .hero-copy > p { font-size: 17px; }
  .workspace, .results { padding: 22px; border-radius: 15px; }
  .section-heading, .result-header { display: grid; }
  .privacy-note { margin-top: 3px; }
  .dimension-grid, .method-grid, .question-panel, .conflict-claims, .evaluation-criteria { grid-template-columns: 1fr; }
  .question-panel > p, .question-panel > small { grid-column: auto; }
  .question-panel .config-warning { grid-column: auto; }
  .question-list, .add-question-button, .question-import-tools, .question-import-status { grid-column: auto; }
  .question-import-tools { display: grid; }
  .question-tool-actions { justify-content: stretch; }
  .question-tool-actions button { flex: 1 1 190px; }
  .question-item { grid-template-columns: 1fr; }
  .question-item-header { grid-column: auto; }
  .executive-metrics { grid-template-columns: repeat(2, 1fr); }
  .question-result-header { display: grid; }
  .question-status { justify-self: start; }
  .answer-comparison { grid-template-columns: 1fr; }
  .answer-comparison > strong, .comparison-conclusion { grid-column: auto; }
  .divergence-pair { grid-template-columns: 1fr; }
  .conflict-side-grid { grid-template-columns: 1fr; }
  .document-diagnosis-heading, .document-card-summary, .document-decision-panel, .document-subheading { display: grid; }
  .document-summary-meta { justify-items: start; }
  .document-decision-panel { grid-template-columns: 1fr; }
  .document-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-kpis > div:last-child { grid-column: 1 / -1; }
  .document-action { grid-template-columns: 1fr; }
  .action-business-impact, .action-next-step { padding: 10px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .document-question > summary { display: grid; }
  .document-question > summary, .shared-question-link { min-width: 0; max-width: 100%; }
  .document-question .question-status, .shared-question-link .question-status { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .shared-question-link { grid-template-columns: 1fr; justify-items: start; }
  .shared-question-link .question-status, .shared-question-action { grid-column: auto; grid-row: auto; }
  .question-status { justify-self: start; }
  .score-overview { display: grid; justify-items: center; text-align: center; padding: 25px; }
  .result-actions { width: 100%; }
  .result-actions button { flex: 1; }
  .finding-heading, .finding-toolbar { align-items: flex-start; display: grid; }
  .conflict-heading { display: grid; }
  .finding-toolbar select { width: 100%; }
  .technical-header { display: grid; align-items: start; }
  .technical-header select { min-width: 0; width: 100%; }
  .technical-overview { grid-template-columns: auto 1fr; }
  .technical-overview > p { grid-column: 1 / -1; text-align: left; }
  .footer-inner { min-height: 0; padding: 30px 0; display: grid; gap: 22px; }
  .footer-brand img { width: 94px; }
  .footer-brand span { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .spinner { animation: none !important; }
}
