:root{--background:#f7f7f5;--surface:#fff;--text:#171717;--text-muted:#666;--border:#deded8;--accent:#244f73;--surface-alt:#f0f2f2;--success-border:#2f7d4a;--success-surface:#edf7f0;--danger-border:#b84a4a;--danger-surface:#fbefef;--danger-text:#8f3030;--content-width:1120px;--reading-width:720px;color:var(--text);background:var(--background);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--background:#171a1c;--surface:#22272a;--text:#f1f3f2;--text-muted:#b5bcbd;--border:#3c4548;--accent:#83b6d8;--surface-alt:#2b3336;--success-border:#65b783;--success-surface:#1f3929;--danger-border:#e28383;--danger-surface:#452629;--danger-text:#f3aaaa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-width:320px;color:var(--text);margin:0;line-height:1.6}button,select{font:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.site-header{border-bottom:1px solid var(--border)}.site-header-inner{width:min(calc(100% - 2rem), var(--content-width));justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;margin-inline:auto;display:flex}.site-brand{font-weight:700;text-decoration:none}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:.5rem;padding:.4rem .65rem}.theme-toggle:hover{border-color:var(--accent)}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}img{max-width:100%;height:auto}.container{width:min(calc(100% - 2rem), var(--content-width));margin-inline:auto}@media (width>=768px){.container{width:min(calc(100% - 4rem), var(--content-width))}}.answers{flex-direction:column;gap:.75rem;display:flex}.answer-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:.75rem;align-items:flex-start;gap:.75rem;width:100%;padding:1rem;display:flex}.answer-option:hover{border-color:var(--accent)}.answer-option input{margin-top:.2rem}.answer-option span{flex:1}.answer-option:has(input:checked):not([data-result]){border-color:var(--accent);background:var(--surface-alt)}.answer-option[data-result=correct]{border-color:var(--success-border);background:var(--success-surface)}.answer-option[data-result=incorrect]{border-color:var(--danger-border);background:var(--danger-surface)}.lesson-card{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;padding:1.25rem;text-decoration:none;display:block}.lesson-card:hover{border-color:var(--accent)}.lesson-card h2{margin-top:0;margin-bottom:.5rem}.lesson-card p{color:var(--text-muted);margin:0 0 1rem}.lesson-card span{font-weight:600}.lesson-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=700px){.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.new-session-button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:.5rem;padding:.65rem 1rem;font-weight:600;text-decoration:none;display:inline-block}.new-session-button:hover{opacity:.9}.practice-session-length{flex-wrap:wrap;align-items:center;gap:.5rem;margin:-.5rem 0 1.5rem;display:flex}.practice-session-length label{font-weight:600}.practice-session-length select{border:1px solid var(--border);background:var(--surface);min-width:5rem;color:var(--text);font:inherit;border-radius:.5rem;padding:.5rem .65rem}.practice-links{flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:1.5rem;display:flex}.practice-meta{border-bottom:1px solid var(--border);gap:.35rem;margin:1.75rem 0 1.5rem;padding:.875rem 0;display:grid}.practice-meta p{flex-wrap:wrap;align-items:baseline;gap:.35rem;margin:0;display:flex}.practice-actions{margin-top:1.5rem}.practice-complete{gap:.75rem;margin-top:1.5rem;display:grid}.practice-complete[hidden]{display:none}.practice-complete h2,.practice-complete p{margin:0}.practice-complete .new-session-button{justify-self:start;margin-top:.25rem}.progress-summary{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;padding:1rem}.progress-stats{gap:1rem;margin:0;display:grid}.progress-stats div{justify-content:space-between;gap:1rem;display:flex}.progress-stats dt{color:var(--text-muted)}.progress-stats dd{margin:0;font-weight:700}.progress-list{gap:.5rem;display:grid}.progress-item{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.75rem 1rem;display:flex}.progress-item span{color:var(--text-muted)}.progress-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.reset-progress-button,.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:.5rem;padding:.65rem 1rem;font-weight:600}.reset-progress-button{border-color:var(--danger-border);color:var(--danger-text)}.reset-progress-button:hover{background:var(--danger-surface)}.secondary-button:hover{border-color:var(--accent)}.reset-confirmation{border:1px solid var(--danger-border);background:var(--danger-surface);border-radius:.75rem;margin-top:1.5rem;padding:1rem}.reset-confirmation[hidden]{display:none}.reset-confirmation h2,.reset-confirmation p{margin-top:0}@media (width>=700px){.progress-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-stats div{display:block}}.practice-mode-selector{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.5rem;margin:1.5rem 0;padding:0;display:grid}.practice-mode-button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:.75rem .5rem;font-size:.9rem;font-weight:500;transition:all .15s ease-in-out;display:flex}.practice-mode-button:hover{border-color:var(--accent);background:var(--surface-alt)}.practice-mode-button.active{border-color:var(--accent);background:var(--accent);color:#fff}.mode-icon{font-size:1.5rem;display:block}.mode-label{text-align:center;font-size:.85rem;line-height:1.2;display:block}#practice-mode-info{border-left:3px solid var(--accent);background:var(--surface-alt);border-radius:.25rem;margin:1rem 0;padding:.75rem 1rem}#practice-mode-info p{color:var(--text-muted);margin:0;font-size:.95rem}.practice-empty-state{border:2px dashed var(--border);background:var(--surface);text-align:center;border-radius:.75rem;gap:1rem;margin:2rem 0;padding:1.5rem;display:grid}.practice-empty-state[hidden]{display:none}.practice-empty-state p{color:var(--text-muted);margin:0}.practice-empty-state .new-session-button{justify-self:center}
