:root{--navy:#102f5e;--blue:#2767bd;--ink:#142033;--muted:#64748b;--line:#dfe6ef;--page:#f3f6fa;--green:#128253;--red:#bd3030;--amber:#a46100}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:16px/1.55 Arial,sans-serif}header{position:sticky;top:0;z-index:2;display:flex;height:68px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffffff2;padding:0 max(24px,calc((100% - 1180px)/2));backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand>b{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--navy);color:white}.brand span,.brand small{display:block}.brand small{color:var(--muted)}.account{display:flex;align-items:center;gap:16px;font-size:14px}.account form{margin:0}main{max-width:1180px;margin:auto;padding:38px 24px 70px}h1{margin:.2rem 0 1.2rem;font-size:clamp(30px,4vw,42px);line-height:1.1}h2{line-height:1.2}.eyebrow{margin:0;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.muted{color:var(--muted)}.lead{max-width:760px;margin:-8px 0 24px;color:var(--muted);font-size:18px}.card{border:1px solid var(--line);border-radius:16px;background:white;padding:24px;box-shadow:0 10px 28px #1b47750d}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}.topic{color:var(--ink);text-decoration:none;transition:border-color .15s,transform .15s}.topic:hover{border-color:#9eb7d5;transform:translateY(-2px)}.topic h2{margin:22px 0 8px}.pill{display:inline-block;border-radius:99px;background:#e7f6ef;padding:5px 10px;color:#14704f;font-size:12px;font-weight:800}.progress{height:9px;margin:24px 0 9px;overflow:hidden;border-radius:99px;background:#e8edf3}.progress i{display:block;height:100%;background:var(--blue)}.theory{position:relative;margin:26px 0;border-left:5px solid var(--blue)}.section-label{position:absolute;right:18px;top:18px;border-radius:99px;background:#edf4ff;padding:5px 10px;color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase}.theory h2{margin-top:0}.theory-text{max-width:820px}.secondary,.primary{display:inline-block;border:0;border-radius:9px;padding:11px 16px;background:var(--navy);color:white;text-decoration:none;font-weight:700;cursor:pointer}.secondary{margin-top:12px;background:#e8f1fc;color:#245d9f}.inline{margin-top:12px}.link{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer}.back{display:inline-block;margin-bottom:20px;color:var(--muted);text-decoration:none;font-weight:700}.practice-heading,.page-heading,.editor-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.practice-heading{margin:36px 0 14px}.practice-heading h2,.editor-heading h2{margin:2px 0 0}.page-heading .secondary{align-self:center;margin:0}.list{display:grid;gap:10px}.problem{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:13px;background:white;padding:14px;color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}.problem:hover{border-color:#9eb7d5;box-shadow:0 8px 20px #1b47750d}.problem>b{display:grid;width:44px;height:44px;place-items:center;border-radius:11px;background:var(--navy);color:white}.problem span{flex:1}.problem span>*{display:block}.problem small{color:var(--muted)}.problem em{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#eef1f5;color:var(--muted);font-size:21px;font-style:normal}.problem .status-ok{background:#e7f6ef;color:var(--green)}.problem .status-error{background:#fdecec;color:var(--red)}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.problem-layout{align-items:start}.statement{font-size:17px}.feedback{margin-top:28px;border-radius:12px;background:#e8f3ff;padding:16px;color:#245d9f}.code-editor{width:100%;border:1px solid #26364f;border-radius:10px;background:#111a2a;padding:18px;color:#e8eef6;font:15px/1.65 Consolas,monospace;resize:vertical}.code-editor:focus{outline:3px solid #8db7ee}.editor .primary{margin-top:14px}.limit{color:var(--muted);font-size:13px}.attempt{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:11px 0;font-size:14px}.accepted{color:var(--green)}.wrong,.runtime,.time_limit,.system_error{color:var(--red)}.queued,.running{color:var(--amber)}.samples{display:grid;gap:10px}.sample{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sample>div{min-width:0}.sample small{display:block;color:var(--muted);font-weight:700}.sample pre{overflow:auto;margin:4px 0 0;border-radius:9px;background:#f3f6fa;padding:11px;font:14px/1.5 Consolas,monospace}.table-wrap{margin-top:26px;overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:14px;text-align:left;vertical-align:middle}th{font-size:13px}th span,th small,.student-name small,.result-cell small{display:block}.results-table{padding:0}.results-table th{background:#f8fafc;white-space:nowrap}.student-column{min-width:190px}.student-name small,.results-table th small,.result-cell small{color:var(--muted);font-weight:400}.result-cell{min-width:108px;border-radius:10px;padding:8px 10px;background:#f0f2f5}.result-cell a{color:inherit;text-decoration:none}.result-cell.complete{background:#e7f6ef;color:#116b48}.result-cell.working{background:#fff3df;color:#8a5604}.result-cell.empty{color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px;color:var(--muted);font-size:14px}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:12px;height:12px;border-radius:50%;background:#e5e7eb}.legend i.complete{background:#8ad6b6}.legend i.working{background:#f2c36f}details{margin:12px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}summary{cursor:pointer;padding:14px;font-weight:700}details pre{overflow:auto;margin:0;background:#111a2a;padding:18px;color:#e8eef6;font:14px/1.6 Consolas,monospace}form p{display:grid;gap:5px}input,textarea,select{max-width:100%;border:1px solid #bfcbd9;border-radius:8px;padding:10px;font:inherit}.login{max-width:430px;margin:6vh auto}.login .primary{width:100%;margin-top:12px}@media(max-width:850px){.grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.problem-layout .editor{order:-1}.practice-heading,.page-heading{align-items:start;flex-direction:column}.page-heading .secondary{align-self:auto}}@media(max-width:560px){header{padding:0 14px}.account>span{display:none}main{padding:28px 15px}.grid{grid-template-columns:1fr}.card{padding:18px}.section-label{position:static;display:inline-block;margin-bottom:10px}.sample{grid-template-columns:1fr}.attempt{align-items:start;flex-direction:column;gap:2px}}
