/* PRIEF FORM (2026-11) — 프리프 UI 토큰(Pretendard, #222, radius 10, CTA gradient) + 모아폼풍
 *  - .pf-app            : 공통(삽입/단독)
 *  - .pf-compact        : 공지·강의·라이브 하단 삽입(한 장 카드)
 *  - .pf-standalone     : 링크 공유용 단독 페이지(테마 배경 + 문항별 카드)
 */
.pf-wrap { background:#f5f7f6; padding:40px 16px 80px; min-height:60vh; }
.vh-content-wrap.pf-wrap { display:block; flex:0 0 auto; height:auto; min-height:0; }
.pf-page { max-width:720px; margin:0 auto; width:100%; }
.pf-app, .pf-standalone-page {
  --pf-a:#0cbf9d; --pf-a2:#1bd4b1; --pf-soft:#e9f8f4; --pf-ink:#222; --pf-mute:#868a93; --pf-line:#e6eae9; --pf-bg:#fff;
  --pf-glow:rgba(12,191,157,.28); --pf-tint1:rgba(12,191,157,.18); --pf-tint2:rgba(27,212,177,.14);
  font-family:Pretendard, "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif; color:var(--pf-ink); font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased;
}
.pf-theme-violet { --pf-a:#6d5dfc; --pf-a2:#9b8cff; --pf-soft:#efecff; --pf-glow:rgba(109,93,252,.28); --pf-tint1:rgba(109,93,252,.16); --pf-tint2:rgba(155,140,255,.14); }
.pf-theme-coral  { --pf-a:#ff5a5f; --pf-a2:#ff8a80; --pf-soft:#ffeeed; --pf-glow:rgba(255,90,95,.26); --pf-tint1:rgba(255,90,95,.14); --pf-tint2:rgba(255,138,128,.14); }
.pf-theme-navy   { --pf-a:#1f3a93; --pf-a2:#3b5bdb; --pf-soft:#e9edfb; --pf-glow:rgba(31,58,147,.26); --pf-tint1:rgba(31,58,147,.14); --pf-tint2:rgba(59,91,219,.14); }
.pf-theme-sun    { --pf-a:#ff8a00; --pf-a2:#ffb545; --pf-soft:#fff3e2; --pf-glow:rgba(255,138,0,.26); --pf-tint1:rgba(255,138,0,.14); --pf-tint2:rgba(255,181,69,.16); }
.pf-theme-mono   { --pf-a:#111; --pf-a2:#444; --pf-soft:#f0f0f0; --pf-glow:rgba(0,0,0,.18); --pf-tint1:rgba(0,0,0,.06); --pf-tint2:rgba(0,0,0,.04); }
.pf-loading { text-align:center; color:var(--pf-mute); padding:48px 0; }

/* ---------- 카드 공통 ---------- */
.pf-card { background:var(--pf-bg); border:1px solid var(--pf-line); border-radius:22px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.05); }
.pf-anim-in { animation:pfIn .38s cubic-bezier(.2,.8,.2,1) both; }
@keyframes pfIn { from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }
.pf-cover { height:190px; background:#eef2f1 center/cover no-repeat; position:relative; overflow:hidden; }
.pf-cover-grad { background:linear-gradient(125deg, var(--pf-a) 0%, var(--pf-a2) 70%); height:140px; }
.pf-cover-grad::before, .pf-cover-grad::after { content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.16); }
.pf-cover-grad::before { width:320px; height:320px; right:-90px; top:-170px; }
.pf-cover-grad::after { width:180px; height:180px; left:36%; bottom:-120px; background:rgba(255,255,255,.12); }
.pf-cover-mark { position:absolute; left:26px; bottom:18px; color:rgba(255,255,255,.92); font-size:11px; font-weight:800; letter-spacing:.2em; z-index:1; }
.pf-title-wrap { padding:26px 28px 8px; }
.pf-title { font-size:27px; font-weight:800; letter-spacing:-.03em; margin:0 0 10px; line-height:1.28; word-break:keep-all; }
.pf-desc { margin:0 0 16px; color:#5c6066; font-size:15px; }
.pf-meta { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.pf-meta-i { font-size:12px; font-weight:600; color:#5c6066; background:#f3f4f6; border-radius:999px; padding:5px 11px; }
.pf-meta-dd { color:var(--pf-a); background:var(--pf-soft); }

.pf-body { padding:10px 28px 28px; }
.pf-progress { display:flex; align-items:center; gap:12px; margin:8px 0 22px; }
.pf-progress-t { flex:1; height:6px; background:#eef2f1; border-radius:999px; overflow:hidden; }
.pf-progress-t i { display:block; height:100%; width:0; background:linear-gradient(90deg, var(--pf-a), var(--pf-a2)); border-radius:999px; transition:width .35s ease; }
.pf-progress span { font-size:12px; font-weight:700; color:var(--pf-mute); white-space:nowrap; }
.pf-section { padding:14px 18px; background:var(--pf-soft); border-radius:14px; margin-bottom:18px; }
.pf-section h2 { margin:0 0 4px; font-size:18px; font-weight:800; letter-spacing:-.02em; }
.pf-section p { margin:0; color:#5c6066; font-size:14px; }

.pf-q { padding:20px 0 18px; border-top:1px solid #f0f2f1; }
.pf-q:first-of-type { border-top:0; }
.pf-q-h { margin-bottom:14px; }
.pf-qn { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.08em; color:var(--pf-a); background:var(--pf-soft); border-radius:6px; padding:3px 7px; margin-bottom:8px; }
.pf-q-l { display:block; font-size:17px; font-weight:700; line-height:1.4; word-break:keep-all; letter-spacing:-.01em; }
.pf-star { color:#ff4d3d; margin-left:4px; font-weight:800; }
.pf-q-d { margin:6px 0 0; color:#5c6066; font-size:14px; }
.pf-q-img { display:block; max-width:100%; border-radius:12px; margin-top:12px; }
.pf-q-err { color:#ff4d3d; font-size:13px; font-weight:600; margin-top:8px; min-height:0; }
.pf-has-err .pf-in, .pf-has-err .pf-opt, .pf-has-err .pf-scale-b { border-color:#ffb4ad; }
.pf-hint { font-size:12px; color:var(--pf-mute); margin-top:8px; }
.pf-flash { font-size:13px; color:#fff; background:#222; border-radius:8px; padding:6px 10px; display:inline-block; margin-top:8px; animation:pfFade 1.6s forwards; }
@keyframes pfFade { 0%{opacity:0; transform:translateY(4px)} 15%{opacity:1; transform:none} 80%{opacity:1} 100%{opacity:0} }

.pf-in { width:100%; box-sizing:border-box; font:inherit; font-size:16px; padding:14px 15px; border:1.5px solid var(--pf-line); border-radius:14px; background:#fff; color:var(--pf-ink); outline:none; transition:border-color .15s, box-shadow .15s; -webkit-appearance:none; }
.pf-in:focus { border-color:var(--pf-a); box-shadow:0 0 0 4px var(--pf-soft); }
.pf-in::placeholder { color:#b3b7bd; }
.pf-ta { resize:vertical; min-height:110px; }
.pf-sel { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23868a93' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:40px; }
.pf-other { margin-top:10px; }

.pf-opts { display:flex; flex-direction:column; gap:10px; }
.pf-opt { display:flex; align-items:center; gap:12px; width:100%; text-align:left; font:inherit; font-size:15px; font-weight:500; color:var(--pf-ink); background:#fff; border:1.5px solid var(--pf-line); border-radius:14px; padding:14px 15px; cursor:pointer; transition:all .15s; }
.pf-opt:hover { border-color:#c9d6d2; background:#fafbfb; transform:translateY(-1px); }
.pf-opt.on { border-color:var(--pf-a); background:var(--pf-soft); font-weight:700; box-shadow:0 0 0 1px var(--pf-a) inset; }
.pf-opt-mark { flex:0 0 22px; width:22px; height:22px; border-radius:50%; border:1.5px solid #cfd4d3; display:inline-flex; align-items:center; justify-content:center; color:#fff; transition:all .15s; }
.pf-opts-multi .pf-opt-mark { border-radius:7px; }
.pf-opt-mark svg { width:14px; height:14px; opacity:0; transform:scale(.6); transition:all .15s; }
.pf-opt.on .pf-opt-mark { background:var(--pf-a); border-color:var(--pf-a); animation:pfPopS .25s cubic-bezier(.2,.9,.3,1.4); }
.pf-opt.on .pf-opt-mark svg { opacity:1; transform:scale(1); }
@keyframes pfPopS { from{transform:scale(.75)} to{transform:none} }
.pf-opt-t { flex:1; word-break:keep-all; }

.pf-imgs { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px; }
.pf-img { position:relative; font:inherit; font-size:14px; font-weight:600; background:#fff; border:1.5px solid var(--pf-line); border-radius:16px; padding:8px; cursor:pointer; text-align:center; color:var(--pf-ink); transition:all .15s; }
.pf-img:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.06); }
.pf-img img, .pf-img-ph { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; background:linear-gradient(135deg, var(--pf-soft), #f3f4f6); margin-bottom:8px; }
.pf-img.on { border-color:var(--pf-a); box-shadow:0 0 0 3px var(--pf-soft); }
.pf-img .pf-opt-mark { position:absolute; top:14px; right:14px; background:#fff; }
.pf-img.on .pf-opt-mark { background:var(--pf-a); border-color:var(--pf-a); }
.pf-img.on .pf-opt-mark svg { opacity:1; transform:scale(1); }

.pf-scale-row { display:grid; grid-template-columns:repeat(auto-fit, minmax(40px, 1fr)); gap:8px; }
.pf-scale-many { grid-template-columns:repeat(6, 1fr); }
@media (min-width: 480px) { .pf-scale-many { grid-template-columns:repeat(11, 1fr); } }
.pf-scale-b { height:48px; padding:0; font:inherit; font-size:15px; font-weight:700; border:1.5px solid var(--pf-line); border-radius:12px; background:#fff; color:#5c6066; cursor:pointer; transition:all .15s; }
.pf-scale-b:hover { border-color:#c9d6d2; transform:translateY(-1px); }
.pf-scale-b.on { background:linear-gradient(135deg, var(--pf-a), var(--pf-a2)); color:#fff; border-color:transparent; transform:translateY(-2px); box-shadow:0 8px 18px var(--pf-glow); }
.pf-scale-l { display:flex; justify-content:space-between; font-size:12px; color:var(--pf-mute); margin-top:8px; font-weight:600; }

.pf-rating { display:flex; align-items:center; gap:4px; }
.pf-rate { background:none; border:0; padding:4px; cursor:pointer; color:#e1e4e8; transition:transform .1s, color .1s; line-height:0; }
.pf-rate.on, .pf-rate.hov { color:#ffb400; }
.pf-rating[data-icon="heart"] .pf-rate.on, .pf-rating[data-icon="heart"] .pf-rate.hov { color:#ff5a5f; }
.pf-rate:hover { transform:scale(1.15); }
.pf-rate-l { margin-left:10px; font-size:14px; font-weight:700; color:var(--pf-mute); }

.pf-grid-wrap { overflow-x:auto; }
.pf-grid { width:100%; border-collapse:separate; border-spacing:0; font-size:14px; }
.pf-grid th { font-weight:600; color:#5c6066; padding:8px 6px; text-align:center; font-size:13px; }
.pf-grid tbody th { text-align:left; white-space:nowrap; }
.pf-grid td { text-align:center; padding:6px; }
.pf-grid tbody tr:nth-child(odd) { background:#fafbfb; }
.pf-grid-b { display:inline-block; width:24px; height:24px; min-width:24px; min-height:24px; max-width:24px; padding:0; margin:0; line-height:0; box-sizing:border-box; border-radius:50%; border:1.5px solid #cfd4d3; background:#fff; cursor:pointer; transition:all .15s; vertical-align:middle; }
.pf-grid-b.on { border-color:var(--pf-a); background:radial-gradient(circle, var(--pf-a) 0 45%, #fff 50%); }

.pf-note { background:#fafbfb; border:1px dashed #d9dedc; border-radius:14px; padding:18px 20px; }
.pf-note h3 { margin:0 0 6px; font-size:16px; font-weight:800; }
.pf-note p { margin:0; color:#5c6066; font-size:14px; }
.pf-note img { display:block; max-width:100%; border-radius:10px; margin-top:12px; }

.pf-nav { display:flex; gap:10px; margin-top:26px; }
.pf-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; font:inherit; font-size:16px; font-weight:700; height:52px; padding:0 22px; border-radius:14px; border:0; cursor:pointer; text-decoration:none; transition:filter .15s, transform .1s, box-shadow .15s; box-sizing:border-box; }
.pf-btn:active { transform:translateY(1px); }
.pf-btn-main { flex:1; }
.pf-btn-grad { background:linear-gradient(90deg, var(--pf-a) 0%, var(--pf-a2) 100%); color:#fff; box-shadow:0 8px 20px var(--pf-glow); }
.pf-btn-grad:hover { filter:brightness(1.05); color:#fff; }
.pf-btn-grad:disabled { opacity:.6; cursor:default; box-shadow:none; }
.pf-btn-ghost { background:#f3f4f6; color:#5c6066; }
.pf-btn-soft { background:var(--pf-soft); color:var(--pf-a); }
.pf-btn-outline { background:#fff; color:var(--pf-ink); border:1.5px solid var(--pf-line); }
.pf-btn svg { width:18px; height:18px; }
.pf-foot-note { text-align:center; font-size:12px; color:var(--pf-mute); margin:16px 0 0; }

.pf-notice { padding:36px 28px 40px; text-align:center; }
.pf-notice-ic { font-size:38px; margin-bottom:10px; }
.pf-notice p { color:#5c6066; margin:0 0 18px; font-size:15px; }
.pf-notice .pf-btn { min-width:220px; }

.pf-done { padding:40px 28px 40px; text-align:center; position:relative; }
.pf-done-ic { display:flex; justify-content:center; margin-bottom:16px; }
.pf-done-ic span { width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg, var(--pf-a), var(--pf-a2)); color:#fff; display:inline-flex; align-items:center; justify-content:center; animation:pfPop .5s cubic-bezier(.2,.9,.3,1.3); box-shadow:0 0 0 0 var(--pf-glow); position:relative; }
.pf-done-ic span::after { content:""; position:absolute; inset:-10px; border-radius:50%; border:2px solid var(--pf-glow); animation:pfRing 1.6s ease-out .2s infinite; }
.pf-done-ic svg { width:36px; height:36px; }
@keyframes pfPop { from{transform:scale(.4); opacity:0} to{transform:none; opacity:1} }
@keyframes pfRing { 0%{transform:scale(.8); opacity:1} 100%{transform:scale(1.35); opacity:0} }
.pf-done-t { font-size:24px; font-weight:800; margin:0 0 8px; letter-spacing:-.02em; }
.pf-done-m { color:#5c6066; margin:0 0 6px; }
.pf-done-dt { color:var(--pf-mute); font-size:12px; margin:0 0 22px; }
.pf-done-acts { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.pf-err { color:#ff4d3d; font-size:14px; }

.pf-stats { text-align:left; margin-top:26px; border-top:1px solid #f0f2f1; padding-top:20px; }
.pf-stats-h { font-size:14px; color:#5c6066; margin-bottom:14px; }
.pf-stat { padding:14px 0; border-top:1px solid #f4f6f5; }
.pf-stat-q { font-weight:700; font-size:15px; margin-bottom:10px; }
.pf-stat-q small { color:var(--pf-mute); font-weight:500; font-size:12px; margin-left:6px; }
.pf-bars { display:flex; flex-direction:column; gap:8px; }
.pf-bar { display:grid; grid-template-columns:minmax(80px, 30%) 1fr 70px; align-items:center; gap:10px; font-size:13px; }
.pf-bar-l { color:#5c6066; word-break:keep-all; }
.pf-bar-t { height:12px; background:#eef2f1; border-radius:999px; overflow:hidden; }
.pf-bar-t i { display:block; height:100%; background:linear-gradient(90deg, var(--pf-a), var(--pf-a2)); border-radius:999px; }
.pf-bar-v { text-align:right; font-weight:700; }
.pf-bar-v small { color:var(--pf-mute); font-weight:500; }
.pf-stat-avg { font-size:13px; color:#5c6066; margin-top:6px; }
.pf-stat-grid { width:100%; border-collapse:collapse; font-size:13px; }
.pf-stat-grid th, .pf-stat-grid td { border:1px solid #eef2f1; padding:6px 8px; text-align:center; }
.pf-stat-grid tbody th { text-align:left; }
.pf-stat-text { font-size:13px; color:var(--pf-mute); }

.pf-btn-sm { height:38px; font-size:14px; padding:0 14px; border-radius:10px; }
.pf-slim { display:flex; align-items:center; gap:12px; background:var(--pf-bg); border:1px solid var(--pf-line); border-radius:14px; padding:12px 16px; }
.pf-slim-ic { flex:0 0 32px; width:32px; height:32px; border-radius:50%; background:var(--pf-soft); color:var(--pf-a); display:inline-flex; align-items:center; justify-content:center; }
.pf-slim-ic svg { width:18px; height:18px; }
.pf-slim-t { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.3; }
.pf-slim-t b { font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pf-slim-t small { font-size:12px; color:var(--pf-mute); }
.pf-slim-acts { display:flex; gap:6px; flex-shrink:0; }
@media (max-width: 520px) { .pf-slim { flex-wrap:wrap; } .pf-slim-acts { width:100%; justify-content:flex-end; } }

/* 토스트(링크 복사 등) */
.pf-toast { position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(10px); background:#222; color:#fff; font-size:14px; font-weight:600; padding:11px 18px; border-radius:999px; z-index:999; opacity:0; transition:all .25s; pointer-events:none; box-shadow:0 10px 30px rgba(0,0,0,.2); }
.pf-toast.on { opacity:1; transform:translateX(-50%) translateY(0); }

/* ---------- 삽입(embed) 모드 — 공지·강의·라이브 하단 ---------- */
.pf-compact { margin:28px 0; }
.pf-compact .pf-card { border-radius:16px; }
.pf-compact .pf-cover { height:120px; }
.pf-compact .pf-cover-grad { height:14px; }
.pf-compact .pf-cover-grad::before, .pf-compact .pf-cover-grad::after { display:none; }
.pf-compact .pf-cover-mark { display:none; }
.pf-compact .pf-title { font-size:21px; }
.pf-compact .pf-title-wrap { padding:20px 22px 4px; }
.pf-compact .pf-body { padding:6px 22px 22px; }
.pf-compact .pf-q-l { font-size:16px; }
.pform-slot:empty { display:none; }

/* ---------- 단독 페이지(링크 공유) ---------- */
html.pf-html { height:100%; }
.pf-standalone-page { margin:0; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; background:#f5f8f7; position:relative; }
.pf-sp-bg { position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(55% 45% at 8% 0%, var(--pf-tint1) 0%, rgba(255,255,255,0) 65%),
    radial-gradient(45% 40% at 100% 18%, var(--pf-tint2) 0%, rgba(255,255,255,0) 65%),
    radial-gradient(50% 40% at 50% 105%, var(--pf-tint1) 0%, rgba(255,255,255,0) 65%),
    #f5f8f7; }
.pf-sp-top { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.72); -webkit-backdrop-filter:saturate(1.4) blur(14px); backdrop-filter:saturate(1.4) blur(14px); border-bottom:1px solid rgba(0,0,0,.05); }
.pf-sp-top-in { max-width:720px; margin:0 auto; padding:0 16px; height:58px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pf-sp-logo { display:inline-flex; align-items:center; gap:8px; text-decoration:none; color:#111; font-weight:900; font-size:21px; letter-spacing:-.05em; line-height:1; }
.pf-sp-logo img { height:22px; width:auto; display:block; }
.pf-sp-logo em { font-style:normal; font-size:10px; font-weight:800; letter-spacing:.16em; padding:4px 7px 3px; border-radius:6px; background:linear-gradient(90deg, var(--pf-a), var(--pf-a2)); color:#fff; line-height:1; }
.pf-sp-acts { display:flex; align-items:center; gap:8px; }
.pf-sp-chip { font-size:13px; font-weight:600; color:#5c6066; background:#fff; border:1px solid var(--pf-line); border-radius:999px; padding:7px 13px; text-decoration:none; white-space:nowrap; max-width:160px; overflow:hidden; text-overflow:ellipsis; }
a.pf-sp-chip:hover { border-color:var(--pf-a); color:var(--pf-a); }
.pf-sp-ic { width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--pf-line); color:#5c6066; cursor:pointer; padding:0; transition:all .15s; }
.pf-sp-ic:hover { border-color:var(--pf-a); color:var(--pf-a); }
.pf-sp-ic svg { width:18px; height:18px; }
.pf-sp-main { position:relative; z-index:1; flex:1 0 auto; width:100%; box-sizing:border-box; padding:28px 16px 40px; }
.pf-sp-main .pf-page { max-width:680px; }
.pf-sp-foot { position:relative; z-index:1; text-align:center; font-size:12px; color:var(--pf-mute); padding:10px 16px 44px; line-height:1.7; }
.pf-sp-foot a { color:var(--pf-mute); text-decoration:none; font-weight:700; }
.pf-sp-foot a:hover { color:var(--pf-a); }

.pf-standalone .pf-card { background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; }
.pf-standalone .pf-head { background:#fff; border-radius:26px; overflow:hidden; box-shadow:0 14px 44px rgba(20,40,35,.09); margin-bottom:14px; }
.pf-standalone .pf-cover { height:230px; }
.pf-standalone .pf-cover-grad { height:170px; }
.pf-standalone .pf-title-wrap { padding:28px 30px 14px; }
.pf-standalone .pf-title { font-size:30px; }
.pf-standalone .pf-desc { font-size:15.5px; }
.pf-standalone .pf-body { padding:0; }
.pf-standalone .pf-progress { position:sticky; top:66px; z-index:10; margin:0 0 14px; padding:9px 14px; background:rgba(255,255,255,.86); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-radius:999px; box-shadow:0 6px 18px rgba(20,40,35,.07); }
.pf-standalone .pf-section { background:transparent; padding:10px 8px 14px; margin-bottom:6px; }
.pf-standalone .pf-section h2 { font-size:22px; }
.pf-standalone .pf-q { background:#fff; border:0; border-radius:22px; padding:24px 24px 22px; margin-bottom:12px; box-shadow:0 8px 28px rgba(20,40,35,.06); transition:box-shadow .2s; animation:pfIn .38s cubic-bezier(.2,.8,.2,1) both; }
.pf-standalone .pf-q:nth-child(2){animation-delay:.04s} .pf-standalone .pf-q:nth-child(3){animation-delay:.08s} .pf-standalone .pf-q:nth-child(4){animation-delay:.12s} .pf-standalone .pf-q:nth-child(5){animation-delay:.16s} .pf-standalone .pf-q:nth-child(n+6){animation-delay:.2s}
.pf-standalone .pf-q:focus-within { box-shadow:0 12px 36px rgba(20,40,35,.13); }
.pf-standalone .pf-q.pf-has-err { box-shadow:0 0 0 2px #ffb4ad, 0 8px 28px rgba(20,40,35,.06); }
.pf-standalone .pf-q-note { background:transparent; box-shadow:none; padding:0; }
.pf-standalone .pf-q-note .pf-note { background:rgba(255,255,255,.7); }
.pf-standalone .pf-q-l { font-size:18px; }
.pf-standalone .pf-nav { position:sticky; bottom:14px; z-index:10; margin-top:18px; padding:10px; background:rgba(255,255,255,.88); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-radius:20px; box-shadow:0 12px 36px rgba(20,40,35,.14); }
.pf-standalone .pf-foot-note { margin-top:14px; }
.pf-standalone .pf-notice, .pf-standalone .pf-done { background:#fff; border-radius:26px; box-shadow:0 14px 44px rgba(20,40,35,.09); }
.pf-standalone .pf-notice { padding:44px 28px 48px; }
.pf-standalone .pf-done { padding:48px 28px 44px; }
.pf-standalone .pf-done-t { font-size:26px; }
.pf-standalone .pf-stats { padding:0 4px; }

/* ---------- 모바일 ---------- */
@media (max-width: 640px) {
  .pf-wrap { padding:16px 10px 60px; }
  .pf-card { border-radius:18px; }
  .pf-title { font-size:22px; }
  .pf-title-wrap { padding:20px 18px 6px; }
  .pf-body { padding:6px 18px 22px; }
  .pf-cover { height:150px; }
  .pf-scale-b { min-width:34px; height:44px; font-size:14px; }
  .pf-nav { position:sticky; bottom:0; background:linear-gradient(to top, #fff 70%, rgba(255,255,255,0)); padding:12px 0 4px; }
  .pf-sp-top-in { height:54px; padding:0 12px; }
  .pf-sp-logo { font-size:19px; }
  .pf-sp-main { padding:14px 12px 24px; }
  .pf-standalone .pf-head { border-radius:22px; }
  .pf-standalone .pf-cover { height:170px; }
  .pf-standalone .pf-cover-grad { height:120px; }
  .pf-standalone .pf-title-wrap { padding:22px 20px 12px; }
  .pf-standalone .pf-title { font-size:24px; }
  .pf-standalone .pf-progress { top:60px; }
  .pf-standalone .pf-q { padding:20px 18px 18px; border-radius:18px; }
  .pf-standalone .pf-q-l { font-size:17px; }
  .pf-standalone .pf-nav { bottom:calc(8px + env(safe-area-inset-bottom, 0px)); padding:8px; border-radius:18px; background:rgba(255,255,255,.92); }
  .pf-standalone .pf-done, .pf-standalone .pf-notice { padding:36px 20px 34px; border-radius:22px; }
}
@media (prefers-reduced-motion: reduce) { .pf-anim-in, .pf-standalone .pf-q, .pf-done-ic span, .pf-done-ic span::after { animation:none !important; } }

/* logo (2026-11-10d) */
.pf-cover-mark{display:inline-flex;align-items:center;gap:8px;font-size:0;letter-spacing:0}
.pf-cover-mark img{height:20px;width:auto;display:block;opacity:.95}
.pf-cover-mark b{font-size:10px;font-weight:800;letter-spacing:.16em;color:#fff;background:rgba(255,255,255,.22);border-radius:6px;padding:4px 7px 3px;line-height:1}
.pf-sp-logo img{height:24px}
