:root{--blue:#2458d8;--ink:#172124;--muted:#5b656a;--line:#d9e2f2;--pale:#eef3ff;--paper:#f7f9fd}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:16px/1.5 Arial,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #7397f4}a{color:var(--blue)}button,.filebutton{border:1px solid #b7c8e7;background:white;color:#203b64;border-radius:6px;min-height:40px;padding:8px 13px;cursor:pointer;line-height:1.3}button:hover,.filebutton:hover{background:var(--pale)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.quiet{border-color:transparent;background:transparent}input,textarea,select{border:1px solid #b7c8e7;border-radius:5px;padding:8px;background:white;color:var(--ink);min-width:0}input[type=checkbox]{width:17px;height:17px}textarea{font:14px/1.55 'Courier New',monospace;width:100%;resize:vertical}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}label.inline{flex-direction:row;align-items:center}label.filebutton{font-size:14px;color:#203b64;position:relative;overflow:hidden;justify-content:center}.filebutton input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.filebutton:focus-within{outline:3px solid #7397f4}header,main,footer{max-width:1480px;margin:auto;padding:24px 40px}header{border-bottom:1px solid var(--line)}.brand{font-weight:700;letter-spacing:.16em;font-size:12px;color:var(--blue);display:flex;justify-content:space-between;gap:20px}.brand span{color:var(--muted);font-weight:400}.heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:24px 0 30px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--blue);margin:0 0 10px}h1{font-size:clamp(30px,4vw,54px);font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:0}.intro{color:var(--muted);margin:0;font-size:17px;line-height:1.6}h2{font-size:23px;letter-spacing:-.02em;line-height:1.2;margin:0 0 10px}h2 small{font-size:13px;display:block;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:4px}h3{font-size:18px;line-height:1.3;margin:14px 0 8px}p{margin:8px 0 15px}nav{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}nav button{border-radius:0;border:0;border-top:2px solid var(--line);text-align:left;padding:12px 4px;color:var(--muted)}nav button.active{color:var(--blue);border-color:var(--blue);background:transparent;font-weight:700}nav small{display:block;font-weight:400;font-size:12px;margin-top:3px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.spread{justify-content:space-between}.grow{flex:1}.wide{width:100%}.projectbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.projectbar>label{flex:1;min-width:180px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions a{font-size:13px}.projectbar #autosave{width:100%;font-size:12px;margin-top:0}.muted{color:var(--muted);font-size:13px}.hidden{display:none!important}#message{border-radius:6px;background:var(--pale);padding:10px 14px;margin:12px 0;min-height:42px;font-size:14px}#message.error{background:#fff1f1;color:#94283e}.lesson{display:grid;grid-template-columns:1fr 1.8fr;gap:45px;border-top:1px solid var(--line);padding:26px 0}.lesson-title{padding-top:7px}.lesson-title h2{font-size:30px}.lesson-title p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:380px}.assignment{border-left:3px solid var(--blue);padding-left:24px}.assignment>p{font-size:14px}.tasktabs{display:flex;gap:7px}.tasktabs button{min-width:38px;min-height:36px;padding:6px}.tasktabs .active{background:var(--blue);color:white}.tasktabs .done:after{content:' ✓'}.panel{padding:22px 0;border-top:1px solid var(--line);min-width:0}#textTools{background:var(--paper);padding:14px 20px;border:1px solid var(--line);border-radius:7px;margin:8px 0 20px}.encoding{display:flex;gap:7px;flex-wrap:wrap;font:12px 'Courier New',monospace}.encoding span{background:#fff;border:1px solid var(--line);padding:5px 7px;border-radius:4px}.controls{background:white;position:sticky;top:0;z-index:5;padding:6px 0 10px;border-bottom:2px solid var(--blue)}.controls .row{margin:4px 0}.controls button{font-size:14px}.controls label{flex-direction:row;align-items:center}.statusline{display:flex;gap:14px;font:12px/1.4 'Courier New',monospace;flex-wrap:wrap;margin-top:10px}.statusline strong{color:var(--blue)}#blockName{color:var(--muted)}.machine{display:grid;grid-template-columns:320px minmax(0,1fr);gap:34px}.program.panel{border-top:0}.program h2{margin:0}#programTape{min-height:260px;font:13px/1.3 'Courier New',monospace}.instruction{display:grid;grid-template-columns:44px 1fr;gap:5px;padding:6px 8px;border-left:3px solid transparent}.instruction.active{border-color:var(--blue);background:var(--pale);font-weight:700}.instruction small{color:var(--muted)}details{border-top:1px solid var(--line);padding:13px 0}summary{cursor:pointer;color:var(--blue);font-size:14px;font-weight:700}details p{font-size:13px}dl{font-size:13px}dt{font-family:'Courier New',monospace;margin-top:10px;font-weight:bold}dd{margin:4px 0 8px}#commandButtons button{font:12px 'Courier New',monospace;padding:5px;min-height:30px}#programMap button{display:block;text-align:left;width:100%;font-size:12px;margin:6px 0}#programMap button.active{background:var(--pale);border-color:var(--blue)}.tape-scroll,.table-scroll{overflow:auto;max-width:100%}.data-row{display:grid;grid-template-columns:repeat(16,1fr);gap:4px;min-width:570px;margin:12px 0 8px}.data-cell{padding:6px 1px;background:none;border:1px solid transparent;color:var(--ink)}.data-cell .chip{width:24px;height:24px;margin:2px auto 7px}.data-cell small{font-size:10px;color:var(--muted);display:block}.data-cell.active{border-color:var(--blue);background:var(--pale)}.data-cell.draft{border-color:#b88336}.chip{display:block;border-radius:50%;background:#fff;border:1px solid #737f88;box-shadow:0 2px 0 #c0c6cd}.chip.one{background:#172124;border-color:#172124;box-shadow:0 2px 0 #060a10}.screen{display:flex;gap:10px;flex-wrap:wrap;min-height:180px}.glyph{padding:7px 10px;border:1px solid var(--line);background:white;text-align:center;min-width:94px;border-radius:5px;color:var(--ink)}.glyph.active{border:2px solid var(--blue);padding:6px 9px;background:var(--pale)}.glyph.unknown{border-style:dashed}.glyph.result{border-top:3px solid var(--blue)}.glyph canvas{width:64px;height:128px;display:block;margin:auto}.glyph small{display:block;font:11px 'Courier New',monospace;margin-top:5px}.glyph .char{font:13px Arial,sans-serif}.decode{font:13px/1.6 'Courier New',monospace;padding:10px 12px;background:var(--pale);overflow-wrap:anywhere}.table-scroll table{border-collapse:collapse;width:100%;font-size:13px;text-align:center}th,td{padding:9px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:400}td.on{background:var(--pale);color:var(--blue);font-weight:bold}.registers{display:flex;gap:12px;flex-wrap:wrap}.register{padding:12px;background:var(--paper);border:1px solid var(--line);font-size:13px}.register code{display:block;margin-top:7px;letter-spacing:2px}.atlas-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px}.atlas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:5px;max-height:520px;overflow:auto;padding:4px;margin-top:10px}.atlas-entry{padding:5px;min-width:0;font-size:11px}.atlas-entry canvas{width:24px;height:48px;display:block;margin:0 auto 4px}.atlas-entry.active{background:var(--pale);border-color:var(--blue)}.glyph-editor{display:grid;grid-template-columns:repeat(8,28px);gap:3px;touch-action:none;width:max-content;margin:10px 0}.pixel{min-height:25px;width:28px;border:0;padding:2px;background:transparent;touch-action:none}.pixel .chip{width:21px;height:21px}.pixel:hover{background:var(--pale)}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto;background:var(--paper);padding:16px;font:12px/1.6 'Courier New',monospace}.next-stage{border-top:2px solid var(--blue);display:flex;justify-content:space-between;gap:25px;align-items:center;padding:24px 0}.next-stage p{margin-bottom:0}footer{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:8px;max-width:600px;width:90vw;padding:26px}dialog::backdrop{background:#17212480}.document{max-width:900px}.document h2{margin-top:30px}.document li{margin:10px 0}.document code{background:var(--paper);padding:2px 5px}.document table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}@media(max-width:1050px){header,main,footer{padding-left:22px;padding-right:22px}.machine{grid-template-columns:260px minmax(0,1fr);gap:20px}.lesson{gap:25px}.atlas-layout{grid-template-columns:minmax(0,1fr) 280px}}@media(max-width:760px){header,main,footer{padding:18px 16px}.brand{font-size:10px;letter-spacing:.08em}.brand span{display:none}.heading{margin:20px 0;align-items:start}.intro{font-size:12px;max-width:140px}nav{grid-template-columns:repeat(2,1fr)}nav button{font-size:13px}nav small{font-size:11px}.lesson,.machine,.atlas-layout{grid-template-columns:1fr}.lesson{gap:12px}.lesson-title h2{font-size:25px}.lesson-title p:not(.eyebrow){max-width:none}.assignment{padding-left:14px}.controls{position:static}.controls .row{gap:6px}.controls button{padding:8px 10px}.program{order:2}#programTape{min-height:0;max-height:200px;overflow:auto}.workspace{order:1}.next-stage{flex-direction:column;align-items:stretch}.actions button,.filebutton{font-size:12px}.atlas-grid{max-height:210px}.editor-area{max-width:330px}.statusline{font-size:11px}.projectbar>label{width:100%}.program textarea{font-size:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep the working machine close to the assignment. */
.heading{margin:16px 0 20px}.heading h1{font-size:clamp(27px,3vw,42px)}.heading .intro{font-size:14px}.heading .intro br{display:none}.intro{max-width:280px}.lesson{padding:18px 0;gap:30px}.assignment details{padding:8px 0}.assignment h3{margin-top:10px}.assignment>p{margin-bottom:8px}#taskReasoning label{margin-top:10px}.program .instruction{grid-template-columns:36px minmax(0,1fr) 50px;align-items:center}.instruction select{padding:2px;border:0;background:transparent;font:12px monospace;max-width:100%;height:28px}.opcode{display:flex;gap:3px}.opcode button{padding:0;min-height:12px;width:12px;height:12px;border-radius:50%;background:white;border:1px solid #7a8799}.opcode button.one{background:#172124}.opcode button:hover{outline:2px solid #7397f4}@media(max-width:760px){.heading{display:block}.intro{margin-top:12px;max-width:none}.intro br{display:none}.lesson{gap:10px}.lesson-title p:not(.eyebrow){margin-bottom:4px}.assignment{padding-bottom:6px}}

.workspace{min-width:0}@media(max-width:760px){.machine,.lesson,.atlas-layout{grid-template-columns:minmax(0,1fr)}}
