:root{--color-primary:#1f4e79;--color-primary-dark:#163a5a;--color-primary-soft:#e8f0f8;--color-text:#1d2733;--color-muted:#5b6876;--color-bg:#f5f7fa;--color-surface:#fff;--color-border:#d9e0e7;--color-correct:#1e7b45;--color-correct-soft:#e5f4ea;--color-wrong:#b42d2d;--color-wrong-soft:#fbeaea;--color-warn-soft:#fff6e0;--radius:12px;--shadow:0 1px 3px #10203014;color:var(--color-text);background:var(--color-bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);margin:0}h1,h2,h3{margin:0 0 .5em;line-height:1.25}h1{font-size:clamp(1.6rem,4vw,2.2rem)}a{color:var(--color-primary)}.app{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:860px;margin:0 auto;padding:0 16px}main.container{flex:1;padding-top:24px;padding-bottom:48px}.site-header{background:var(--color-primary);color:#fff}.site-header .container{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex;position:relative}.install-button{color:#fff;min-height:36px;font:inherit;cursor:pointer;background:0 0;border:2px solid #fff;border-radius:8px;padding:6px 14px;font-weight:600}.install-button:hover{background:#ffffff26}.install-help{z-index:10;background:var(--color-surface);max-width:360px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);margin-left:auto;padding:16px;position:absolute;top:100%;left:16px;right:16px;box-shadow:0 6px 24px #10203033}.install-help p,.install-help ol{margin:0 0 12px}.install-help ol{padding-left:1.3em}.logo{color:#fff;font-size:1.25rem;font-weight:700;text-decoration:none}.logo span{opacity:.85;font-weight:400}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);padding:16px 0;font-size:.85rem}.hero{background:var(--color-primary-soft);border-radius:var(--radius);margin-bottom:28px;padding:28px 24px}.hero p{max-width:40em;margin:0;font-size:1.1rem}.lead{color:var(--color-muted);font-size:1.1rem}.section-title{margin-top:32px;font-size:1.25rem}.status{color:var(--color-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 16px;padding:20px;display:block}.card p{margin:0 0 12px}.card-link{color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}.card-link:hover,.card-link:focus-visible{border-color:var(--color-primary);box-shadow:0 2px 8px #1f4e7926}.card-link h3{color:var(--color-primary)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.card-grid .card{margin:0}.card-kicker{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:4px;font-size:.8rem;display:block}.card-meta{color:var(--color-muted);font-size:.9rem;display:block}.error{border-color:var(--color-wrong);background:var(--color-wrong-soft)}.button{border:2px solid var(--color-primary);background:var(--color-primary);color:#fff;min-height:44px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:10px 20px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.button:disabled{opacity:.5;cursor:not-allowed}.button-secondary{color:var(--color-primary);background:0 0}.button-secondary:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.actions{flex-wrap:wrap;gap:12px;margin:16px 0 24px;display:flex}.breadcrumbs ol{color:var(--color-muted);flex-wrap:wrap;margin:0 0 16px;padding:0;font-size:.9rem;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--color-border);margin:0 8px}.lesson-list{margin:0;padding:0;list-style:none}.lesson-item{align-items:flex-start;gap:16px;display:flex}.lesson-item strong{color:var(--color-primary);font-size:1.05rem;display:block}.lesson-summary{margin:2px 0 4px;display:block}.lesson-number{background:var(--color-primary-soft);width:36px;height:36px;color:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.lesson-content h2{margin-top:28px;font-size:1.25rem}.lesson-content ul,.lesson-content ol{padding-left:1.3em}.lesson-content li{margin-bottom:6px}.note{background:var(--color-primary-soft);border-left:4px solid var(--color-primary);border-radius:0 8px 8px 0;padding:12px 16px;font-weight:500}.example{background:var(--color-warn-soft);border-radius:8px;margin:16px 0;padding:14px 16px}.example p{margin:6px 0 0}.table-wrap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;margin:16px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}caption{text-align:left;padding:10px 12px;font-weight:600}th,td{text-align:left;border-top:1px solid var(--color-border);vertical-align:top;padding:8px 12px}th{background:var(--color-primary-soft)}.sources{color:var(--color-muted);margin-top:32px;font-size:.9rem}.sources h2{font-size:1rem}.pager{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:32px;display:flex}.question{min-width:0}.question-head{float:left;align-items:center;gap:10px;width:100%;margin-bottom:8px;padding:0;display:flex}.question-head+*{clear:both}.question-number{color:var(--color-muted);font-size:.85rem;font-weight:600}.question-text{font-size:1.08rem;font-weight:600}.badge{border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.badge-easy{background:var(--color-correct-soft);color:var(--color-correct)}.badge-medium{background:var(--color-warn-soft);color:#8a5a00}.badge-hard{background:var(--color-wrong-soft);color:var(--color-wrong)}.options{gap:8px;display:grid}.option{border:2px solid var(--color-border);cursor:pointer;background:var(--color-surface);border-radius:10px;align-items:center;gap:12px;min-height:48px;padding:10px 14px;display:flex}.option:hover{border-color:var(--color-primary)}.option input{opacity:0;pointer-events:none;position:absolute}.option:has(input:focus-visible){outline:3px solid var(--color-primary);outline-offset:2px}.option:has(input:disabled){cursor:default}.option:has(input:disabled):hover{border-color:var(--color-border)}.option-letter{border:2px solid var(--color-border);border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.option-text{flex:1}.option-tag{white-space:nowrap;font-size:.8rem;font-weight:600}.option-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.option-selected .option-letter{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.option.option-correct{border-color:var(--color-correct);background:var(--color-correct-soft);color:var(--color-correct)}.option.option-correct .option-letter{background:var(--color-correct);border-color:var(--color-correct);color:#fff}.option.option-wrong{border-color:var(--color-wrong);background:var(--color-wrong-soft);color:var(--color-wrong)}.option.option-wrong .option-letter{background:var(--color-wrong);border-color:var(--color-wrong);color:#fff}.question.is-correct{border-left:6px solid var(--color-correct)}.question.is-wrong{border-left:6px solid var(--color-wrong)}.explanation{border-top:1px solid var(--color-border);margin-top:16px;padding-top:12px}.verdict{font-weight:700}.is-correct .verdict{color:var(--color-correct)}.is-wrong .verdict{color:var(--color-wrong)}.source{color:var(--color-muted);font-size:.85rem}.submit-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:12px 16px;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 10px #10203014}.score{align-items:center;gap:20px;display:flex}.score-number{flex:none;font-size:2.6rem;font-weight:800}.score-detail{font-weight:700}.score-good{background:var(--color-correct-soft);border-color:var(--color-correct)}.score-good .score-number{color:var(--color-correct)}.score-ok{background:var(--color-warn-soft)}.score-low{background:var(--color-wrong-soft);border-color:var(--color-wrong)}.score-low .score-number{color:var(--color-wrong)}.progress{background:var(--color-border);border-radius:999px;height:6px;margin-bottom:16px;overflow:hidden}.progress-bar{background:var(--color-primary);height:100%;transition:width .3s}@media (width<=560px){main.container{padding-top:16px}.hero{padding:20px 16px}.card{padding:16px}.option{flex-wrap:wrap}.option-tag{width:100%;padding-left:40px}.submit-bar .button,.actions .button{flex:100%}.score{flex-direction:column;align-items:flex-start;gap:4px}}
