:root{--bg:#f4f6f9;--surface:#fff;--text:#1a1f2e;--text-muted:#5a6478;--border:#dde2ea;--accent:#005a9c;--accent-soft:#e8f1f8;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:920px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.app-header{margin-bottom:2rem}.app-header h1{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.75rem;font-weight:700}.app-header p{color:var(--text-muted);margin:0;font-size:.95rem}.spec-link{color:var(--accent);align-items:center;gap:.35rem;margin-top:.75rem;font-size:.875rem;display:inline-flex}.spec-link:hover{text-decoration:underline}nav.tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;display:flex}nav.tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s}nav.tabs button:hover{border-color:var(--accent)}nav.tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;padding:1.25rem 1.35rem}.card h2{margin:0 0 .75rem;font-size:1.1rem}.card h3{margin:0 0 .5rem;font-size:1rem}.card p,.card li{color:var(--text-muted);font-size:.925rem;line-height:1.55}.card ul{margin:.5rem 0 0;padding-left:1.25rem}.card li+li{margin-top:.35rem}.steps-overview{gap:.5rem;margin:1rem 0;display:grid}.step-pill{background:var(--bg);border-radius:8px;align-items:baseline;gap:.75rem;padding:.65rem .85rem;font-size:.9rem;display:flex}.step-pill .num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;display:grid}.facts{margin-top:1rem}.facts li{padding-left:1.1rem;list-style:none;position:relative}.facts li:before{content:"→";color:var(--accent);position:absolute;left:0}.progress-bar-wrap{margin-bottom:1.5rem}.progress-label{color:var(--text-muted);justify-content:space-between;margin-bottom:.35rem;font-size:.8rem;display:flex}.progress-bar{background:var(--border);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.coach-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.coach-filters button{border:1px solid var(--border);background:var(--bg);cursor:pointer;color:var(--text-muted);border-radius:6px;padding:.35rem .75rem;font-size:.8rem}.coach-filters button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.lesson-card{cursor:pointer;transition:border-color .15s}.lesson-card:hover,.lesson-card.expanded{border-color:var(--accent)}.lesson-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.lesson-header h3{margin:0;font-size:.95rem;font-weight:600}.lesson-meta{color:var(--accent);white-space:nowrap;font-size:.75rem;font-weight:500}.lesson-badge{background:var(--accent-soft);color:var(--accent);border-radius:4px;margin-bottom:.35rem;padding:.15rem .45rem;font-size:.7rem;display:inline-block}.lesson-body{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.lesson-body .tip{color:#5c4a00;background:#fef9e7;border-left:3px solid #d4a017;border-radius:0 6px 6px 0;margin-top:.85rem;padding:.65rem .85rem;font-size:.85rem}.lesson-actions{gap:.5rem;margin-top:1rem;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;padding:.45rem .9rem;font-size:.85rem;font-weight:500;transition:opacity .15s}.btn:hover{opacity:.9}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--bg);border:1px solid var(--border);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.done-badge{color:#15803d;font-size:.75rem;font-weight:600}.quiz-setup{flex-direction:column;gap:1rem;display:flex}.quiz-setup label{font-size:.875rem;font-weight:500}.quiz-setup select{border:1px solid var(--border);background:var(--surface);border-radius:6px;max-width:280px;padding:.5rem .75rem;font-size:.9rem}.quiz-mode-fieldset{border:1px solid var(--border);border-radius:8px;margin:0;padding:.85rem 1rem}.quiz-mode-fieldset legend{padding:0 .35rem;font-size:.875rem;font-weight:600}.quiz-mode-option{cursor:pointer;align-items:flex-start;gap:.5rem;margin-top:.5rem;font-size:.9rem;font-weight:400;display:flex}.quiz-mode-option.disabled{opacity:.55;cursor:not-allowed}.quiz-mode-option input{margin-top:.2rem}.quiz-empty{color:var(--text-muted);font-size:.9rem}.review-badge{color:#92400e;font-weight:600}.quiz-progress{color:var(--text-muted);margin-bottom:.75rem;font-size:.8rem}.quiz-question{margin-bottom:1rem;font-size:1.05rem;font-weight:600;line-height:1.45}.quiz-options{flex-direction:column;gap:.5rem;display:flex}.quiz-option{border:1px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;border-radius:8px;align-items:flex-start;gap:.65rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.4;transition:border-color .15s,background .15s;display:flex}.quiz-option:hover:not(:disabled){border-color:var(--accent)}.quiz-option.selected{border-color:var(--accent);background:var(--accent-soft)}.quiz-option.correct{background:#f0fdf4;border-color:#15803d}.quiz-option.incorrect{background:#fef2f2;border-color:#b91c1c}.quiz-option:disabled{cursor:default}.quiz-feedback{border-radius:8px;margin-top:1rem;padding:.85rem 1rem;font-size:.9rem;line-height:1.5}.quiz-feedback.correct{color:#14532d;background:#f0fdf4;border:1px solid #86efac}.quiz-feedback.incorrect{color:#7f1d1d;background:#fef2f2;border:1px solid #fca5a5}.quiz-actions{gap:.5rem;margin-top:1.25rem;display:flex}.quiz-results{text-align:center;padding:1.5rem 0}.quiz-results .score{color:var(--accent);font-size:3rem;font-weight:700;line-height:1}.quiz-results .score-label{color:var(--text-muted);margin:.5rem 0 1.5rem;font-size:1rem}.score-ring{width:120px;height:120px;margin:0 auto 1rem}@media (width<=600px){.app-header h1{font-size:1.45rem}.lesson-header{flex-direction:column;gap:.35rem}}
