/* Sora LMS Pro Pack: interactive quiz player. */
.sora-iq{
	--iq-primary:var(--tutor-color-primary,#3E64DE);
	--iq-text:var(--tutor-text-primary,#212327);
	--iq-body:var(--tutor-text-secondary,#41454F);
	--iq-muted:var(--tutor-text-subdued,#5B616F);
	--iq-border:var(--tutor-border-idle,#E3E5EA);
	--iq-surface:var(--tutor-surface-base,#fff);
	--iq-soft:var(--tutor-surface-l1,#F7F8FA);
	--iq-green:#24A148;--iq-green-bg:#E8F7EE;--iq-red:#D92D20;--iq-red-bg:#FDECEA;--iq-amber:#B76E00;--iq-amber-bg:#FFF4E5;
	max-width:760px;margin:0 auto;padding:24px 16px 48px;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--iq-body);
}
.sora-iq [hidden]{display:none!important}
.sora-iq-screen{background:var(--iq-surface);border:1px solid var(--iq-border);border-radius:16px;padding:32px;position:relative;overflow:hidden}
.sora-iq-intro,.sora-iq-result{text-align:center}
.sora-iq-hero{width:96px;height:96px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;color:var(--iq-primary);
	background:radial-gradient(circle at 30% 30%,rgba(62,100,222,.18),rgba(62,100,222,.06));animation:sora-iq-bob 3s ease-in-out infinite}
.sora-iq-kicker{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--iq-primary);margin-bottom:6px}
.sora-iq-title{font-size:24px;line-height:1.3;font-weight:600;color:var(--iq-text);margin:0 0 8px}
.sora-iq-desc{color:var(--iq-muted);font-size:15px;line-height:1.6;max-width:560px;margin:0 auto 4px}
.sora-iq-desc p{margin:0 0 8px}
.sora-iq-chips{list-style:none;margin:16px 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.sora-iq-chips li{padding:6px 12px;border-radius:999px;background:var(--iq-soft);border:1px solid var(--iq-border);font-size:13px;font-weight:500;color:var(--iq-body)}
.sora-iq-chips li.is-best{background:var(--iq-green-bg);border-color:transparent;color:#1B7F45}
.sora-iq-note{color:var(--iq-muted);font-size:14px;line-height:1.6;margin:8px auto 0;max-width:520px}
.sora-iq-history{margin-top:32px;text-align:left}

/* Buttons (Tutor look) */
.sora-iq-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 20px;border-radius:6px;border:1px solid transparent;
	font:600 14px/1.4 Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}
.sora-iq-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(62,100,222,.35)}
.sora-iq-btn:active{transform:translateY(1px)}
.sora-iq-btn:disabled{opacity:.6;cursor:not-allowed}
.sora-iq-btn--primary{background:var(--iq-primary);color:#fff}
.sora-iq-btn--primary:hover{background:#3155C8;color:#fff}
.sora-iq-btn--outline{background:var(--iq-surface);border-color:#C3C5CB;color:var(--iq-text)}
.sora-iq-btn--outline:hover{border-color:var(--iq-primary);color:var(--iq-primary)}
.sora-iq-btn--ghost{background:transparent;color:var(--iq-muted)}
.sora-iq-btn--ghost:hover{color:var(--iq-text);background:var(--iq-soft)}
.sora-iq-btn--lg{min-height:48px;padding:12px 32px;font-size:16px}

/* Play */
.sora-iq-play{padding:0}
.sora-iq-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:20px 32px 0}
.sora-iq-count{font-size:14px;color:var(--iq-muted)}
.sora-iq-count strong{color:var(--iq-text)}
.sora-iq-score{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#FFF8E1;color:#8A6100;font-weight:600;font-size:13px}
.sora-iq-score svg{color:#F5B700}
.sora-iq-progress{flex:1 0 100%;position:relative;height:10px;border-radius:999px;background:var(--iq-soft);border:1px solid var(--iq-border);overflow:hidden}
.sora-iq-progress__fill{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--iq-primary),#6C8CF0);border-radius:999px;transition:width .45s cubic-bezier(.2,.8,.2,1)}
.sora-iq-dots{position:absolute;inset:0;display:flex;margin:0;padding:0;list-style:none}
.sora-iq-dots li{flex:1;border-right:2px solid var(--iq-surface)}
.sora-iq-dots li:last-child{border-right:0}
.sora-iq-dots li.is-wrong{background:rgba(217,45,32,.75)}
.sora-iq-dots li.is-skipped{background:rgba(91,97,111,.25)}
.sora-iq-dots li.is-review{background:rgba(245,183,0,.7)}

.sora-iq-deck{padding:24px 32px 8px;margin:0}
.sora-iq-card{animation:none}
.sora-iq-card.is-entering{animation:sora-iq-in .35s cubic-bezier(.2,.8,.2,1)}
.sora-iq-card.is-shake{animation:sora-iq-shake .4s}
.sora-iq-card .tutor-quiz-question-wrapper{display:block!important}
.sora-iq-card.is-locked .tutor-quiz-question-options,.sora-iq-card.is-locked [data-option="draggable"],.sora-iq-card.is-locked .tutor-quiz-question-option-drop-zone{pointer-events:none}
.sora-iq-card.is-locked label.tutor-quiz-question-option{opacity:.75}
.sora-iq-card label.sora-iq-right{opacity:1!important;border-color:var(--iq-green)!important;background:var(--iq-green-bg)!important;color:#145C33!important}
.sora-iq-card label.sora-iq-wrong{opacity:1!important;border-color:var(--iq-red)!important;background:var(--iq-red-bg)!important;color:#8C1D14!important}
.sora-iq-card.is-correct .tutor-quiz-question-option-drop-zone,.sora-iq-card.is-correct input[type="text"]{border-color:var(--iq-green)!important}
.sora-iq-card.is-wrong .tutor-quiz-question-option-drop-zone,.sora-iq-card.is-wrong input[type="text"]{border-color:var(--iq-red)!important}
.sora-iq-unsupported{padding:16px;border-radius:8px;background:var(--iq-amber-bg);color:var(--iq-amber)}

.sora-iq-feedback{display:flex;align-items:flex-start;gap:12px;margin:8px 32px 0;padding:14px 16px;border-radius:12px;animation:sora-iq-pop .3s cubic-bezier(.2,.8,.2,1)}
.sora-iq-feedback__icon{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700}
.sora-iq-feedback__body{flex:1;min-width:0}
.sora-iq-feedback__title{display:block;font-size:16px;color:inherit}
.sora-iq-feedback__text{font-size:14px;line-height:1.5;margin-top:2px}
.sora-iq-feedback__text ol,.sora-iq-feedback__text ul{margin:6px 0 0;padding-left:20px}
.sora-iq-feedback__pts{font-weight:700;font-size:14px;align-self:center}
.sora-iq-rightis{font-weight:600}
.sora-iq-pairs{list-style:none;padding:0!important;display:flex;flex-direction:column;gap:4px}
.sora-iq-pairs li{display:flex;align-items:center;gap:8px}
.sora-iq-pairs img{width:40px;height:40px;object-fit:cover;border-radius:6px}
.sora-iq-feedback.is-correct{background:var(--iq-green-bg);color:#145C33}
.sora-iq-feedback.is-correct .sora-iq-feedback__icon{background:var(--iq-green)}
.sora-iq-feedback.is-correct .sora-iq-feedback__icon::before{content:"";width:12px;height:7px;border:solid #fff;border-width:0 0 3px 3px;transform:translateY(-2px) rotate(-45deg)}
.sora-iq-feedback.is-wrong{background:var(--iq-red-bg);color:#8C1D14}
.sora-iq-feedback.is-wrong .sora-iq-feedback__icon{background:var(--iq-red)}
.sora-iq-feedback.is-wrong .sora-iq-feedback__icon::before{content:"\00d7";font-size:22px;line-height:1}
.sora-iq-feedback.is-review{background:var(--iq-amber-bg);color:#7A4A00}
.sora-iq-feedback.is-review .sora-iq-feedback__icon{background:#F5B700}
.sora-iq-feedback.is-review .sora-iq-feedback__icon::before{content:"\2026";font-size:18px;line-height:1;transform:translateY(-4px)}

.sora-iq-foot{display:flex;align-items:center;gap:12px;padding:20px 32px 24px;border-top:1px solid var(--iq-border);margin-top:20px}
.sora-iq-hint{flex:1;font-size:13px;color:var(--iq-red);text-align:right}
.sora-iq-foot [data-action="check"]{min-width:160px}

/* Result */
.sora-iq-result{padding:40px 32px}
.sora-iq-ring{--p:0;width:148px;height:148px;margin:0 auto 12px;position:relative}
.sora-iq-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.sora-iq-ring circle{fill:none;stroke-width:10}
.sora-iq-ring__track{stroke:var(--iq-soft)}
.sora-iq-ring__bar{stroke:var(--iq-primary);stroke-linecap:round;stroke-dasharray:326.73;stroke-dashoffset:calc(326.73 - 326.73 * var(--p) / 100)}
.sora-iq-ring__value{position:absolute;inset:0;display:grid;place-items:center;font-size:20px;color:var(--iq-muted)}
.sora-iq-ring__value strong{font-size:40px;color:var(--iq-text);font-weight:700;display:inline}
.sora-iq-ring__value{display:flex;align-items:center;justify-content:center;gap:2px}
.sora-iq-stars{display:flex;justify-content:center;gap:6px;margin-bottom:12px}
.sora-iq-stars svg{fill:var(--iq-border)}
.sora-iq-stars svg.is-on{fill:#F5B700;animation:sora-iq-star .5s cubic-bezier(.2,1.6,.4,1) both}
.sora-iq-summary{font-size:15px;color:var(--iq-muted);margin:0 0 12px}
.sora-iq-pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600}
.sora-iq-pill.is-pass{background:var(--iq-green-bg);color:#1B7F45}
.sora-iq-pill.is-fail{background:var(--iq-soft);color:var(--iq-body)}
.sora-iq-pill.is-review{background:var(--iq-amber-bg);color:#7A4A00}
.sora-iq-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}
.sora-iq-confetti{position:absolute;inset:0;pointer-events:none}
.sora-iq-confetti i{position:absolute;top:-12px;width:8px;height:12px;border-radius:2px;animation:sora-iq-fall 2.6s ease-in forwards}


@keyframes sora-iq-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes sora-iq-pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes sora-iq-shake{0%,100%{transform:none}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
@keyframes sora-iq-star{from{transform:scale(0) rotate(-30deg)}to{transform:none}}
@keyframes sora-iq-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes sora-iq-fall{to{transform:translateY(520px) rotate(540deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.sora-iq *{animation:none!important;transition:none!important}}

@media (max-width:600px){
	.sora-iq{padding:12px 0 32px}
	.sora-iq-screen{border-radius:12px;padding:24px 16px}
	.sora-iq-play{padding:0}
	.sora-iq-bar,.sora-iq-deck{padding-left:16px;padding-right:16px}
	.sora-iq-feedback{margin:8px 16px 0}
	.sora-iq-foot{padding:16px;flex-wrap:wrap}
	.sora-iq-hint{order:3;flex-basis:100%;text-align:left}
	.sora-iq-foot [data-action="check"]{flex:1}
	.sora-iq-title{font-size:20px}
	.sora-iq-actions .sora-iq-btn{flex:1 1 100%}
}
