/* 학술 조사 도구 — 신뢰감·저마찰이 목적. 장식 최소, 터치 타깃 크게(60대 응답자 배려) */
:root{
  --ink:#1c1e21; --sub:#5c6470; --line:#e3e6ea; --bg:#f6f7f9;
  --accent:#8e1d2f;            /* 경희대 크림슨 계열 단일 액센트 */
  --accent-soft:#f7ecee;
  --ok:#1a7a4a;
  --r:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Pretendard Variable",Pretendard,-apple-system,sans-serif;
  font-size:16.5px;line-height:1.55}
.topbar{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:5}
.topbar-inner{max-width:680px;margin:0 auto;padding:10px 16px 12px}
.survey-tag{font-size:12px;letter-spacing:.12em;color:var(--accent);font-weight:700}
.progress{height:4px;background:var(--line);border-radius:2px;margin-top:8px;overflow:hidden}
#bar{height:100%;width:0;background:var(--accent);transition:width .3s}
main{max-width:680px;margin:0 auto;padding:20px 14px 60px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:20px 18px 18px}
.card.end{text-align:center;padding:56px 22px}
.q-text{font-size:18.5px;font-weight:700;margin-bottom:18px;word-break:keep-all}
.sub-q{font-weight:700;margin:18px 0 8px;word-break:keep-all}
.sub-q:first-child{margin-top:0}
.desc{color:var(--ink);word-break:keep-all;white-space:pre-line}
.opts{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.opt{display:flex;align-items:center;gap:10px;padding:10px 12px;
  border:1.5px solid var(--line);border-radius:var(--r);cursor:pointer;
  background:#fff;transition:border-color .12s,background .12s;word-break:keep-all}
.opt input{accent-color:var(--accent);width:18px;height:18px;flex:none}
.opt.sel{border-color:var(--accent);background:var(--accent-soft)}
.dk-opt{margin-top:14px;border-style:dashed}
.m-row{padding:9px 0;border-bottom:1px solid var(--line)}
.m-row:last-of-type{border-bottom:none}
.m-label{margin-bottom:6px;word-break:keep-all;font-weight:500;font-size:15px}
.subblock{margin-bottom:14px}
.scale-row{display:flex;gap:4px;flex-wrap:wrap}
.scale-btn{flex:1;min-width:28px;min-height:36px;border:1.5px solid var(--line);
  border-radius:8px;background:#fff;font-size:14px;font-family:inherit;cursor:pointer}
/* ---- 압축 리커트 행: 라벨 + 버튼 한 줄 ---- */
.m-row.inline{display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:center;gap:10px}
.m-row.inline .m-label{margin:0;font-size:14.5px}
.m-row.inline .scale-row{flex-wrap:nowrap}
.m-row.inline .scale-btn{flex:none;width:34px}
@media (max-width:480px){
  .m-row.inline{grid-template-columns:1fr;gap:5px}
}
/* ---- 항목×선택지 매트릭스 표 ---- */
.mtx-wrap{overflow-x:auto;margin:4px 0}
.mtx{width:100%;border-collapse:collapse}
.mtx th{font-size:11.5px;font-weight:600;color:var(--sub);padding:4px 2px;
  text-align:center;vertical-align:bottom;word-break:keep-all;line-height:1.25;
  min-width:34px}
.mtx th:first-child{min-width:0}
.mtx td.mtx-label{text-align:left;font-size:14px;padding:7px 6px 7px 0;
  word-break:keep-all;font-weight:500;line-height:1.35}
.mtx td.mtx-cell{text-align:center;cursor:pointer;padding:7px 2px}
.mtx tbody tr{border-top:1px solid var(--line)}
.mtx tbody tr.done td.mtx-label{color:var(--sub)}
.mtx input{accent-color:var(--accent);width:17px;height:17px;cursor:pointer;margin:0}
.mtx-legend{font-size:13px;color:var(--sub);margin:2px 0 8px;line-height:1.7;word-break:keep-all}
.mtx.compact th{font-size:13px;min-width:26px}
.mtx.compact td.mtx-cell{padding:7px 1px}
.mtx.compact td.mtx-label{font-size:13.5px}
.scale-btn.sel{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
.scale-note{font-size:13.5px;color:var(--sub);margin:2px 0 8px;font-weight:400}
.openrow{display:flex;align-items:center;gap:10px;margin:8px 0}
.rank{flex:none;font-size:13.5px;color:var(--sub);width:44px}
.text-in{flex:1;width:100%;padding:12px;border:1.5px solid var(--line);
  border-radius:8px;font-size:16px;font-family:inherit}
.text-in:focus,.num-in:focus{outline:none;border-color:var(--accent)}
.num-in{width:90px;padding:10px;border:1.5px solid var(--line);border-radius:8px;
  font-size:16px;font-family:inherit;text-align:right}
.unit{color:var(--sub);margin-left:6px}
.alloc-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.alloc-row .m-label{margin:0;flex:1}
.alloc-sum{position:sticky;top:64px;background:var(--accent-soft);color:var(--accent);
  font-weight:700;padding:9px 14px;border-radius:8px;margin-bottom:14px;z-index:4}
.alloc-sum.ok{background:#e7f3ec;color:var(--ok)}
.error{color:#b3261e;font-weight:600;margin-top:14px;min-height:1.2em}
.btn-next{display:block;width:100%;margin-top:20px;padding:15px;border:none;
  border-radius:var(--r);background:var(--accent);color:#fff;font-size:17px;
  font-weight:700;font-family:inherit;cursor:pointer}
.btn-next:active{transform:translateY(1px)}
.foot{text-align:center;color:var(--sub);font-size:12.5px;padding:0 0 40px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
