:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18263b;background:#f1f5f4}*{box-sizing:border-box}body{margin:0}header{background:#122941;color:white;padding:17px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}header strong{font-size:22px;letter-spacing:.05em}header small{display:block;color:#9fdbda;font-size:12px;margin-top:3px}#clock{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}main{max-width:1200px;margin:auto;padding:28px 24px 60px}.card{background:#fff;border:1px solid #d8e2e2;border-radius:16px;box-shadow:0 10px 35px #0d2c3510}.login{max-width:450px;margin:8vh auto;padding:34px}.login h1{margin-top:0}.login form{display:grid;gap:16px}input,textarea{font:inherit;color:#183047;border:1px solid #b5c7cd;border-radius:9px;padding:12px;background:#fff}input:focus,textarea:focus,button:focus-visible{outline:3px solid #75bdeb;outline-offset:2px}label{display:grid;gap:6px;font-weight:700}button{font:inherit;font-weight:700;border:0;border-radius:9px;padding:11px 16px;cursor:pointer;background:#0a988e;color:white}button.secondary{background:#e4edef;color:#15334a}button.ghost{background:#fff;color:#245473;border:1px solid #9fbbc8}button:disabled{opacity:.5;cursor:not-allowed}.error{color:#a52c2c}.muted{color:#527084}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.topline h1{margin:0;font-size:31px}.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}.subject-card{padding:22px;min-height:190px;display:flex;flex-direction:column;gap:10px;border-top:5px solid var(--accent)}.subject-card h2{margin:0;font-size:22px}.subject-card p{margin:0;color:#527084;line-height:1.4}.subject-card button{margin-top:auto;background:var(--accent)}.layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:18px}.sidebar{padding:18px;align-self:start}.sidebar h3{margin:4px 0 14px;font-size:16px}.chapter-button{display:block;width:100%;text-align:left;margin:7px 0;padding:11px 12px;background:#eef3f4;color:#304b5f;border-radius:8px;line-height:1.25;font-size:14px}.chapter-button.active{background:var(--accent);color:#fff}.sidebar .tool{display:block;width:100%;margin-top:9px;text-align:left}.content{display:grid;gap:14px}.lesson{padding:24px}.lesson h1{font-size:29px;margin:0 0 5px}.progress{height:9px;border-radius:20px;background:#dce8e8;overflow:hidden;margin:17px 0}.progress span{display:block;height:100%;background:var(--accent)}.passage{font-family:Georgia,serif;font-size:18px;line-height:1.65;max-height:36vh;overflow:auto;white-space:pre-wrap;padding:18px;background:#fafcf9;border:1px solid #d9e4e4;border-radius:10px}.passage h2{font-family:inherit;margin:0 0 10px}.source{font:13px/1.4 Inter,ui-sans-serif,system-ui;color:#597181;margin:4px 0 12px}.source a{color:#176796}.stimulus{background:#f5f8fa;border-left:4px solid #7197ac;padding:16px 18px;line-height:1.5;margin:0 0 18px}.question{padding:24px}.question h2{font-size:22px;line-height:1.4;margin:8px 0 17px}.question .meta{color:#526b7b;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.options{display:grid;gap:8px}.option{display:flex;gap:10px;align-items:flex-start;border:1px solid #cbdada;border-radius:9px;padding:11px;cursor:pointer;font-weight:500}.option:hover{background:#f3f9f8}.option input{margin:3px 0 0}.answer-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.answer-row input{min-width:210px}.feedback{padding:18px;border-radius:9px;margin-top:16px;background:#e8f3f1;white-space:pre-wrap;line-height:1.5}.feedback.bad{background:#fff1e9;color:#783c19}.feedback.good{background:#e3f5e8;color:#1d6b37}.writing{padding:24px}.writing textarea{width:100%;min-height:130px;resize:vertical;margin-top:12px}.writing p{line-height:1.5}.report{padding:24px;overflow:auto}.report table{border-collapse:collapse;width:100%}.report td,.report th{padding:10px;border-bottom:1px solid #dce6e6;text-align:left}.timer-warn{color:#e3ac4d}.notice{padding:14px 18px;background:#fff4d8;border-radius:9px;margin:0 0 15px}@media(max-width:700px){header{padding:14px 16px}header strong{font-size:16px}header small{font-size:10px}main{padding:15px}.layout{display:block}.sidebar{margin-bottom:14px}.sidebar .chapter-list{display:flex;overflow:auto;gap:7px}.chapter-button{min-width:150px;margin:0}.lesson,.question,.writing{padding:18px}.passage{font-size:16px;max-height:30vh}.topline h1{font-size:24px}}
