:root{--green:#284c40;--gold:#a3834d;--paper:#fffdf8;--line:#dfd9cc;--muted:#646b62}*{box-sizing:border-box}body{margin:0;background:#f6f3eb;color:#293b33;font:16px/1.95 "Malgun Gothic",sans-serif}main{max-width:1100px;margin:auto;padding:32px 24px 64px}.brand{font:bold 28px Batang,serif;text-decoration:none}.brand small{font-size:13px;color:var(--gold)}a{color:var(--green)}.intro{text-align:center;padding:38px 0}.intro h1{font:38px/1.5 Batang,serif;color:var(--green);letter-spacing:.04em}h2,h3{font-family:Batang,serif;color:var(--green);line-height:1.55}h2{font-size:25px}h3{font-size:21px}section,fieldset,article{min-width:0}.input-panel,.report,footer{margin:24px 0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:26px}.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}fieldset{border:1px solid var(--line);border-radius:10px;padding:18px}legend{color:var(--green);padding:0 8px}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}label{display:block;font-size:13px;min-width:0}input,select,button{font:inherit;min-width:0;border-radius:6px;padding:9px;border:1px solid #b5bcae;background:var(--paper);color:#293b33}input:not([type=checkbox]),select{display:block;width:100%;max-width:100%}input:disabled{opacity:.5}input[type=checkbox]{accent-color:var(--green)}button{background:var(--green);color:white;border:0;cursor:pointer;margin:12px 8px 0 0;padding:11px 18px}.secondary{background:#eee8dc;color:var(--green)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.muted,small{font-size:13px;color:var(--muted)}.report{padding:0;overflow:hidden}.report>header{padding:24px;background:var(--green);color:#fff8e8}.report>header h2{color:#fff8e8}.chapter{padding:24px;border-bottom:1px solid var(--line)}.chapter p{margin:18px 0;line-height:2}.notice{background:#f1eadc;border-left:3px solid var(--gold);padding:14px 18px;margin:20px 0}.person-card{background:#f6f5ed;border:1px solid var(--line);border-radius:12px;padding:20px}.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:18px 0}.pillar{min-width:0;text-align:center;border:1px solid var(--line);border-radius:7px;padding:10px 3px;background:var(--paper)}.pillar strong{font:30px/1.5 Batang,serif;color:var(--green);display:block}.pillar small{font-size:12px;line-height:1.7;display:block}.pillar .label{font-size:13px}.graph-row{display:grid;grid-template-columns:28px minmax(0,1fr) 96px;gap:10px;align-items:center;font-size:13px;margin:9px 0}progress{width:100%;height:9px;appearance:none;border:0;background:#e6e3d9;border-radius:8px}progress::-webkit-progress-bar{background:#e6e3d9;border-radius:8px}progress::-webkit-progress-value{background:#67836b;border-radius:8px}progress[data-element=화]::-webkit-progress-value{background:#ad6860}progress[data-element=토]::-webkit-progress-value{background:#ad8c55}progress[data-element=금]::-webkit-progress-value{background:#92948d}progress[data-element=수]::-webkit-progress-value{background:#465c73}details{margin:16px 0;font-size:14px}summary{cursor:pointer;color:var(--green)}.basis{background:#f1f0e7;border-radius:8px;padding:12px}.basis pre{font:12px/1.8 monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto}p,li,summary,td,th{overflow-wrap:anywhere}table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:13px}th,td{text-align:left;vertical-align:top;padding:8px;border-bottom:1px solid var(--line)}.coverage{padding:16px 20px;background:#edf0e7;border-radius:10px}.candidate-title{padding:18px;background:#eee9dc;border-radius:10px}.reflection{background:#f4f0e4}.chapter .people>section{min-width:0}#cr-status{font-weight:600}footer{font-size:14px}@media(max-width:720px){main{padding:22px 14px 44px}.people{grid-template-columns:1fr;gap:16px}.input-panel,.chapter,footer{padding:18px 14px}.intro{padding:22px 0}.intro h1{font-size:29px}.person-card{padding:14px}.fields{gap:9px}.pillar strong{font-size:27px}.pillar small{font-size:11px}.graph-row{grid-template-columns:24px minmax(0,1fr) 94px;gap:7px}}@media(max-width:380px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.pillars{gap:4px}.pillar{padding:8px 2px}.chapter{padding:18px 12px}}
