/* 참가 화면: 휴대폰 한 손 조작, 한 화면에 한 문항 */
.wrap{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;
  padding:max(14px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(18px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.screen{display:flex;flex-direction:column;gap:16px;flex:1}
.center{justify-content:center;align-items:flex-start}
.top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);gap:10px}
.top .timer{font:600 15px var(--mono);color:var(--ink)}
.top .timer.over{color:var(--warn)}
.prog{height:5px;background:var(--grid);border-radius:3px;overflow:hidden}
.prog i{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .25s}
.part{font-size:13px;font-weight:600;color:var(--accent)}
h1{font-size:34px;line-height:1.2;margin:0;letter-spacing:-.01em}
h2{font-size:20px;line-height:1.5;margin:0;font-weight:700}
.lead{font-size:16px;color:var(--ink2)}
.notes{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.notes li{border-top:1px solid var(--line);padding-top:10px;font-size:15px;color:var(--ink2)}
.meta{font-size:14px;color:var(--muted)}
.meta b{color:var(--ink)}
.opts{display:flex;flex-direction:column;gap:9px}
.opt{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;text-align:left;width:100%;background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;font-size:15.5px;line-height:1.55;cursor:pointer}
.opt .k{font:600 13px var(--mono);color:var(--muted);width:24px;height:24px;border:1.5px solid var(--axis);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px}
.opt[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.opt[aria-pressed="true"] .k{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.opt.check .k{border-radius:6px}
.rows{display:flex;flex-direction:column;gap:12px}
.rq{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 12px 12px 14px;display:flex;flex-direction:column;gap:9px}
.rq p{margin:0;font-size:15px;line-height:1.55}
.seg{display:grid;gap:6px}
.seg.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.seg.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.seg.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.seg button{background:var(--sunk);border:1.5px solid transparent;border-radius:9px;padding:10px 4px;font-size:14px;font-weight:600;cursor:pointer;color:var(--ink2)}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.chat{display:flex;flex-direction:column;gap:9px;background:var(--sunk);border-radius:16px;padding:12px}
.msg{font-size:14.5px;line-height:1.55;padding:9px 12px;border-radius:14px;max-width:88%;text-align:left}
.msg small{display:block;font:600 11px var(--mono);color:var(--muted);margin-bottom:2px}
.msg.ai{background:var(--paper);align-self:flex-start;border:1px solid var(--line)}
button.msg.me{align-self:flex-end;background:var(--paper);border:1.5px dashed var(--axis);cursor:pointer}
button.msg.me[aria-pressed="true"]{border:2px solid var(--accent);background:var(--accent-soft)}
.hint{font-size:13px;color:var(--muted)}
.etc{width:100%;font:inherit;font-size:15px;padding:12px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.nav{display:flex;gap:10px;margin-top:auto;padding-top:10px;position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 70%,transparent)}
.btn{appearance:none;border:0;border-radius:14px;padding:15px 18px;font-size:16px;font-weight:700;cursor:pointer;background:var(--accent);color:var(--on-accent);flex:1}
.btn[disabled]{background:var(--grid);color:var(--muted);cursor:default}
.btn.ghost{background:transparent;color:var(--ink2);border:1.5px solid var(--line);flex:0 0 auto}
.err{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:14px}
.card{display:flex;flex-direction:column;gap:12px}
.card div{border-top:1px solid var(--line);padding-top:10px}
.card span{font-size:13px;font-weight:700;color:var(--accent)}
.card p{margin:3px 0 0;font-size:16px;line-height:1.6}
.namebox{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13.5px;color:var(--ink2)}
.namebox b{font-size:19px;color:var(--ink)}
.vote h2{font-size:17px}
.done{background:var(--ok-bg);color:var(--ok);border-radius:10px;padding:10px 12px;font-size:14px;font-weight:600}
input.link{width:100%;font:inherit;font-size:18px;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink)}
