*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,input,select,textarea{border:1px solid var(--line);border-radius:12px;background:var(--surface);min-height:44px;padding:10px 13px}button{cursor:pointer;font-weight:600}button:hover{background:var(--soft)}button:disabled{opacity:.55;cursor:default}input,select,textarea{width:100%;min-width:0}textarea{resize:vertical}label{display:block;font-size:13px;color:var(--muted)}label>input,label>select,label>textarea{margin-top:6px}input:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input[aria-invalid=true]{border-color:var(--red)}[hidden]{display:none!important}.wrap{width:min(1100px,calc(100% - 64px));margin:auto}.skip,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip-path:none;z-index:100;background:var(--surface);padding:12px}h1{font-size:clamp(42px,6vw,68px);line-height:1.06;margin:14px 0 20px;font-weight:750}h1 span{color:var(--green)}h2{font-size:23px;line-height:1.3;margin:0 0 18px}.hero{padding-bottom:30px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.5px;color:var(--green)}.intro{font-size:19px;color:var(--muted)}.privacy{font-size:13px;color:var(--green)}body{--red:#a33429;--red-bg:#fff0ee;--yellow:#855a0b;--yellow-bg:#fff4d6;--good:#276443;--good-bg:#e7f3ea}body[data-theme*=dark],body[data-theme=dark]{--red:#ffb8ad;--red-bg:#4a2825;--yellow:#ffdf8e;--yellow-bg:#45391e;--good:#b0e5c1;--good-bg:#233e30}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-heading h2{margin:0}.section-heading>span{color:var(--muted);font-size:12px}.profile-panel,.input-panel{padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:20px}.profile-fields{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:13px}.checkbox-label input,.review-label input{width:18px;height:18px;min-height:18px;padding:0;flex-shrink:0;accent-color:var(--green);margin:0}.hint{font-size:12px;color:var(--muted)}.context summary{font-size:13px;color:var(--green);cursor:pointer}.context label{max-width:400px;margin-top:12px}.modes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 14px}.modes button{text-align:left;padding:18px 22px;border-radius:16px}.modes strong{font-size:17px;display:block}.modes span{font-size:12px;font-weight:400;color:var(--muted)}.modes button[aria-pressed=true]{border-color:var(--green);background:var(--soft);box-shadow:inset 0 0 0 1px var(--green)}.input-panel form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.input-panel form>.manual-fields,.input-panel form>.checkbox-label,.input-panel form>.lab-fields{grid-column:1/-1}.manual-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.input-panel form>.primary{justify-self:start;grid-column:1/-1}.primary{background:var(--green);color:var(--surface);border-color:var(--green)}body[data-theme*=dark] .primary,body[data-theme=dark] .primary{color:var(--bg)}.primary:hover{background:var(--green);filter:brightness(.94)}.drop-zone{border:1px dashed var(--green);border-radius:16px;background:var(--soft);padding:26px;text-align:center}.drop-zone>span{font-size:30px;color:var(--green)}.drop-zone p{margin:7px 0 14px}.text-button{border-color:transparent;background:transparent;color:var(--muted);font-size:13px}.results-section{margin:36px 0}.zone-legend{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:12px}.zone-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.zone-legend .green{background:var(--good)}.zone-legend .red{background:var(--red)}.zone-legend .yellow{background:var(--yellow)}#message,#ocr-status{color:var(--green);font-size:13px;min-height:22px}.overview{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--surface);margin:20px 0}.overview strong{display:block;font-size:29px;line-height:1.3}.overview span{font-size:12px;color:var(--muted)}.result-toolbar{display:grid;grid-template-columns:1fr 230px;gap:12px;margin:18px 0}.cards{display:grid;gap:16px}.analysis{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px}.analysis-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.analysis h3{font-size:20px;margin:0}.group{font-size:11px;color:var(--muted)}.badge{font-size:12px;border-radius:8px;padding:6px 10px;color:var(--muted);background:var(--soft)}.badge.green{color:var(--good);background:var(--good-bg)}.badge.red{color:var(--red);background:var(--red-bg)}.badge.yellow{color:var(--yellow);background:var(--yellow-bg)}.result-fields{display:grid;grid-template-columns:1fr 150px 1.2fr;gap:16px}.lab-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0}.boundary{display:flex;gap:8px;margin-top:6px}.boundary select{width:65px;flex-shrink:0}.review-label{display:flex;gap:12px;align-items:center;padding:13px 16px;background:var(--yellow-bg);border-radius:12px;color:var(--yellow);margin:16px 0}.range-summary{display:flex;align-items:baseline;gap:16px;margin:22px 0 10px}.range-label{font-size:18px;font-weight:650}.meter{height:8px;border-radius:8px;display:flex;position:relative;margin:12px 5px 16px}.meter span{height:8px}.meter span:first-child{border-radius:8px 0 0 8px}.meter span:last-of-type{border-radius:0 8px 8px 0}.meter-red{background:var(--red-bg);border-bottom:2px solid var(--red)}.meter-green{background:var(--good-bg);border-bottom:2px solid var(--good)}.meter-yellow{width:100%;background:var(--yellow-bg);border-bottom:2px solid var(--yellow)}.meter i{position:absolute;transform:translateX(-50%);height:18px;width:3px;background:var(--ink);top:-5px;border-radius:2px}.comparison{font-size:14px;color:var(--muted)}.reference-note{font-size:12px;color:var(--muted)}.source{font-size:12px;margin:16px 0}.source a{color:var(--green)}.source span{display:block;color:var(--muted);margin-top:4px}.analysis details{border-top:1px solid var(--line);padding-top:14px}.analysis summary,.guide summary{cursor:pointer;font-size:14px}.analysis summary{color:var(--green)}.details-body{font-size:14px;color:var(--muted)}.raw-line{overflow-wrap:anywhere}.empty-state{border:1px dashed var(--line);border-radius:16px;text-align:center;padding:30px;color:var(--muted)}.export-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.notice{padding:20px 24px;background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:16px}.notice p{font-size:14px;color:var(--muted);margin-bottom:0}.guide{margin:30px 0 60px}.guide>details{padding:18px 0;border-top:1px solid var(--line)}.guide summary{font-weight:600}.guide a{color:var(--green)}#unmatched{overflow-wrap:anywhere;font-size:12px;color:var(--muted)}dialog:not(.theme-dialog){width:min(570px,calc(100vw - 24px));padding:24px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px}dialog::backdrop{background:#07101b77}.confirm-actions{display:flex;justify-content:end;gap:12px}#print-report{display:none}
@media(max-width:780px){.result-fields{grid-template-columns:1fr 150px}.result-fields>label:last-child{grid-column:1/-1}.profile-fields{grid-template-columns:1.3fr 1fr 1fr}}
@media(max-width:480px){.profile-panel,.input-panel,.analysis{padding:18px}.profile-fields{grid-template-columns:1fr 1fr}.profile-fields>label:first-child{grid-column:1/-1}.modes{gap:8px}.modes button{padding:14px}.modes strong{font-size:15px}.modes span{font-size:11px}.input-panel form{grid-template-columns:1fr}.input-panel form>label{grid-column:1/-1}.result-toolbar{grid-template-columns:1fr}.analysis-head{align-items:start;flex-direction:column;gap:10px}.result-fields{grid-template-columns:1fr 115px;gap:12px}.lab-fields{gap:10px}.boundary{gap:5px}.boundary select{width:47px;padding:10px 5px}.boundary input{padding:10px 7px}.zone-legend{gap:8px 14px}.overview{gap:8px;padding:14px}.overview strong{font-size:25px}.overview span{font-size:11px}.range-summary{gap:10px;flex-wrap:wrap}.section-heading{gap:10px}.section-heading>span{font-size:11px}.notice{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:#fff!important;color:#111!important}header,footer,main,dialog,.skip{display:none!important}#print-report{display:block;color:#111}#print-report h1{font-size:23pt}#print-report h2{font-size:14pt;margin-bottom:8px}#print-report section{break-inside:avoid;border-bottom:1px solid #ccc;padding:12px 0}#print-report p{font-size:10pt}@page{margin:16mm}}

.source a,.guide a{text-decoration:underline}

/* Compact result reading; editing is disclosed separately. */
.cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.analysis{padding:20px}.analysis-head{align-items:start;margin-bottom:14px}.analysis h3{font-size:18px;overflow-wrap:anywhere}.badge{flex-shrink:0;max-width:46%}.compact-values{display:grid;grid-template-columns:1fr 1.25fr;gap:16px}.result-readout strong,.range-summary strong{display:block;font-size:19px;line-height:1.4;margin-top:4px;font-variant-numeric:tabular-nums}.range-summary{display:block;margin:0}.meter{margin:12px 0;height:6px}.meter span{height:6px}.meter i{height:14px;top:-4px}.indicator-description{font-size:13px;color:var(--ink);line-height:1.55;margin:10px 0}.definition-link{color:var(--green);font-size:11px;white-space:nowrap;text-decoration:underline}.comparison{font-size:13px;margin:8px 0}.source{font-size:11px;margin:8px 0 14px;color:var(--muted)}.edit-details{border-top:1px solid var(--line);padding-top:12px}.edit-details summary{font-size:12px}.edit-body{padding-top:12px}.edit-body .result-fields{grid-template-columns:1fr 115px}.edit-body .result-fields>label:last-child{grid-column:1/-1}.edit-body .details-body{margin-top:12px}.edit-body .raw-line{font-size:12px;padding:10px;background:var(--soft);border-radius:8px}.edit-details>button{margin-top:10px}.review-label{font-size:12px;padding:10px;margin:12px 0}.modes{margin-top:0}.profile-panel{margin-bottom:14px}.results-section{scroll-margin-top:20px}
@media(max-width:780px){.cards{grid-template-columns:1fr}.analysis-head{flex-direction:row}.analysis h3{font-size:18px}.compact-values{grid-template-columns:1fr 1.25fr}}
@media(max-width:480px){.analysis{padding:16px}.analysis-head{gap:10px}.badge{font-size:11px;padding:5px 7px}.analysis h3{font-size:16px}.result-readout strong,.range-summary strong{font-size:17px}.compact-values{gap:10px}.indicator-description{font-size:13px}.modes strong{font-size:14px}.profile-fields{grid-template-columns:1fr 1fr}}

.summary-text{font-size:14px;color:var(--ink);margin:14px 0}.result-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.result-actions button{font-size:12px}@media(max-width:480px){.section-heading{align-items:start}.result-actions{justify-content:end}.result-actions #undo-delete{max-width:130px}}

.state-meaning{margin:12px 0;padding:12px;border-radius:10px;background:var(--soft);font-size:12px;line-height:1.5}.state-meaning strong{font-size:12px}.state-meaning p{margin:5px 0}.state-meaning a{text-decoration:underline}.analysis[data-zone=red] .comparison{font-weight:700}.analysis[data-zone=yellow] .comparison{font-weight:600}.clarify{margin:0 0 10px;text-decoration:underline}.meter{overflow:visible}.meter i{transform:translateX(-50%)}

.demo-note{background:var(--soft);border:1px solid var(--line);padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600}

.overview{grid-template-columns:repeat(4,1fr)}.zone-legend i.neutral{background:var(--muted)}.meter-neutral{background:var(--soft);border-bottom:2px solid var(--muted);width:100%}.meter span.meter-neutral{width:auto}.meter:has(>span:only-child) span{width:100%}.review-label{background:var(--soft);color:var(--muted)}.analysis[data-zone=yellow] .meter i{background:var(--yellow)}.analysis[data-zone=red] .meter i{background:var(--red)}@media(max-width:600px){.overview{grid-template-columns:repeat(2,1fr)}}

/* Explicit contrast pairs are stable across all seven themes. */
.analysis{border-left-width:5px}.analysis[data-zone=red]{border-left-color:#b42318}.analysis[data-zone=yellow]{border-left-color:#d99b00}.analysis[data-zone=green]{border-left-color:#17633b}.analysis[data-zone=neutral]{border-left-color:#536174}
.analysis-head{flex-direction:column;gap:12px}.analysis h3{font-size:22px;line-height:1.3}.badge{display:block;max-width:100%;width:100%;font-size:16px;font-weight:750;line-height:1.4;padding:11px 14px;border-radius:10px}.badge.red{color:#fff;background:#b42318}.badge.yellow{color:#241b00;background:#f8c549}.badge.green{color:#fff;background:#17633b}.badge.neutral{color:#fff;background:#455268}
.compact-values .group{font-size:13px}.result-readout strong,.range-summary strong{font-size:23px}.comparison{font-size:16px;line-height:1.5;color:var(--ink)}.indicator-description{font-size:15px}.definition-link,.source{font-size:13px}.state-meaning{font-size:15px;padding:14px;line-height:1.6}.state-meaning strong{font-size:16px}.grade-coverage{margin:14px 0;border:1px solid var(--line);border-radius:10px;padding:12px!important;background:var(--soft);font-size:14px;line-height:1.6}.grade-coverage summary{font-size:15px;font-weight:700;color:var(--ink)}.grade-coverage p{margin:10px 0}.grade-coverage a{text-decoration:underline;font-weight:600}.zone-legend{font-size:14px}.zone-legend i.red{background:#b42318}.zone-legend i.yellow{background:#d99b00}.meter,.meter span{height:12px}.meter i{height:26px;width:5px;top:-7px}.edit-details summary{font-size:14px}
@media(max-width:480px){.badge{font-size:15px;padding:10px 12px}.analysis h3{font-size:20px}.result-readout strong,.range-summary strong{font-size:21px}.state-meaning{font-size:14px}.compact-values{grid-template-columns:1fr 1fr}}

.verification-note{margin:12px 0;color:var(--muted);font-size:13px;line-height:1.5;border-left:3px solid var(--line);padding-left:10px}#review-all{font-size:14px;margin:6px 0 12px}

/* Quick comparison */
.quick-preview{padding:18px;margin:16px 0;border:1px solid var(--line,#ccd7e5);border-radius:14px;background:var(--surface,#fff)}.quick-preview strong{display:block;font-size:18px}.quick-preview p{margin:8px 0;line-height:1.6}.quick-preview a{display:block;font-size:13px}.quick-preview button{margin-top:10px}.quick-preview[data-zone=green]{border-left:4px solid #2d7752}.quick-preview[data-zone=red]{border-left:4px solid #bc352a}.quick-preview[data-zone=yellow]{border-left:4px solid #a77900}.meter[hidden]{display:none!important}
