:root{font-family:Arial,Helvetica,sans-serif;color:#182536;background:#f5f7fa;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}
.site-header{height:82px;background:#fff;color:#112842;border-bottom:1px solid #e1e7ec;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1180px)/2));gap:18px}
.header-actions{display:flex;align-items:center;gap:16px}.theme-toggle{border:1px solid #b8c8d6;border-radius:999px;background:#f4f7fa;color:#214e72;padding:8px 13px;font-size:12px;font-weight:700;white-space:nowrap}.theme-toggle:hover{background:#e7eef4}.theme-toggle:focus-visible{outline:3px solid #4f91c4;outline-offset:2px}
.brand{display:flex;align-items:center;gap:16px;font-size:15px;font-weight:700;letter-spacing:.01em}.brand img{width:180px;height:78px;object-fit:contain}.brand span{border-left:1px solid #c6d3df;padding-left:16px}
.account{display:flex;align-items:center;gap:15px;font-size:13px;color:#506275}.account a{color:#184e79}
.shell{max-width:1180px;margin:0 auto;padding:34px 28px 80px}.loading,.error-card{background:#fff;padding:32px;border-radius:10px;box-shadow:0 8px 32px #1128420a}
.eyebrow{color:#50718f;text-transform:uppercase;font-weight:700;letter-spacing:.12em;font-size:11px;margin:0 0 9px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px}.hero h1{font-size:30px;margin:0 0 10px;color:#112842;line-height:1.15}.hero p{margin:0;line-height:1.55;color:#4a5a68}.due{background:#eaf0f5;color:#204262;border-radius:8px;padding:13px 17px;font-size:13px;white-space:nowrap}.due strong{display:block;margin-top:4px;font-size:15px}
.layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:28px}.sidebar,.card{background:#fff;border:1px solid #dfe6ec;border-radius:10px;box-shadow:0 7px 28px #12284009}.sidebar{padding:14px;align-self:start;position:sticky;top:20px}.step{border:0;background:transparent;width:100%;padding:12px;text-align:left;border-radius:7px;color:#405163;display:flex;align-items:center;gap:10px;font-size:14px}.step:hover{background:#eef3f7}.step.active{background:#e7eef4;color:#0d416e;font-weight:700}.step.done .step-number{background:#2e7358;color:#fff}.step-number{width:24px;height:24px;border-radius:50%;border:1px solid #b7c6d4;display:grid;place-items:center;font-size:12px;flex:none}.sidebar-note{border-top:1px solid #e4e9ee;margin:12px 4px 0;padding:16px 5px 4px;color:#667788;font-size:12px;line-height:1.45}
.layout.submitted{display:block;max-width:930px;margin:0 auto}
.card{padding:30px 34px}.section-title{font-size:23px;color:#183550;margin:0 0 8px}.section-subtitle{color:#607080;line-height:1.55;margin:0 0 28px}.section-guidance{color:#607080;line-height:1.55;margin:0 0 22px;padding-bottom:20px;border-bottom:1px solid #e7ebef}.section-guidance+.section-title{margin-bottom:28px}.question{margin:0 0 26px}.question label{display:block;font-weight:700;line-height:1.4;margin-bottom:9px}.required{color:#ad403c;margin-left:4px}.question input,.question textarea,.editor input,.editor textarea{width:100%;border:1px solid #bac8d4;border-radius:7px;padding:12px 13px;background:#fff;color:#182536;outline:none}.question textarea{min-height:150px;resize:vertical;line-height:1.55}.question input:focus,.question textarea:focus,.editor input:focus,.editor textarea:focus{border-color:#28628f;box-shadow:0 0 0 3px #28628f22}.question-hint{color:#7b8791;font-size:12px;margin-top:6px}
.section-title.numbered-item,.question label.numbered-item,.summary-section h3.numbered-item,.summary-question strong.numbered-item{display:grid;grid-template-columns:1.7em minmax(0,1fr);column-gap:.2em;align-items:start}
.question input,.question textarea{margin-left:1.9rem;width:calc(100% - 1.9rem)}.question-hint{margin-left:1.9rem}.summary-question p{margin-left:1.55rem}
.nav-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e7ebef;padding-top:23px;margin-top:10px}.status{font-size:12px;color:#567082}.status.problem{color:#a93d3d}.actions{display:flex;gap:9px;flex-wrap:wrap}.button{border:1px solid #214e72;background:#214e72;color:#fff;padding:10px 17px;border-radius:7px;font-weight:700;font-size:13px}.button:hover{background:#153a59}.button.secondary{background:#fff;color:#214e72}.button.secondary:hover{background:#edf3f7}.button.danger{border-color:#a74242;background:#a74242}.button:disabled{opacity:.5;cursor:not-allowed}
.notice{padding:13px 16px;background:#eaf4ed;border-left:3px solid #4e9365;border-radius:4px;color:#285c3c;font-size:13px;line-height:1.5;margin:18px 0}.notice.warning{background:#fff5e7;border-color:#dca54e;color:#6b4f25}.notice.error{background:#fff0ef;border-color:#ca5550;color:#833b38}.summary-list{margin:22px 0}.summary-section{margin:25px 0;border-top:1px solid #e4eaf0;padding-top:20px}.summary-section h3{margin:0 0 15px;color:#183550}.summary-question{margin:16px 0}.summary-question strong{display:block;font-size:13px;color:#405366;margin-bottom:6px}.summary-question p{margin:0;white-space:pre-wrap;line-height:1.5}.missing-text{color:#a6443d;font-style:italic}
.appendix{margin-top:28px;border-top:1px solid #e7ebef;padding-top:18px}.appendix summary{cursor:pointer;color:#1c517a;font-weight:700}.appendix h3{font-size:14px;margin:18px 0 5px;color:#27445e}.appendix p{font-size:13px;line-height:1.55;color:#5c6873;margin:0}
.tabs{display:flex;gap:8px;margin-bottom:23px}.tabs button{border:1px solid #c8d5df;background:#fff;color:#29445c;padding:9px 15px;border-radius:6px}.tabs button.active{background:#214e72;border-color:#214e72;color:#fff}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px;text-align:left;border-bottom:1px solid #e1e7ec}th{background:#f4f7f9;color:#405163}td button{border:0;background:transparent;color:#165985;text-decoration:underline;padding:0}
.editor-section{border:1px solid #dce5ec;border-radius:8px;padding:18px;margin:18px 0}.editor-section h3{margin:0 0 15px}.editor-question{padding:15px 0;border-top:1px solid #e6ebef}.editor label{display:block;font-size:12px;font-weight:700;color:#455868;margin-bottom:6px}.editor input,.editor textarea{margin-bottom:12px}.editor textarea{min-height:78px;resize:vertical}.editor-actions{display:flex;gap:8px;flex-wrap:wrap}.editor-actions button{border:1px solid #cad6df;background:#fff;border-radius:5px;padding:6px 9px;color:#2e5877;font-size:12px}
@media(max-width:800px){.hero{display:block}.due{display:inline-block;margin-top:18px}.card{padding:24px 20px}.site-header{padding:0 20px}}
@media(max-width:650px){.layout{grid-template-columns:1fr}.sidebar{position:static}}
@media(max-width:550px){.brand img{width:120px}.brand span,.account span{display:none}.site-header{gap:8px}}

html[data-theme="dark"]{color:#e7eff6;background:#0c1420}
html[data-theme="dark"] .site-header{background:#121f2f;color:#e7eff6;border-color:#34485d}
html[data-theme="dark"] .brand img{background:transparent;border-radius:0;padding:0;filter:brightness(0) invert(1)}
html[data-theme="dark"] .brand span{border-color:#455a70}
html[data-theme="dark"] .account{color:#b3c5d5}
html[data-theme="dark"] .account a,html[data-theme="dark"] .appendix summary,html[data-theme="dark"] td button{color:#9ed1f5}
html[data-theme="dark"] .theme-toggle{background:#22364c;border-color:#4b6882;color:#e8f3fb}
html[data-theme="dark"] .theme-toggle:hover{background:#2d4762}
html[data-theme="dark"] .loading,html[data-theme="dark"] .error-card,html[data-theme="dark"] .sidebar,html[data-theme="dark"] .card{background:#142132;border-color:#34485d;box-shadow:0 8px 30px #030b1666}
html[data-theme="dark"] .eyebrow{color:#99bfde}
html[data-theme="dark"] .hero h1,html[data-theme="dark"] .section-title,html[data-theme="dark"] .summary-section h3{color:#f0f6fc}
html[data-theme="dark"] .hero p,html[data-theme="dark"] .section-subtitle,html[data-theme="dark"] .section-guidance,html[data-theme="dark"] .appendix p{color:#b0c0cf}
html[data-theme="dark"] .due{background:#203750;color:#d1e8fb}
html[data-theme="dark"] .step{color:#c0d0df}
html[data-theme="dark"] .step:hover{background:#20354b}
html[data-theme="dark"] .step.active{background:#284665;color:#e7f4ff}
html[data-theme="dark"] .step-number{border-color:#64809a}
html[data-theme="dark"] .sidebar-note{border-color:#34485d;color:#a9bac9}
html[data-theme="dark"] .question input,html[data-theme="dark"] .question textarea,html[data-theme="dark"] .editor input,html[data-theme="dark"] .editor textarea{background:#0f1b2a;border-color:#526a81;color:#edf5fb}
html[data-theme="dark"] .question input:disabled,html[data-theme="dark"] .question textarea:disabled{background:#19283a;color:#b8c8d7;opacity:1}
html[data-theme="dark"] .question input:focus,html[data-theme="dark"] .question textarea:focus,html[data-theme="dark"] .editor input:focus,html[data-theme="dark"] .editor textarea:focus{border-color:#88bee8;box-shadow:0 0 0 3px #88bee844}
html[data-theme="dark"] .question-hint,html[data-theme="dark"] .status,html[data-theme="dark"] .summary-question strong,html[data-theme="dark"] .editor label{color:#b6c7d5}
html[data-theme="dark"] .required,html[data-theme="dark"] .missing-text,html[data-theme="dark"] .status.problem{color:#f2a6a0}
html[data-theme="dark"] .nav-row,html[data-theme="dark"] .summary-section,html[data-theme="dark"] .appendix,html[data-theme="dark"] .editor-question,html[data-theme="dark"] .section-guidance{border-color:#34485d}
html[data-theme="dark"] .button,html[data-theme="dark"] .tabs button.active{background:#356f9a;border-color:#356f9a;color:#fff}
html[data-theme="dark"] .button:hover,html[data-theme="dark"] .tabs button.active:hover{background:#4383b2}
html[data-theme="dark"] .button.secondary{background:#1b2d42;border-color:#5c7b96;color:#d3eafb}
html[data-theme="dark"] .button.secondary:hover{background:#29445f}
html[data-theme="dark"] .notice{background:#18382f;border-color:#62aa7b;color:#bce7c9}
html[data-theme="dark"] .notice.warning{background:#3d301c;border-color:#d5a758;color:#f5d6a0}
html[data-theme="dark"] .notice.error{background:#482629;border-color:#dc746f;color:#f4bbb7}
html[data-theme="dark"] .appendix h3{color:#d2e7f7}
html[data-theme="dark"] .tabs button,html[data-theme="dark"] .editor-actions button{background:#1b2d42;border-color:#526a81;color:#d5e8f7}
html[data-theme="dark"] .tabs button:hover,html[data-theme="dark"] .editor-actions button:hover{background:#29445f}
html[data-theme="dark"] th,html[data-theme="dark"] td{border-color:#34485d}
html[data-theme="dark"] th{background:#1b2d42;color:#c9d9e7}
html[data-theme="dark"] .editor-section{border-color:#40576c}
html[data-theme="dark"] .editor-question>button{background:#24384e;border:1px solid #526a81;border-radius:5px;color:#d5e8f7;padding:6px 9px}
