:root{color-scheme:light dark;--font-sans:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", SFMono-Regular, Menlo, Consolas, monospace;--color-bg:#fff;--color-surface:#fff;--color-text:#1b1b1b;--color-text-muted:#545454;--color-border:#d1d1d1;--color-border-strong:#8a8a8a;--color-accent:#0f6cbd;--color-accent-hover:#115ea3;--color-accent-subtle:#ebf3fc;--color-hover:#f5f5f5;--color-on-accent:#fff;--color-success:#0e700e;--color-success-subtle:#f1faf1;--color-danger:#b10e1c;--color-danger-subtle:#fdf3f4;--color-code-bg:#f0f0f0;--radius:6px;--radius-lg:10px;--shadow:0 1px 2px #0000000f, 0 2px 8px #0000000a;--ease:cubic-bezier(.25, 1, .5, 1)}@media (prefers-color-scheme:dark){:root{--color-bg:#1b1b1b;--color-surface:#1b1b1b;--color-text:#f2f2f2;--color-text-muted:#b8b8b8;--color-border:#3d3d3d;--color-border-strong:#8a8a8a;--color-accent:#479ef5;--color-accent-hover:#62abf5;--color-accent-subtle:#0e2a47;--color-hover:#262626;--color-on-accent:#0b0b0b;--color-success:#6ccb5f;--color-success-subtle:#0f2913;--color-danger:#f1868f;--color-danger-subtle:#3b1619;--color-code-bg:#2e2e2e;--shadow:0 1px 2px #0006}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);flex-direction:column;margin:0;font-size:1rem;line-height:1.55;display:flex}h1,h2,h3{text-wrap:balance;margin:0 0 .5rem;line-height:1.25}h1{letter-spacing:-.01em;font-size:clamp(1.75rem,1.4rem + 1.5vw,2.25rem);font-weight:650}h2{font-size:1.25rem;font-weight:600}p{text-wrap:pretty;margin:0 0 1rem}a{color:var(--color-accent);text-underline-offset:.15em}a:hover{color:var(--color-accent-hover)}code{font-family:var(--font-mono);background:var(--color-code-bg);border-radius:4px;padding:.1em .35em;font-size:.9em}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}main:focus{outline:none}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{width:100%;max-width:46rem;margin-inline:auto;padding-inline:1.25rem}.skip-link{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);z-index:10;padding:.5rem .75rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:.75rem}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-hover)}.site-header .container{align-items:center;min-height:4.5rem;padding-block:.75rem;display:flex}.brand{max-width:100%;color:var(--color-text);align-items:center;gap:1rem;text-decoration:none;display:inline-flex}.brand-mark{flex-shrink:0;align-items:center;gap:.5rem;display:inline-flex}.brand-mascot{color:var(--color-text-muted);flex-shrink:0;display:block}.brand-name{letter-spacing:-.04em;font-size:1.5rem;font-weight:700;line-height:1.2}.brand-description{border-left:1px solid var(--color-border);min-width:0;color:var(--color-text-muted);padding-left:1rem;font-size:.875rem;font-weight:500}.brand:hover{color:var(--color-text)}main.container{flex:1;padding-block:clamp(2rem,5vw,3.5rem)}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);padding-block:1.25rem;font-size:.875rem}.lead{color:var(--color-text-muted);max-width:38rem;font-size:1.125rem}.muted{color:var(--color-text-muted)}.notice{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:1rem 1.25rem}.button{border-radius:var(--radius);min-height:2.5rem;font:inherit;cursor:pointer;transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button-primary{background:var(--color-accent);color:var(--color-on-accent)}.button-primary:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-on-accent)}.button-secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.button-secondary:hover:not(:disabled){border-color:var(--color-text);color:var(--color-text)}.button-link{color:var(--color-accent);text-underline-offset:.15em;background:0 0;padding-inline:.25rem;font-weight:500;text-decoration:underline}.button:disabled{cursor:not-allowed;opacity:.5}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(1.25rem,4vw,2rem)}.intro{margin-bottom:2.5rem}.intro .lead{margin-bottom:0}.today{gap:1.25rem;margin-bottom:2.5rem;display:grid}.today-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.today-head h2{margin:0}.progress{gap:.5rem;display:grid}.progress-steps{grid-template-columns:repeat(var(--steps,3), 1fr);gap:.375rem;margin:0;padding:0;list-style:none;display:grid}.progress-steps li{background:var(--color-border);height:.375rem;transition:background-color .3s var(--ease);border-radius:999px}.progress-steps li[data-state=correct]{background:var(--color-success)}.progress-steps li[data-state=wrong]{background:var(--color-danger)}.progress-steps li[data-state=current]{background:var(--color-accent)}.stats-section h2{margin-bottom:1rem}.stats{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 1rem;display:grid}.stats>div{padding:1rem 1.25rem}.stats>div+div{border-left:1px solid var(--color-border)}.stats dt{color:var(--color-text-muted);font-size:.875rem}.stats dd{font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:1.5rem;font-weight:600}.stats-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;font-size:.875rem;display:flex}.stats-footer p{margin:0}@media (width<=34rem){.stats{grid-template-columns:1fr}.stats>div{justify-content:space-between;align-items:baseline;padding:.75rem 1rem;display:flex}.stats>div+div{border-left:0;border-top:1px solid var(--color-border)}.stats dd{font-size:1.25rem}}.quiz-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1.25rem;font-size:.875rem;display:flex}.quiz-head .progress{flex:1;max-width:14rem}.quiz-title{margin-bottom:2rem}.question{margin-bottom:2.25rem;scroll-margin-top:1.5rem}.question fieldset{border:0;min-width:0;margin:0;padding:0}.question legend{margin-bottom:.25rem;padding:0;font-size:1.0625rem;font-weight:600;line-height:1.5}.question-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:.25rem .75rem;margin:0 0 .25rem;font-size:.8125rem;display:flex}.question-meta span+span:before{content:"·";margin-right:.75rem}.question-hint{color:var(--color-text-muted);margin-bottom:.75rem;font-size:.875rem}.options{gap:.25rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.option{cursor:pointer;transition:border-color .15s var(--ease), background-color .15s var(--ease), color .15s var(--ease);border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:1rem;padding:.5rem 1rem;display:flex}.option:hover{background:var(--color-hover)}.option input{appearance:none;border:1px solid var(--color-border-strong);background:var(--color-surface);width:1.25rem;height:1.25rem;cursor:inherit;transition:border-color .15s var(--ease);border-radius:50%;flex:none;place-content:center;margin:.125rem 0 0;display:grid}.option input[type=checkbox]{border-radius:4px}.option input:before{content:"";background:var(--color-accent);width:.625rem;height:.625rem;transition:transform .15s var(--ease);border-radius:50%;transform:scale(0)}.option input[type=checkbox]:before{background:var(--color-on-accent);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 22%,86% 8%,38% 72%);border-radius:0;width:.7rem;height:.7rem}.option input:checked{border-color:var(--color-accent)}.option input[type=checkbox]:checked{background:var(--color-accent)}.option input:checked:before{transform:scale(1)}.option:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:1px}.option input:focus-visible{outline:none}.option-text{flex:1}.option-status{white-space:nowrap;flex:none;align-items:center;gap:.375rem;font-weight:600;display:none}.option-status svg{width:1.125rem;height:1.125rem}.question[data-checked] .option{cursor:default;color:var(--color-text-muted)}.question[data-checked] .option:hover{background:0 0}.question[data-checked] .option input{opacity:.6}.option[data-result] .option-status{display:inline-flex}.question[data-checked] .option[data-result=correct]{border-color:var(--color-success);background:var(--color-success-subtle)}.question[data-checked] .option[data-result=wrong]{border-color:var(--color-danger);background:var(--color-danger-subtle)}.question[data-checked] .option[data-result=missed]{border-color:var(--color-success);border-style:dashed}.option[data-result=correct] .option-status,.option[data-result=missed] .option-status{color:var(--color-success)}.option[data-result=wrong] .option-status{color:var(--color-danger)}@media (width<=34rem){.option{flex-wrap:wrap;gap:.25rem .75rem}.option-status{flex-basis:100%;padding-left:2rem;font-size:.875rem}}.feedback{margin:0 0 1.25rem}.feedback-inner{animation:reveal .25s var(--ease);padding:.25rem 0 0 1rem}.feedback-inner:focus{outline:none}.feedback-title{align-items:center;gap:.5rem;margin:0 0 .375rem;font-weight:600;display:flex}.feedback-title svg{flex:none;width:1.125rem;height:1.125rem}.feedback[data-result=correct] .feedback-title{color:var(--color-success)}.feedback[data-result=wrong] .feedback-title{color:var(--color-danger)}.feedback p{margin-bottom:.5rem}.question-actions{flex-wrap:wrap;gap:.75rem;display:flex}.question-actions:not(:has(button:not([hidden]))){display:none}.summary{border-top:1px solid var(--color-border);padding-top:1.75rem}.summary:focus{outline:none}.summary-score{font-variant-numeric:tabular-nums;margin:.5rem 0 1rem;font-size:clamp(2.5rem,2rem + 2vw,3.25rem);font-weight:650;line-height:1}.summary-list{border-top:1px solid var(--color-border);gap:0;margin:1.5rem 0;padding:0;list-style:none;display:grid}.summary-list li{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:.75rem;padding:.875rem 0;display:flex}.summary-list svg{flex:none;width:1.25rem;height:1.25rem;margin-top:.15rem}.summary-list .is-correct svg{color:var(--color-success)}.summary-list .is-wrong svg{color:var(--color-danger)}.summary-list small{color:var(--color-text-muted);display:block}.view{animation:reveal .25s var(--ease)}@keyframes reveal{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
