:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#242039;background:#f6f5fa;line-height:1.6;--purple:#673ab7}*{box-sizing:border-box}body{margin:0}header{max-width:1260px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e0ee}.brand{color:#503084;text-decoration:none;font-weight:750;font-size:20px}.badge{font-size:12px;background:#eee7f8;color:#674493;padding:6px 12px;border-radius:30px}main{max-width:1200px;margin:auto;padding:35px 24px}.intro{margin-bottom:32px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.12em;color:var(--purple)}h1{font-size:clamp(30px,4vw,46px);line-height:1.25;letter-spacing:-.04em;margin:12px 0}em{font-style:normal;color:var(--purple)}.intro>p:last-child{color:#756d84}.workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:24px;align-items:start}.lab,.coach,.finish{background:white;border:1px solid #e7e2ef;border-radius:22px;padding:26px;box-shadow:0 6px 24px #35215004}.mission-head{display:flex;justify-content:space-between;color:var(--purple);font-size:13px;font-weight:700}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid #ddd5e8;border-radius:11px;background:#fff;color:#47385f;padding:10px 14px}button:hover{background:#f0ebf8}button:focus-visible,input:focus-visible,textarea:focus-visible,svg circle:focus-visible{outline:3px solid #a883e4;outline-offset:3px}.text{border:0;padding:0;font-size:12px}progress{width:100%;height:6px;accent-color:var(--purple);margin:20px 0 10px}h2{font-size:23px;letter-spacing:-.03em;margin:8px 0}.lab>p{margin:8px 0}#task{min-height:52px}.plot-wrap{background:#faf9fd;border:1px solid #eee9f4;border-radius:16px;margin-top:18px}svg{width:100%;display:block;touch-action:none;user-select:none}svg text{font:13px system-ui;fill:#81778e}.position{display:flex;align-items:center;gap:12px;margin:15px 0;font-size:14px}.position strong{font-size:22px;color:var(--purple)}.position span{margin-left:auto;color:#8b8198;font-size:12px}.controls{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.controls button{padding:9px 4px;font-size:13px}.usage,.notice{font-size:12px;color:#81778c}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.primary{background:var(--purple);border-color:var(--purple);color:white;font-weight:700}.primary:hover{background:#52308e}.secondary{background:#f7f4fb}#feedback{min-height:30px;font-weight:650;font-size:14px}.good{color:#217b56}.error{color:#a65d15}.coach-head{display:flex;gap:12px;align-items:center;border-bottom:1px solid #eee9f3;padding-bottom:16px}.avatar{display:grid;place-items:center;width:43px;height:43px;background:#eee6fa;border-radius:14px;color:var(--purple);font-size:27px}.coach h2{font-size:18px;margin:0}.coach-head p{font-size:11px;color:#8b7d9d;margin:2px 0}#chat{height:350px;overflow:auto;padding:20px 0;display:flex;flex-direction:column;gap:14px}.bubble{max-width:95%;background:#f2edf9;padding:13px 15px;border-radius:3px 15px 15px;font-size:14px;white-space:pre-wrap}.bubble.student{align-self:flex-end;background:#673ab7;color:white;border-radius:15px 3px 15px 15px}.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.suggestions button{font-size:12px;padding:7px 10px;border-radius:25px}form label{font-size:12px;color:#776b88}form>div{display:flex;gap:8px;margin-top:7px}input,textarea{width:100%;border:1px solid #ddd5e8;border-radius:10px;padding:12px;background:#fcfbfe;color:#30283e}form button{background:var(--purple);color:white}.finish{margin-top:24px}.finish textarea{display:block;margin:8px 0 15px}footer{text-align:center;color:#91879f;font-size:12px;margin:28px 0}[hidden]{display:none!important}@media(max-width:800px){.workspace{grid-template-columns:1fr}header{padding:18px}.brand{font-size:16px}.badge{font-size:10px}main{padding:24px 14px}.lab,.coach{padding:20px}#chat{height:260px}.intro h1 br{display:none}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}

button:disabled{opacity:.45;cursor:not-allowed}.actions{flex-wrap:wrap;position:sticky;bottom:0;background:white;padding:12px 0;z-index:2;border-top:1px solid #eee9f4}#nav-help{color:#674493}