/* 포스터 톤 공용 스타일 — 한지색 바탕 + 명조 */
:root{
  color-scheme:light;
  --paper:#f6efe2; --card:#fffcf5; --ink:#27211d; --ink-2:#463c35; --muted:#8b7b6c;
  --teal:#1d4b4d; --rust:#b4462b; --wine:#7b2222; --gold:#b08a4a; --gold-soft:#e6d3ac;
  --line:rgba(39,33,29,.14);
  --f-display:"Noto Serif KR","AppleMyungjo","Batang",serif;
  --f-body:"Gowun Batang","Noto Serif KR","AppleMyungjo","Batang",serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);
  padding:28px 16px 64px;line-height:1.6;-webkit-text-size-adjust:100%}
.wrap{max-width:560px;margin:0 auto}
header{text-align:center;margin-bottom:28px}
.yr{font-family:var(--f-display);font-weight:700;font-size:15px;color:var(--rust);letter-spacing:.12em}
h1{font-family:var(--f-display);font-weight:900;font-size:28px;line-height:1.3;margin:6px 0 4px}
h1 em{font-style:normal;color:var(--rust)}
.sub{font-family:var(--f-display);font-weight:700;font-size:15px;color:var(--teal)}
.intro{margin:20px 0 0;font-size:16px;color:var(--ink-2);white-space:pre-line}
.pill{display:inline-block;margin-top:14px;padding:5px 14px;border-radius:999px;
  background:var(--rust);color:var(--card);font-size:13px;font-weight:700}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px 20px;
  box-shadow:0 14px 34px rgba(60,40,20,.08)}
.f{margin-bottom:22px}
label{display:block;font-family:var(--f-display);font-weight:700;font-size:16px;margin-bottom:7px}
label .opt{font-family:var(--f-body);font-weight:400;font-size:13px;color:var(--muted);margin-left:6px}
.tip{font-size:13px;color:var(--muted);margin:-3px 0 8px}
input[type=text],input[type=password],textarea,select{width:100%;font:inherit;font-size:16px;color:var(--ink);
  background:#fff;border:2px solid var(--gold-soft);border-radius:10px;padding:11px 13px}
textarea{min-height:150px;resize:vertical;line-height:1.7}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--teal)}
.count{text-align:right;font-size:13px;color:var(--muted);margin-top:5px}
.count.over{color:var(--rust);font-weight:700}
.radios{display:flex;gap:10px}
.radios label{flex:1;margin:0;display:flex;align-items:center;gap:8px;font-weight:400;font-family:var(--f-body);
  font-size:15px;border:2px solid var(--gold-soft);border-radius:10px;padding:11px 13px;background:#fff;cursor:pointer}
.radios input{accent-color:var(--rust);margin:0}
.radios label.on{border-color:var(--rust);background:#fdf3ee}
button.go{width:100%;font:inherit;font-family:var(--f-display);font-weight:700;font-size:18px;
  background:var(--rust);color:#fff;border:0;border-radius:12px;padding:15px;cursor:pointer;margin-top:10px}
button.go:disabled{background:var(--muted);cursor:default}
.err{color:var(--wine);font-size:14px;font-weight:700;margin-top:12px;text-align:center}
.done{text-align:center;padding:48px 20px}
.done .mk{font-family:var(--f-display);font-size:64px;color:var(--rust);line-height:1}
.done h2{font-family:var(--f-display);font-weight:900;font-size:24px;margin:18px 0 10px}
.done p{color:var(--ink-2);margin:0 0 22px}
.again{display:inline-block;font-size:15px;color:var(--teal);font-weight:700;cursor:pointer;text-decoration:underline}
.foot{text-align:center;font-size:13px;color:var(--muted);margin-top:22px;line-height:1.7}
