@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f6f4f0;--surface: #ffffff;--surface-quiet: #f2efe9;--border: #e6e1d7;--border-active: #1a7f8f;--text: #1b2430;--text-secondary: #5b6b7c;--text-dim: #8a97a6;--accent: #1fa6b8;--accent-strong: #0f8ca1;--accent-bg: #e5f6f8;--glow: rgba(31, 166, 184, .45);--on: #1fa6b8;--off: #c6cdd4;--danger: #d64232;--success: #1b8a5a;--warning: #d99a2b;--font: "Space Grotesk", "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--nav-width: 220px;--radius: 10px;--radius-sm: 6px;--shadow-soft: 0 16px 40px rgba(21, 36, 49, .08)}html{font-size:15px;-webkit-font-smoothing:antialiased}body{font-family:var(--font);color:var(--text);background:radial-gradient(circle at top right,rgba(31,166,184,.08),transparent 45%),radial-gradient(circle at 20% 20%,rgba(27,36,48,.04),transparent 35%),var(--bg);line-height:1.6}.app-layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--nav-width);padding:2rem 2.5rem;max-width:1100px}.nav-sidebar{position:fixed;top:0;left:0;width:var(--nav-width);height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem 0;z-index:100}.nav-brand{display:flex;align-items:center;gap:.6rem;padding:0 1.25rem;margin-bottom:2rem}.nav-logo{display:flex}.nav-title{font-size:1rem;font-weight:700;letter-spacing:-.02em}.nav-links{display:flex;flex-direction:column;gap:2px;padding:0 .75rem}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:var(--radius);text-decoration:none;color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:all .15s}.nav-link:hover{background:#f1f5f9;color:var(--text)}.nav-link-active{background:var(--accent-bg);color:var(--border-active)}.nav-num{font-family:var(--mono);font-size:.7rem;color:var(--text-dim);min-width:1.4rem}.nav-link-active .nav-num{color:var(--border-active)}.nav-footer{margin-top:auto;padding:0 1.25rem}.nav-footer-text{font-size:.7rem;color:var(--text-dim)}.page{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.75rem;font-weight:700;letter-spacing:-.03em}.page-subtitle{color:var(--text-secondary);font-size:.95rem;margin-top:.25rem}.page-content{display:flex;flex-direction:column;gap:1.5rem}.circuit-area{background:linear-gradient(180deg,#fff,#fbf9f4);border:1px solid var(--border);border-radius:12px;padding:1.5rem;position:relative}.circuit-svg{width:100%;height:auto;display:block;margin:1rem 0}.svg-label{font-family:var(--mono);font-size:12px;fill:var(--text-secondary);font-weight:500}.svg-gate-label{font-family:var(--mono);font-size:12px;fill:var(--text-secondary);font-weight:600;text-anchor:middle}.controls-row{display:flex;align-items:flex-start;gap:1.5rem;flex-wrap:wrap;margin-bottom:.5rem}.input-group{display:flex;gap:.75rem}.gate-select{display:flex;gap:4px}.bit-toggle{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s;font-family:var(--mono)}.bit-toggle-lg{padding:.5rem 1rem;min-width:56px}.bit-toggle-sm{padding:.3rem .5rem;min-width:36px}.bit-toggle:hover{border-color:var(--accent)}.bit-toggle-on{background:var(--accent-bg);border-color:var(--accent-strong)}.bit-toggle-label{font-size:.65rem;color:var(--text-dim);font-weight:500;text-transform:uppercase}.bit-toggle-value{font-size:1.1rem;font-weight:700;color:var(--text)}.bit-toggle-on .bit-toggle-value{color:var(--accent-strong)}.bit-toggle-sm .bit-toggle-value{font-size:.85rem}.bus4-input{display:flex;flex-direction:column;gap:.4rem}.bus4-header{display:flex;align-items:center;gap:.5rem}.bus4-label{font-weight:600;font-size:.85rem;min-width:1rem}.bus4-binary{font-family:var(--mono);font-size:.8rem;color:var(--text-secondary);background:#f1f5f9;padding:2px 6px;border-radius:var(--radius-sm)}.bus4-equals{color:var(--text-dim);font-size:.85rem}.bus4-numeric{width:48px;padding:2px 6px;font-family:var(--mono);font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;outline:none}.bus4-numeric:focus{border-color:var(--accent)}.bus4-bits{display:flex;gap:4px}.flow-controller{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;margin-left:auto}.flow-bar{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;padding:.75rem 1rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-soft);align-self:flex-end;position:sticky;top:1rem;z-index:5;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease}.flow-status{display:flex;flex-direction:column;gap:.15rem;padding-right:1rem;border-right:1px solid var(--border)}.flow-mode{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.flow-step-count{font-family:var(--mono);font-size:.78rem;color:var(--text-secondary)}.flow-status-line{font-family:var(--mono);font-size:.72rem;color:var(--text-dim);background:#ffffffb3;border:1px solid var(--border);border-radius:999px;padding:.25rem .6rem;max-width:560px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.flow-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.flow-mode-buttons{display:inline-flex;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--border);background:var(--surface-quiet)}.flow-mode-buttons .flow-btn{padding:.25rem .75rem}.flow-label{font-size:.7rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-right:.25rem}.flow-btn{padding:.35rem .85rem;border:1px solid var(--border);background:var(--surface-quiet);border-radius:999px;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;font-family:var(--font)}.flow-btn:hover{border-color:var(--accent);color:var(--text);background:#f7fbfc}.flow-btn-active{background:var(--surface);border-color:var(--accent);color:var(--accent-strong)}.flow-btn-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.flow-btn-primary:hover{background:#0a768a;border-color:#0a768a;color:#fff}.flow-btn-stop{background:#fdf1ef;border-color:#f4c1ba;color:var(--danger)}.flow-btn-stop:hover{background:#fbe4e1}.flow-speed{display:flex;align-items:center;gap:.4rem}.flow-speed-value{font-family:var(--mono);font-size:.75rem;color:var(--text-dim)}.flow-speed input[type=range]{width:80px;accent-color:var(--accent-strong)}.output-display{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.output-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.6rem 1rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius)}.output-card-wide{min-width:100px}.output-card-op{font-family:var(--mono);font-weight:700;font-size:1rem;color:var(--text-secondary);background:transparent;border:none;padding:.5rem}.output-label{font-size:.65rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.output-bit{font-family:var(--mono);font-size:1.5rem;font-weight:700;color:var(--text-dim);transition:color .15s}.output-bit-on{color:var(--accent-strong)}.output-binary{font-family:var(--mono);font-size:.85rem;font-weight:600;color:var(--text)}.output-sub{font-size:.7rem;color:var(--text-dim)}.output-flags{display:flex;gap:.5rem;font-family:var(--mono);font-size:.9rem;font-weight:700}.flag-on{color:var(--success)}.flag-off{color:var(--text-dim)}.op-select{display:flex;flex-direction:column;gap:.3rem}.op-dropdown{padding:.35rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--mono);font-size:.85rem;background:var(--surface);cursor:pointer;outline:none}.op-dropdown:focus{border-color:var(--accent)}.tab-bar{display:flex;gap:2px;background:#f1f5f9;padding:3px;border-radius:var(--radius);margin-bottom:1.5rem;width:fit-content}.tab-btn{padding:.4rem 1rem;border:none;background:transparent;border-radius:6px;font-size:.85rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;font-family:var(--font)}.tab-btn:hover{color:var(--text)}.tab-btn-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.truth-table-container{display:flex;justify-content:center;margin:.5rem 0}.truth-table{border-collapse:collapse;font-family:var(--mono);font-size:.85rem}.truth-table th{padding:.35rem 1rem;color:var(--text-dim);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.truth-table td{padding:.35rem 1rem;text-align:center;border-bottom:1px solid #f1f5f9;color:var(--text-secondary)}.truth-table tr.tt-active{background:var(--accent-bg)}.truth-table tr.tt-active td{color:var(--text);font-weight:600}.truth-table td.tt-on{color:var(--accent-strong)}.explanation-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.explanation-title{font-size:1rem;font-weight:700;margin-bottom:.75rem;letter-spacing:-.01em}.explanation-body{color:var(--text-secondary);font-size:.9rem;line-height:1.7}.explanation-body p{margin-bottom:.6rem}.explanation-body ul{margin-bottom:.6rem;padding-left:1.25rem}.explanation-body li{margin-bottom:.25rem}.explanation-body code{font-family:var(--mono);font-size:.82rem;background:#f1f5f9;padding:1px 5px;border-radius:3px;color:var(--accent-strong)}.explanation-body strong{color:var(--text);font-weight:600}.explanation-callout{margin-top:1rem;padding:.65rem .85rem;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);font-size:.85rem;color:#92400e;display:flex;align-items:flex-start;gap:.5rem;line-height:1.5}.callout-icon{font-size:1rem;flex-shrink:0}.transistor-view{display:flex;flex-direction:column;gap:1rem}.transistor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.transistor-title{font-size:1.05rem;font-weight:700;color:var(--text)}.transistor-subtitle{font-size:.85rem;color:var(--text-secondary)}.transistor-toggle{display:flex;align-items:center;gap:.6rem;padding:.4rem .7rem;background:var(--surface);border:1px solid var(--border);border-radius:999px}.transistor-toggle-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.transistor-state{font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}.transistor-state-on{background:#e9f7f1;color:var(--success)}.transistor-state-off{background:#fbeae8;color:var(--danger)}.transistor-gate{stroke:#d99a2b;stroke-width:3}.transistor-channel{stroke:#556171;stroke-width:2}.transistor-channel-on{stroke:var(--accent)}.transistor-wire{stroke:#8c9aa8;stroke-width:3}.transistor-wire-on{stroke:var(--accent);filter:drop-shadow(0 0 6px rgba(31,166,184,.45))}.transistor-current{stroke:var(--accent);stroke-width:3;stroke-dasharray:6 6;animation:currentFlow 1.2s linear infinite}.transistor-card{fill:#f3f1ec;stroke:#e0d9cf;stroke-width:1}.transistor-card-active{fill:#e5f6f8;stroke:#a8d8e2}@keyframes currentFlow{to{stroke-dashoffset:-12}}.flow-narration{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem;box-shadow:var(--shadow-soft)}.flow-narration-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.35rem}.flow-narration-text{color:var(--text-secondary);font-size:.9rem}.signal-wire{stroke:var(--off);stroke-width:1.8;stroke-linecap:round;transition:stroke .18s ease,stroke-width .18s ease,opacity .18s ease}.signal-wire.signal-highlight{stroke-width:2.6}.signal-wire.signal-on{stroke:var(--on)}.signal-quiet{opacity:.45}.signal-wire-glow{stroke:var(--accent);stroke-width:7;opacity:.35;filter:url(#signal-glow);transition:opacity .2s ease}.signal-glow-strong{filter:url(#signal-glow-strong);opacity:.6}.signal-glow-soft{filter:url(#signal-glow);opacity:.3}.signal-pulse{animation:signalPulse 2.4s ease-in-out infinite}@keyframes signalPulse{0%,to{opacity:.45}50%{opacity:.9}}.signal-wire-hit{stroke:transparent;stroke-width:12;cursor:pointer}.signal-wire-group,.signal-node-group{cursor:pointer;outline:none}.signal-node{fill:#fff;stroke:var(--off);stroke-width:1.6;transition:stroke .18s ease,stroke-width .18s ease,fill .18s ease,opacity .18s ease}.signal-node.signal-on{fill:var(--accent);stroke:var(--accent-strong)}.signal-node.signal-highlight{stroke-width:2.2}.signal-node-glow{fill:var(--accent);opacity:.25;filter:url(#signal-glow);transition:opacity .2s ease}.signal-block-rect{fill:#fdfcf9;stroke:var(--border);stroke-width:1.4;transition:stroke .18s ease,stroke-width .18s ease,fill .18s ease,opacity .18s ease}.signal-block-rect.signal-on{fill:var(--accent-bg);stroke:var(--accent-strong)}.signal-block-rect.signal-highlight{stroke-width:2}.signal-block-title{font-size:11px;font-weight:600;fill:var(--text-secondary);font-family:var(--font)}.signal-block-subtitle{font-size:9px;fill:var(--text-dim);font-family:var(--mono)}.signal-travel{stroke-dasharray:8 8;animation:signalTravel 1.6s linear infinite}@keyframes signalTravel{to{stroke-dashoffset:-16}}.svg-tooltip{position:fixed;background:#161e27f0;color:#f8fafc;padding:.45rem .6rem;border-radius:8px;font-size:.75rem;pointer-events:none;z-index:2000;box-shadow:0 10px 25px #0f172a40;min-width:110px;max-width:220px;transition:opacity .14s ease,transform .14s ease;transform:translateY(-2px);will-change:transform,left,top,opacity}.svg-tooltip-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#cbd5f5;margin-bottom:.2rem}.svg-tooltip-value{font-family:var(--mono);font-size:.8rem}.nav-section{margin-bottom:.75rem}.nav-section-heading{display:block;padding:.2rem .75rem;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.15rem}.section-title{font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.section-desc{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.addition-inputs{display:flex;align-items:center;gap:.75rem}.add-input-group{display:flex;flex-direction:column;align-items:center;gap:.2rem}.add-label{font-size:.65rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.add-number-input{width:70px;padding:.4rem .6rem;border:1.5px solid var(--border);border-radius:var(--radius);font-family:var(--mono);font-size:1.25rem;font-weight:700;text-align:center;outline:none;transition:border-color .15s}.add-number-input:focus{border-color:var(--accent-strong)}.add-op{font-size:1.25rem;font-weight:700;color:var(--text-dim)}.add-result{font-family:var(--mono);font-size:1.5rem;font-weight:800;color:var(--accent-strong)}.bitwidth-toggle{display:flex;flex-direction:column;gap:.25rem}.conversion-section{display:flex;gap:1rem;margin-bottom:.5rem}.conversion-card{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);transition:all .2s}.conversion-card-active{background:var(--accent-bg);border-color:var(--accent)}.conv-decimal{display:flex;align-items:baseline;gap:.5rem}.conv-label{font-size:.7rem;font-weight:600;color:var(--text-dim);text-transform:uppercase}.conv-value{font-family:var(--mono);font-size:1.3rem;font-weight:700;color:var(--text)}.conv-arrow{color:var(--text-dim);font-size:1rem;text-align:center}.conv-binary{display:flex;gap:3px;justify-content:center}.conv-bit{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-family:var(--mono);font-size:.85rem;font-weight:700;border-radius:4px;background:var(--surface);border:1px solid var(--border);color:var(--text-dim)}.conv-bit-on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-strong)}.conv-powers{display:flex;gap:3px;justify-content:center}.conv-power{width:28px;text-align:center;font-family:var(--mono);font-size:.6rem;color:var(--text-dim)}.conv-breakdown{text-align:center;font-family:var(--mono);font-size:.75rem;color:var(--accent-strong);padding-top:.25rem;border-top:1px solid var(--border)}.addition-svg{max-height:350px}.addition-grid-wrapper{overflow-x:auto}.step-narration{margin-top:.5rem}.step-detail{padding:.75rem 1rem;background:var(--accent-bg);border:1px solid #bfdbfe;border-radius:var(--radius)}.step-equation{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.step-bit{font-family:var(--mono);font-size:1.2rem;font-weight:700;color:var(--text);background:var(--surface);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border)}.step-bit-carry{background:#fef3c7;border-color:#f59e0b;color:#92400e}.step-bit-result{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.step-sym{font-size:1rem;color:var(--text-dim);font-weight:600}.step-carry-label{font-size:.7rem;color:#92400e}.step-write{font-size:.85rem;color:var(--text-secondary)}.step-carry-note{color:#b45309}.zoom-nav{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:1rem}.zoom-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:all .15s;text-align:left}.zoom-btn:hover{border-color:var(--accent)}.zoom-btn-active{background:var(--accent-bg);border-color:var(--accent-strong)}.zoom-btn-visited{border-color:#bfdbfe}.zoom-btn-num{font-family:var(--mono);font-size:.7rem;font-weight:700;color:var(--text-dim);background:#f1f5f9;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.zoom-btn-active .zoom-btn-num{background:var(--accent-strong);color:#fff}.zoom-btn-text{display:flex;flex-direction:column}.zoom-btn-label{font-size:.8rem;font-weight:600;color:var(--text)}.zoom-btn-scale{font-size:.65rem;color:var(--text-dim)}.zoom-breadcrumb{font-size:.8rem;color:var(--text-dim);margin-bottom:.75rem}.bc-sep{margin:0 .25rem;color:#cbd5e1}.bc-link{background:none;border:none;color:var(--accent-strong);cursor:pointer;font-size:.8rem;padding:0;font-family:var(--font)}.bc-link:hover{text-decoration:underline}.zoom-viz{margin-bottom:1rem;animation:zoomFade .35s ease}@keyframes zoomFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chip-svg{max-height:460px}.chip-block-clickable{cursor:pointer}.chip-block-clickable:hover rect{filter:brightness(.95)}.chip-stats{margin-top:1rem}.stats-title{font-size:1rem;font-weight:700;margin-bottom:.75rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.stat-card{padding:.75rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius)}.stat-name{font-size:.85rem;font-weight:700;color:var(--text);margin-bottom:.4rem}.stat-row{display:flex;justify-content:space-between;padding:.15rem 0;font-size:.75rem}.stat-label{color:var(--text-dim)}.stat-value{font-family:var(--mono);font-weight:600;color:var(--text-secondary)}.arch-compare{margin-bottom:1rem}.arch-stats{display:flex;gap:1rem;margin-top:1rem}.arch-stat{flex:1;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.arch-stat-header{padding:.5rem .75rem;font-weight:700;font-size:.9rem;text-align:center}.arch-stat-header.cpu-color{background:#eff6ff;color:#1e40af}.arch-stat-header.gpu-color{background:#f0fdf4;color:#166534}.cpu-color{color:#1e40af}.gpu-color{color:#166534}.arch-stat-row{display:flex;justify-content:space-between;padding:.35rem .75rem;font-size:.8rem;border-top:1px solid #f1f5f9}.arch-stat-row span:first-child{color:var(--text-dim)}.arch-stat-row span:last-child{font-family:var(--mono);font-weight:600;color:var(--text)}.parallel-demo{margin-top:.5rem}.demo-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.demo-task-count{font-size:.85rem;color:var(--text-secondary)}.demo-lanes{display:flex;flex-direction:column;gap:1.5rem}.demo-lane{padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc}.lane-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.lane-label{font-weight:700;font-size:.9rem}.lane-time{font-family:var(--mono);font-size:.85rem;font-weight:600;color:var(--text)}.lane-tasks{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:.5rem}.lane-task{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--surface);border:1.5px solid var(--border);transition:all .2s}.task-num{font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--text-dim)}.lane-task-active{border-color:#3b82f6;background:#dbeafe;animation:taskPulse .3s ease}.lane-task-done{background:#dbeafe;border-color:#3b82f6}.lane-task-done .task-num{color:#1e40af}.lane-task-active-gpu{border-color:#22c55e;background:#dcfce7}.lane-task-done-gpu{background:#dcfce7;border-color:#22c55e}.lane-task-done-gpu .task-num{color:#166534}@keyframes taskPulse{0%{transform:scale(.9)}50%{transform:scale(1.05)}to{transform:scale(1)}}.lane-progress{height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.lane-bar{height:100%;background:#3b82f6;border-radius:2px;transition:width .1s}.lane-bar-gpu{background:#22c55e}.demo-result{margin-top:1rem;padding:.75rem 1rem;background:#f0fdf4;border:1px solid #86efac;border-radius:var(--radius);font-size:.9rem;color:#166534}.demo-result strong{color:#065f46}.scale-viz{margin-top:.5rem}.scale-bars{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.scale-row{display:flex;align-items:center;gap:.75rem}.scale-label{min-width:170px;flex-shrink:0}.scale-name{display:block;font-size:.8rem;font-weight:600;color:var(--text)}.scale-count{display:block;font-size:.65rem;font-family:var(--mono);color:var(--text-dim)}.scale-bar-track{flex:1;height:16px;background:#f1f5f9;border-radius:8px;overflow:hidden}.scale-bar-fill{height:100%;border-radius:8px;transition:width .5s}.scale-callout{padding:.75rem 1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius);font-size:.85rem;color:#1e40af;margin-bottom:1rem;line-height:1.6}.scale-callout strong{color:#1e3a5f}.real-world-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.rw-card{padding:1rem;background:var(--surface);border:1px solid var(--border);border-top:3px solid;border-radius:var(--radius)}.rw-title{font-size:.9rem;font-weight:700;margin-bottom:.4rem}.rw-detail{font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--text);margin-bottom:.15rem}.rw-sub{font-size:.75rem;color:var(--text-dim);margin-bottom:.3rem}.rw-total{font-size:.75rem;color:var(--text-secondary);font-style:italic}.cpu-viz-layout{display:flex;gap:1.5rem;align-items:flex-start}.cpu-viz-main{flex:1;min-width:0}.cpu-viz-side{width:200px;flex-shrink:0}.program-selector{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:.75rem}.program-btn{padding:.45rem .85rem;border:1.5px solid var(--border);background:var(--surface);border-radius:999px;font-size:.8rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;font-family:var(--font)}.program-btn:hover{border-color:var(--accent);color:var(--text)}.program-btn-active{background:var(--accent-bg);border-color:var(--accent-strong);color:var(--accent-strong)}.phase-indicator{display:flex;gap:4px;margin-bottom:.75rem}.phase-step{flex:1;padding:.4rem .5rem;text-align:center;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-sm);background:#f1f5f9;color:var(--text-dim);border:1.5px solid transparent;transition:all .2s ease}.phase-step-active{background:var(--accent-bg);color:var(--accent-strong);border-color:var(--accent-strong)}.phase-step-done{background:#e9f7f1;color:var(--success);border-color:#86efac}.mem-cell{fill:#fdfcf9;stroke:var(--border);stroke-width:1;transition:fill .2s,stroke .2s}.mem-cell-active{fill:var(--accent-bg);stroke:var(--accent-strong);stroke-width:1.5}.pc-arrow{fill:var(--accent-strong);transition:transform .2s ease}.instruction-breakdown{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);margin-top:.75rem}.instr-breakdown-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.instr-bits-row{display:flex;gap:3px;align-items:center}.instr-bit{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-family:var(--mono);font-size:1rem;font-weight:700;border-radius:4px;border:1.5px solid;transition:all .2s}.instr-bit-opcode{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.instr-bit-rd{background:#dcfce7;border-color:#22c55e;color:#166534}.instr-bit-rs{background:#fef3c7;border-color:#f59e0b;color:#92400e}.instr-bit-imm{background:#f3e8ff;border-color:#a855f7;color:#6b21a8}.instr-bit-unused{background:#f1f5f9;border-color:#cbd5e1;color:var(--text-dim)}.instr-bit-sep{width:6px}.instr-legend{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.72rem;color:var(--text-secondary)}.instr-legend-item{display:flex;align-items:center;gap:.3rem}.instr-legend-swatch{width:10px;height:10px;border-radius:2px}.instr-mnemonic{font-family:var(--mono);font-size:.85rem;font-weight:700;color:var(--text)}.register-panel{display:flex;flex-direction:column;gap:.5rem}.register-panel-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.15rem}.register-card{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:#f8fafc;border:1.5px solid var(--border);border-radius:var(--radius-sm);transition:all .2s}.register-card-active{background:var(--accent-bg);border-color:var(--accent-strong)}.reg-name{font-family:var(--mono);font-size:.8rem;font-weight:700;color:var(--text);min-width:1.6rem}.reg-binary{font-family:var(--mono);font-size:.75rem;color:var(--text-secondary)}.reg-decimal{font-family:var(--mono);font-size:.75rem;font-weight:600;color:var(--accent-strong);margin-left:auto}.flags-display{display:flex;gap:.5rem;padding:.4rem .6rem;background:#f8fafc;border:1.5px solid var(--border);border-radius:var(--radius-sm)}.flag-item{display:flex;align-items:center;gap:.25rem;font-family:var(--mono);font-size:.75rem}.flag-name{color:var(--text-dim);font-weight:600}.flag-val{font-weight:700}.flag-val-on{color:var(--success)}.flag-val-off{color:var(--text-dim)}.cycle-info{font-family:var(--mono);font-size:.75rem;color:var(--text-dim);padding:.3rem .6rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center}.code-display{background:#1b2430;color:#e2e8f0;font-family:var(--mono);font-size:1.1rem;line-height:1.8;padding:1.25rem 1.5rem;border-radius:var(--radius);white-space:pre;overflow-x:auto}.code-char-highlight{background:#38bdf840;border-bottom:2px solid var(--accent);border-radius:2px;padding:1px 0;transition:background .2s}.code-syntax-name{color:#93c5fd}.code-syntax-string{color:#86efac}.code-syntax-number{color:#fbbf24}.code-syntax-op{color:#e2e8f0}.code-syntax-keyword{color:#c4b5fd}.token-table{width:100%;border-collapse:collapse;font-size:.82rem}.token-table th{padding:.4rem .6rem;text-align:left;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px solid var(--border)}.token-table td{padding:.4rem .6rem;border-bottom:1px solid #f1f5f9;font-family:var(--mono);font-size:.78rem;color:var(--text-secondary)}.token-row-active{background:var(--accent-bg)}.token-row-active td{color:var(--text);font-weight:600}.token-row-done{background:#f0fdf4}.token-tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:.68rem;font-weight:700;font-family:var(--mono)}.token-tag-NAME{background:#dbeafe;color:#1e40af}.token-tag-STRING{background:#dcfce7;color:#166534}.token-tag-OP{background:#f1f5f9;color:#475569}.token-tag-NUMBER{background:#fef3c7;color:#92400e}.token-tag-KEYWORD{background:#f3e8ff;color:#6b21a8}.token-tag-NEWLINE,.token-tag-ENDMARKER,.token-tag-INDENT,.token-tag-DEDENT{background:#f1f5f9;color:#94a3b8}.bytecode-table{width:100%;border-collapse:collapse;font-size:.82rem}.bytecode-table th{padding:.4rem .75rem;text-align:left;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px solid var(--border)}.bytecode-table td{padding:.45rem .75rem;border-bottom:1px solid #f1f5f9;font-family:var(--mono);font-size:.8rem;color:var(--text-secondary)}.bytecode-row-active{background:var(--accent-bg)}.bytecode-row-active td{color:var(--text);font-weight:600}.bytecode-row-done{background:#f0fdf4}.stack-viz{display:flex;flex-direction:column-reverse;gap:4px;min-height:120px;padding:.75rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius)}.stack-item{padding:.4rem .75rem;border-radius:var(--radius-sm);font-family:var(--mono);font-size:.8rem;font-weight:600;text-align:center;animation:stackPush .2s ease}@keyframes stackPush{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stack-item-fn{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.stack-item-str{background:#dcfce7;color:#166534;border:1px solid #86efac}.stack-item-num{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.stack-item-null{background:#f1f5f9;color:#94a3b8;border:1px solid #cbd5e1}.stack-item-none{background:#f5f3ff;color:#6b21a8;border:1px solid #c4b5fd}.runtime-cards{display:flex;flex-direction:column;gap:.5rem}.runtime-card{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border:1.5px solid var(--border);border-radius:var(--radius);transition:all .2s;opacity:.45}.runtime-card-active{opacity:1;background:var(--accent-bg);border-color:var(--accent)}.runtime-card-done{opacity:1}.runtime-layer-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.runtime-layer-Python{background:#fef3c7;color:#92400e}.runtime-layer-C{background:#dbeafe;color:#1e40af}.runtime-layer-OS{background:#f3e8ff;color:#6b21a8}.runtime-card-label{font-size:.85rem;font-weight:700;color:var(--text);font-family:var(--mono)}.runtime-card-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.5}.crosslink-cards{display:flex;gap:.75rem;flex-wrap:wrap}.crosslink-card{flex:1;min-width:180px;padding:.75rem 1rem;background:#f8fafc;border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s;text-decoration:none;display:flex;flex-direction:column;gap:.25rem;opacity:.45}.crosslink-card-active{opacity:1;background:var(--accent-bg);border-color:var(--accent)}.crosslink-card-done{opacity:1}.crosslink-card:hover{border-color:var(--accent);background:#f7fbfc;opacity:1}.crosslink-card-label{font-size:.85rem;font-weight:700;color:var(--text)}.crosslink-card-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.crosslink-card-link{font-size:.72rem;color:var(--accent-strong);font-weight:600}.journey-stage-detail{min-height:200px;animation:zoomFade .3s ease}.journey-two-col{display:flex;gap:1.5rem;align-items:flex-start}.journey-two-col>*{flex:1;min-width:0}.pipeline-overview-svg{width:100%;height:auto;margin:.5rem 0}.journey-result{margin-top:.75rem;padding:.75rem 1rem;background:#f0fdf4;border:1px solid #86efac;border-radius:var(--radius);font-size:.9rem;color:#166534;font-weight:600;text-align:center}.journey-stage-label{font-family:var(--mono);font-size:.72rem;color:var(--text-dim);margin-bottom:.25rem}.ast-svg{width:100%;height:auto;display:block}@media (max-width: 768px){.nav-sidebar{width:60px}.nav-title,.nav-label,.nav-footer-text,.nav-section-heading{display:none}.nav-link{justify-content:center;padding:.6rem}.nav-num{min-width:unset;font-size:.8rem}.main-content{margin-left:60px;padding:1rem}.controls-row{flex-direction:column;gap:1rem}.flow-controller{margin-left:0;align-items:flex-start}.flow-bar{border-radius:18px}}
