:root{color-scheme:light;--ink:#172b3d;--muted:#586c7c;--blue:#2856c7;--line:#dce3ea;--paper:#fff;--bg:#f4f6f8;--gold:#dca94c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}.shell{max-width:960px;margin:auto;padding:0 28px}header{min-height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.brand{color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:.02em}.brand span{display:block;font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.1em}.tag{font-size:11px;letter-spacing:.13em;color:var(--muted)}main{padding:46px 0 30px;min-height:640px}h1{font-size:38px;line-height:1.25;margin:10px 0 5px;letter-spacing:-.03em}h2{font-size:25px;margin:0 0 8px}p{margin:14px 0}.en{display:block;color:var(--muted);font-size:.84em;font-weight:400}.eyebrow{font-size:12px;color:var(--blue);font-weight:700;letter-spacing:.13em}.lead{font-size:19px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px;margin-top:26px}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:26px 0}.details strong{font-size:23px;display:block}.small{font-size:13px;color:var(--muted)}button{font:inherit;cursor:pointer;border:0}.primary{background:var(--blue);color:white;border-radius:12px;padding:13px 25px;min-height:50px;font-weight:600}.primary .en{color:#e5ecff;font-size:12px}.secondary{background:white;border:1px solid var(--line);padding:12px 20px;border-radius:12px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #dfae46;outline-offset:4px}label.consent{display:flex;align-items:flex-start;gap:12px;margin-top:20px}input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:4px}.status{padding:12px 16px;background:#eef2f8;border-radius:10px;margin:18px 0;color:var(--muted);font-size:14px}.status.error{background:#fff0e8;color:#8e3d16}.progress{height:5px;background:#e1e6ed;border-radius:5px;margin:18px 0 30px}.progress>div{background:var(--blue);height:100%;border-radius:5px}.trial-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.trial-top strong{font-size:23px}.score-chip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 16px;text-align:right}.machines{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0}.machine{background:var(--paper);border:2px solid var(--line);border-radius:24px;padding:25px 20px;min-height:260px;transition:transform .15s,border-color .15s;position:relative;color:var(--ink)}.machine:not(:disabled):hover{transform:translateY(-3px);border-color:var(--blue)}.machine.selected{border-color:var(--blue);background:#f0f4ff}.machine svg{width:116px;height:120px;display:block;margin:auto auto 15px}.machine b{font-size:25px}.machine .en{font-size:12px}.key{display:inline-block;padding:1px 7px;border:1px solid var(--line);border-radius:5px;font-size:11px;margin:8px}.feedback{min-height:85px;text-align:center;font-size:23px;font-weight:700}.feedback .en{font-size:13px}.points{font-size:78px;line-height:1.2;color:var(--blue);font-weight:800;letter-spacing:-.06em}.completion{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:24px}.code{font:700 23px/1.5 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}.saved{color:#23674c;background:#e8f4ee;padding:13px 18px;border-radius:12px;margin-top:22px}.test{background:#fff1d3;color:#775011;padding:8px 14px;border-radius:10px;font-size:13px;margin-bottom:18px}footer{font-size:11px;color:var(--muted);padding:22px 0 30px;border-top:1px solid var(--line)}input[type=password]{font:inherit;padding:12px;border:1px solid var(--line);border-radius:10px;width:min(100%,360px)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}.teacher-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:10px}.hidden{display:none!important}@media(max-width:600px){.shell{padding:0 18px}header{min-height:72px}main{padding-top:28px;min-height:580px}h1{font-size:29px}.panel{padding:20px;border-radius:18px}.details{gap:12px}.details strong{font-size:20px}.details .small{font-size:11px}.machines{gap:12px}.machine{padding:20px 8px;min-height:225px}.machine svg{width:88px;height:100px}.key{display:none}.completion{grid-template-columns:1fr}.points{font-size:65px}.trial-top strong{font-size:20px}.tag{font-size:9px}.lead{font-size:17px}}

body.task main{padding-top:24px}body.task .machines{margin:18px 0}body.task .machine{min-height:220px;padding:20px 12px}body.task .machine svg{height:96px}body.task .feedback{min-height:65px}body.task .progress{margin:12px 0 20px}body.task .status{margin:8px 0;padding:8px 12px}
