:root{color-scheme:light;--accent:#08675f;--ink:#172d2b;--muted:#526663;--line:#cfddda;--soft:#eef6f4;font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;color:var(--ink);background:#fff}
*{box-sizing:border-box}body{margin:0;line-height:1.6}h1,h2,h3{line-height:1.3}h1{font-size:1.65rem}h2{font-size:1.25rem}h3{font-size:1.05rem}a{color:var(--accent)}button,input,textarea,select{font:inherit}button,.button{border:1px solid var(--accent);border-radius:5px;padding:.55rem 1rem;background:var(--accent);color:white;cursor:pointer;display:inline-block;text-decoration:none}button.secondary{color:var(--accent);background:white}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input:not([type=checkbox]):not([type=radio]),textarea{width:100%;padding:.6rem;border:1px solid #809d96;border-radius:4px;background:white;color:var(--ink)}input[type=checkbox],input[type=radio]{width:19px;height:19px;accent-color:var(--accent);vertical-align:middle;flex-shrink:0}textarea{resize:vertical;min-height:100px}label{cursor:pointer}.field{display:block;margin:1rem 0}.field>span{display:block;margin-bottom:.3rem}header{border-bottom:1px solid var(--line);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}header strong{font-size:1.15rem}.toolbar{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.container{max-width:1550px;margin:auto;padding:1.5rem 2rem}.narrow{max-width:640px;margin:3rem auto;padding:1.5rem}.card{border:1px solid var(--line);border-radius:7px;padding:1.25rem;background:white;margin-bottom:1rem}.muted{color:var(--muted)}.error{color:#96352d;white-space:pre-wrap}.error:empty{display:none}.notice{padding:.75rem 1rem;background:var(--soft);border-left:4px solid var(--accent);margin:1rem 0}.consent-text{white-space:pre-wrap;overflow-wrap:anywhere}.stats{display:flex;gap:2rem;flex-wrap:wrap}.stat strong{font-size:2rem;display:block}.reading-columns{display:grid;grid-template-columns:minmax(300px, .85fr) minmax(400px,1.15fr);gap:1.5rem}.reading-columns.signal-only{grid-template-columns:1fr}.read-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}fieldset{min-width:0;border:1px solid var(--line);border-radius:5px;margin:0;padding:.7rem}legend{font-weight:650;padding:0 .3rem}.check-option{display:flex;align-items:center;gap:.5rem;padding:.3rem 0}.confidence{display:flex;gap:1.25rem;flex-wrap:wrap}.measurements{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.measurements dt{font-size:15px;color:var(--muted)}.measurements dd{margin:0;font-weight:600}.statement{display:block;width:100%;text-align:left;margin:.6rem 0;background:white;color:var(--ink);border:1px solid var(--line);padding:.8rem}.statement[aria-pressed=true]{border:2px solid var(--accent);background:var(--soft)}.statement p{margin:.3rem 0 0}.statement-label{font-weight:650}.statement-hint{font-size:15px;color:var(--accent)}.evidence-line{margin:.8rem 0}.evidence-line>strong{display:block}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:15px}th,td{padding:.55rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--soft)}.ecg-container{margin-bottom:1rem}.ecg-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;padding:.6rem 0}.ecg-scroll{width:100%;overflow-x:auto;border:1px solid var(--line);background:#fffafa}.ecg-scroll .lead-label{font-size:var(--lead-label,3.3px)}.ecg-paper{display:block;max-width:none}.ecg-lead{cursor:pointer}.ecg-lead:focus{outline:none}.ecg-lead:focus .lead-frame{stroke:var(--accent);stroke-width:.7}.ecg-dialog{width:95vw;max-width:1600px;border:1px solid var(--accent);border-radius:6px;padding:1rem}.ecg-dialog::backdrop{background:rgb(15 35 30 / 45%)}.ecg-dialog h2{margin:0}.finish{max-width:650px;margin:3rem auto;text-align:center}.feedback-list{padding-left:1.5rem}.submit-row{margin-top:1rem}.review-actions{display:flex;gap:.5rem;flex-wrap:wrap}progress{width:100%;height:20px;accent-color:var(--accent)}[hidden]{display:none!important}@media(max-width:900px){.container{padding:1rem}.reading-columns{grid-template-columns:1fr}.measurements{grid-template-columns:repeat(2,1fr)}header{padding:1rem}.checklist{grid-template-columns:1fr}}

/* ---- reading workspace (round 2): ECG fixed on the left, draft / evidence / answer scroll on the right ---- */
.small{font-size:14px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:.5rem 1rem;z-index:10}
.skip-link:focus{left:1rem;top:.5rem}
header.compact{padding:.45rem 1.25rem;gap:1.25rem}
header.compact strong{font-size:1.05rem;white-space:nowrap}
.header-progress{margin:0 auto 0 0;color:var(--muted);font-size:15px;white-space:nowrap}
main.reading{padding:.75rem 1.25rem 0}
.page-error{margin:.25rem 0 .75rem}
.workspace{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,1fr);gap:1.1rem;height:calc(100vh - 64px)}
.ecg-pane,.side-pane{min-width:0;overflow:auto;padding-bottom:1rem}
.side-pane{padding-right:.35rem;padding-bottom:0;scroll-padding-top:.5rem;scroll-padding-bottom:5.5rem}
.side-pane .card{padding:.9rem 1rem;margin-bottom:.8rem}
.side-pane h2{font-size:1.08rem;margin:0 0 .55rem}
#case-title{font-size:1.2rem;margin:.1rem 0 .35rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
#case-title:focus{outline:none}
.window-tag{font-size:14px;font-weight:600;border-radius:999px;padding:.12rem .7rem;border:1px solid var(--line);background:var(--soft);color:var(--ink)}
.window-B{border-color:#b9cfca}.window-C{border-color:var(--accent);color:var(--accent)}
.ecg-controls{padding:.3rem 0 .45rem;font-size:15px}
.measure-block{margin:0 0 .5rem}
.measure-caption{margin:0 0 .2rem;font-size:14px;color:var(--muted)}
.measure-strip{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.35rem .8rem;margin:0;padding:.55rem .8rem;border:1px solid var(--line);border-radius:6px;background:#fbfdfc}
.measure-strip dt{font-size:13px;color:var(--muted)}
.measure-strip dd{margin:0;font-weight:650;white-space:nowrap}
.checklist{display:flex;flex-direction:column;gap:.55rem}
.checklist fieldset{padding:.35rem .7rem .45rem}
.checklist .options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.75rem}
.check-option{padding:.18rem 0;font-size:15px;line-height:1.35}
.ai-tag{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:0 .25rem;margin-left:.1rem}
.confidence-field{margin:0 0 .25rem;border:none;padding:0}.confidence-field legend{float:left;font-size:15px;padding:.18rem .7rem 0 0;margin:0}.confidence-field .confidence{gap:0 .5rem;align-items:center}.confidence-field .check-option{padding:.1rem 0;gap:.2rem}.confidence-field .scale-note{font-size:13px;white-space:nowrap}.confidence-field .keys-note{display:none}body[data-page="read"]:focus{outline:none}.confidence-field legend{padding-right:.5rem}
.field>span{font-size:15px}
textarea{min-height:64px}
.submit-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.6rem}
.submit-row p{margin:0}
#submit-error{margin:.5rem 0 0}
.statement{margin:.45rem 0;padding:.6rem .75rem;border-radius:6px}
.statement.static{cursor:default;border-left:4px solid var(--accent)}
.statement-hint{display:block;margin-top:.15rem;font-size:14px;color:var(--accent)}
.evidence-line{margin:.55rem 0}
.evidence-fact{margin:.55rem 0;padding-top:.45rem;border-top:1px dashed var(--line)}
.notice{margin:0 0 .8rem}
.notice.warn{border-left-color:#a35a00;background:#fff6e8}
.feedback-list{list-style:none;padding:0;margin:.5rem 0 1rem}
.feedback-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;padding:.4rem 0;border-bottom:1px solid var(--line)}
.feedback-list li .muted{flex-basis:100%;padding-left:3.4rem}
.feedback-chip{font-size:13px;font-weight:700;border-radius:4px;padding:.05rem .45rem;min-width:2.8rem;text-align:center}
.feedback-agree .feedback-chip{background:var(--soft);color:var(--accent)}
.feedback-missed .feedback-chip{background:#fbe9e7;color:#96352d}
.feedback-extra .feedback-chip{background:#fff1dc;color:#8a4b00}
.guide{max-width:920px;margin:1.5rem auto;padding:0 1.25rem}
.guide .lead{color:var(--muted)}
.guide-terms dt{font-weight:650;margin-top:.6rem}
.guide-terms dd{margin:.1rem 0 0 0}
.guide-table td,.guide-table th{font-size:15px}
.wide-form{max-width:820px}.question legend{font-weight:600;line-height:1.45}.choices{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem}.likert{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem 1rem}.consent-text.rendered{white-space:normal}.consent-text h2{font-size:1.15rem;margin:.2rem 0 .6rem}
.consent-text h3{font-size:1.02rem;margin:.8rem 0 .3rem}
.consent-text p{margin:.4rem 0}

@media(max-width:860px){.workspace{grid-template-columns:1fr;height:auto}.ecg-pane,.side-pane{overflow:visible}.banners{position:fixed;top:0;left:0;right:0;padding:0 1rem}}
.checklist fieldset.single{display:flex;align-items:center;gap:.4rem}.checklist fieldset.single legend{float:left;padding:0 .6rem 0 0}.checklist fieldset.single .options{display:flex}
.banners{top:0;z-index:5;background:white}@media(min-width:861px){.banners{position:sticky}}.banners:empty{display:none}.form-section{font-size:1.1rem;margin:1.6rem 0 .4rem}
.submit-bar{position:sticky;bottom:0;background:white;padding:.55rem 1rem .2rem;border:1px solid var(--line);border-radius:8px;box-shadow:0 -2px 6px rgba(0,0,0,.06);z-index:4}.submit-bar[hidden]{display:none}.submit-bar .submit-row{margin-top:0}.submit-bar .error:empty{display:none}
#error:empty{display:none}
/* login error: a full-width horizontal alert under the fields (user report 2026-11-09: vertical, overlapping text) */
body[data-page=login] #error:not(:empty){display:block;width:100%;margin:.75rem 0;padding:.6rem .8rem;background:#fbeeec;border-left:4px solid #96352d;border-radius:4px;writing-mode:horizontal-tb;white-space:normal;word-break:normal;overflow-wrap:break-word}.question.missing{border-color:#96352d;box-shadow:0 0 0 2px #f3d6d2}
@media(min-width:861px){body[data-page="read"]{display:flex;flex-direction:column;height:100vh;overflow:hidden}main.reading{flex:1;min-height:0;display:flex;flex-direction:column}.workspace{flex:1;min-height:0;height:auto}}
.guide-table td:first-child{white-space:nowrap}
#progress-table th{white-space:nowrap}#progress-table td.flag{color:var(--danger,#b3261e);font-weight:600}
.ecg-controls select,.ecg-dialog select{margin-left:6px}
#progress-table td{white-space:nowrap}
#progress-table th,#progress-table td{padding:.45rem .3rem}
.ecg-dialog.caliper .ecg-paper{cursor:crosshair}.caliper-hint{margin:.3rem 0 .5rem}
.ecg-dialog button[aria-pressed=true]{background:var(--accent);color:white}

/* short screens (1366x768 at Windows 125 %: 494 CSS px high): a compact head above the ECG, so the 12-lead and the rhythm strip fit the first screen (audit round 10 M10-1) */
@media(max-height:700px){header.compact{padding:.2rem 1rem}header.compact button{padding:.2rem .7rem}main.reading{padding-top:.35rem}#case-title{font-size:1.05rem;margin:0 0 .15rem}.measure-block{margin:0 0 .2rem}.measure-caption{font-size:12px;margin:0}.measure-strip{display:flex;flex-wrap:wrap;gap:0 1.1rem;padding:.2rem .6rem}.measure-strip dt{font-size:12px;line-height:1.3}.measure-strip dd{font-size:14px;line-height:1.35}.ecg-controls{padding:.1rem 0 .2rem;font-size:14px}.side-pane .notice{padding:.4rem .7rem;font-size:14px}.submit-bar{padding:.35rem .7rem .1rem}.submit-bar .submit-row{gap:.15rem .7rem}.submit-bar button{padding:.35rem .9rem}.submit-note{display:none}.confidence-field .scale-note{display:none}.confidence-field .keys-note{display:inline;font-size:12px;white-space:nowrap}.submit-bar .submit-row{flex-wrap:nowrap}.submit-bar button{white-space:nowrap;flex-shrink:0}#submit-reason{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}}
@media(max-height:520px){header.compact{padding:0 1rem;font-size:15px;line-height:1.3}header.compact button{padding:.05rem .6rem}main.reading{padding-top:.15rem}#case-title{font-size:.95rem;margin:0}.measure-caption{display:none}.measure-strip{padding:.1rem .5rem;gap:0 .9rem}.measure-strip>*{flex:none}.measure-strip dt,.measure-strip dd{display:inline}.measure-strip dd{margin-left:.3rem}.confidence-field .confidence{gap:0 .3rem}.confidence-field .keys-note{display:none}.ecg-controls{padding:0 0 .15rem;gap:.6rem}.ecg-controls .ecg-hint{display:none}}
#progress-table th,#progress-table td{padding:.4rem .35rem;font-size:14px}@media(max-height:520px){#submit-reason{white-space:normal;overflow:visible;line-height:1.25;font-size:14px}}
.checklist .check-option{word-break:keep-all}#feedback .feedback-bar{position:sticky;bottom:0;background:white;margin-top:.4rem;padding:.6rem 0 .5rem;border-top:1px solid var(--line);z-index:4}
