*{box-sizing:border-box}body{margin:0;background:#f6f7fb;color:#1f2937;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55}
.wrap{max-width:980px;margin:auto;padding:0 22px}header{background:#111827;color:white;padding:42px 0 34px;border-bottom:4px solid #4f46e5}
header h1{font-size:2.25rem;margin:.15em 0}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.12em;color:#c7d2fe}
main{padding-top:24px;padding-bottom:70px}.cell{position:relative;background:white;border:1px solid #e1e5ed;border-radius:12px;padding:28px 30px;margin:22px 0;box-shadow:0 2px 8px #1118270a}
.cell h2{margin-top:0}.cell h2 span{font-size:.85rem;color:#6b7280;font-weight:600}.part{position:absolute;right:22px;top:18px;font-size:2.4rem;font-weight:900;color:#e0e7ff}
.lesson,.mission,.document{background:#f8fafc;border-left:4px solid #4f46e5;padding:16px;margin:15px 0}.formula{font-family:serif;font-size:1.25rem}
label{display:block;font-weight:650;margin:16px 0 6px}input,select,textarea{font:inherit;border:1px solid #cbd5e1;border-radius:7px;padding:10px;background:white}
textarea{width:100%;min-height:95px;resize:vertical}.large{min-height:145px}.xl{min-height:220px}.identity{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:15px}.identity input,.identity select{width:100%}
.calc{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.calc input{width:100%}
button{font:inherit;cursor:pointer;border-radius:7px;padding:10px 16px;border:0;font-weight:750}.run,.gradeBtn{background:#4f46e5;color:white}.run:hover,.gradeBtn:hover{background:#4338ca}.secondary{background:#e5e7eb;color:#111827}.run:disabled{opacity:.55;cursor:wait}
.answer{white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:14px;min-height:60px;margin:10px 0 18px}.warn{background:#fff7ed;border-color:#fdba74}
.busy{margin:10px 0;padding:11px 12px;background:#eef2ff;border-radius:7px;color:#3730a3}.indeterminate{height:5px;background:#dbeafe;border-radius:99px;overflow:hidden;margin-bottom:8px;position:relative}.indeterminate:after{content:"";position:absolute;width:35%;height:100%;background:#4f46e5;animation:slide 1.2s infinite ease-in-out}
@keyframes slide{from{left:-35%}to{left:100%}}.hidden{display:none!important}.log{background:#111827;color:#dbeafe;padding:12px;border-radius:7px;max-height:190px;overflow:auto;white-space:pre-wrap}
.feedback{margin-top:10px;font-weight:700}.grade{text-align:center}.gradeBtn{font-size:1.05rem;padding:13px 22px}#gradeResult{max-width:600px;margin:24px auto;text-align:left;background:#eef2ff;border:2px solid #818cf8;border-radius:10px;padding:20px}#gradeResult h2{text-align:center;font-size:2rem;color:#3730a3}table{width:100%;border-collapse:collapse}td{padding:8px;border-bottom:1px solid #c7d2fe}td:last-child{text-align:right;font-weight:800}.note{font-size:.85rem;color:#4b5563}details summary{cursor:pointer;font-weight:800}
@media(max-width:700px){.identity,.calc{grid-template-columns:1fr}.cell{padding:22px 18px}.part{font-size:1.8rem}header h1{font-size:1.75rem}}
@media print{header{background:white;color:black;border:0}.run,.secondary,.gradeBtn,.busy,.log{display:none}.cell{box-shadow:none;break-inside:avoid}body{background:white}}
