/* VR2: a quiet learning workspace around a precise, luminous circuit bench. */
:root{--purple:#216c57;--soft:#e9f4ef;--signal:#83edb5;--signal-fill:#194336;--gate-fill:#182b30;--gate-stroke:#9aafb3;--unknown:#ffc272;--dot:#304248}
html[data-theme=dark]{--purple:#8be0b8;--soft:#233e36}
.brand-mark{background:#a5e8bd;color:#122a26}.brand-caption{letter-spacing:.04em}
.nav-item.active{background:#25443c!important;color:#c8f5d9!important}.nav-count{background:#456459!important}
.content:has(.vr2){max-width:1650px;margin-inline:auto;padding:30px clamp(18px,3vw,46px)}
.vr2{font-size:1rem;line-height:1.75;min-width:0}.vr2 *{box-sizing:border-box}.vr2 h1{font-size:clamp(1.65rem,2.3vw,2.25rem);letter-spacing:-.03em;line-height:1.45;margin:4px 0 0}.vr2 h2{font-size:1.15rem;line-height:1.7;margin:0 0 12px}.vr2 h3{font-size:1rem;margin:0 0 12px}.vr2 p{line-height:1.9;font-size:1rem}.vr2 .button{font-size:.875rem;min-height:42px;white-space:normal}.vr2 .input{font-size:.9375rem;min-width:0}.vr2 .field-label{font-size:.875rem}.vr2 .small,.vr2 small{font-size:.8125rem}.vr2 .mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.vr2 .button.primary{background:#256d58;color:#fff;border-color:#256d58}.vr2 .button.primary:hover{background:#164d3d}.vr2 .button:focus-visible,.vr2 a:focus-visible,.vr2 select:focus-visible,.vr2 input:focus-visible{outline:3px solid #63bca0;outline-offset:3px}.vr2 .button.selected{background:#1d3932;color:#d9ffe6;border-color:#1d3932}
.studio-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.studio-heading .eyebrow{display:flex;align-items:center;gap:13px;font-size:.8125rem;letter-spacing:.09em;color:var(--muted)}.edition-tag{letter-spacing:0;padding-inline-start:13px;border-inline-start:1px solid var(--border)}.studio-tabs{display:flex;gap:5px;overflow-x:auto;padding:0 0 16px;margin:0 0 24px;border-bottom:1px solid var(--border);scrollbar-width:thin}.studio-tabs a{flex:none;font-size:.875rem;color:var(--muted);padding:8px 12px;border-radius:7px;white-space:nowrap;transition:background .15s}.studio-tabs a.active{color:#15523e;background:#e0f0e7;font-weight:650}.studio-tabs a:hover{background:var(--soft)}
.studio-split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.gate-picker{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;direction:ltr;justify-content:flex-start}.gate-picker .button{font-family:ui-monospace,monospace;letter-spacing:.02em;padding-inline:20px}.gate-picker .selected{background:#163b30;color:#b7f2ce}.studio-guide{border:1px solid var(--border);background:var(--surface);padding:24px;border-radius:12px}.vr2>.studio-guide{margin-top:24px;display:grid;grid-template-columns:1fr 2fr;gap:8px 28px}.vr2>.studio-guide .guide-kicker{grid-column:1/-1}.vr2>.studio-guide h2{grid-column:1}.vr2>.studio-guide>p{margin:0}.vr2>.studio-guide .try-this{grid-column:2;grid-row:3/5;margin:0}.vr2>.studio-guide .model-details{grid-column:1/-1}.guide-kicker{display:flex;gap:8px;align-items:center;font-size:.75rem;letter-spacing:.06em;color:var(--purple);font-weight:650;margin-bottom:16px}.studio-guide p{color:var(--muted);margin:6px 0 20px}.try-this{background:var(--soft);border-inline-start:3px solid #5fa98b;padding:16px;margin:20px 0;border-radius:4px 8px 8px 4px}.try-this strong{font-size:.9rem}.try-this p{font-size:.9375rem;margin:8px 0 0;color:var(--text)}.model-details{padding-top:16px;margin-top:20px;border-top:1px solid var(--border)}details summary{cursor:pointer;font-size:.9rem}.model-details p{font-size:.875rem}.text-link{font-size:.9rem}
.circuit-surface{border:1px solid #294348;border-radius:13px;overflow:hidden;background:#101f25;color:#c6d9dc;box-shadow:0 9px 25px #1129210c;direction:ltr;--text:#d3e5e7}.canvas-toolbar{display:flex;align-items:center;gap:18px;min-height:54px;padding:12px 20px;border-bottom:1px solid #2a3b41;flex-wrap:wrap;font-size:.8125rem;line-height:1.5}.canvas-name{display:flex;align-items:center;gap:9px;font-size:.75rem;letter-spacing:.07em;color:#d0e3df}.canvas-actions{margin-inline-start:auto;display:flex;gap:5px;align-items:center}.canvas-actions .button{padding:3px 9px;min-height:30px;background:#20343a;color:#d4e8e4;border:1px solid #375057;font-size:.8125rem}.signal-legend{display:flex;gap:14px;font-size:.75rem;color:#a6bcbf}.signal-legend>span{display:flex;gap:5px;align-items:center}.signal-legend i{display:inline-block;width:12px;height:3px;background:#647b82}.signal-legend .high{background:var(--signal)}.signal-legend .unknown{background:var(--unknown)}.canvas-viewport{height:360px;position:relative;overflow:auto;overscroll-behavior:contain}.circuit-svg{display:block;width:100%;height:100%;min-width:520px;color:#d0e6e8;overflow:visible;touch-action:none}.canvas-viewport .circuit-svg{overflow:hidden}.circuit-svg text{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;fill:#c9dddf;user-select:none;text-anchor:middle}.circuit-svg .signal-number{font-size:30px;font-weight:600;fill:#dbf5e6}.circuit-svg .node-label{font-size:19px;font-weight:600;fill:#e2efee}.circuit-svg .node-type{font-size:16px;fill:#9bb5b9}.circuit-svg .port-label{font-size:14px;text-anchor:end;fill:#94aeb5}.circuit-svg .gate-name{font-size:14px;font-weight:600;fill:#c1dbd7}.circuit-svg .empty-circuit{font-family:inherit;font-size:24px}.pin-line{stroke:#93aeb3;stroke-width:2.5;fill:none}.port{fill:#1a2f37;stroke:#aac5c6;stroke-width:2;cursor:crosshair}.port:hover,.port:focus,.port.pending{fill:#b4edbc;stroke:#dbffe2;outline:0;stroke-width:4}.wire{fill:none;stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round;stroke:#586e79}.wire.high{stroke:var(--signal);filter:drop-shadow(0 0 3px #70e6a025)}.wire.unknown{stroke:var(--unknown);stroke-dasharray:6 7}.wire.low{stroke:#516b76}.wire.selected{stroke:#c1d8ff;stroke-width:5}.wire.broken{stroke:#e6a77d;stroke-dasharray:6 8}.wire-target{fill:none;stroke:transparent;stroke-width:18;cursor:pointer}.wire-pulse{fill:none;stroke:#e4ffed;stroke-width:3.4;stroke-dasharray:2 25;stroke-linecap:round;animation:signal-travel 2.4s linear infinite;pointer-events:none;opacity:.8}.selection-box{fill:transparent;stroke:transparent;stroke-width:1.5;stroke-dasharray:5 4}.circuit-node.selected .selection-box{fill:#a1e7bc0c;stroke:#9de7bf}.circuit-node [role=button]{cursor:pointer}.circuit-node [role=button]:focus{outline:2px dashed #d2ffa7;outline-offset:4px}.drag-handle{cursor:grab}.canvas-foot{padding:12px 18px;display:flex;gap:15px;align-items:center;justify-content:space-between;border-top:1px solid #2a3b41;color:#a7bfc1;font-size:.8125rem;direction:inherit}.canvas-foot .button{color:#d3e4e4;font-size:.8125rem;padding:4px 10px;min-height:30px;background:transparent;border-color:#3d545a}.gate-insight{border:1px solid var(--border);border-top:0;border-radius:0 0 12px 12px;background:var(--surface);padding:20px 26px;display:flex;align-items:center;gap:24px;justify-content:space-between;margin-top:-10px;padding-top:28px}.gate-insight h2{font:600 1.4rem ui-monospace,monospace;margin:5px 0;text-align:start}.gate-insight p{margin:4px 0 0;color:var(--muted)}.output-readout{border-inline-start:1px solid var(--border);padding-inline-start:25px;display:flex;flex-direction:column;align-items:center;min-width:80px}.output-readout span{font-size:.75rem;letter-spacing:.07em;color:var(--muted)}.output-readout strong{font:500 3.25rem ui-monospace,monospace;color:var(--purple)}.truth-panel{background:var(--surface);padding:24px;border:1px solid var(--border);border-radius:12px}.truth-panel>p{color:var(--muted);font-size:.875rem;margin:0 0 20px}.truth-panel>.button{width:100%;margin-top:22px}.truth-table{width:100%;border-collapse:collapse;text-align:center;font-family:ui-monospace,monospace;font-size:.9375rem}.truth-table th{font-weight:500;color:var(--muted);border-bottom:1px solid var(--border);padding:8px}.truth-table td{padding:9px;border-bottom:1px solid var(--border)}.truth-table tr.current{background:var(--soft);box-shadow:inset 3px 0 #479577}.truth-table tr[data-v2]{cursor:pointer}.truth-table tr[data-v2]:hover{background:var(--bg)}.truth-value{display:inline-grid;place-items:center;width:30px;height:30px;background:var(--bg);border-radius:5px}.truth-value.one{background:#dcf3e4;color:#176240;font-weight:700}
.builder-top{display:flex;align-items:end;gap:18px;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.builder-top>.field-label{min-width:200px}.builder-layout{display:grid;grid-template-columns:140px minmax(0,1fr) 185px;gap:12px;align-items:stretch}.component-palette,.component-inspector{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:15px;min-width:0}.component-palette{max-height:600px;overflow:auto}.component-palette h2{font-size:.9rem}.palette-item{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:9px 7px;margin-bottom:7px;cursor:grab;gap:5px;direction:ltr;color:var(--text)}.palette-item span{font:600 .8125rem ui-monospace,monospace}.palette-item small{font-size:.7rem;color:var(--muted)}.palette-item:hover{border-color:#59a886;background:var(--soft)}.builder .canvas-toolbar{padding:12px}.builder .canvas-name{display:none}.builder .canvas-viewport{height:490px}.builder .circuit-svg{min-width:0}.builder .signal-legend{gap:9px}.builder .canvas-foot{flex-wrap:wrap;font-size:.75rem}.component-inspector p{font-size:.875rem;color:var(--muted)}.component-inspector .field-label{margin:12px 0}.component-inspector .button{font-size:.8125rem;min-height:36px}.inspector-value{font:600 2.5rem ui-monospace,monospace;color:var(--purple);border-block:1px solid var(--border);padding:12px 0;margin:15px 0}.inspector-value small{display:block;color:var(--muted);font-family:inherit;font-weight:400}.inspector-move{display:flex;gap:4px;margin:20px 0;direction:ltr}.inspector-move .button{padding:4px 7px}.button.danger{color:#a44138;border-color:#c78e88;background:transparent}.circuit-warnings{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.circuit-warnings span{font-size:.8125rem;background:#fff1dc;color:#885719;border-radius:5px;padding:6px 10px}.studio-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:24px}.save-controls{display:flex;gap:7px}.toggle-label{display:flex;gap:8px;align-items:center;font-size:.875rem;cursor:pointer}.toggle-label input{width:17px;height:17px;accent-color:#317e62}.saved-experiments{margin-top:24px}.saved-experiment{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.saved-experiment>div{flex:1;min-width:0}.saved-experiment strong{display:block;overflow-wrap:anywhere}.saved-experiment small{display:block;color:var(--muted)}
.bit-panel{padding:30px}.bit-switches{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin:26px 0}.bit-switch{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:9px;padding:13px 3px;cursor:pointer;font-family:ui-monospace,monospace}.bit-switch strong{font-size:2rem;font-weight:500;color:var(--text)}.bit-switch.on{background:#16382e;border-color:#326747;color:#a6ddb7;box-shadow:inset 0 -3px #6aae82}.bit-switch.on strong{color:#bff8d2}.bit-switch span{font-size:.8125rem}.number-readouts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.number-readouts>div{padding:16px 10px;text-align:center;border:1px solid var(--border);border-radius:8px}.number-readouts small{display:block;color:var(--muted)}.number-readouts strong{font:500 2rem ui-monospace,monospace;display:block;margin-top:8px}.number-line{display:flex;align-items:center;gap:15px;direction:ltr;font-family:ui-monospace,monospace;margin:30px 0}.number-line>div{position:relative;height:5px;border-radius:5px;flex:1;background:linear-gradient(to right,#e9bca0 50%,#99cbb2 50%)}.number-line i{position:absolute;width:14px;height:14px;border-radius:50%;top:-5px;transform:translateX(-50%);background:#285f4d;border:3px solid #c7ecd1}.explain-line{font-family:ui-monospace,monospace;text-align:center;background:var(--soft);padding:18px;border-radius:7px;margin-bottom:0}
.boolean-form{display:flex;align-items:center;gap:14px;margin-bottom:16px}.boolean-form label{font-size:.9375rem;white-space:nowrap}.boolean-form input{font-size:1.1rem!important;flex:1}.expression-examples{margin:0 0 22px;direction:ltr}.expression-examples .button{font-size:.8125rem;padding:6px 10px;min-height:36px}.boolean-result{font-size:1.45rem!important;font-family:ui-monospace,monospace;padding:16px 0;overflow-wrap:anywhere}.boolean-circuit{height:310px;margin:24px 0 16px;overflow:auto}.boolean-circuit .circuit-svg{min-width:560px}.result-pill{background:var(--soft);color:var(--purple);padding:8px 18px;border-radius:6px;font-family:ui-monospace,monospace}.kmap{border-collapse:separate;border-spacing:5px;width:100%;text-align:center;font-family:ui-monospace,monospace}.kmap caption{font-size:.9rem;margin:0 0 10px}.kmap th{font-size:.875rem;font-weight:500;color:var(--muted)}.kmap td{border:1px solid var(--border);border-radius:7px;background:var(--bg);padding:10px;min-width:35px}.kmap td strong{font-size:1.4rem}.kmap td small{display:block;font-size:.75rem;color:var(--muted)}.kmap td.grouped{background:#e0f3e4;border-color:#62a377;box-shadow:inset 0 0 0 1px #62a377}.kmap-terms{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.kmap-terms span{font:400 .875rem ui-monospace,monospace;background:var(--bg);padding:6px 9px;border-radius:4px}.kmap-terms span.highlight{background:#e0f3e4;color:#246443}
.alu-controls{display:flex;align-items:end;gap:20px;margin-bottom:24px;flex-wrap:wrap}.alu-controls .field-label{width:130px}.alu-result{margin-inline-start:auto;display:flex;align-items:center;gap:20px}.alu-result>span{font-size:.875rem;color:var(--muted)}.alu-result strong{font:500 3rem ui-monospace,monospace;color:var(--purple)}.alu-result code{font-size:1rem;padding:8px 13px;background:var(--soft);border-radius:6px}.alu-slices{display:grid;grid-template-columns:repeat(8,minmax(72px,1fr));gap:12px;padding:28px 30px 24px;overflow-x:auto}.alu-slice{position:relative;border:1px solid #39565a;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:14px;background:#192d34;color:#bfd8d8;padding:15px 7px;font-family:ui-monospace,monospace;cursor:pointer}.alu-slice small{font-size:.75rem;color:#99b3b6}.alu-slice>div{display:flex;gap:9px;font-size:.875rem}.alu-slice>div b{color:#dcf2e6}.alu-slice>strong{border-block:1px solid #385154;width:100%;padding:12px 0;font-size:.8125rem;color:#b8d8c7}.alu-slice.selected{border-color:#8ae5b3;background:#1d3d36;box-shadow:0 0 0 1px #8ae5b3}.carry-value{font-size:.75rem}.carry-value.one{color:#a0eaba}.slice-result{font-size:1.6rem;border-radius:4px;display:grid;place-items:center;width:40px;height:38px;background:#2b4149}.slice-result.one{color:#bcffd6;background:#27553d}.carry-arrow{position:absolute;left:-16px;bottom:80px;font-size:.75rem;color:#829999;background:#101f25;z-index:1}.carry-arrow.one{color:#a8f4c5}.flag-strip{display:flex;gap:10px;padding:0 30px 22px;flex-wrap:wrap}.flag-strip>span{background:#1d3037;border:1px solid #3b5158;border-radius:5px;font:400 .875rem ui-monospace,monospace;padding:6px 13px}.flag-strip>span b{margin-left:13px;color:#d8eae4}.flag-strip>span.set{background:#244b38;border-color:#66a57c}.alu-surface{margin-bottom:24px}.slice-equations{display:flex;flex-wrap:wrap;gap:9px;font:400 .875rem ui-monospace,monospace}.slice-equations span{background:var(--bg);padding:7px 9px;border-radius:4px}.alu-detail{height:300px;overflow:auto;margin:20px 0}.alu-detail .circuit-svg{min-width:600px}
.memory-shortcuts{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.small-select{width:100px}.memory-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:20px 0}.memory-controls>.field-label{width:95px}.ram-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ram-cell{background:var(--bg);border:1px solid var(--border);padding:12px 5px;border-radius:7px;cursor:pointer;color:var(--text);font-family:ui-monospace,monospace}.ram-cell small{display:block;color:var(--muted);font-size:.75rem}.ram-cell strong{display:block;font-size:1.5rem;font-weight:500;margin:3px 0}.ram-cell code{font-size:.75rem;color:var(--muted)}.ram-cell.selected{background:var(--soft);border-color:#5d9e79;box-shadow:inset 0 0 0 1px #5d9e79}.memory-output{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:15px 20px;background:var(--soft);border-radius:8px}.memory-output strong{font:500 2rem ui-monospace,monospace}.memory-history{display:flex;gap:8px;flex-wrap:wrap}.memory-history span{font:400 .75rem ui-monospace,monospace;background:var(--bg);padding:5px 8px;border-radius:4px}
.designer-config{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin:0 0 20px}.designer-config>.field-label:first-child{width:90px}.designer-config>.field-label{min-width:130px}.alu-operation-list{border:1px solid var(--border);padding:8px 12px 12px;border-radius:8px;display:flex;gap:12px;direction:ltr}.alu-operation-list legend{padding-inline:5px;font-size:.8125rem}.alu-operation-list label{font:400 .8125rem ui-monospace,monospace;display:flex;gap:3px;align-items:center}.alu-operation-list input{accent-color:#246d51}.cpu-palette{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px;direction:ltr}.cpu-part{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:8px 13px;font:400 .75rem ui-monospace,monospace;cursor:grab;color:var(--muted)}.cpu-part.installed{border-color:#73a48a;background:#e8f4ed;color:#205b40}.cpu-part span{padding-inline-start:10px}.cpu-design-svg{width:100%;display:block;min-width:620px}.cpu-surface{overflow:auto}.cpu-design-svg text{text-anchor:middle;font-family:ui-monospace,monospace}.cpu-block{cursor:pointer}.cpu-block rect{fill:#1b353a;stroke:#6d9a8e;stroke-width:1.5}.cpu-block.missing rect{fill:#101f25;stroke:#586768;stroke-dasharray:6 6}.cpu-block:focus{outline:2px solid #caffd6}.cpu-block:hover rect{stroke:#a0eab9}.cpu-block-label{fill:#c8e2df;font-size:14px}.cpu-block-value{fill:#96cba8;font-size:15px}.cpu-model-label{fill:#9fb5ba;font-size:13px;text-anchor:start!important}.microsteps{display:flex;justify-content:space-around;gap:8px;padding:15px 20px;border-top:1px solid #30484c;direction:ltr;min-width:400px}.microsteps>span{padding:6px 14px;font-size:.875rem;color:#a0b8bc;border-radius:5px}.microsteps>span.active{background:#25563e;color:#c7f9d8}.designer-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:22px;margin-top:22px}.vr2 .code-editor{width:100%;min-height:220px;font-size:.9375rem;line-height:1.8;margin:0 0 18px;border:1px solid var(--border);border-radius:8px;resize:vertical}.debug-instruction{padding:13px 16px;background:var(--soft);color:var(--purple);font:500 1rem ui-monospace,monospace;border-radius:7px;margin:0 0 18px;overflow-wrap:anywhere}.debug-registers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.debug-registers>div{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 4px;background:var(--bg);border:1px solid var(--border);border-radius:7px;font-family:ui-monospace,monospace}.debug-registers>div span{font-size:.8125rem;color:var(--muted)}.debug-registers>div strong{font-size:1.35rem;font-weight:500}.debug-registers>div code{font-size:.7rem;color:var(--muted)}.debug-registers .changed{border-color:#6caa7d;background:#e4f1e5;box-shadow:inset 0 0 0 1px #6caa7d}.debug-explanation{font-size:.9375rem;line-height:1.9;margin-top:20px}.memory-peek{display:flex;gap:10px;flex-wrap:wrap;font:400 .8125rem ui-monospace,monospace;margin-top:18px}.memory-peek strong{width:100%;font-weight:500}.memory-peek span{padding:5px 9px;background:var(--bg);border-radius:4px}.instruction-help{margin-top:20px}.instruction-help pre{background:var(--bg);padding:15px;border-radius:7px;overflow:auto}
.architecture-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:start}.architecture-config .field-label{margin:13px 0}.architecture-config .toggle-label{margin-top:18px}.experiment-program .button.primary{width:100%}.experiment-program>p{font-size:.875rem;color:var(--muted);margin:18px 0}.experiment-program .save-controls{justify-content:center}.comparison-result{margin-top:24px}.estimate-badge{font-size:.8125rem;background:var(--soft);padding:5px 10px;border-radius:5px;color:var(--purple)}.comparison-headline{display:flex;gap:28px;align-items:center;margin:10px 0 25px}.comparison-headline strong{font:500 3.3rem ui-monospace,monospace;color:var(--purple)}.comparison-headline p{font-size:.9375rem;max-width:600px;color:var(--muted)}.comparison-row{display:flex;gap:18px;align-items:center;direction:ltr;margin:15px 0}.comparison-row>strong{font:600 1rem ui-monospace,monospace;min-width:35px}.cost-bar{display:flex;flex:1;height:36px;gap:2px;align-items:stretch}.cost-bar>span{display:flex;justify-content:center;align-items:center;color:#fff;font:500 .75rem ui-monospace,monospace;min-width:2px}.cost-base{background:#447367}.cost-fill{background:#748893}.cost-data{background:#a07e43}.cost-control{background:#8872aa}.cost-structural{background:#a46559}.cost-memory{background:#4989a0}.comparison-table{width:100%;border-collapse:collapse;text-align:start;margin:24px 0}.comparison-table td,.comparison-table th{padding:9px 12px;border-bottom:1px solid var(--border);font-size:.875rem}.comparison-table td:not(:first-child),.comparison-table th:not(:first-child){text-align:center}.comparison-result details{padding:14px 0;border-top:1px solid var(--border)}.comparison-result details p{font-size:.875rem;color:var(--muted)}
.mission-banner{display:flex;flex-wrap:wrap;align-items:center;gap:20px;border:1px solid #bed9c5;border-inline-start:4px solid #568a68;background:var(--soft);padding:23px;border-radius:10px;margin-bottom:24px}.mission-banner>div:first-child{flex:1;min-width:200px}.mission-banner h2{margin:7px 0}.mission-banner p{font-size:.9375rem;margin:0;color:var(--muted)}.mission-feedback{flex-basis:100%;padding:12px 15px;border-radius:6px}.mission-feedback.success{background:#d3ecd8;color:#205438}.mission-feedback.error{background:#f9e4dc;color:#923e29}.mission-feedback small{display:block}.mission-intro{margin-bottom:24px;color:var(--muted);max-width:800px}.mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mission-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.mission-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.mission-index{font:400 1.5rem ui-monospace,monospace;color:#559476}.mission-card p{font-size:.9375rem;color:var(--muted);margin:0 0 22px;flex:1}.mission-card h2{font-size:1.1rem}.mission-card .button{align-self:start}.course-resources{margin-top:28px;padding:25px;border-top:1px solid var(--border)}.course-resources p{font-size:.9375rem;color:var(--muted)}.course-resources a{display:block;padding:9px 0;color:var(--purple);font-size:.9375rem}.foundation-experiment{background:var(--soft);border:1px solid #c5dccc;border-radius:12px;padding:24px;margin:22px 0}.foundation-experiment h2{font-size:1.2rem;line-height:1.8}.foundation-experiment p{line-height:1.9}.foundation-experiment .button{margin-top:12px}
[dir=rtl] .vr2 .eyebrow{letter-spacing:0}[dir=rtl] .vr2 .edition-tag{font-weight:400}[dir=rtl] .vr2 .studio-heading h1{letter-spacing:0}[dir=rtl] .canvas-foot>span{direction:rtl}[dir=rtl] .canvas-toolbar .canvas-name{letter-spacing:0}[dir=rtl] .microsteps{direction:rtl}[dir=rtl] .vr2 .guide-kicker{letter-spacing:0}
html[data-theme=dark] .studio-tabs a.active{background:#244537;color:#b7ebcf}html[data-theme=dark] .kmap td.grouped,html[data-theme=dark] .kmap-terms span.highlight,html[data-theme=dark] .debug-registers .changed,html[data-theme=dark] .cpu-part.installed{background:#244537;color:#d1edda}html[data-theme=dark] .truth-value.one{background:#29513c;color:#b8f1cd}html[data-theme=dark] .circuit-warnings span{background:#463523;color:#f3cc97}html[data-theme=dark] .mission-feedback.success{background:#2d5038;color:#d0eed3}html[data-theme=dark] .mission-feedback.error{background:#562f24;color:#ffcfbd}
@keyframes signal-travel{to{stroke-dashoffset:-54}}
@media(prefers-reduced-motion:reduce){.wire-pulse{animation:none;stroke-dasharray:none;opacity:0}.vr2 *{scroll-behavior:auto!important;transition:none!important}}
html[data-motion=reduced] .wire-pulse{animation:none;opacity:0}
@media(min-width:1600px){.builder-layout{grid-template-columns:160px minmax(0,1fr) 210px}.builder .canvas-viewport{height:540px}.canvas-viewport{height:400px}}
@media(max-width:1200px){.studio-split{grid-template-columns:minmax(0,1fr) 260px}.builder-layout{grid-template-columns:110px minmax(0,1fr)}.component-inspector{grid-column:1/-1;display:flex;align-items:start;gap:18px;flex-wrap:wrap}.component-inspector>p{max-width:500px}.component-inspector .field-label{width:170px;margin:0}.component-inspector h3{width:100%}.component-inspector .inspector-value{margin:0;padding:0 20px;border-block:0}.inspector-move{margin:0}.palette-item small{display:none}.architecture-layout{gap:10px}.architecture-layout>.panel{padding:18px}.alu-slices{gap:8px;padding-inline:20px}.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-heading .edition-tag{display:none}}
@media(max-width:980px){.studio-split,.designer-bottom{grid-template-columns:1fr}.truth-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px}.truth-panel .truth-table{grid-column:2;grid-row:1/5}.truth-panel .button{margin-top:0;align-self:end}.truth-panel h2{margin-bottom:0}.truth-panel>p{margin-bottom:0}.studio-bottom{grid-template-columns:1fr}.vr2>.studio-guide{display:block}.vr2>.studio-guide .try-this{margin:18px 0}.architecture-layout{grid-template-columns:1fr 1fr}.experiment-program{grid-column:1/-1;grid-row:2}.architecture-layout .architecture-config:last-child{grid-column:2;grid-row:1}.bit-switches{gap:6px}.boolean-form{flex-wrap:wrap}.boolean-form label{width:100%}.builder .canvas-viewport{height:410px}}
@media(max-width:720px){.content:has(.vr2){padding:22px 16px}.studio-heading{gap:12px;margin-bottom:16px}.studio-heading>.button{padding:7px 10px;font-size:.8125rem}.studio-heading h1{font-size:1.55rem}.studio-heading .eyebrow{font-size:.7rem}.studio-tabs{margin-bottom:20px}.studio-tabs a{padding:7px 10px;font-size:.8125rem}.gate-picker{gap:6px}.gate-picker .button{padding-inline:14px;min-height:39px}.canvas-toolbar{padding:10px 13px;gap:10px}.canvas-name{display:none}.signal-legend{font-size:.75rem;gap:10px}.canvas-viewport{height:300px}.circuit-svg{min-width:540px}.canvas-foot{font-size:.8125rem;padding:10px 13px}.gate-insight{padding:24px 17px 16px;gap:12px}.gate-insight p{font-size:.9375rem}.gate-insight h2{font-size:1.2rem}.output-readout{padding-inline-start:17px;min-width:65px}.output-readout strong{font-size:2.7rem}.truth-panel{padding:20px;gap:10px 18px}.truth-panel h2{font-size:1rem}.truth-table td{padding:6px}.truth-panel .button{font-size:.8125rem}.studio-guide{padding:20px}.builder-top{align-items:stretch;gap:13px}.builder-top>.field-label{width:100%}.builder-top .save-controls{margin-inline-start:auto}.builder-layout{grid-template-columns:1fr}.component-palette{max-height:none;display:flex;align-items:center;overflow:auto;gap:7px;padding:10px;direction:ltr}.component-palette h2{display:none}.palette-item{width:auto;flex:none;padding:10px 12px;margin:0}.builder .canvas-viewport{height:370px}.builder .circuit-svg{min-width:650px}.component-inspector{grid-column:auto;padding:18px}.component-inspector .field-label{max-width:45%;flex:1}.component-inspector .inspector-value{font-size:1.8rem}.builder-top .button-row{gap:8px;flex-wrap:wrap}.vr2 .toggle-label{font-size:.8125rem}.bit-panel{padding:20px}.bit-switches{gap:4px;margin:20px 0}.bit-switch{padding:10px 0;border-radius:6px;gap:6px}.bit-switch strong{font-size:1.6rem}.bit-switch small,.bit-switch span{font-size:.7rem}.number-readouts{gap:7px}.number-readouts>div{padding:12px 6px}.number-readouts small{font-size:.75rem;line-height:1.5}.number-readouts strong{font-size:1.55rem}.number-line{font-size:.875rem}.boolean-form{gap:10px}.boolean-form input{width:100%}.boolean-form .button{margin-inline-start:auto}.boolean-circuit{height:300px}.alu-controls{gap:12px}.alu-controls .field-label{flex:1;width:auto}.alu-result{width:100%;justify-content:space-between;gap:10px}.alu-result strong{font-size:2.6rem}.alu-slices{grid-template-columns:repeat(8,78px);padding:20px 20px 25px}.alu-surface .canvas-toolbar span:last-child{font-size:.75rem}.flag-strip{padding-inline:20px;gap:8px}.flag-strip>span{padding:5px 9px}.ram-cell code{font-size:.65rem}.ram-cell strong{font-size:1.25rem}.memory-controls{gap:12px}.memory-controls>.field-label{width:calc(50% - 7px)}.memory-controls .button{margin-inline-start:auto}.memory-output{padding:12px}.memory-output span{font-size:.875rem}.designer-config{gap:15px}.designer-config .field-label:last-of-type{width:100%}.alu-operation-list{gap:8px}.designer-config .save-controls{margin-inline-start:auto}.cpu-palette{gap:6px}.cpu-part{padding:8px 10px}.microsteps{padding:12px}.microsteps>span{padding:5px 8px;font-size:.8125rem}.debug-registers{gap:6px}.debug-registers>div{padding:10px 3px}.debug-registers>div code{font-size:.65rem}.architecture-layout{gap:12px}.architecture-layout>.panel{padding:16px}.architecture-config .field-label{font-size:.8125rem}.comparison-headline{gap:18px}.comparison-headline strong{font-size:2.4rem}.comparison-headline p{font-size:.875rem}.comparison-result .section-heading{flex-wrap:wrap}.cost-bar{height:30px}.comparison-table td{padding:8px 5px;font-size:.8125rem}.mission-grid{grid-template-columns:1fr;gap:16px}.mission-banner{padding:20px}.mission-banner>.button{width:100%}.mission-card{padding:22px}.course-resources{padding:20px 0}.saved-experiment{flex-wrap:wrap}.saved-experiment>div{flex-basis:100%}.vr2 .button{max-width:100%}.vr2 .table-scroll{overflow:auto}}

.wire-casing{fill:none;stroke:#101f25;stroke-width:7;stroke-linejoin:round;pointer-events:none}.wire-junction{fill:var(--signal);stroke:#101f25;stroke-width:1;pointer-events:none}

.waveform-panel{min-width:0}.waveform-scroll{overflow:auto;margin:18px 0}.waveform-scroll svg{display:block;max-width:none}.wave-label{font:500 15px ui-monospace,monospace;fill:var(--text)}.wave-tick{font:400 12px ui-monospace,monospace;fill:var(--muted)}.waveform-panel p{font-size:.9rem;color:var(--muted)}.cmos-details{margin-top:24px}.cmos-details>summary{font-weight:600}.cmos-details>p{max-width:900px}.cmos-surface{max-width:780px;margin:22px auto;overflow:auto}.cmos-surface svg{width:100%;min-width:550px;display:block}.cmos-surface text{font:400 16px ui-monospace,monospace;fill:#c3dedd}.cmos-surface .cmos-output{font-size:24px}

.kmap-terms button{font:400 .875rem ui-monospace,monospace;border:1px solid var(--border);background:var(--bg);color:var(--text);padding:7px 10px;border-radius:5px;cursor:pointer}.kmap-terms button.highlight{background:var(--soft);border-color:#519c75;color:var(--purple)}.boolean-view-choice{margin-top:20px}

.vr2>*{min-width:0}.studio-split>*{min-width:0;max-width:100%}.circuit-surface{max-width:100%}.builder-layout>*{min-width:0}.vr2 .panel{min-width:0}.studio-bottom>*{min-width:0}@media(max-width:980px){.studio-split,.designer-bottom,.studio-bottom{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.gate-surface .circuit-svg{min-width:0}.gate-surface .canvas-viewport{height:430px}.canvas-toolbar{flex-wrap:wrap}.canvas-actions{margin-inline-start:0}.signal-legend{flex-wrap:wrap}.studio-heading .button{flex-shrink:0}}

/* Direct, reversible canvas deletion. */
.node-delete{cursor:pointer;opacity:0}.node-delete circle{fill:#652b35;stroke:#f3bbc0;stroke-width:1.5}.node-delete path{stroke:#fff;stroke-width:2;fill:none;pointer-events:none}.circuit-node:hover .node-delete,.circuit-node.selected .node-delete,.node-delete:focus,.erasing .node-delete{opacity:1}.erasing .circuit-node{cursor:crosshair}.builder .canvas-toolbar{flex-wrap:wrap}.builder .canvas-actions{flex-wrap:wrap}.canvas-actions .button{min-height:40px}.node-delete:focus{outline:2px solid #fff;outline-offset:3px}@media(hover:none){.node-delete{opacity:1}}

.palette-help{font-size:.875rem;line-height:1.75;color:var(--muted);margin:0 0 14px}.palette-basics{display:grid;gap:7px}.palette-item strong{font:600 1rem ui-monospace,monospace}.palette-item small{font-size:.8125rem}.palette-item{min-height:56px;width:100%}.palette-more{margin-top:16px}.palette-more summary{cursor:pointer;font-size:.875rem;margin-bottom:12px}.palette-more .palette-item{margin-bottom:7px}.selected-component{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px;border-bottom:1px solid #324b50;color:#e3f3f0;font-size:.875rem}.selected-component .button{min-height:42px}@media(max-width:980px){.component-palette{display:block}.palette-basics{grid-template-columns:repeat(auto-fit,minmax(116px,1fr))}.palette-more[open]{display:flex;flex-wrap:wrap;gap:8px}.palette-more summary{width:100%}.palette-more .palette-item{width:130px}}
