@keyframes qr-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes qr-draw{0%{stroke-dashoffset:var(--qr-c)}}@keyframes qr-grow{0%{transform:scaleX(0)}}.qr-wrap,.ms{--qr-right:var(--color-emerald-500);--qr-wrong:var(--color-rose-500);--qr-none:hsl(var(--muted-foreground) / .35)}.qr-hero{--qr-a:var(--color-emerald-400);--qr-b:var(--color-teal-600);isolation:isolate;border:1px solid color-mix(in oklab, var(--qr-b) 30%, hsl(var(--border)));background:radial-gradient(120% 140% at 0% 0%, color-mix(in oklab, var(--qr-a) 14%, transparent), transparent 60%), hsl(var(--card));box-shadow:0 26px 60px -40px color-mix(in oklab, var(--qr-b) 80%, transparent);border-radius:26px;flex-wrap:wrap;align-items:center;gap:18px 26px;padding:22px;animation:.5s cubic-bezier(.22,1,.36,1) both qr-rise;display:flex;position:relative;overflow:hidden}.qr-hero[data-verdict=mid]{--qr-a:var(--color-amber-400);--qr-b:var(--color-orange-500)}.qr-hero[data-verdict=low]{--qr-a:var(--color-rose-400);--qr-b:var(--color-violet-600)}@media (min-width:640px){.qr-hero{padding:26px 30px}}.qr-glow{z-index:-1;background:radial-gradient(280px 280px at calc(100% - 70px) 50px, color-mix(in oklab, var(--qr-a) 30%, transparent), transparent 70%);pointer-events:none;position:absolute;inset:0}.qr-ring{flex:none;place-items:center;width:132px;height:132px;display:grid;position:relative}.qr-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.qr-ring circle{fill:none;stroke-width:11px}.qr-ring-bg{stroke:hsl(var(--muted))}.qr-ring-fg{stroke-linecap:round;stroke-dasharray:var(--qr-c);stroke-dashoffset:var(--qr-to);animation:1.1s cubic-bezier(.22,1,.36,1) .15s both qr-draw}.qr-ring-n{justify-items:center;line-height:1.05;display:grid}.qr-ring-n b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:900}.qr-ring-n small{color:hsl(var(--muted-foreground));font-size:11px;font-weight:700}.qr-hero-text{flex:260px;gap:4px;min-width:0;display:grid}.qr-badge{background:linear-gradient(90deg, var(--qr-a), var(--qr-b));color:#fff;width:max-content;box-shadow:0 8px 18px -10px var(--qr-b);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:800;display:inline-flex}.qr-badge>svg{width:14px;height:14px}.qr-score-label{letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin-top:6px;font-size:12px;font-weight:800}.qr-score{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(30px,5vw,40px);font-weight:900;line-height:1.05}.qr-note{color:hsl(var(--muted-foreground));margin-top:4px;font-size:13px;line-height:1.55}.qr-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (min-width:768px){.qr-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.qr-stat{border:1px solid hsl(var(--border));background:hsl(var(--card));animation:qr-rise .45s cubic-bezier(.22, 1, .36, 1) calc(.12s + var(--i,0) * 70ms) both;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;transition:transform .2s,box-shadow .2s;display:flex}.qr-stat:hover{transform:translateY(-2px);box-shadow:0 14px 28px -20px #0f172a73}.qr-stat>span:last-child{line-height:1.15;display:grid}.qr-stat b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:900}.qr-stat small{color:hsl(var(--muted-foreground));font-size:12px;font-weight:600}.qr-split,.qr-ch-bar,.ms-split{background:hsl(var(--muted));border-radius:999px;display:flex;overflow:hidden}.qr-split{height:12px}.qr-split>i,.qr-ch-bar>i,.ms-split>i{transform-origin:0;flex-basis:0;animation:.8s cubic-bezier(.22,1,.36,1) .25s both qr-grow;display:block}.qr-split>i[data-k=right],.qr-ch-bar>i[data-k=right],.ms-split>i[data-k=right]{background:var(--qr-right)}.qr-split>i[data-k=wrong],.qr-ch-bar>i[data-k=wrong],.ms-split>i[data-k=wrong]{background:var(--qr-wrong)}.qr-split>i[data-k=none],.qr-ch-bar>i[data-k=none],.ms-split>i[data-k=none]{background:var(--qr-none)}.qr-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:20px;padding:16px 18px}.qr-h{font-size:16px;font-weight:900}.qr-chapters{gap:12px;margin-top:12px;display:grid}.qr-chapters>li{animation:qr-rise .4s ease-out calc(var(--i,0) * 60ms) both;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;display:grid}.qr-ch-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.qr-ch-name,.qr-ch-bar,.qr-ch-n{grid-column:1}.qr-ch-marks{font-variant-numeric:tabular-nums;grid-area:1/2/span 3;align-self:center;font-size:18px;font-weight:900}.qr-ch-bar{height:8px}.qr-ch-n{color:hsl(var(--muted-foreground));font-size:12px}.qr-review-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.qr-filters{flex-wrap:wrap;gap:6px;display:flex}.qr-filters button{border:1px solid hsl(var(--border));background:hsl(var(--card));min-height:40px;color:hsl(var(--muted-foreground));border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.qr-filters button>span{background:hsl(var(--muted));font-variant-numeric:tabular-nums;border-radius:999px;padding:0 7px;font-size:11.5px}.qr-filters button:hover:not(:disabled):not([aria-pressed=true]){border-color:hsl(var(--primary) / .45);color:hsl(var(--foreground))}.qr-filters button:disabled{cursor:not-allowed;opacity:.45}.qr-filters button[aria-pressed=true]{background:hsl(var(--foreground));color:hsl(var(--background));border-color:#0000}.qr-filters button[aria-pressed=true][data-k=right]{background:var(--color-emerald-600);color:#fff}.qr-filters button[aria-pressed=true][data-k=wrong]{background:var(--color-rose-600);color:#fff}.qr-filters button[aria-pressed=true]>span{background:#fff3}.qr-filters button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.pk-rvq{transition:border-color .2s,box-shadow .2s}.pk-rvq:hover{box-shadow:0 10px 24px -20px #0f172a80}.pk-rvq[data-result=right]{box-shadow:inset 3px 0 0 var(--qr-right,#10b981)}.pk-rvq[data-result=wrong]{box-shadow:inset 3px 0 0 var(--qr-wrong,#f43f5e)}.qr-actions{flex-wrap:wrap;gap:8px;display:flex}@media (prefers-reduced-motion:reduce){.qr-hero,.qr-stat,.qr-chapters>li,.qr-ring-fg,.qr-split>i,.qr-ch-bar>i,.ms-split>i{animation:none}.qr-stat,.qr-filters button,.pk-rvq{transition:none}.qr-stat:hover{transform:none}}
