/*
 * 파일명: assets/css/rx_public_survey.css
 * 설명: RX 연구 설문 퍼블릭 전용 화면 스타일
 */
:root{--rx-brand:#6d57a5;--rx-brand-2:#8b5cf6;--rx-bg:#f7f4ee;--rx-text:#241f2f;--rx-muted:#6f687a;--rx-border:#e8dfd3;--rx-card:#fff;--rx-green:#16a34a;--rx-red:#dc2626;--rx-orange:#f97316}
*{box-sizing:border-box}.rx-survey-body{margin:0;background:linear-gradient(180deg,#faf7f0,#f4efe6);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;color:var(--rx-text)}
.rx-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:28px 16px}.rx-card{width:min(920px,100%);background:rgba(255,255,255,.96);border:1px solid var(--rx-border);border-radius:30px;box-shadow:0 18px 45px rgba(70,48,23,.08);padding:30px}.rx-eyebrow{display:inline-flex;padding:6px 12px;border-radius:999px;background:#efe8fb;color:var(--rx-brand);font-size:12px;font-weight:900;letter-spacing:.08em}.rx-card h1{margin:14px 0 12px;font-size:30px;line-height:1.25}.rx-card p{color:var(--rx-muted);line-height:1.7}.rx-notice{margin-top:20px;padding:20px;border-radius:22px;background:#fffaf1;border:1px solid #f1dfbc;color:#3f3526;line-height:1.75}.rx-info-box{margin-top:18px;padding:16px 18px;border-radius:18px;background:#f3faf5;border:1px solid #cbead5;color:#166534;line-height:1.65}.rx-action-stack{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.rx-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:0;border-radius:999px;text-decoration:none;font-weight:900;cursor:pointer}.rx-btn-primary{background:var(--rx-brand);color:#fff}.rx-btn-ghost{background:#f6f1fb;color:var(--rx-brand);border:1px solid #e7d9f5}.rx-help{width:100%;font-size:14px;margin:2px 0 0}.rx-footer{margin-top:auto;padding:24px 0 8px;color:#92899e;font-size:13px}.rx-state-card{text-align:center;margin-top:80px}.rx-question-card{padding:24px}.rx-question-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.rx-count{min-width:92px;text-align:right;color:var(--rx-muted);font-weight:800}.rx-count strong{font-size:32px;color:var(--rx-brand)}.rx-progress-wrap{margin-top:16px}.rx-progress-bar{height:10px;border-radius:999px;background:#ede7f2;overflow:hidden}.rx-progress-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--rx-brand),var(--rx-brand-2))}.rx-progress-text{margin-top:7px;font-size:13px;color:var(--rx-muted)}.rx-jump-nav{display:flex;gap:7px;overflow-x:auto;padding:14px 2px 8px;margin-top:8px}.rx-dot{flex:0 0 auto;min-width:38px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:12px;font-weight:900;border:1px solid #e5dced;background:#fff;color:#7a7184}.rx-dot.is-answered{background:#eaf7ee;border-color:#bfe4ca;color:#166534}.rx-dot.is-missing{background:#fff1f2;border-color:#fecdd3;color:#be123c}.rx-dot.is-current{outline:3px solid rgba(109,87,165,.18);border-color:var(--rx-brand);color:var(--rx-brand)}.rx-alert{margin:14px 0;padding:14px 16px;border-radius:16px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.rx-missing-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.rx-missing-links a{font-weight:900;color:#be123c}.rx-variable-desc{margin-top:14px;padding:14px 16px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;line-height:1.65}.rx-question-box{margin-top:16px;padding:22px;border-radius:24px;background:#fff;border:1px solid #ede5f3}.rx-question-no{font-size:13px;font-weight:900;color:var(--rx-brand);margin-bottom:10px}.rx-question-box h2{font-size:24px;line-height:1.45;margin:0 0 20px}.rx-options{display:grid;gap:10px}.rx-option{display:flex;gap:12px;align-items:center;padding:15px 16px;border:1px solid #e8dfed;border-radius:18px;background:#fbfafc;font-weight:800;cursor:pointer}.rx-option input{width:20px;height:20px;accent-color:var(--rx-brand)}.rx-option.is-selected{border-color:var(--rx-brand);background:#f4eefb;color:#4c357a}.rx-nav-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.rx-save-state{margin:12px 0 0;font-size:13px;color:#8b8196}.rx-complete-card{text-align:center;margin-top:48px}.rx-complete-summary{font-size:20px;color:#241f2f!important;font-weight:900}.rx-complete-actions{margin-top:22px}
@media(max-width:680px){.rx-shell{padding:14px 10px}.rx-card{border-radius:22px;padding:20px}.rx-card h1{font-size:24px}.rx-question-head{display:block}.rx-count{text-align:left;margin-top:8px}.rx-question-box{padding:18px}.rx-question-box h2{font-size:21px}.rx-nav-actions .rx-btn{flex:1}.rx-action-stack .rx-btn{width:100%}}

/* v2: 관리자 테스트 모드 안내 */
.rx-test-box {
  border-left-color: #7c3aed;
  background: #f5f3ff;
  color: #4c1d95;
  font-weight: 700;
}

/* v11: 모바일 설문 화면 상단 최소화 */
.rx-question-head-compact h1{font-size:22px;margin-bottom:0}
.rx-count span{display:block;font-size:12px;color:var(--rx-muted);font-weight:800;margin-bottom:2px}
@media(max-width:680px){
  .rx-question-card{padding:16px}
  .rx-question-head-compact{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .rx-question-head-compact .rx-eyebrow{font-size:11px;padding:5px 10px}
  .rx-mobile-hidden-title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .rx-count{margin-top:0;min-width:auto;text-align:right;font-size:14px}
  .rx-count strong{font-size:28px}
  .rx-progress-wrap{margin-top:10px}
  .rx-jump-nav{padding:10px 2px 6px;margin-top:4px}
  .rx-dot{min-width:34px;height:32px;font-size:12px}
  .rx-variable-desc{font-size:14px;line-height:1.55;margin-top:10px;padding:12px 14px}
  .rx-question-box{margin-top:12px;padding:16px;border-radius:20px}
  .rx-question-box h2{font-size:20px;line-height:1.38;margin-bottom:14px}
  .rx-options{gap:8px}
  .rx-option{padding:13px 14px;border-radius:16px}
  .rx-save-state{font-size:12px;margin-top:8px}
}

/* v12: RX 설문 UX 보정 - 미응답 카운트 제출 버튼 + 변수별 은은한 배경 */
.rx-progress-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;flex-wrap:wrap}.rx-progress-row .rx-progress-text{margin-top:0}.rx-missing-counter{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid transparent}.rx-missing-counter.has-missing{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.rx-missing-counter.is-complete{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.rx-variable-chip{display:inline-flex;margin-top:8px;padding:6px 11px;border-radius:999px;background:var(--rx-theme-soft,#f8fafc);border:1px solid var(--rx-theme-border,#e2e8f0);color:var(--rx-theme-strong,#475569);font-size:12px;font-weight:900}.rx-nav-actions-3col{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.rx-nav-slot{display:flex;align-items:center}.rx-nav-slot-left{justify-content:flex-start}.rx-nav-slot-right{justify-content:flex-end}.rx-btn-missing{background:#fff7ed!important;border-color:#fed7aa!important;color:#c2410c!important}.rx-question-card{--rx-theme-soft:#f8fafc;--rx-theme-softer:#fff;--rx-theme-border:#e2e8f0;--rx-theme-accent:var(--rx-brand);--rx-theme-strong:var(--rx-brand)}.rx-question-card.rx-theme-1{--rx-theme-soft:#fff7ed;--rx-theme-softer:#fffbf5;--rx-theme-border:#fed7aa;--rx-theme-accent:#ea580c;--rx-theme-strong:#9a3412}.rx-question-card.rx-theme-2{--rx-theme-soft:#eff6ff;--rx-theme-softer:#f8fbff;--rx-theme-border:#bfdbfe;--rx-theme-accent:#2563eb;--rx-theme-strong:#1d4ed8}.rx-question-card.rx-theme-3{--rx-theme-soft:#ecfdf5;--rx-theme-softer:#f8fffb;--rx-theme-border:#bbf7d0;--rx-theme-accent:#059669;--rx-theme-strong:#047857}.rx-question-card.rx-theme-4{--rx-theme-soft:#f5f3ff;--rx-theme-softer:#fbfaff;--rx-theme-border:#ddd6fe;--rx-theme-accent:#7c3aed;--rx-theme-strong:#5b21b6}.rx-question-card.rx-theme-5{--rx-theme-soft:#fdf2f8;--rx-theme-softer:#fff8fc;--rx-theme-border:#fbcfe8;--rx-theme-accent:#db2777;--rx-theme-strong:#9d174d}.rx-question-card.rx-theme-6{--rx-theme-soft:#f0fdfa;--rx-theme-softer:#f8fffd;--rx-theme-border:#99f6e4;--rx-theme-accent:#0d9488;--rx-theme-strong:#0f766e}.rx-question-card.rx-theme-7{--rx-theme-soft:#fefce8;--rx-theme-softer:#fffdf1;--rx-theme-border:#fde68a;--rx-theme-accent:#ca8a04;--rx-theme-strong:#854d0e}.rx-question-card.rx-theme-8{--rx-theme-soft:#f1f5f9;--rx-theme-softer:#fbfdff;--rx-theme-border:#cbd5e1;--rx-theme-accent:#475569;--rx-theme-strong:#334155}.rx-question-card[class*="rx-theme-"]{background:linear-gradient(180deg,var(--rx-theme-softer),rgba(255,255,255,.96));border-color:var(--rx-theme-border)}.rx-question-card[class*="rx-theme-"] .rx-eyebrow{background:var(--rx-theme-soft);color:var(--rx-theme-strong)}.rx-question-card[class*="rx-theme-"] .rx-count strong,.rx-question-card[class*="rx-theme-"] .rx-question-no{color:var(--rx-theme-strong)}.rx-question-card[class*="rx-theme-"] .rx-progress-bar span{background:linear-gradient(90deg,var(--rx-theme-accent),var(--rx-theme-strong))}.rx-question-card[class*="rx-theme-"] .rx-variable-desc{background:var(--rx-theme-soft);border-color:var(--rx-theme-border);color:var(--rx-theme-strong)}.rx-question-card[class*="rx-theme-"] .rx-question-box{background:rgba(255,255,255,.9);border-color:var(--rx-theme-border)}.rx-question-card[class*="rx-theme-"] .rx-option.is-selected{border-color:var(--rx-theme-accent);background:var(--rx-theme-soft);color:var(--rx-theme-strong)}.rx-question-card[class*="rx-theme-"] .rx-option input{accent-color:var(--rx-theme-accent)}.rx-question-card[class*="rx-theme-"] .rx-btn-primary{background:var(--rx-theme-accent);color:#fff}.rx-question-card[class*="rx-theme-"] .rx-dot.is-current{border-color:var(--rx-theme-accent);color:var(--rx-theme-strong);outline-color:color-mix(in srgb,var(--rx-theme-accent) 18%,transparent)}@supports not (outline-color:color-mix(in srgb,#000 10%,transparent)){.rx-question-card[class*="rx-theme-"] .rx-dot.is-current{outline-color:rgba(109,87,165,.18)}}
@media(max-width:680px){.rx-progress-row{align-items:flex-start}.rx-missing-counter{font-size:11px}.rx-nav-actions-3col{grid-template-columns:1fr;gap:8px}.rx-nav-actions-3col .rx-final-submit-form,.rx-nav-actions-3col .rx-btn{width:100%}.rx-nav-slot-left,.rx-nav-slot-right{width:100%}.rx-variable-chip{font-size:11px;margin-top:6px}}

/* v13: RX 응답자 화면 보정 - 변수 비노출, 슬림 진행바, 미응답 마커, KAPTI 자동 진행 */
.rx-response-minimal{--rx-response-accent:var(--rx-brand);--rx-response-soft:#f8fafc;--rx-response-border:#e5e7eb}
.rx-question-head-slim{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:0}
.rx-slim-status{display:inline-flex;align-items:baseline;gap:4px;color:#4b5563;font-weight:900;line-height:1}
.rx-slim-status strong{font-size:24px;color:var(--rx-brand)}
.rx-slim-status span{font-size:13px;color:#6b7280;font-weight:800}
.rx-kapti-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f5f3ff;border:1px solid #ddd6fe;color:#5b21b6;font-size:12px;font-weight:900;white-space:nowrap}
.rx-progress-wrap-slim{margin-top:4px;margin-bottom:8px}
.rx-progress-wrap-slim .rx-progress-bar{height:8px;position:relative;overflow:visible;background:#edf0f5}
.rx-progress-bar-marked span{position:relative;z-index:1}
.rx-progress-missing-layer{position:absolute;inset:0;z-index:2;pointer-events:none}
.rx-progress-missing-marker{position:absolute;top:50%;width:7px;height:14px;border-radius:3px;background:#e11d48;box-shadow:0 0 0 2px rgba(255,255,255,.95),0 1px 4px rgba(190,18,60,.28);transform:translate(-50%,-50%)}
.rx-progress-row-compact{margin-top:6px;font-size:12px}
.rx-mini-link{border:0;background:transparent;color:#be123c;font-weight:900;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:2px 0}
.rx-alert-compact{margin:8px 0 10px;padding:10px 12px;font-size:13px}
.rx-alert-compact p{margin:3px 0 0;color:#9f1239;line-height:1.45}
.rx-question-box-focus{margin-top:10px}
.rx-question-box-focus .rx-question-no{margin-bottom:7px}
.rx-nav-actions-slim{margin-top:12px}
.rx-response-minimal .rx-variable-chip,.rx-response-minimal .rx-variable-desc,.rx-response-minimal .rx-jump-nav{display:none!important}
.rx-kapti-actions{min-height:0;margin:0;padding:0}
@media(max-width:680px){
  .rx-response-minimal{padding:14px;border-radius:20px}
  .rx-question-head-slim{margin-bottom:6px}
  .rx-slim-status strong{font-size:22px}
  .rx-slim-status span{font-size:12px}
  .rx-progress-wrap-slim{margin-top:2px;margin-bottom:6px}
  .rx-progress-wrap-slim .rx-progress-bar{height:7px}
  .rx-progress-missing-marker{width:6px;height:12px;border-radius:2px}
  .rx-progress-row-compact{margin-top:5px;line-height:1.2}
  .rx-question-box-focus{margin-top:8px;padding:14px;border-radius:18px}
  .rx-question-box-focus h2{font-size:19px;line-height:1.34;margin-bottom:12px}
  .rx-question-box-focus .rx-question-no{font-size:12px;margin-bottom:6px}
  .rx-response-minimal .rx-options{gap:7px}
  .rx-response-minimal .rx-option{padding:12px 13px;border-radius:15px;line-height:1.35}
  .rx-response-minimal .rx-nav-actions-slim{margin-top:10px}
  .rx-response-minimal .rx-btn{min-height:42px}
  .rx-kapti-chip{font-size:11px;min-height:26px;padding:0 9px}
}

/* v14: RX 응답자 화면 - 문항/보기 이미지 보기 */
.rx-question-media {
    margin: 14px 0 16px;
    border-radius: 18px;
    overflow: hidden;
    background: #f8f7f0;
    border: 1px solid rgba(79,127,90,.18);
}
.rx-question-media img {
    display: block;
    width: 100%;
    max-height: 360px;
    object-fit: contain;
    background: #fff;
}
.rx-question-media figcaption {
    padding: 9px 12px;
    color: #607060;
    font-size: 13px;
}
.rx-options--image {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.rx-option--image {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 10px;
}
.rx-option-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid rgba(0,0,0,.08);
    background: #fff;
}
.rx-option--image input {
    align-self: flex-start;
}
.rx-save-state--hint {
    color: #637060;
    font-size: 13px;
    margin-top: 8px;
}
@media (max-width: 640px) {
    .rx-options--image {
        grid-template-columns: 1fr;
    }
    .rx-question-media img {
        max-height: 280px;
    }
}


/* 2026-06-11 문항 앞 설명/미디어 */
.rx-question-preitems{display:grid;gap:12px;margin-bottom:18px}.rx-question-preitem{padding:16px 18px;border:1px solid rgba(65,86,113,.16);border-radius:18px;background:#f8fbfc}.rx-question-preitem strong{display:block;margin-bottom:6px;color:#213947}.rx-question-preitem p{margin:0;color:#405765;line-height:1.72}.rx-question-video a{display:inline-flex;margin-top:8px;padding:10px 13px;border-radius:999px;background:#e8f3f4;color:#2b6973;font-weight:800;text-decoration:none}.rx-question-media--preitem{margin-top:12px}.rx-question-media--preitem img{max-height:460px;object-fit:contain;background:#fff}


/* 2026-06-11 v4: 응답자 화면에서 동영상/미디어를 링크가 아니라 그 자리에서 표시 */
.rx-question-video--inline {
    margin: 12px 0 4px;
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(65,86,113,.16);
    background: #0f172a;
    box-shadow: 0 10px 24px rgba(15,23,42,.08);
}
.rx-question-video--inline iframe,
.rx-question-video--inline video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 220px;
    border: 0;
    background: #0f172a;
}
.rx-question-video--inline video {
    height: auto;
    max-height: 520px;
}
.rx-question-preitem--video,
.rx-question-preitem--stimulus {
    background: #f8fbfc;
}
@media (max-width: 640px) {
    .rx-question-video--inline iframe,
    .rx-question-video--inline video {
        min-height: 180px;
    }
}
