:root{--bg:#0b1626;--bg-panel:#12233b;--bg-panel-2:#1a3050;--bg-hover:#22406a;--border:#24405f;--text:#e8eef6;--text-dim:#94a9c2;--accent:#38bdf8;--accent-dark:#0284c7;--ok:#34d399;--warn:#fbbf24;--err:#f87171;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#eef2f7;--bg-panel:#fff;--bg-panel-2:#e2eaf3;--bg-hover:#d2deec;--border:#c6d4e2;--text:#16283e;--text-dim:#51698a;--accent:#0369a1;--accent-dark:#0284c7;--ok:#047857;--warn:#a16207;--err:#dc2626;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#eef2f7;--bg-panel:#fff;--bg-panel-2:#e2eaf3;--bg-hover:#d2deec;--border:#c6d4e2;--text:#16283e;--text-dim:#51698a;--accent:#0369a1;--accent-dark:#0284c7;--ok:#047857;--warn:#a16207;--err:#dc2626;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}#root{max-width:1100px;margin:0 auto;padding:0 16px 60px}h1,h2,h3{letter-spacing:.01em;font-weight:650}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1.02rem}p{line-height:1.55}a{color:var(--accent)}.topnav{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:22px;padding:14px 0;display:flex}.topnav .logo{color:var(--text);align-items:center;gap:8px;margin-right:14px;font-size:1.05rem;font-weight:700;display:flex}.topnav button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:.92rem}.topnav button:hover{color:var(--text);background:var(--bg-panel)}.topnav button.active{color:var(--text);background:var(--bg-panel-2)}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.card+.card{margin-top:14px}.btn{background:var(--bg-panel-2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:9px 16px;font-size:.93rem;transition:background .12s}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent-dark);border-color:var(--accent-dark)}.btn.primary:hover{background:#0369a1}.btn.small{padding:5px 10px;font-size:.85rem}.badge{background:var(--bg-panel-2);color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:2px 9px;font-size:.78rem;display:inline-block}.badge.ok{color:var(--ok);border-color:var(--ok)}.badge.warn{color:var(--warn);border-color:var(--warn)}.badge.err{color:var(--err);border-color:var(--err)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.dim{color:var(--text-dim)}.small{font-size:.86rem}.grid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=860px){.grid2,.grid3{grid-template-columns:1fr}}.bar{background:var(--bg-panel-2);border-radius:999px;height:8px;overflow:hidden}.bar>div{background:var(--accent-dark);border-radius:999px;height:100%;transition:width .3s}.bar.ok>div{background:var(--ok)}textarea,input[type=text],select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.95rem}textarea{resize:vertical;width:100%;min-height:90px}textarea:focus,input:focus,select:focus{outline:2px solid var(--accent-dark)}@media (pointer:coarse){textarea,input[type=text],select{font-size:16px}}.question-text{margin:6px 0 12px;font-size:1.12rem;line-height:1.5}.model-answer{border-left:3px solid var(--ok);background:var(--bg-panel-2);border-radius:8px;margin:12px 0;padding:12px 16px}.model-answer p{margin:0 0 6px}.model-answer p:last-child{margin-bottom:0}.figure{background:#fff;border-radius:6px;max-width:100%;height:auto;margin:8px 0;display:block}.grades{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.grade{border:1px solid var(--border);background:var(--bg-panel-2);color:var(--text);cursor:pointer;border-radius:10px;padding:12px 8px;font-size:.95rem;line-height:1.3}.grade small{color:var(--text-dim);margin-top:3px;font-size:.78rem;display:block}.grade:hover{background:var(--bg-hover)}.grade.g0{border-color:var(--err)}.grade.g1{border-color:var(--warn)}.grade.g2{border-color:var(--ok)}
