/* JUNI COLOR PATTERN PUZZLE v1.1.0
   iq-test.css(카드·버튼·레인보우) 위에 퍼즐 전용 스타일만 추가 */

#cpIntro,#cpPlay,#cpOver{display:flex;flex-direction:column;gap:16px}
.cp-intro-best{margin:14px 0 0;color:#7A5AA6;font-size:14px;font-weight:700}
.cp-intro-best .fa{color:#D9A621}

/* 상태 줄 */
.cp-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.cp-level{display:flex;align-items:baseline;gap:8px}
.cp-level span{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--jiq-mute)}
.cp-level strong{font-size:30px;line-height:1;font-weight:900;color:var(--jiq-ink)}
.cp-level em{font-style:normal;font-size:12px;font-weight:800;color:#fff;background:#7A5AA6;padding:3px 9px;border-radius:999px}
.cp-lives{display:flex;gap:4px;font-size:20px;color:#D94A4A}
.cp-lives .fa-heart-o{color:#d9dce2}
.cp-best{font-size:13px;font-weight:700;color:var(--jiq-sub);white-space:nowrap}
.cp-best .fa{color:#D9A621}
.cp-ask{margin:0 0 14px;text-align:center;font-size:16px;font-weight:800}

/* 판 */
.cp-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:390px;margin:0 auto 22px;padding:14px;border-radius:18px;background:var(--jiq-bg)}
.cp-cell{display:grid;place-items:center;aspect-ratio:1;padding:8px;border-radius:12px;background:#fff;border:1px solid var(--jiq-line)}
.cp-cell svg{display:block;width:100%;height:auto}
.cp-missing{border:2px dashed #c9c2d6;background:#fbfaf7}
.cp-missing span{font-size:clamp(30px,8vw,44px);font-weight:900;color:var(--jiq-accent)}
.cp-missing.is-correct{border:2px solid var(--jiq-ok);background:#fff}
.cp-missing.is-wrong{border:2px solid var(--jiq-accent);background:#fff}

/* 보기 */
.cp-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:520px;margin:0 auto}
.cp-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 12px;border:2px solid var(--jiq-line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .12s,transform .1s,box-shadow .12s}
.cp-option svg{display:block;width:100%;max-width:92px;height:auto}
.cp-option-no{font-size:12px;font-weight:800;color:var(--jiq-mute)}
.cp-option:hover:not(:disabled){border-color:#bfb4d2;transform:translateY(-2px);box-shadow:0 6px 16px rgba(47,39,68,.08)}
.cp-option:disabled{cursor:default}
.cp-option.is-correct{border-color:var(--jiq-ok);box-shadow:0 0 0 3px rgba(46,139,103,.15)}
.cp-option.is-correct .cp-option-no{color:var(--jiq-ok)}
.cp-option.is-wrong{border-color:var(--jiq-accent);box-shadow:0 0 0 3px rgba(232,55,13,.12);opacity:.85}

/* 정답 피드백 */
.cp-feedback{max-width:520px;margin:20px auto 0;padding:16px 18px;border-radius:16px;background:var(--jiq-bg)}
.cp-feedback strong{display:block;font-size:17px;margin-bottom:4px}
.cp-feedback.is-correct strong{color:var(--jiq-ok)}
.cp-feedback.is-wrong strong{color:var(--jiq-accent)}
.cp-feedback p{margin:0 0 12px;color:var(--jiq-sub);font-size:14px;line-height:1.65}

/* 게임 끝 */
#cpOver .jiq-score span{font-size:22px}
#cpOver .jiq-band-text{max-width:420px;margin:10px auto 0;line-height:1.6}

@media(max-width:600px){
    .cp-board{gap:7px;padding:10px}
    .cp-cell{padding:5px;border-radius:10px}
    .cp-options{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cp-option svg{max-width:84px}
    .cp-level strong{font-size:26px}
}

/* ---------- v1.1.0 : 20판 도전 · 퍼즐 위너 ---------- */
.cp-level small{font-size:14px;font-weight:800;color:var(--jiq-mute)}
.cp-left{font-size:13px;font-weight:700;color:var(--jiq-sub);white-space:nowrap}
.cp-left b{display:inline-block;min-width:28px;padding:2px 8px;border-radius:999px;background:#171D27;color:#fff;text-align:center;font-size:14px}
.cp-progress{height:6px;margin:-4px 0 16px;border-radius:999px;background:#EEEAE3;overflow:hidden}
.cp-progress-bar{height:100%;width:0;background:var(--jiq-rainbow);background-size:600px 100%;transition:width .3s ease}

.cp-win{text-align:center;padding:48px 28px 40px}
.cp-win-trophy{display:grid;place-items:center;width:96px;height:96px;margin:0 auto 18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6d6,#f7d774 55%,#d9a621);box-shadow:0 10px 30px rgba(217,166,33,.35);font-size:46px;color:#fff;animation:cp-pop .6s cubic-bezier(.2,1.6,.4,1) both}
.cp-win .cp-win-title{margin:4px 0 10px;font-size:clamp(34px,7vw,54px);letter-spacing:.02em;line-height:1.1}
.cp-win-lead{margin:0 0 24px;color:var(--jiq-sub);font-size:15px}
.cp-win-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:520px;margin:0 auto 24px}
.cp-win-stats div{padding:14px 8px;border-radius:14px;background:var(--jiq-bg)}
.cp-win-stats span{display:block;font-size:12px;font-weight:700;color:var(--jiq-mute);margin-bottom:6px}
.cp-win-stats strong{font-size:18px;font-weight:900;color:var(--jiq-ink)}
.cp-win-lives{color:#D94A4A !important;letter-spacing:2px}
.cp-win-lives .fa-heart-o{color:#d9dce2}
.cp-win-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cp-win-confetti i{position:absolute;top:-20px;width:10px;height:16px;border-radius:3px;opacity:.9;animation:cp-fall 3.2s linear infinite}
.cp-win-confetti i:nth-child(1){left:8%;background:#D94A4A;animation-delay:0s}
.cp-win-confetti i:nth-child(2){left:20%;background:#F47C5C;animation-delay:.6s}
.cp-win-confetti i:nth-child(3){left:33%;background:#D9A621;animation-delay:1.2s}
.cp-win-confetti i:nth-child(4){left:46%;background:#2E8B67;animation-delay:.3s}
.cp-win-confetti i:nth-child(5){left:58%;background:#38AFC3;animation-delay:.9s}
.cp-win-confetti i:nth-child(6){left:70%;background:#315A7D;animation-delay:1.5s}
.cp-win-confetti i:nth-child(7){left:82%;background:#7A5AA6;animation-delay:.45s}
.cp-win-confetti i:nth-child(8){left:92%;background:#D96C8A;animation-delay:1.05s}
@keyframes cp-fall{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(560px) rotate(540deg);opacity:0}}
@keyframes cp-pop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.cp-win-confetti{display:none}.cp-win-trophy{animation:none}}
@media(max-width:600px){
    .cp-win{padding:40px 18px 32px}
    .cp-win-stats{grid-template-columns:1fr}
}
