.quiz{max-width:var(--layout-measure);margin-block:var(--space-5);padding:var(--space-5);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base), border-color var(--duration-base);display:block;position:relative}.quiz:hover{box-shadow:var(--shadow-md)}.quiz[data-state=correct]{border-color:var(--success-border)}.quiz[data-state=wrong]{border-color:var(--danger-border)}.quiz.is-shaking{animation:quiz-shake .42s var(--ease-standard)}@keyframes quiz-shake{15%{transform:translate(-7px)}35%{transform:translate(6px)}55%{transform:translate(-4px)}75%{transform:translate(2px)}}.quiz__fieldset{border:0;min-width:0;padding:0}.quiz__q{gap:var(--space-1);margin-bottom:var(--space-4);font-family:var(--font-serif);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-snug);flex-direction:column;padding:0;display:flex}.quiz__num{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent-text)}.quiz__options{gap:var(--space-2);display:grid}.quiz__opt{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-page);border:1.5px solid var(--color-border-default);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);-webkit-tap-highlight-color:transparent;transition:transform var(--duration-fast) var(--ease-spring), border-color var(--duration-fast), background-color var(--duration-fast), box-shadow var(--duration-fast);display:flex;position:relative}.quiz__opt input{opacity:0;cursor:inherit;margin:0;position:absolute;inset:0}.quiz__opt:hover,.quiz__opt.is-hover{border-color:var(--accent-solid);background:var(--accent-tint);transform:translate(3px)}.quiz__opt:active,.quiz__opt.is-active{transform:scale(.985)}.quiz__opt:has(input:focus-visible),.quiz__opt.is-focus{outline:2px solid var(--accent-solid);outline-offset:2px}.quiz__opt:has(input:checked){border-color:var(--accent-solid);background:var(--accent-tint-strong)}.quiz__marker{border:2px solid var(--color-border-strong);width:1.25rem;height:1.25rem;transition:border-color var(--duration-fast), background-color var(--duration-fast);border-radius:50%;flex:none;place-items:center;display:grid}.quiz__dot{background:var(--accent-solid);width:.6rem;height:.6rem;transition:transform var(--duration-base) var(--ease-spring);border-radius:50%;transform:scale(0)}.quiz__opt:has(input:checked) .quiz__marker{border-color:var(--accent-solid)}.quiz__opt:has(input:checked) .quiz__dot{transform:scale(1)}.quiz__text{flex:1;min-width:0}.quiz__verdict{width:1.5rem;height:1.5rem;display:grid}.quiz__ico{opacity:0;transition:transform var(--duration-slow) var(--ease-spring), opacity var(--duration-fast);border-radius:50%;grid-area:1/1;place-items:center;display:grid;transform:scale(0)}.quiz__ico svg{stroke-dasharray:26;stroke-dashoffset:26px}.quiz .quiz__opt.is-correct{border-color:var(--success-solid);background:var(--success-tint-strong);transform:none}.quiz .quiz__opt.is-correct .quiz__ico--ok{background:var(--success-solid);color:var(--success-on-solid);opacity:1;transform:scale(1)}.quiz .quiz__opt.is-correct .quiz__ico--ok svg{animation:quiz-draw .42s .12s var(--ease-standard) forwards}.quiz .quiz__opt.is-wrong{border-color:var(--danger-solid);background:var(--danger-tint-strong);transform:none}.quiz .quiz__opt.is-wrong .quiz__ico--no{background:var(--danger-solid);color:var(--danger-on-solid);opacity:1;transform:scale(1)}.quiz .quiz__opt.is-wrong .quiz__ico--no svg{animation:quiz-draw .36s .12s var(--ease-standard) forwards}.quiz .quiz__opt.is-correct .quiz__marker,.quiz .quiz__opt.is-wrong .quiz__marker{visibility:hidden}@keyframes quiz-draw{to{stroke-dashoffset:0}}.quiz__fieldset:disabled .quiz__opt{cursor:default}.quiz__fieldset:disabled .quiz__opt:not(.is-correct):not(.is-wrong){opacity:.6;border-color:var(--color-border-subtle);background:var(--color-bg-page);transform:none}.quiz__bar{align-items:center;gap:var(--space-4);margin-top:var(--space-4);min-height:2rem;display:flex}.quiz__feedback{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.quiz[data-state=correct] .quiz__feedback{color:var(--success-text);animation:quiz-pop var(--duration-slow) var(--ease-spring)}.quiz[data-state=wrong] .quiz__feedback{color:var(--danger-text)}@keyframes quiz-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.quiz__explain{transition:grid-template-rows var(--duration-slow) var(--ease-standard), margin var(--duration-slow);grid-template-rows:0fr;display:grid}.quiz__explain[data-open=true]{margin-top:var(--space-4);grid-template-rows:1fr}.quiz__explain-inner{overflow:hidden}.quiz__explain-inner p{padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border-radius:var(--radius-md);border-left:3px solid var(--accent-solid);font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-relaxed)}.quiz__burst{pointer-events:none;background:var(--c,var(--success-solid));width:8px;height:8px;animation:quiz-burst .7s var(--ease-enter) forwards;z-index:2;border-radius:50%;position:absolute}@keyframes quiz-burst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(.2);opacity:0}}@media (prefers-reduced-motion:reduce){.quiz__burst{display:none}.quiz__ico svg{stroke-dashoffset:0}}.qset{max-width:var(--layout-measure);margin-block:var(--space-8);display:block}.qset__head{top:var(--layout-header-h);z-index:5;gap:var(--space-1) var(--space-4);padding:var(--space-3) 0;background:color-mix(in srgb, var(--color-bg-page) 92%, transparent);backdrop-filter:blur(8px);grid-template-columns:1fr auto;align-items:baseline;display:grid;position:sticky}.qset__title{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold)}.qset__count{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.qset__track{border-radius:var(--radius-pill);background:var(--color-bg-sunken);grid-column:1/-1;height:6px;overflow:hidden}.qset__fill{transform-origin:0;background:linear-gradient(90deg, var(--accent-solid), var(--success-solid));border-radius:inherit;width:100%;height:100%;transition:transform var(--duration-slower) var(--ease-standard);transform:scaleX(0)}.qset__summary{margin-top:var(--space-6);padding:var(--space-8) var(--space-6);text-align:center;background:var(--accent-tint);border:1px solid var(--accent-border);border-radius:var(--radius-xl);animation:qset-in var(--duration-slower) var(--ease-spring)}.qset__summary[hidden]{display:none}.qset__score{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:var(--weight-bold);color:var(--accent-text);font-variant-numeric:tabular-nums;line-height:1}.qset__score small{font-size:var(--text-xl);color:var(--color-text-muted)}.qset__msg{margin:var(--space-3) 0 var(--space-5);font-size:var(--text-md);color:var(--color-text-secondary)}@keyframes qset-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:none}}.fc{perspective:1200px;width:100%;max-width:26rem;display:block}.fc__card{cursor:pointer;border-radius:var(--radius-xl);outline-offset:4px;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-base) var(--ease-spring)}.fc__card:hover,.fc__card.is-hover{transform:translateY(-4px)}.fc__card:active,.fc__card.is-active{transition-duration:var(--duration-instant);transform:translateY(0)scale(.985)}.fc__card:focus-visible,.fc__card.is-focus{outline:2px solid var(--accent-solid);border-radius:var(--radius-xl)}.fc__inner{transform-style:preserve-3d;transition:transform var(--duration-slower) var(--ease-spring);display:grid}.fc[data-flipped=true] .fc__inner{transform:rotateY(180deg)}.fc__face{justify-content:space-between;gap:var(--space-4);min-height:13rem;padding:var(--space-5);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);background:var(--color-bg-surface);box-shadow:var(--shadow-md);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:box-shadow var(--duration-base);flex-direction:column;grid-area:1/1;display:flex}.fc__card:hover .fc__face{box-shadow:var(--shadow-lg)}.fc__face--back{background:var(--accent-tint);border-color:var(--accent-border);transform:rotateY(180deg)}.fc__tag{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent-text);align-self:flex-start}.fc__content{font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--leading-snug);text-wrap:balance;flex:1;align-content:center;display:grid}.fc__content>*+*{margin-top:var(--space-2)}.fc__hint{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);transition:color var(--duration-fast);align-self:flex-end;display:inline-flex}.fc__card:hover .fc__hint{color:var(--accent-text)}.fc__card:hover .fc__hint svg{transform:rotate(-90deg)}.fc__hint svg{transition:transform var(--duration-base) var(--ease-spring)}.fc__mark{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);transition:background-color var(--duration-fast), color var(--duration-fast), transform var(--duration-fast) var(--ease-spring);display:inline-flex}.fc__mark:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.fc__mark:active{transform:scale(.95)}.fc__mark svg{transition:transform var(--duration-base) var(--ease-spring), fill var(--duration-fast)}.fc__mark[aria-pressed=true]{color:var(--warning-text);background:var(--warning-tint)}.fc__mark[aria-pressed=true] svg{fill:var(--warning-solid);stroke:var(--warning-solid);transform:rotate(72deg)scale(1.15)}@media (prefers-reduced-motion:reduce){.fc__inner{transform:none!important}.fc__face--back{opacity:0;transition:opacity var(--duration-base);transform:none}.fc[data-flipped=true] .fc__face--back{opacity:1}.fc[data-flipped=true] .fc__face--front{opacity:0}}
