body.simulator-page{min-height:100vh;font-family:var(--font-body);color:var(--text-primary);background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent)9%,transparent),transparent 24%),var(--bg-base)}.simulator-page a{color:inherit;text-decoration:none}.assemble-progress{z-index:50;transform-origin:0;background:var(--accent);opacity:0;pointer-events:none;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.assemble-progress.assembling{opacity:1;animation:.4s ease-out forwards assemble-progress}.sim-nav{border-bottom:1px solid var(--border);background:var(--bg-surface)}.sim-nav__inner{width:min(1440px,calc(100% - 2*var(--space-5)));justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-height:56px;margin:0 auto;padding:10px 0;display:flex}.sim-nav__brand-row{align-items:center;gap:12px;display:flex}.sim-brand{font-family:var(--font-display);color:var(--accent);font-weight:var(--fw-bold);letter-spacing:.02em}.sim-nav__links{color:var(--text-secondary);font-family:var(--font-mono);align-items:center;gap:16px;font-size:12px;display:flex}.sim-nav__links a[aria-current=page],.sim-nav__mobile-menu a[aria-current=page]{color:var(--text-primary)}.sim-nav__actions{color:var(--text-secondary);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;font-size:.88rem;display:flex}.sim-nav__mobile-toggle{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);width:32px;height:32px;color:var(--text-primary);cursor:pointer;transition:border-color var(--transition),background-color var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;display:none}.sim-nav__mobile-toggle span{background:currentColor;border-radius:999px;width:20px;height:2px;transition:transform .15s,opacity .15s;display:block}.sim-nav__mobile-toggle.is-open span:first-child{transform:translateY(6px)rotate(45deg)}.sim-nav__mobile-toggle.is-open span:nth-child(2){opacity:0}.sim-nav__mobile-toggle.is-open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.sim-nav__mobile-menu{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-surface);width:100%}.sim-nav__mobile-menu a{border-bottom:1px solid var(--border);min-height:44px;color:var(--text-primary);font-family:var(--font-mono);align-items:center;padding:0 2px;font-size:13px;display:flex}.sim-nav__mobile-menu a:last-child{border-bottom:0}.auth-nav,.auth-menu{align-items:center;min-width:0;display:flex;position:relative}.auth-nav{gap:8px}.auth-signin-btn[hidden],.auth-user-btn[hidden],.auth-dropdown[hidden]{display:none!important}.auth-signin-btn,.auth-user-btn{border-radius:var(--radius-md);min-height:28px;font-family:var(--font-mono);white-space:nowrap;cursor:pointer;transition:border-color var(--transition),background-color var(--transition),color var(--transition);justify-content:center;align-items:center;padding:0 12px;line-height:1;display:inline-flex}.auth-signin-btn{border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:12px}.auth-signin-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.auth-user-btn{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);gap:8px;max-width:min(220px,32vw);padding-inline:10px;font-size:11px}.auth-user-btn:hover{border-color:color-mix(in srgb,var(--accent)24%,var(--border))}.auth-user-btn__badge{border-radius:var(--radius-xl);background:var(--accent);color:#fff;height:18px;font-family:var(--font-mono);align-items:center;padding:0 7px;font-size:10px;font-weight:500;display:inline-flex}.auth-user-btn__label{text-overflow:ellipsis;align-items:center;min-width:0;display:inline-flex;overflow:hidden}.auth-user-btn__chevron{color:var(--text-muted)}.auth-dropdown{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-width:180px;box-shadow:var(--shadow-md);z-index:200;position:absolute;top:36px;right:0}.auth-dropdown__email{color:var(--text-secondary);font-family:var(--font-mono);word-break:break-word;padding:10px 12px 4px;font-size:11px}.auth-dropdown__tier{font-family:var(--font-mono);padding:0 12px 8px;font-size:10px}.auth-dropdown__tier--pro{color:var(--accent)}.auth-dropdown__tier--free{color:var(--text-muted)}.auth-dropdown__divider{border-top:1px solid var(--border)}.auth-dropdown__signout{width:100%;color:var(--danger);font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:12px}.auth-dropdown__signout:hover{background:color-mix(in srgb,var(--danger)8%,transparent)}.status-badge{font-family:var(--font-mono);letter-spacing:0;text-transform:none;white-space:nowrap;align-items:center;font-size:11px;transition:color .2s,background-color .2s;display:inline-flex}.status-badge--ready{color:var(--text-muted);background:0 0;min-height:0;padding:0}.status-badge--assembled,.status-badge--stepping,.status-badge--running,.status-badge--halted,.status-badge--trap{border-radius:var(--radius-xl);background:var(--accent-subtle);min-height:20px;padding:0 8px}.status-badge--assembled{color:var(--success)}.status-badge--stepping,.status-badge--running{color:var(--accent)}.status-badge--running{animation:1s ease-in-out infinite status-pulse}.status-badge--halted{color:var(--text-muted);background:var(--bg-elevated)}.status-badge--trap{color:var(--danger)}.sim-nav__actions a:hover{color:var(--text-primary)}.theme-toggle{border:1px solid var(--border);background:var(--bg-elevated);block-size:34px;inline-size:34px;color:var(--text-primary);cursor:pointer;transition:transform var(--transition),border-color var(--transition),background-color var(--transition);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{border-color:color-mix(in srgb,var(--accent)35%,var(--border));transform:translateY(-1px)}.theme-toggle__icon--moon,[data-theme=dark] .theme-toggle__icon--sun{display:none}[data-theme=dark] .theme-toggle__icon--moon{display:inline-flex}.simulator-app{width:min(1440px,calc(100% - 2*var(--space-5)));padding:var(--space-4)0 var(--space-5);margin:0 auto}.simulator-layout{gap:8px;display:grid}.sim-column{flex-direction:column;gap:8px;min-width:0;display:flex}.sim-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm);overflow:hidden}.sim-column--left .sim-panel,.sim-column--right .sim-panel{background:var(--bg-elevated)}.sim-column--right{flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.sim-column--center .sim-panel{background:var(--bg-surface)}.sim-panel--center-tabs{flex-direction:column;min-height:640px;display:flex}.sim-column--lesson{min-width:0}.lesson-nav-indicator{border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent)8%,transparent);min-height:24px;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.lesson-nav-indicator:hover{color:var(--text-primary);background:color-mix(in srgb,var(--accent)14%,transparent)}.panel-header{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;font-size:10px;display:flex}.panel-header__actions{align-items:center;gap:4px;display:flex}.panel-icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);block-size:24px;inline-size:24px;color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition),color var(--transition),background-color var(--transition);justify-content:center;align-items:center;display:inline-flex}.panel-icon-button:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent)28%,var(--border))}.program-save__dirty{background:var(--warning);border-radius:999px;block-size:6px;inline-size:6px}.lesson-compact-shell{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);overflow:hidden}.lesson-compact-tabs{border-bottom:1px solid var(--border);background:var(--bg-surface);min-height:34px;display:flex}.lesson-compact-tab{min-height:34px;color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;transition:color var(--transition),background-color var(--transition);background:0 0;border:0;flex:1 1 0;font-size:11px}.lesson-compact-tab.is-active{background:color-mix(in srgb,var(--accent)8%,transparent);color:var(--text-primary)}.lesson-compact-host{min-height:0}.lesson-panel{background:var(--bg-elevated);flex-direction:column;min-height:640px;max-height:calc(100vh - 112px);display:flex}.lesson-panel__header{align-items:flex-start;padding-block:10px}.lesson-panel__eyebrow{color:var(--text-muted);font-family:var(--font-mono);text-transform:none;letter-spacing:0;font-size:11px;line-height:1.4}.lesson-panel__title{color:var(--text-primary);font-family:"Geist",var(--font-body);letter-spacing:-.01em;text-transform:none;margin-top:4px;font-size:15px;font-weight:600}.lesson-panel__progress{border-bottom:1px solid var(--border);padding:10px}.lesson-panel__progress-track{background:var(--bg-surface);border-radius:999px;width:100%;height:6px;overflow:hidden}.lesson-panel__progress-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .2s}.lesson-panel__nav{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:10px;display:grid}.lesson-panel__nav-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);width:28px;height:28px;color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;transition:border-color var(--transition),background-color var(--transition),color var(--transition);font-size:13px}.lesson-panel__nav-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent)32%,var(--border));background:color-mix(in srgb,var(--accent)10%,transparent)}.lesson-panel__nav-button:disabled{opacity:.45;cursor:not-allowed}.lesson-panel__nav-title{color:var(--text-primary);font-family:"Geist",var(--font-body);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.lesson-panel__body{scrollbar-width:thin;scrollbar-color:var(--border)transparent;flex:auto;min-height:0;padding:14px 14px 18px;overflow:auto}.lesson-panel__body::-webkit-scrollbar{width:6px}.lesson-panel__body::-webkit-scrollbar-track{background:0 0}.lesson-panel__body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.lesson-panel__content{color:var(--text-secondary);font-family:"Geist",var(--font-body);font-size:13px;line-height:1.7}.lesson-panel__content p,.lesson-list,.lesson-goals{margin:0}.lesson-panel__content p+p,.lesson-panel__content p+.lesson-callout,.lesson-panel__content p+.lesson-list,.lesson-panel__content .lesson-callout+p,.lesson-panel__content .lesson-list+p,.lesson-panel__content .lesson-divider+p,.lesson-panel__content p+.lesson-divider{margin-top:14px}.lesson-rich-code{background:color-mix(in srgb,var(--accent)10%,transparent);min-height:22px;color:var(--accent);font-family:var(--font-mono);border-radius:4px;align-items:center;padding:0 6px;font-size:12px;display:inline-flex}.lesson-divider{border:0;border-top:1px solid var(--border);margin:14px 0}.lesson-callout{border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent)8%,transparent);border-radius:4px;margin-top:14px;padding:12px}.lesson-callout--warning{border-left-color:var(--warning);background:color-mix(in srgb,var(--warning)10%,transparent)}.lesson-callout__label{color:var(--text-primary);font-family:var(--font-mono);margin-bottom:6px;font-size:11px}.lesson-callout__body{color:var(--text-secondary);font-size:13px;line-height:1.6}.lesson-list{flex-direction:column;gap:6px;padding-left:18px;display:flex}.lesson-list--ordered{padding-left:22px}.lesson-watch{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-elevated)82%,var(--bg-base));gap:10px;margin-top:18px;padding:14px;display:grid}.lesson-watch__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-watch__title{color:var(--text-primary);font-family:"Geist",var(--font-body);font-size:14px;font-weight:600}.lesson-watch__toggle,.lesson-watch__button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-height:30px;color:var(--text-primary);font-family:"Geist",var(--font-body);cursor:pointer;transition:border-color var(--transition),background-color var(--transition),color var(--transition);justify-content:center;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.lesson-watch__toggle{border-color:color-mix(in srgb,var(--accent)40%,var(--border));background:var(--accent-subtle);color:var(--accent);font-weight:600}.lesson-watch__toggle:hover,.lesson-watch__button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent)36%,var(--border))}.lesson-watch__button:disabled{opacity:.5;cursor:default}.lesson-watch__progress span{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s;display:block}.lesson-watch__instruction{color:var(--text-primary);font-family:var(--font-mono);font-size:12px;line-height:1.5}.lesson-watch__complete{gap:10px;padding-top:4px;display:grid}.lesson-watch__complete-title{color:var(--text-primary);font-family:"Geist",var(--font-body);font-size:13px;font-weight:600}.lesson-goals{flex-direction:column;gap:10px;margin-top:18px;display:flex}.lesson-goals__heading{color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.lesson-goals__list{flex-direction:column;gap:10px;display:flex}.lesson-goal{color:var(--text-secondary);font-family:"Geist",var(--font-body);grid-template-columns:18px minmax(0,1fr);align-items:flex-start;gap:10px;font-size:13px;display:grid}.lesson-goal.is-passed{color:var(--success)}.lesson-goal.is-passed .lesson-goal__text{text-decoration:line-through}.lesson-goal--just-passed .lesson-goal__status{animation:.3s ease-out lesson-goal-pass}.lesson-goal__status{min-height:18px;font-family:var(--font-mono);justify-content:center;align-items:center;font-size:14px;display:inline-flex}.lesson-goal__content{flex-direction:column;gap:6px;display:flex}.lesson-goal__hint-toggle{color:var(--warning);font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.lesson-goal__hint{color:var(--warning);font-family:var(--font-mono);font-size:12px;font-style:italic;line-height:1.5}.lesson-goal__feedback{color:var(--text-muted);font-family:"Geist",var(--font-body);font-size:12px;line-height:1.5}.lesson-struggle-box{border:1px solid color-mix(in srgb,var(--warning)26%,var(--border));border-left:3px solid var(--warning);border-radius:var(--radius-sm);background:var(--bg-surface);flex-direction:column;gap:8px;padding:12px;display:flex}.lesson-struggle-box__title{color:var(--text-primary);font-family:"Geist",var(--font-body);font-size:13px;font-weight:600}.lesson-struggle-box__body{color:var(--text-secondary);font-family:"Geist",var(--font-body);font-size:13px;line-height:1.6}.lesson-struggle-box__link{color:var(--warning);font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.lesson-struggle-box__link:hover{color:color-mix(in srgb,var(--warning)72%,var(--text-primary))}.lesson-panel__footer{border-top:1px solid var(--border);padding:12px}.lesson-success-banner{border-radius:var(--radius-md);background:var(--success);color:#fff;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.lesson-success-banner__title{font-family:"Geist",var(--font-body);font-size:14px;font-weight:600}.lesson-success-banner__button,.lesson-finish-button,.lesson-complete__back{border-radius:var(--radius-md);min-height:36px;color:var(--success);font-family:"Geist",var(--font-body);cursor:pointer;background:#fff;border:1px solid #0000;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.lesson-success-banner__button:hover,.lesson-complete__back:hover{background:color-mix(in srgb,#fff 92%,var(--success))}.lesson-finish-button:hover{background:var(--accent-hover)}.lesson-finish-button{background:var(--accent);color:#fff;justify-content:center;align-items:center;width:100%;display:inline-flex}.lesson-complete{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:14px;padding:28px;display:flex;position:relative;overflow:hidden}.lesson-complete__title{color:var(--text-primary);font-family:"Geist",var(--font-body);letter-spacing:-.02em;font-size:24px;font-weight:800}.lesson-complete__next{color:var(--accent);font-family:var(--font-mono);font-size:13px}.lesson-complete__challenges{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);text-align:left;flex-direction:column;gap:10px;width:min(100%,360px);margin-top:6px;padding:14px;display:flex}.lesson-complete__challenges-title{color:var(--text-primary);font-family:"Geist",var(--font-body);font-size:14px;font-weight:600}.lesson-complete__challenge{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.lesson-complete__challenge:first-of-type{border-top:0;padding-top:0}.lesson-complete__challenge-title{color:var(--text-primary);font-family:"Geist",var(--font-body);font-size:13px;font-weight:600}.lesson-complete__challenge-meta{color:var(--text-muted);font-family:var(--font-mono);margin-top:4px;font-size:11px}.lesson-complete__challenge-link{color:var(--accent);font-family:var(--font-mono);white-space:nowrap;font-size:12px}.lesson-complete__challenge-link:hover{color:var(--text-primary)}.lesson-complete__confetti-layer{pointer-events:none;position:absolute;inset:0}.lesson-complete__confetti{background:var(--accent);width:8px;height:8px;animation:2s linear forwards lesson-confetti;animation-delay:var(--confetti-delay,0s);position:absolute;top:-12px}.challenge-panel__body{flex-direction:column;gap:16px;display:flex}.challenge-panel__description{color:var(--text-secondary);font-family:"Geist",var(--font-body);font-size:13px;line-height:1.7}.challenge-panel__section{flex-direction:column;gap:8px;display:flex}.challenge-panel__section-title{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.challenge-panel__tests{color:var(--text-secondary);font-family:"Geist",var(--font-body);flex-direction:column;gap:8px;padding-left:18px;font-size:13px;line-height:1.6;display:flex}.challenge-panel__timer{color:var(--text-primary);font-family:var(--font-mono);font-size:13px}.challenge-panel__footer{flex-direction:column;gap:8px;display:flex}body.challenge-simulator-active .sim-column--right{min-width:280px}body.challenge-simulator-active .register-file-section{min-height:420px!important}.challenge-submit-button{margin-bottom:2px}.challenge-secondary-button{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:34px;color:var(--text-secondary);font-family:"Geist",var(--font-body);cursor:pointer;transition:border-color var(--transition),color var(--transition),background-color var(--transition);background:0 0;font-size:13px}.challenge-secondary-button:hover{border-color:color-mix(in srgb,var(--accent)22%,var(--border));color:var(--text-primary);background:color-mix(in srgb,var(--accent)6%,transparent)}.challenge-answer{border:1px solid color-mix(in srgb,var(--warning)22%,var(--border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--warning)8%,transparent);padding:12px}.challenge-answer__label{color:var(--text-primary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.challenge-answer__code{color:var(--text-primary);font-family:var(--font-mono);margin-top:10px;font-size:12px;line-height:1.6;overflow:auto}.challenge-results{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);flex-direction:column;gap:10px;padding:12px;display:flex}.challenge-results.is-passed{border-color:color-mix(in srgb,var(--success)26%,var(--border));background:color-mix(in srgb,var(--success)10%,transparent)}.challenge-results.is-failed{border-color:color-mix(in srgb,var(--warning)22%,var(--border))}.challenge-results__score{color:var(--text-primary);font-family:"Geist",var(--font-body);font-size:15px;font-weight:600}.challenge-results__time{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.challenge-results__list{flex-direction:column;gap:8px;display:flex}.challenge-results__row{color:var(--text-secondary);font-family:"Geist",var(--font-body);grid-template-columns:14px minmax(0,1fr);gap:8px;font-size:13px;line-height:1.5;display:grid}.challenge-results__row.is-passed{color:var(--success)}.challenge-results__row.is-failed{color:var(--warning)}.challenge-panel__related{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:6px;display:flex}.challenge-panel__related-label{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.challenge-panel__related-link{color:var(--accent);font-family:var(--font-mono);font-size:12px}.challenge-panel__related-link:hover{color:var(--text-primary)}.panel-toggle{block-size:22px;inline-size:22px;color:var(--text-muted);cursor:pointer;transition:color var(--transition),transform var(--transition);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.panel-toggle:hover{color:var(--text-primary)}.panel-toggle.is-collapsed svg{transform:rotate(-90deg)}.panel-body{padding:10px}.panel-body--compact{flex-direction:column;gap:8px;display:flex}.sim-panel--editor{flex-direction:column;display:flex}.sim-panel--editor .panel-body{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.sim-panel--regs .panel-body{flex:1;min-height:0;padding:0;overflow:hidden}.sim-panel--memory .panel-body{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.sim-panel--effects .panel-body{padding:0}.sim-panel--disasm .panel-body{gap:8px;padding:0}.field-label,.memory-section__label,.reg-guide summary,.clike-label{color:var(--text-muted);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.field-label{display:block}.sim-select,.copy-toast{font-family:var(--font-body)}.source-textarea,.disasm-mnemonic,.disasm-operands,.disasm-addr,.disasm-encoding,.reg-abi,.reg-name,.reg-value,.memory-row__addr,.memory-byte,.effect-entry,.effect-entry__label,.effect-entry__before,.effect-entry__after,.effect-entry__arrow,.memory-write-item,.clike-view,.clike-empty,.pc-pill{font-family:var(--font-mono)}.sim-select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);background:var(--bg-surface);min-height:32px;font-size:12px;font-family:var(--font-body);padding:0 10px}.control-row{gap:6px}.control-row--editor-primary{display:flex}.control-row--editor-secondary{gap:6px;display:flex}.control-row--editor-primary #assemble{width:100%;min-height:36px}.control-row--editor-secondary .sim-button{flex:1 1 0;min-width:0;min-height:32px}.shortcut-hint{color:var(--text-muted);font-family:var(--font-body);text-align:center;margin:0;font-size:10px;line-height:1.5}.shared-link-banner{border-bottom:1px solid color-mix(in srgb,var(--accent)18%,var(--border));background:var(--accent-subtle);min-height:28px;color:var(--accent);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 12px;font-size:11px;display:flex}.shared-link-banner__dismiss{color:inherit;font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;font-size:14px;line-height:1}.programs-panel__body{padding:0}.programs-panel__count,.programs-panel__empty{font-family:var(--font-mono)}.programs-panel__count{color:var(--text-muted);padding:10px 12px 8px;font-size:10px}.programs-panel__empty{color:var(--text-muted);text-align:center;padding:16px 12px;font-size:12px}.programs-list,.programs-history{max-height:240px;overflow:auto}.programs-list__item,.programs-history__item{align-items:center;gap:10px;min-height:32px;padding:0 12px;display:flex}.programs-list__item:not(:last-child),.programs-history__item:not(:last-child){border-bottom:1px solid var(--border)}.programs-list__item.is-active{background:var(--accent-subtle)}.programs-list__name,.programs-history__name,.programs-history__time,.programs-list__confirm,.programs-list__confirm-button,.programs-modal__title,.programs-modal__label,.programs-modal__input,.programs-modal__message,.programs-modal__link,.programs-modal__error{font-family:var(--font-mono)}.programs-list__name,.programs-history__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:auto;font-size:12px;overflow:hidden}.programs-list__actions,.programs-list__confirm{flex:none}.programs-list__actions{opacity:0;pointer-events:none;transition:opacity var(--transition);align-items:center;gap:6px;display:inline-flex}.programs-list__item:hover .programs-list__actions,.programs-list__item.is-active .programs-list__actions{opacity:1;pointer-events:auto}.programs-list__icon{block-size:20px;inline-size:20px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.programs-list__icon:hover{color:var(--text-primary)}.programs-list__confirm{color:var(--text-muted);align-items:center;gap:6px;font-size:10px;display:inline-flex}.programs-list__confirm-button{border:1px solid color-mix(in srgb,var(--danger)24%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger)8%,transparent);min-height:20px;color:var(--danger);cursor:pointer;padding:0 6px;font-size:10px}.programs-list__confirm-button--secondary{border-color:var(--border);color:var(--text-muted);background:0 0}.programs-history__item{cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;width:100%}.programs-history__item:hover{background:var(--bg-surface)}.programs-history__time{color:var(--text-muted);flex:none;font-size:10px}.programs-history__footer{border-top:1px solid var(--border);padding:12px}.programs-history__clear{width:100%}.programs-modal{z-index:80;position:fixed;inset:0}.programs-modal__backdrop{background:color-mix(in srgb,var(--bg-base)70%,transparent);position:absolute;inset:0}.programs-modal__card{width:min(360px,calc(100% - 2*var(--space-4)));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-lg);padding:18px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.programs-modal__title{color:var(--text-primary);margin-bottom:14px;font-size:14px}.programs-modal__field{flex-direction:column;gap:8px;display:flex}.programs-modal__label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.programs-modal__input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);width:100%;min-height:38px;color:var(--text-primary);padding:0 12px;font-size:13px}.programs-modal__input:focus{outline:2px solid color-mix(in srgb,var(--accent)25%,transparent);outline-offset:0}.programs-modal__message,.programs-modal__error{color:var(--text-secondary);font-size:12px;line-height:1.5}.programs-modal__message--secondary{margin-top:8px}.programs-modal__error{color:var(--danger);margin-top:12px}.programs-modal__link{color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:0;font-size:12px}.programs-modal__actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.editor-container{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base);min-height:420px;transition:border-color var(--transition),box-shadow var(--transition);flex-direction:row;flex:auto;display:flex;position:relative;overflow:hidden}.editor-container:focus-within{border-color:color-mix(in srgb,var(--accent)22%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)10%,transparent)}.editor-container.is-readonly{border-color:color-mix(in srgb,var(--accent)28%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent)10%,transparent)}.line-numbers{background:color-mix(in srgb,var(--bg-base)92%,var(--bg-elevated));user-select:none;scrollbar-width:none;border-right:0;flex-direction:column;flex-shrink:0;width:36px;min-width:36px;padding:12px 0;display:flex;overflow:hidden}.line-numbers::-webkit-scrollbar{display:none}.line-numbers span{height:1.6em;color:var(--text-muted);text-align:right;padding-left:4px;padding-right:8px;font-family:DM Mono,monospace;font-size:12px;line-height:1.6;display:block}.line-numbers span.current-line{color:var(--text-secondary)}.editor-inner{background:var(--bg-base);flex:1;min-width:0;position:relative;overflow:hidden}.highlight-display{color:var(--text-primary);white-space:pre;word-wrap:normal;pointer-events:none;tab-size:2;scrollbar-width:none;padding:12px 10px 12px 8px;font-family:DM Mono,monospace;font-size:12px;line-height:1.6;position:absolute;inset:0;overflow:hidden}.source-textarea{resize:none;color:#0000;width:100%;min-height:420px;caret-color:var(--accent);-webkit-text-fill-color:transparent;white-space:pre;tab-size:2;z-index:1;background:0 0;border:0;outline:none;padding:12px 10px 12px 8px;font-family:DM Mono,monospace;font-size:12px;line-height:1.6;position:absolute;inset:0;overflow:auto}.source-textarea:disabled{cursor:not-allowed}.source-textarea::selection{background:color-mix(in srgb,var(--accent)24%,transparent)}.asm-comment{color:var(--text-muted);font-style:italic}.asm-mnemonic{color:var(--accent);font-weight:500}.asm-register{color:var(--success)}.asm-immediate{color:#f5a623}.asm-label{color:var(--warning)}.asm-label-ref{color:var(--warning);opacity:.8}.source-textarea:focus,.sim-select:focus{outline:none}.sim-select:focus{outline:2px solid color-mix(in srgb,var(--accent)25%,transparent);outline-offset:0}.status-line{min-height:14px;color:var(--text-muted);font-family:var(--font-body);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.2;overflow:hidden}.sim-button{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:32px;color:var(--text-primary);font-family:var(--font-display);text-align:center;cursor:pointer;transition:border-color var(--transition),background-color var(--transition),color var(--transition),box-shadow var(--transition);background:0 0;justify-content:center;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.sim-button:hover:not(:disabled){box-shadow:var(--shadow-sm)}.sim-button:disabled{cursor:not-allowed;opacity:.5}.sim-button--primary{background:var(--accent);border-color:var(--accent);color:#fff}.sim-button--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.sim-button--outline{border-color:color-mix(in srgb,var(--accent)28%,var(--border))}.sim-button--outline:hover:not(:disabled){background:var(--accent-subtle);border-color:var(--accent)}.sim-button--danger{border-color:color-mix(in srgb,var(--danger)32%,var(--border));color:var(--danger)}.sim-button--danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger)10%,transparent);border-color:var(--danger)}.pc-pill{color:var(--text-secondary);font-size:11px}.center-tabs{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:stretch;min-height:36px;display:flex;overflow-x:auto}.center-tab-button{min-height:36px;color:var(--text-muted);font-family:var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:0 16px;font-size:11px;transition:all .15s;position:relative}.center-tab-button.is-active{border-bottom-color:var(--accent);background:var(--bg-surface);color:var(--text-primary)}.center-tab-button.is-flashing:after{content:"";border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent)16%,transparent);pointer-events:none;animation:.6s ease-out center-tab-flash;position:absolute;inset:6px 8px}.center-tab-button span{z-index:1;position:relative}.center-tabs__content{flex:auto;min-height:0;position:relative}.center-tab-panel{flex-direction:column;height:100%;min-height:0;display:flex}.center-tab-panel[hidden]{display:none}.center-tab-panel__header{border-bottom:1px solid var(--border);min-height:34px;color:var(--text-muted);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:10px;display:flex}.center-tab-panel__body{flex:auto;min-height:0}.center-tab-panel__body--disassembly,.center-tab-panel__body--effects{flex-direction:column;display:flex}.center-tab-panel__body--pseudo{justify-content:center;align-items:center;padding:24px;display:flex}.center-tab-panel__body--stack{padding:0}.disasm-view{flex:auto;min-height:0;max-height:none;overflow:auto}.effects-view{flex-direction:column;flex:auto;min-height:0;max-height:none;padding:0;display:flex;overflow:auto}.effect-filter-bar{border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:6px 12px;display:flex}.effect-filter-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-height:22px;color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition);padding:0 8px;font-size:10px}.effect-filter-button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.disasm-empty,.effect-empty{flex-direction:column;gap:0;display:flex}.disasm-empty{justify-content:center;align-items:center;min-height:120px}.disasm-empty>.disasm-line--placeholder{display:none}.disasm-empty .empty-state--note{min-height:120px;color:var(--text-muted);font-family:var(--font-mono);text-align:center;justify-content:center;align-items:center;margin:0;padding:0 12px;font-size:13px;font-style:italic;line-height:1.4;display:flex}.effect-empty{text-align:center;justify-content:center;align-items:center;min-height:80px;padding:0 12px}.disasm-line{border-left:2px solid #0000;grid-template-columns:88px 80px 56px minmax(0,1fr);align-items:center;min-height:24px;padding:0 12px;font-size:12px;display:grid;position:relative}.disasm-line:hover:not(.disasm-pc-current){background:var(--bg-elevated)}.disasm-line.disasm-pc-current .disasm-mnemonic,.disasm-line.disasm-pc-current .disasm-operands{color:var(--text-primary)}.disasm-line.disasm-prev-pulse:before{content:"";background:var(--accent);width:2px;animation:.6s ease-out forwards pc-prev-pulse;position:absolute;inset:0 auto 0 -2px}.disasm-line.disasm-entering{animation:.18s ease-out forwards disasm-enter}.disasm-line--label{color:var(--accent);padding:4px 12px 2px;display:block}.disasm-line--placeholder{opacity:.75}.disasm-line--placeholder .disasm-addr,.disasm-line--placeholder .disasm-encoding,.disasm-line--placeholder .disasm-mnemonic,.disasm-line--placeholder .disasm-operands{color:var(--text-muted)}.disasm-addr,.disasm-encoding{color:var(--text-muted);font-size:11px}.disasm-mnemonic{color:var(--accent);font-size:12px;font-weight:var(--fw-medium)}.disasm-operands{color:var(--text-primary);overflow-wrap:anywhere;min-width:0;font-size:12px}.clike-card{background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}.clike-card.explainer-updated{animation:.4s ease-out explainer-pulse}.clike-label{margin-bottom:2px}.clike-view{text-align:center;justify-content:center;align-items:center;min-height:30px;font-size:20px;line-height:1.4;display:flex}.clike-view--tab{width:min(100%,720px);margin:0 auto}.clike-view--leaving{animation:.15s forwards clike-leave}.clike-view--entering{animation:.2s forwards clike-enter}.pc-dest{color:var(--accent)}.pc-op{color:var(--text-muted)}.pc-src{color:var(--text-primary)}.clike-empty{color:var(--text-muted);font-size:13px;font-style:italic}.stack-frame-name,.stack-frame-size,.stack-frame-return,.stack-slot-address,.stack-slot-content,.stack-slot-role,.stack-sp-row,.stack-frame-placeholder__sp,.stack-frame-placeholder__copy,.stack-legend-heading,.stack-legend-item,.stack-legend-pill,.stack-explainer{font-family:var(--font-mono)}.stack-tab-layout{flex-direction:column;height:100%;min-height:0;display:flex}.stack-view-meta{color:var(--text-muted);font-family:var(--font-mono);text-align:right;padding:10px 12px 0;font-size:10px}.stack-view{flex:auto;min-height:0;padding:8px 12px 6px;overflow:auto}.stack-frames-scroll{flex-direction:column;display:flex}.stack-empty-state{min-height:48px;color:var(--text-muted);font-family:var(--font-mono);text-align:center;justify-content:center;align-items:center;font-size:12px;display:flex}.stack-frame-block{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);margin-bottom:6px;overflow:hidden}.stack-frame-block--ghost{opacity:.92;pointer-events:none}.stack-frame-header{background:var(--bg-elevated);border:0;border-bottom:1px solid var(--border);width:100%;height:28px;color:var(--text-primary);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;display:flex}.stack-frame-header--active{cursor:default}.stack-frame-header--compressed{height:24px;min-height:24px}.stack-frame-summary{flex:auto;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;display:grid}.stack-frame-name{color:var(--accent);font-size:13px;font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.stack-frame-size{color:var(--text-secondary);white-space:nowrap;font-size:11px}.stack-frame-return{color:var(--text-muted);white-space:nowrap;font-size:10px}.stack-frame-chevron{color:var(--text-muted);transition:transform var(--transition);font-size:10px}.stack-frame-header[aria-expanded=true] .stack-frame-chevron{transform:rotate(180deg)}.stack-frame-body{flex-direction:column;display:flex}.stack-slot-row{border-bottom:1px solid color-mix(in srgb,var(--border)50%,transparent);grid-template-columns:90px 1fr 80px;align-items:center;height:26px;padding:0 52px 0 10px;transition:background .3s;display:grid;position:relative}.stack-slot-row:last-child{border-bottom:0}.stack-slot-row:after,.stack-sp-row:after{content:attr(data-address-ruler);color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;font-size:9px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.stack-slot-row.slot-ra{border-left:3px solid var(--warning)}.stack-slot-row.slot-saved{border-left:3px solid var(--success)}.stack-slot-row.slot-local{border-left:3px solid var(--border)}.stack-slot-address{color:var(--text-muted);font-size:10px}.stack-slot-content{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.stack-slot-role{color:var(--text-muted);text-align:right;font-size:10px;font-style:italic}.stack-slot-row.slot-ra .stack-slot-role{color:var(--warning);font-style:normal}.stack-slot-row.slot-saved .stack-slot-role{color:var(--success);font-style:normal}.stack-sp-row{background:var(--accent-subtle);height:24px;color:var(--accent);align-items:center;gap:8px;padding:0 52px 0 10px;font-size:11px;display:flex;position:relative}.stack-sp-arrow{color:var(--accent)}.stack-sp-label{color:var(--accent);font-weight:var(--fw-medium)}.stack-sp-value{color:var(--text-secondary)}.stack-legend{border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated)52%,var(--bg-surface))}.stack-legend__toggle{width:100%;min-height:28px;color:var(--accent);cursor:pointer;font-family:var(--font-mono);background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 10px;font-size:11px;display:flex}.stack-legend__chevron{color:var(--text-muted);transition:transform var(--transition)}.stack-legend__toggle.is-collapsed .stack-legend__chevron{transform:rotate(-90deg)}.stack-legend__body{border-top:1px solid color-mix(in srgb,var(--border)60%,transparent)}.stack-legend-grid{grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px;display:grid}.stack-legend-column{flex-direction:column;gap:6px;display:flex}.stack-legend-heading{color:var(--text-secondary);font-size:10px}.stack-legend-item{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;display:flex}.stack-legend-copy{color:var(--text-muted)}.stack-legend-pill{white-space:nowrap;border-radius:999px;align-items:center;height:18px;padding:0 6px;font-size:10px;display:inline-flex}.stack-legend-pill--warning{background:color-mix(in srgb,var(--warning)15%,transparent);color:var(--warning)}.stack-legend-pill--accent{background:color-mix(in srgb,var(--accent)15%,transparent);color:var(--accent)}.stack-legend-pill--muted{background:color-mix(in srgb,var(--text-muted)15%,transparent);color:var(--text-secondary)}.stack-legend-pill--danger{background:color-mix(in srgb,var(--danger)15%,transparent);color:var(--danger)}.stack-legend-pill--success{background:color-mix(in srgb,var(--success)15%,transparent);color:var(--success)}.stack-explainer{color:var(--text-secondary);border-top:1px solid var(--border);min-height:28px;padding:6px 10px;font-size:11px}.effect-entry{min-height:22px;color:var(--text-primary);border-left:2px solid #0000;align-items:center;gap:8px;padding:0 12px;font-size:11px;display:flex}.effect-entry--latest{border-left-color:color-mix(in srgb,var(--accent)50%,transparent)}.effect-entry--entering{animation:.2s ease-out effect-enter}.effect-entry__label,.effect-entry__before,.effect-entry__after,.effect-entry__arrow{white-space:nowrap}.effect-entry__label{width:32px;color:var(--text-muted);flex:none}.effect-entry__label--mem{width:88px}.effect-entry__before,.effect-entry__arrow{color:var(--text-muted)}.effect-entry--mem .effect-entry__after{color:var(--success)}.effect-entry--trap{color:var(--danger);font-style:italic}.effect-empty__example{display:none}.effect-empty__note{color:#0000;padding:0;font-size:0;line-height:1}.effect-empty__note:before{content:"No effects yet. Assemble and step to begin.";color:var(--text-muted);font-family:var(--font-mono);font-size:12px;font-style:italic;line-height:1.4}.empty-state{color:var(--text-secondary);font-size:.84rem}.empty-state--danger{color:var(--danger)}.empty-state--note{font-style:italic}.regs-view{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.regs-column+.regs-column{border-left:1px solid var(--border)}.regs-group{flex-direction:column;display:flex}.regs-group-label{border-top:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;user-select:none;padding:4px 8px 2px;font-size:9px}.regs-group-label--first{border-top:0}.regs-group__cells{flex-direction:column;display:flex}.reg-cell{background:0 0;grid-template-columns:44px 1fr;align-items:center;min-height:26px;padding:3px 8px;display:grid;position:relative}.regs-column .reg-cell:not(:last-child){border-bottom:1px solid var(--border)}.reg-cell:hover{background:var(--bg-surface)}.reg-cell.reg-changed-now{animation:.8s ease-out forwards flash-reg}.reg-cell.reg-changed-prev{animation:.8s ease-out forwards flash-reg-prev}.reg-meta{flex-direction:column;gap:1px;min-width:0;display:flex}.reg-abi{color:var(--text-secondary);font-size:10px;line-height:1}.reg-name{color:var(--text-muted);font-size:9px;line-height:1}.reg-value{color:var(--text-primary);text-align:right;font-size:11px}.reg-cell--zero{background:0 0!important}.reg-cell--zero .reg-value{color:var(--text-muted)}.reg-cell:after{content:attr(data-tooltip);opacity:0;pointer-events:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm);font-family:var(--font-mono);white-space:nowrap;z-index:100;transition:opacity var(--transition),transform var(--transition);padding:2px 6px;font-size:11px;position:absolute;inset:auto auto calc(100% + 4px) 50%;transform:translate(-50%,6px)}.reg-cell:hover:after{opacity:1;transform:translate(-50%)}.memory-stack{flex-direction:column;gap:8px;display:flex}.panel-header--memory{text-transform:none}.memory-header-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.memory-address-input,.memory-follow-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-base);min-height:22px;color:var(--text-primary);font-family:var(--font-mono);letter-spacing:0;text-transform:none;font-size:11px}.memory-address-input{width:112px;padding:0 6px}.memory-follow-select{padding:0 6px}.memory-address-input--readonly{color:var(--text-muted);cursor:default;caret-color:#0000}.memory-address-input--invalid{border-color:var(--danger)}.memory-section{flex-direction:column;flex-shrink:0;max-height:320px;display:flex;overflow-y:auto}.sim-panel--regs{border-bottom:1px solid var(--border);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.sim-panel--memory{flex-direction:column;flex-shrink:0;max-height:320px;display:flex;overflow:hidden}.memory-writes,.memory-window{overflow:auto}.memory-writes{flex-direction:column;max-height:120px;display:flex}.memory-write-item{min-height:20px;color:var(--text-secondary);align-items:center;font-size:11px;display:flex}.memory-window{flex-direction:column;display:flex}.memory-row{grid-template-columns:80px minmax(0,1fr);align-items:center;min-height:22px;display:grid}.memory-row__addr{color:var(--text-muted);font-size:10px}.memory-row__bytes{grid-template-columns:repeat(8,22px);gap:0;display:grid}.memory-byte{min-height:22px;color:var(--text-primary);text-align:center;justify-content:center;align-items:center;font-size:11px;display:inline-flex;position:relative;overflow:hidden}.memory-byte--current{background:var(--highlight-new)}.memory-byte--prev{background:var(--highlight-prev)}.memory-byte--empty{color:var(--text-muted)}.copy-toast{left:50%;bottom:var(--space-6);z-index:60;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;padding:6px 10px;font-size:12px;position:fixed;transform:translate(-50%,12px)}.copy-toast.is-visible{animation:1.65s forwards copy-toast}.reg-fly{z-index:120;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);font-family:var(--font-mono);pointer-events:none;padding:2px 6px;font-size:11px;line-height:1;animation:.5s ease-out forwards reg-fly;position:fixed;transform:translate(-50%)}.memory-ripple{background:color-mix(in srgb,var(--accent)45%,transparent);pointer-events:none;border-radius:999px;width:6px;height:6px;animation:.4s ease-out forwards memory-ripple;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.source-textarea,.highlight-display,.disasm-view,.effects-view,.stack-view,.memory-writes,.memory-window{scrollbar-width:thin;scrollbar-color:var(--border)transparent}.source-textarea::-webkit-scrollbar{width:6px;height:6px}.disasm-view::-webkit-scrollbar{width:6px;height:6px}.effects-view::-webkit-scrollbar{width:6px;height:6px}.stack-view::-webkit-scrollbar{width:6px;height:6px}.memory-writes::-webkit-scrollbar{width:6px;height:6px}.memory-window::-webkit-scrollbar{width:6px;height:6px}.highlight-display::-webkit-scrollbar{display:none}.source-textarea::-webkit-scrollbar-track{background:0 0}.disasm-view::-webkit-scrollbar-track{background:0 0}.effects-view::-webkit-scrollbar-track{background:0 0}.stack-view::-webkit-scrollbar-track{background:0 0}.memory-writes::-webkit-scrollbar-track{background:0 0}.memory-window::-webkit-scrollbar-track{background:0 0}.source-textarea::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.disasm-view::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.effects-view::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.stack-view::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.memory-writes::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.memory-window::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.source-textarea::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.disasm-view::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.effects-view::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.stack-view::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.memory-writes::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.memory-window::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes flash-reg{0%{background:var(--highlight-new)}to{background:0 0}}@keyframes flash-reg-prev{0%{background:var(--highlight-prev)}to{background:0 0}}@keyframes disasm-enter{0%{opacity:.6;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes pc-prev-pulse{0%{opacity:1}to{opacity:0}}@keyframes explainer-pulse{0%{border-left-color:color-mix(in srgb,var(--accent)40%,transparent)}50%{border-left-color:var(--accent)}to{border-left-color:color-mix(in srgb,var(--accent)40%,transparent)}}@keyframes clike-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes clike-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes effect-enter{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes reg-fly{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}@keyframes memory-ripple{0%{opacity:.4;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(5.33)}}@keyframes assemble-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes center-tab-flash{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes copy-toast{0%{opacity:0;transform:translate(-50%,12px)}9%{opacity:1;transform:translate(-50%)}82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,8px)}}@keyframes status-pulse{0%,to{box-shadow:inset 0 0 0 0 color-mix(in srgb,var(--accent)22%,transparent)}50%{box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--accent)12%,transparent)}}@keyframes lesson-goal-pass{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes lesson-confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(220px)rotate(260deg)}}@media (width>=1400px){.simulator-layout{grid-template-columns:420px 1fr 260px}.simulator-layout.has-lesson-column{grid-template-columns:280px 360px 1fr 340px}}@media (width>=1200px) and (width<=1399px){.simulator-layout{grid-template-columns:380px 1fr 240px}.simulator-layout.has-lesson-column{grid-template-columns:260px 320px minmax(0,1fr) 280px}}@media (width>=900px) and (width<=1199px){.simulator-layout{grid-template-columns:minmax(420px,500px) minmax(0,1fr);align-items:start}.simulator-layout.has-lesson-column{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.sim-column--left{grid-area:1/1/span 2;max-width:500px}.simulator-layout.has-lesson-column .sim-column--lesson{grid-area:1/1/span 2;max-width:300px}.simulator-layout.has-lesson-column .sim-column--left{grid-area:1/2;max-width:none}.sim-column--right{grid-area:1/2}.sim-column--center,.simulator-layout.has-lesson-column .sim-column--center{grid-area:2/2}.simulator-layout.has-lesson-column .sim-column--right{grid-area:3/2}.lesson-panel{max-height:none}}@media (width<=767px){.simulator-app,.sim-nav__inner{width:min(100%,calc(100% - 2*var(--space-4)))}.sim-column{gap:8px}.sim-nav__actions{gap:var(--space-2);justify-content:flex-start;width:100%}.sim-nav__links,.lesson-nav-indicator{display:none}.sim-nav__mobile-toggle{display:inline-flex}.control-row--editor-secondary{flex-wrap:wrap}.control-row--editor-secondary .sim-button{flex:calc(50% - 3px)}.editor-container,.editor-inner,.highlight-display,.source-textarea{min-height:240px}.stack-slot-row{grid-template-columns:78px 1fr 66px;padding-right:46px}.stack-slot-row:after,.stack-sp-row:after{right:8px}.stack-legend-grid{grid-template-columns:1fr}.clike-view{font-size:15px}.disasm-line{grid-template-columns:72px 60px 48px minmax(0,1fr);padding:0 8px}.disasm-operands{font-size:11px}.reg-abi{font-size:10px}.reg-name{font-size:8px}.reg-value{font-size:11px}.memory-row{grid-template-columns:72px minmax(0,1fr)}.memory-row__bytes{grid-template-columns:repeat(8,minmax(0,1fr))}.panel-header--memory{flex-wrap:wrap;align-items:flex-start}.lesson-panel__nav{grid-template-columns:28px minmax(0,1fr) 28px}.lesson-success-banner{flex-direction:column;align-items:stretch}.programs-list__actions{opacity:1;pointer-events:auto}.programs-list__item,.programs-history__item{padding-inline:10px}}@media (hover:none),(pointer:coarse){.reg-cell:after{display:none}}.sim-button--compact{min-height:28px;padding-inline:12px}.run-speed-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-elevated)80%,var(--bg-base));gap:8px;padding:10px 12px;display:grid}.run-speed-panel__row{justify-content:space-between;align-items:center;gap:8px;display:flex}.run-speed-panel__label{color:var(--text-muted);font-family:"Geist",var(--font-body);font-size:11px}.run-speed-panel__value{color:var(--accent);font-family:var(--font-mono);font-size:11px}.run-speed-panel__slider{width:100%;accent-color:var(--accent)}.run-speed-panel__ticks{color:var(--text-muted);font-family:var(--font-mono);justify-content:space-between;font-size:10px;display:flex}.run-stats{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.shortcut-hint-bar{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface)85%,var(--bg-base));color:var(--text-muted);font-family:"Geist",var(--font-body);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:11px;display:flex}.shortcut-hint-bar__dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:14px}.breakpoints-panel,.warnings-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);gap:8px;padding:10px 12px;display:grid}.breakpoints-panel__header,.warnings-panel__toggle{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.warnings-panel__toggle{cursor:pointer;background:0 0;border:0;padding:0}.warnings-panel__body,.breakpoints-panel__list{gap:8px;display:grid}.warnings-panel__item,.breakpoint-row{border-radius:var(--radius-sm);background:var(--bg-elevated);align-items:center;gap:8px;padding:8px 10px;display:grid}.warnings-panel__item{grid-template-columns:auto auto 1fr auto}.breakpoint-row{grid-template-columns:auto 1fr auto auto auto}.warnings-panel__code,.warnings-panel__line,.breakpoint-row__text{font-family:var(--font-mono);font-size:11px}.warnings-panel__code{color:var(--warning)}.warnings-panel__line{color:var(--text-muted)}.warnings-panel__message{color:var(--text-secondary);font-family:"Geist",var(--font-body);font-size:12px;line-height:1.5}.breakpoint-row__dot{background:var(--danger);border-radius:999px;width:8px;height:8px}.breakpoint-row__text{color:var(--text-secondary)}.breakpoint-row__condition-badge{border:1px solid color-mix(in srgb,var(--accent)24%,var(--border));background:var(--accent-subtle);min-height:18px;color:var(--accent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-family:Geist Mono,DM Mono,monospace;font-size:9px;font-weight:700;display:inline-flex}.breakpoint-row__condition{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:Geist Mono,DM Mono,monospace;font-size:11px;overflow:hidden}.breakpoint-row__remove,.breakpoints-panel__clear{color:var(--text-muted);cursor:pointer;font-family:"Geist",var(--font-body);background:0 0;border:0;font-size:12px}.breakpoints-panel__clear{color:var(--accent);justify-self:start}.status-line{min-height:34px;color:var(--text-primary);font-family:"Geist",var(--font-body);white-space:normal;gap:4px;display:grid}.status-line__primary{color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.25}.status-line__secondary{color:var(--text-muted);font-size:11px;line-height:1.35}.editor-gutter-line{position:relative}.editor-gutter-line.has-breakpoint{color:#0000}.editor-gutter-line.is-hovered:before,.editor-gutter-line.has-breakpoint:before{content:"";border-radius:999px;width:8px;height:8px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.editor-gutter-line.is-hovered:before{border:1px solid color-mix(in srgb,var(--danger)60%,transparent)}.editor-gutter-line.has-breakpoint:before{background:var(--danger);border:1px solid var(--danger)}.editor-gutter-breakpoint-cond{background:color-mix(in srgb,var(--accent)16%,transparent);min-height:12px;color:var(--accent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:0 3px;font-family:Geist Mono,DM Mono,monospace;font-size:7px;font-style:normal;display:inline-flex;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.editor-gutter-line.has-error{color:var(--danger)}.editor-gutter-line.has-warning{color:var(--warning)}.editor-highlight-line{min-height:1.6em;padding-right:18px;position:relative}.editor-highlight-line.is-error-line{box-shadow:inset 3px 0 0 var(--danger);background:color-mix(in srgb,var(--danger)8%,transparent)}.editor-highlight-line.is-warning-line{box-shadow:inset 3px 0 0 var(--warning);background:color-mix(in srgb,var(--warning)8%,transparent)}.editor-annotations{pointer-events:none;position:absolute;inset:0}.editor-diagnostic{pointer-events:none;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex;position:absolute;left:8px;right:8px}.editor-diagnostic__icon{pointer-events:auto;color:var(--danger);font-size:12px}.editor-diagnostic--warning .editor-diagnostic__icon{color:var(--warning)}.editor-diagnostic__message{background:color-mix(in srgb,var(--bg-base)88%,transparent);color:var(--danger);font-family:"Geist",var(--font-body);border-radius:4px;margin-top:16px;padding:2px 6px;font-size:12px;font-style:italic;line-height:1.35}.editor-diagnostic--warning .editor-diagnostic__message{color:var(--warning)}.editor-autocomplete{border:1px solid var(--border);background:var(--bg-elevated);z-index:30;border-radius:8px;width:min(360px,100% - 16px);max-height:216px;position:absolute;overflow:auto;box-shadow:0 8px 24px #0006}.breakpoint-condition-popover{border:1px solid var(--border);background:var(--bg-elevated);z-index:50;border-radius:8px;gap:8px;width:min(260px,100% - 16px);padding:10px;display:grid;position:absolute;box-shadow:0 8px 24px #00000059}.breakpoint-condition-popover__title{color:var(--text-primary);font-family:"Geist",var(--font-body);font-size:12px;font-weight:600}.breakpoint-condition-popover__input{border:1px solid var(--border);background:var(--bg-surface);width:100%;min-height:32px;color:var(--text-primary);border-radius:6px;padding:0 10px;font-family:Geist Mono,DM Mono,monospace;font-size:12px}.breakpoint-condition-popover__hint,.breakpoint-condition-popover__error{font-family:"Geist",var(--font-body);font-size:11px;line-height:1.45}.breakpoint-condition-popover__hint{color:var(--text-muted)}.breakpoint-condition-popover__error{color:var(--danger)}.breakpoint-condition-popover__actions{justify-content:flex-end;gap:6px;display:flex}.breakpoint-condition-popover__button{border:1px solid var(--border);min-height:28px;color:var(--text-secondary);font-family:"Geist",var(--font-body);cursor:pointer;background:0 0;border-radius:6px;padding:0 10px;font-size:12px}.breakpoint-condition-popover__button--primary{border-color:var(--accent);background:var(--accent);color:#fff}.editor-autocomplete__item{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr;align-items:center;gap:12px;width:100%;min-height:36px;padding:0 12px;display:grid}.editor-autocomplete__item.is-selected{background:var(--bg-surface)}.editor-autocomplete__label{color:var(--accent);font-family:Geist Mono,DM Mono,monospace;font-size:13px}.editor-autocomplete__detail{color:var(--text-muted);font-family:"Geist",var(--font-body);font-size:12px;line-height:1.3}.editor-char-measure{visibility:hidden;pointer-events:none;font-family:Geist Mono,DM Mono,monospace;font-size:12px;position:absolute}.asm-paren-match{background:var(--accent-subtle);border-radius:2px}.asm-label-match{border-bottom:1px solid var(--accent)}.asm-token-error{text-decoration:underline;text-decoration-color:var(--danger);text-decoration-thickness:2px}.asm-token-warning{text-decoration:underline;text-decoration-color:var(--warning);text-decoration-thickness:2px}.center-tab-panel__header--disasm{align-items:flex-start}.disasm-header-main{align-items:center;gap:8px;display:flex}.disasm-go-to-pc{border:1px solid var(--accent-border);background:var(--accent-subtle);color:var(--accent);cursor:pointer;border-radius:999px;padding:4px 10px;font-family:Geist Mono,DM Mono,monospace;font-size:11px}.disasm-progress-meta{justify-content:space-between;align-items:center;gap:8px;padding:6px 12px 0;display:flex}.disasm-progress-text{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.disasm-complete-badge{color:var(--success);font-family:"Geist",var(--font-body);font-size:11px;font-weight:600}.disasm-progress-bar{padding:0 12px 8px}.disasm-progress-bar__fill{background:var(--accent);border-radius:999px;width:0;height:3px;display:block}.disasm-progress-bar__fill.is-complete{background:var(--success)}.disasm-line{border-left:3px solid #0000;grid-template-columns:16px 80px 72px 52px minmax(0,1fr) minmax(0,.72fr);align-items:center;column-gap:10px;min-height:28px;padding:0 12px;font-size:12px;display:grid;position:relative}.disasm-bp{color:var(--accent);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:10px;display:inline-flex}.disasm-bp__dot{background:var(--danger);border-radius:999px;width:8px;height:8px}.disasm-bp__pc{color:var(--accent)}.disasm-addr{color:var(--text-muted);font-family:Geist Mono,DM Mono,monospace;font-size:12px}.disasm-encoding{color:color-mix(in srgb,var(--text-muted)80%,transparent);font-family:Geist Mono,DM Mono,monospace;font-size:11px}.disasm-mnemonic{color:var(--accent);font-family:Geist Mono,DM Mono,monospace;font-size:13px;font-weight:500}.disasm-operands{color:var(--text-primary);min-width:0;font-family:Geist Mono,DM Mono,monospace;font-size:13px}.disasm-comment{color:var(--text-muted);font-family:"Geist",var(--font-body);min-width:0;font-size:12px}.disasm-operand.is-label{color:var(--warning)}.disasm-punct{color:var(--text-muted)}.disasm-line.disasm-pc-current{background:color-mix(in srgb,var(--accent)8%,transparent);border-left-color:var(--accent)}.disasm-line.disasm-pc-current .disasm-mnemonic{font-weight:700}.disasm-line.disasm-pc-prev{background:color-mix(in srgb,var(--highlight-prev)18%,transparent)}.disasm-line:hover .disasm-tooltip{opacity:1;pointer-events:auto;transition-delay:.4s;transform:translateY(0)}.disasm-line:not(:hover) .disasm-tooltip{transition-delay:0s}.disasm-tooltip{border:1px solid var(--border);background:var(--bg-elevated);opacity:0;pointer-events:none;z-index:600;border-radius:8px;width:min(420px,100vw - 80px);padding:12px 16px;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 6px);left:24px;transform:translateY(6px);box-shadow:0 8px 24px #0000004d}.disasm-tooltip__title{color:var(--accent);font-family:Geist Mono,DM Mono,monospace;font-size:14px;font-weight:700}.disasm-tooltip__type,.disasm-tooltip__note{color:var(--text-muted);font-family:"Geist",var(--font-body);margin-top:6px;font-size:12px;line-height:1.45}.disasm-tooltip__op{color:var(--text-primary);margin-top:6px;font-family:Geist Mono,DM Mono,monospace;font-size:12px}.disasm-tooltip__bits{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:10px;display:grid}.disasm-tooltip__field{text-align:center;border-radius:6px;padding:6px 4px}.disasm-tooltip__field.is-opcode{background:var(--accent-subtle);color:var(--accent)}.disasm-tooltip__field.is-reg{background:color-mix(in srgb,var(--success)12%,transparent);color:var(--success)}.disasm-tooltip__field.is-funct{background:color-mix(in srgb,var(--warning)14%,transparent);color:var(--warning)}.disasm-tooltip__field.is-imm{background:color-mix(in srgb,var(--text-muted)12%,transparent);color:var(--text-secondary)}.disasm-tooltip__field-bits,.disasm-tooltip__field-name{font-family:Geist Mono,DM Mono,monospace}.disasm-tooltip__field-bits{font-size:9px}.disasm-tooltip__field-name{margin-top:4px;font-size:9px}.clike-card--tab{flex-direction:column;gap:18px}.clike-view--tab{flex-direction:column;justify-content:center;align-items:stretch;gap:14px}.clike-view{font-size:22px}.clike-history{gap:6px;width:min(100%,720px);display:grid}.clike-history__item{color:var(--text-muted);text-align:center;font-family:Geist Mono,DM Mono,monospace;font-size:14px}.clike-history__item[data-depth="1"]{opacity:.8}.clike-history__item[data-depth="2"]{opacity:.6}.clike-history__item[data-depth="3"]{opacity:.4}.clike-history__item[data-depth="4"]{opacity:.2}.sim-panel--regs>.panel-header{display:none}.regs-view,.registers-root,.register-file-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.register-file-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;min-height:36px;padding:8px 12px;display:flex}.register-file-header__title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-family:Geist Mono,monospace;font-size:10px;font-weight:600}.register-format-bar{border-bottom:1px solid var(--border);flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;display:flex;overflow-x:auto}.register-format-btn{border:1px solid var(--border);height:22px;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;padding:3px 8px;font-family:Geist Mono,monospace;font-size:10px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.register-format-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.register-format-btn:hover:not(.active){border-color:var(--border-hover);color:var(--text-secondary)}.register-beginner-bar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:5px 12px;display:flex}.register-beginner-label{color:var(--text-muted);font-family:Geist,sans-serif;font-size:11px}.register-beginner-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-family:Geist,sans-serif;font-size:11px;font-weight:500}.register-beginner-toggle:hover{background:var(--accent-subtle)}.register-grid-wrapper{flex:1;padding:8px;position:relative;overflow-y:auto}.register-running-overlay{background:color-mix(in srgb,var(--bg-base)76%,transparent);min-height:32px;color:var(--text-primary);font-family:"Geist",var(--font-body);z-index:1;border-radius:6px;justify-content:center;align-items:center;margin-bottom:8px;font-size:13px;display:none;position:sticky;top:0}.register-running-overlay.is-visible{display:flex}.register-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.register-grid--beginner{grid-template-columns:repeat(3,minmax(0,1fr))}.register-cell{background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:2px;min-height:44px;padding:6px 8px;transition:border-color .2s,background .2s;display:flex;position:relative}.register-grid--beginner .register-cell{min-height:64px}.register-cell.is-changed{border-color:var(--accent-border);background:var(--accent-subtle);animation:.6s forwards register-flash}.register-cell.was-changed{animation:.6s forwards register-flash}@keyframes register-flash{0%{background:var(--accent-subtle);border-color:var(--accent)}to{background:var(--bg-elevated);border-color:var(--border)}}.register-cell__name-row{justify-content:space-between;align-items:center;gap:4px;display:flex}.register-cell__abi{color:var(--text-secondary);font-family:Geist Mono,monospace;font-size:11px;font-weight:600;line-height:1}.register-grid--beginner .register-cell__abi{font-size:14px}.register-cell__xnum{color:var(--text-muted);font-family:Geist Mono,monospace;font-size:9px;line-height:1}.register-cell__old-value{color:var(--text-muted);font-family:Geist Mono,DM Mono,monospace;font-size:10px;line-height:1;text-decoration:line-through;animation:2s forwards reg-diff-fade}.register-cell__value{color:var(--text-primary);word-break:break-all;font-family:Geist Mono,monospace;font-size:11px;line-height:1.1}.register-grid--beginner .register-cell__value{font-size:14px}.reg-diff-arrow,.reg-diff-ra{color:var(--text-muted);font-family:Geist Mono,DM Mono,monospace;font-size:10px;line-height:1}.reg-diff-arrow--down{color:var(--warning)}.reg-diff-arrow--up{color:var(--success)}.register-show-all{text-align:center;color:var(--accent);cursor:pointer;border:0;border-top:1px solid var(--border);background:0 0;flex-shrink:0;padding:8px;font-family:Geist,sans-serif;font-size:12px}.register-show-all:hover{text-decoration:underline}.register-show-all.is-flashing{color:var(--accent)}.register-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;border-top:1px solid var(--border);grid-column:1/-1;margin-top:4px;padding:6px 4px 2px;font-family:Geist Mono,monospace;font-size:9px}.register-section-label--first{border-top:none;margin-top:0}.register-cell__tooltip{border:1px solid var(--border);background:var(--bg-elevated);min-width:180px;color:var(--text-primary);opacity:0;pointer-events:none;z-index:20;border-radius:8px;padding:10px 14px;font-family:Geist Mono,DM Mono,monospace;font-size:12px;line-height:1.5;transition:opacity .15s,transform .15s;position:absolute;inset:auto auto calc(100% + 6px) 50%;transform:translate(-50%,8px);box-shadow:0 8px 24px #0000004d}.register-cell:hover .register-cell__tooltip{opacity:1;transform:translate(-50%)}.panel-header--memory{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.memory-panel-toolbar{flex-direction:column;gap:0;display:flex}.memory-view-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;gap:4px;padding:6px 12px;display:flex}.memory-view-tab{border:1px solid var(--border);height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:3px 8px;font-family:Geist Mono,monospace;font-size:10px;font-weight:600;transition:all .12s}.memory-view-tab.active,.memory-view-tab.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.memory-word-formats,.memory-format-bar{border-bottom:1px solid var(--border);flex-shrink:0;gap:4px;padding:4px 12px;display:flex}.memory-word-format{border:1px solid var(--border);height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:3px 8px;font-family:Geist Mono,monospace;font-size:10px;font-weight:600;transition:all .12s}.memory-word-format.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.memory-watch-controls{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.memory-stack{scroll-behavior:smooth;flex-direction:column;gap:8px;padding:8px 12px 12px;display:flex;overflow-y:auto}.memory-watches{gap:6px;margin-bottom:8px;display:grid}.memory-watch-row{border-radius:var(--radius-sm);background:var(--bg-surface);grid-template-columns:88px 1fr auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.memory-watch-row__addr,.memory-watch-row__value{font-family:Geist Mono,DM Mono,monospace;font-size:11px}.memory-watch-row__remove{color:var(--text-muted);cursor:pointer;background:0 0;border:0}.memory-write-item{min-height:24px;color:var(--text-secondary);grid-template-columns:88px auto auto auto auto;align-items:center;gap:8px;font-family:Geist Mono,DM Mono,monospace;font-size:11px;display:grid}.memory-write-item__before{color:var(--text-muted);text-decoration:line-through}.memory-write-item__after{color:var(--accent)}.memory-write-item__step{color:var(--text-muted)}.memory-word-row,.memory-ascii-row{grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:24px;font-family:Geist Mono,DM Mono,monospace;font-size:11px;display:grid}.memory-word-row__addr,.memory-ascii-row__addr{color:var(--text-muted)}.memory-word-row__value,.memory-ascii-row__hex{color:var(--text-primary)}.memory-ascii-row__text{color:var(--text-secondary)}.memory-word-row.is-current{background:color-mix(in srgb,var(--accent)8%,transparent)}.memory-word-row--stack.is-current-sp{background:color-mix(in srgb,var(--accent)10%,transparent)}.memory-word-row--stack.is-recent .memory-word-row__value{color:var(--accent)}.memory-word-row--stack.is-unchanged .memory-word-row__value{color:var(--text-muted)}@keyframes reg-diff-fade{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.register-cell,.editor-autocomplete,.disasm-tooltip,.register-cell__tooltip,.disasm-progress-bar__fill{transition:none!important;animation:none!important}}@media (width<=900px){.register-grid,.register-grid--beginner,.register-grid--full{grid-template-columns:1fr}.disasm-line{grid-template-columns:16px 72px 56px 44px minmax(0,1fr)}.disasm-comment{display:none}}.simulator-layout,.simulator-grid{height:calc(100vh - 68px);margin-top:12px;overflow:hidden}.simulator-layout *,.simulator-grid *{box-sizing:border-box;max-width:100%}.simulator-layout,.simulator-grid,.simulator-left-col,.simulator-center-col,.simulator-right-col{overflow-x:hidden!important}.simulator-left-col,.simulator-center-col,.simulator-right-col{height:100%;overflow:hidden auto}.disasm-row,.disasm-table tr,.disasm-table td{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.register-cell,.register-cell__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.effect-row,.effect-entry,.effect-log-item{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.memory-row,.memory-window-row{min-width:0;max-width:100%;overflow:hidden}.simulator-tabs,.tab-bar,.center-tab-bar{overflow:hidden}.simulator-panel,.panel-body{box-shadow:none}.simulator-left-col::-webkit-scrollbar{width:4px}.simulator-center-col::-webkit-scrollbar{width:4px}.simulator-right-col::-webkit-scrollbar{width:4px}.register-grid-wrapper::-webkit-scrollbar{width:4px}.disasm-body::-webkit-scrollbar{width:4px}.effect-log-body::-webkit-scrollbar{width:4px}.simulator-left-col::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.simulator-center-col::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.simulator-right-col::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.register-grid-wrapper::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.disasm-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.effect-log-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.simulator-left-col::-webkit-scrollbar-track{background:0 0}.simulator-center-col::-webkit-scrollbar-track{background:0 0}.simulator-right-col::-webkit-scrollbar-track{background:0 0}.register-grid-wrapper::-webkit-scrollbar-track{background:0 0}.disasm-body::-webkit-scrollbar-track{background:0 0}.effect-log-body::-webkit-scrollbar-track{background:0 0}.memory-section,.memory-panel,[class*=memory-section],[class*=memory-panel]{overflow:hidden auto;flex-shrink:0!important;height:280px!important;min-height:280px!important}.simulator-right-col,[class*=right-col],[class*=register-memory-col]{flex-direction:column!important;min-width:0!important;height:100%!important;display:flex!important;overflow:hidden!important}.register-file-section,.register-file-panel,[class*=register-file-section],[class*=register-section]{flex:1 1 0!important;min-height:0!important;overflow:hidden auto!important}.memory-section,.memory-panel,[class*=memory-section]{border-top:1px solid var(--border)!important;flex:0 0 280px!important;height:280px!important;min-height:280px!important;max-height:280px!important;overflow:hidden auto!important}.disasm-header,.disassembly-header,[class*=disasm-header],[class*=disassembly-label],.call-stack-header,.effects-header,.pseudo-c-header,[class*=stack-header],[class*=effects-header],[class*=pseudo-header]{min-height:36px!important;color:var(--text-muted)!important;text-transform:uppercase!important;letter-spacing:.1em!important;border-bottom:1px solid var(--border)!important;flex-shrink:0!important;align-items:center!important;padding:8px 12px!important;font-family:Geist Mono,monospace!important;font-size:10px!important;font-weight:600!important;display:flex!important}.register-cell{gap:1px!important;min-height:36px!important;padding:4px 6px!important}.register-cell__abi,.register-cell__name{font-size:10px!important;line-height:1!important}.register-cell__value{font-size:10px!important;line-height:1!important}.register-grid{gap:3px!important;padding:6px!important}.register-section-label{margin-top:2px!important;padding:4px 4px 2px!important;font-size:8px!important}.register-format-bar{gap:3px!important;min-height:30px!important;padding:4px 8px!important}.register-format-btn{height:18px!important;padding:2px 6px!important;font-size:9px!important}.register-beginner-bar{min-height:26px!important;padding:3px 8px!important}.register-beginner-label,.register-beginner-toggle{font-size:10px!important}.register-file-header{min-height:28px!important;padding:4px 8px!important}.register-file-header__title{font-size:9px!important}.sim-column--center,.simulator-center-col{flex-direction:column!important;min-width:0!important;height:100%!important;display:flex!important;overflow:hidden!important}.center-tabs,.simulator-tabs,.tab-bar,.center-tab-bar{flex-shrink:0!important;height:38px!important;overflow:hidden!important}.center-tabs__content,.tab-content,.tab-panels,.center-tab-content,.disasm-panel,[class*=tab-content]{flex:1 1 0!important;min-height:0!important;overflow:hidden auto!important}.sim-panel--center-tabs{flex:1 1 0!important;min-height:0!important;overflow:hidden!important}.memory-section,.memory-panel,[class*=memory-section],[class*=memory-panel]{border-top:1px solid var(--border)!important;flex:none!important;height:auto!important;min-height:0!important;max-height:200px!important;overflow:hidden auto!important}.saved-programs,[class*=saved-programs]{border-top:1px solid var(--border)!important;flex:none!important;max-height:140px!important;overflow:hidden auto!important}.sim-column--right,.simulator-right-col,[class*=right-col]{flex-direction:column!important;min-width:0!important;height:100%!important;display:flex!important;overflow:hidden!important}.register-file-section,.register-file-panel,[class*=register-file]{flex:1 1 0!important;height:100%!important;min-height:0!important;overflow:hidden auto!important}.sim-column--right .memory-section,.sim-column--right [class*=memory-section],.sim-column--right [class*=memory-panel],.sim-column--right .saved-programs,.sim-column--right [class*=saved-programs]{display:none!important}@media (width>=1400px){.simulator-layout{grid-template-columns:minmax(280px,320px) 1fr 260px;height:calc(100vh - 56px);overflow:hidden}}@media (width>=1200px) and (width<=1399px){.simulator-layout{grid-template-columns:minmax(260px,300px) 1fr 240px;height:calc(100vh - 56px);overflow:hidden}}@media (width>=900px) and (width<=1199px){.simulator-layout{grid-template-columns:minmax(220px,260px) 1fr 220px;height:calc(100vh - 56px);overflow:hidden}}.register-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px!important;padding:6px!important}.register-cell{gap:1px!important;min-width:0!important;min-height:34px!important;padding:4px 6px!important}.register-cell__abi{font-size:clamp(9px,.75vw,11px)!important;line-height:1!important}.register-cell__xnum{font-size:8px!important;line-height:1!important}.register-cell__value{white-space:nowrap!important;text-overflow:ellipsis!important;font-size:clamp(9px,.75vw,10px)!important;line-height:1!important;overflow:hidden!important}.memory-panel .memory-header-row{border-bottom:1px solid var(--border)!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;padding:6px 12px!important;display:flex!important}.memory-view-tabs{flex-wrap:nowrap!important;gap:4px!important;padding:4px 12px!important}.memory-view-tab{height:20px!important;padding:2px 8px!important;font-size:10px!important}.saved-programs .panel-header,[class*=saved-programs] [class*=panel-header]{cursor:pointer!important;user-select:none!important}.register-file-section,.register-file-panel,[class*=register-file]{flex-direction:column!important;margin-top:0!important;padding-top:0!important;display:flex!important}.register-file-header,[class*=register-file-header]{margin-top:0!important;padding-top:0!important}.register-format-bar,[class*=format-bar]{order:-1!important;margin-top:0!important}.register-file-section:before,.register-file-panel:before{height:0!important;display:none!important}.memory-section,.memory-panel,[class*=memory-section],[class*=memory-panel]{flex:0 0 260px!important;height:260px!important;min-height:260px!important;max-height:260px!important;overflow-y:auto!important}.saved-programs,[class*=saved-programs]{flex:0 0 120px!important;min-height:120px!important;max-height:120px!important;overflow-y:auto!important}.register-file-header,.register-format-bar,.register-beginner-bar{flex:none!important;margin-top:0!important}.register-file-header{height:auto!important}.register-file-header__title{flex:none!important}.register-grid-wrapper{flex:auto!important;min-height:0!important;margin-top:0!important;padding-top:6px!important}.register-format-bar,[class*=format-bar]{order:0!important}.memory-panel,.saved-programs{overflow:hidden!important}.memory-panel .panel-body,.memory-stack,.saved-programs .panel-body,.programs-panel__body{scrollbar-width:thin;scrollbar-color:var(--border)transparent;overflow:hidden auto!important}.memory-panel .panel-body::-webkit-scrollbar{width:4px}.memory-stack::-webkit-scrollbar{width:4px}.saved-programs .panel-body::-webkit-scrollbar{width:4px}.programs-panel__body::-webkit-scrollbar{width:4px}.memory-panel .panel-body::-webkit-scrollbar-track{background:0 0}.memory-stack::-webkit-scrollbar-track{background:0 0}.saved-programs .panel-body::-webkit-scrollbar-track{background:0 0}.programs-panel__body::-webkit-scrollbar-track{background:0 0}.memory-panel .panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.memory-stack::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.saved-programs .panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.programs-panel__body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.lesson-mode .lesson-compact-shell{display:none!important}.lesson-mode .simulator-layout.has-lesson-column{align-items:stretch;gap:0}.lesson-mode .sim-column--lesson{z-index:2;min-width:0}.lesson-mode .lesson-panel{background:var(--bg-base);border:0;border-radius:0;min-height:calc(100vh - 56px);max-height:none}.lesson-mode.lesson-phase-reading .simulator-layout.has-lesson-column{grid-template-columns:minmax(0,1fr)!important}.lesson-mode.lesson-phase-reading .sim-column--lesson{grid-column:1/-1}.lesson-mode.lesson-phase-reading .sim-column--left,.lesson-mode.lesson-phase-reading .sim-column--center,.lesson-mode.lesson-phase-reading .sim-column--right{display:none!important}.lesson-mode.lesson-phase-reading .lesson-panel{position:relative;overflow:visible}.lesson-mode.lesson-phase-reading .lesson-reading-view{background:var(--bg-base);flex-direction:column;align-items:center;min-height:calc(100vh - 56px);padding:32px 24px 96px;display:flex}.lesson-breadcrumb{width:100%;max-width:680px;color:var(--text-muted);font-family:"Geist",var(--font-body);align-items:center;gap:8px;margin-bottom:24px;font-size:13px;display:flex}.lesson-breadcrumb__back{color:var(--accent);text-decoration:none}.lesson-breadcrumb__back:hover{opacity:.84}.lesson-breadcrumb__sep{color:var(--border)}.lesson-progress-bar{background:var(--border);border-radius:2px;width:100%;max-width:680px;height:3px;margin-bottom:32px;overflow:hidden}.lesson-progress-bar__fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .4s cubic-bezier(.16,1,.3,1)}.lesson-step-dots{gap:6px;margin-bottom:32px;display:flex}.lesson-step-dot{background:var(--border);cursor:pointer;border:0;border-radius:999px;width:8px;height:8px;padding:0;transition:background-color .2s,transform .2s}.lesson-step-dot.is-checkpoint{border-radius:3px}.lesson-step-dot.is-completed,.lesson-step-dot.is-current{background:var(--accent)}.lesson-step-dot.is-current{transform:scale(1.4)}.lesson-step-dot:disabled{opacity:.55;cursor:default}.lesson-content-card{flex:auto;width:100%;max-width:680px}.lesson-step-title{color:var(--text-primary);font-family:"Geist",var(--font-body);letter-spacing:-.01em;margin:0 0 24px;font-size:28px;font-weight:700;line-height:1.2}.lesson-step-body{color:var(--text-secondary);font-family:"Geist",var(--font-body);font-size:16px;line-height:1.8}.lesson-step-body p{margin:0 0 20px}.lesson-step-body p:last-child{margin-bottom:0}.lesson-step-body .lesson-rich-code{border:1px solid var(--accent-border);background:var(--accent-subtle);min-height:0;font-family:"Geist Mono",var(--font-mono);border-radius:4px;padding:2px 6px;font-size:14px}.lesson-step-body pre,.lesson-step-body .lesson-instruction{margin:20px 0}.lesson-step-body pre{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;padding:16px 20px;overflow-x:auto}.lesson-step-body pre code{color:var(--text-primary);background:0 0;border:0;padding:0;font-size:13px;line-height:1.7}.lesson-tip{border:1px solid var(--accent-border);border-left:3px solid var(--accent);background:var(--accent-subtle);border-radius:8px;gap:12px;margin:20px 0;padding:14px 16px;display:flex}.lesson-tip__icon{flex-shrink:0;margin-top:1px}.lesson-tip__text{color:var(--text-secondary);font-size:14px;line-height:1.6}.lesson-warning{border-color:color-mix(in srgb,var(--warning)24%,var(--border));border-left-color:var(--warning);background:color-mix(in srgb,var(--warning)10%,transparent)}.lesson-instruction{border:1px solid var(--border);background:var(--bg-elevated);font-family:"Geist Mono",var(--font-mono);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:15px;display:inline-flex}.lesson-instruction__mnemonic{color:var(--accent);font-weight:600}.lesson-instruction__rs{color:var(--text-primary)}.lesson-instruction__imm{color:var(--warning)}.lesson-action-bar{border-top:1px solid var(--border);background:var(--bg-base);z-index:20;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:fixed;bottom:0;left:0;right:0}.lesson-action-bar__right,.lesson-action-stack{align-items:center;gap:12px;display:flex}.lesson-btn-prev,.lesson-btn-watch-link{color:var(--text-muted);font-family:"Geist",var(--font-body);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.lesson-btn-prev:disabled{opacity:.5;cursor:default}.lesson-btn-continue,.lesson-btn-try,.lesson-success-banner__button,.lesson-show-solution{background:var(--accent);min-height:40px;color:color-mix(in srgb,var(--bg-base)88%,var(--text-primary));font-family:"Geist",var(--font-body);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0 22px;font-size:15px;font-weight:600;display:inline-flex}.lesson-btn-continue:hover,.lesson-btn-try:hover,.lesson-success-banner__button:hover,.lesson-show-solution:hover{background:var(--accent-hover)}.lesson-mode.lesson-phase-watching .simulator-layout.has-lesson-column,.lesson-mode.lesson-phase-trying .simulator-layout.has-lesson-column{grid-template-rows:minmax(260px,1fr) minmax(260px,1fr);gap:12px;padding-top:12px;grid-template-columns:400px minmax(0,1fr)!important}.lesson-mode.lesson-phase-watching .sim-column--lesson,.lesson-mode.lesson-phase-trying .sim-column--lesson{grid-area:1/1/span 2}.lesson-mode.lesson-phase-watching .sim-column--left,.lesson-mode.lesson-phase-trying .sim-column--left{grid-area:1/2}.lesson-mode.lesson-phase-watching .sim-column--center,.lesson-mode.lesson-phase-trying .sim-column--center{grid-area:2/2}.lesson-mode.lesson-phase-watching .sim-column--right,.lesson-mode.lesson-phase-trying .sim-column--right{display:none!important}.lesson-mode.lesson-phase-watching.lesson-show-registers .simulator-layout.has-lesson-column,.lesson-mode.lesson-phase-trying.lesson-show-registers .simulator-layout.has-lesson-column{grid-template-columns:340px minmax(0,1fr) 250px!important}.lesson-mode.lesson-phase-watching.lesson-show-registers .sim-column--right,.lesson-mode.lesson-phase-trying.lesson-show-registers .sim-column--right{grid-area:1/3/span 2;display:flex!important}.lesson-mode .memory-panel,.lesson-mode .saved-programs,.lesson-mode .breakpoints-panel,.lesson-mode .warnings-panel,.lesson-mode #historyPanel,.lesson-mode .run-speed-panel,.lesson-mode .field-label,.lesson-mode #sampleSelect,.lesson-mode .sim-panel--editor .panel-header__actions,.lesson-mode .shared-link-banner,.lesson-mode .shortcut-hint-bar{display:none!important}.lesson-mode.lesson-phase-watching .control-row--editor-primary,.lesson-mode.lesson-phase-watching .control-row--editor-secondary{opacity:.55;pointer-events:none}.lesson-goal-panel,.lesson-watch-panel{background:var(--bg-base);flex-direction:column;min-height:calc(100vh - 68px);padding:24px;display:flex}.lesson-goal-panel__back{color:var(--text-muted);font-family:"Geist",var(--font-body);cursor:pointer;text-align:left;background:0 0;border:0;margin-bottom:16px;padding:0;font-size:13px}.lesson-goal-panel__title{color:var(--text-primary);font-family:"Geist",var(--font-body);margin-bottom:16px;font-size:24px;font-weight:700}.lesson-goals-list{flex-direction:column;display:flex}.lesson-goal-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:12px 0;display:flex}.lesson-goal-item__circle{border:2px solid var(--border);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;display:flex}.lesson-goal-item.is-passing .lesson-goal-item__circle{border-color:var(--success);background:var(--success);color:color-mix(in srgb,var(--bg-base)88%,var(--text-primary))}.lesson-goal-item__body{flex:1;min-width:0}.lesson-goal-item__desc{color:var(--text-primary);font-family:"Geist",var(--font-body);font-size:14px;line-height:1.5}.lesson-goal-item.is-passing .lesson-goal-item__desc{color:var(--text-muted);text-decoration:line-through}.lesson-goal-item__feedback{color:var(--text-muted);font-family:"Geist Mono",var(--font-mono);margin-top:4px;font-size:11px}.lesson-goal-item.is-failing .lesson-goal-item__feedback{color:var(--warning)}.lesson-hint__text{color:var(--text-secondary);font-family:"Geist",var(--font-body);font-size:13px;line-height:1.6}.lesson-show-solution{width:100%;margin-top:16px}.lesson-watch-panel .lesson-watch{margin-top:0}.lesson-watch__narration{color:var(--text-secondary);font-family:"Geist",var(--font-body);white-space:pre-line;font-size:13px;line-height:1.7}.lesson-mode .lesson-success-banner{border:1px solid color-mix(in srgb,var(--success)24%,var(--border));background:color-mix(in srgb,var(--success)10%,transparent);color:var(--text-primary);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:12px;margin-top:16px;padding:20px;display:flex}.lesson-mode .lesson-success-banner__title{color:var(--success)}.lesson-mode .lesson-success-banner__button{background:var(--success);color:color-mix(in srgb,var(--bg-base)88%,var(--text-primary))}.lesson-mode .lesson-success-banner__button:hover{background:color-mix(in srgb,var(--success)82%,var(--text-primary))}.lesson-mode .sim-column--left,.lesson-mode .sim-column--center,.lesson-mode .sim-column--right,.lesson-mode .sim-column--lesson{transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s cubic-bezier(.16,1,.3,1)}.lesson-mode.lesson-phase-reading .sim-column--lesson,.lesson-mode.lesson-phase-watching .sim-column--lesson,.lesson-mode.lesson-phase-trying .sim-column--lesson{opacity:1;transform:translate(0)}@media (prefers-reduced-motion:reduce){.lesson-mode .sim-column--left,.lesson-mode .sim-column--center,.lesson-mode .sim-column--right,.lesson-mode .sim-column--lesson,.lesson-progress-bar__fill,.lesson-step-dot{transition:none!important}}@media (width<=1199px){.lesson-mode.lesson-phase-watching .simulator-layout.has-lesson-column,.lesson-mode.lesson-phase-trying .simulator-layout.has-lesson-column,.lesson-mode.lesson-phase-watching.lesson-show-registers .simulator-layout.has-lesson-column,.lesson-mode.lesson-phase-trying.lesson-show-registers .simulator-layout.has-lesson-column{grid-template-rows:auto auto auto!important;grid-template-columns:minmax(0,1fr)!important}.lesson-mode.lesson-phase-watching .sim-column--lesson,.lesson-mode.lesson-phase-trying .sim-column--lesson,.lesson-mode.lesson-phase-watching .sim-column--left,.lesson-mode.lesson-phase-trying .sim-column--left,.lesson-mode.lesson-phase-watching .sim-column--center,.lesson-mode.lesson-phase-trying .sim-column--center,.lesson-mode.lesson-phase-watching.lesson-show-registers .sim-column--right,.lesson-mode.lesson-phase-trying.lesson-show-registers .sim-column--right{grid-area:auto/1}.lesson-action-bar{padding:14px 16px}}@media (width<=767px){.lesson-reading-view{padding:24px 16px 104px}.lesson-step-title{font-size:24px}.lesson-step-body{font-size:15px}.lesson-action-bar,.lesson-action-bar__right,.lesson-action-stack{flex-direction:column;align-items:stretch}.lesson-btn-continue,.lesson-btn-try,.lesson-success-banner__button,.lesson-show-solution{width:100%}}body.lesson-mode-active{overflow:hidden}body.lesson-mode-active #site-nav,body.lesson-mode-active #site-footer,body.lesson-reading-active .simulator-layout,body.lesson-reading-active .simulator-grid,body.lesson-reading-active #simulator-root{display:none!important}#lesson-reading-overlay-root{z-index:800;position:relative}.lro{--lro-violet:color-mix(in srgb,var(--accent)60%,var(--warning));z-index:800;background:var(--bg-base);font-family:"Geist",var(--font-body);grid-template:"sidebar main context"1fr"footer footer footer"/260px 1fr 280px;display:grid;position:fixed;inset:0;overflow:hidden}@media (width<=1200px){.lro{grid-template-columns:0 1fr 0}.lro__sidebar,.lro__context{display:none}}@media (width<=768px){.lro{grid-template-columns:1fr;grid-template-areas:"main""footer"}}.lro__sidebar,.lro__context{background:var(--bg-surface)}.lro__sidebar{border-right:1px solid var(--border);grid-area:sidebar;overflow:hidden auto}.lro__context{border-left:1px solid var(--border);grid-area:context;overflow:hidden auto}.lro__sidebar-inner,.lro__context-inner{flex-direction:column;gap:24px;padding:24px 20px;display:flex}.lro__back{color:var(--text-muted);align-items:center;gap:6px;padding:4px 0;font-size:13px;text-decoration:none;transition:color .15s;display:inline-flex}.lro__back:hover{color:var(--accent)}.lro__lesson-meta{flex-direction:column;gap:4px;display:flex}.lro__lesson-num,.lro__context-label,.lro__lesson-progress-label,.lro__step-item-type,.lro__step-num,.lro-completion__next-label,.lro-section-label{font-family:"Geist Mono",var(--font-mono);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:600}.lro__lesson-title-small{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.3}.lro__step-list{flex-direction:column;gap:2px;display:flex}.lro__step-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;transition:background .15s,opacity .15s;display:flex}.lro__step-item:hover:not(:disabled){background:var(--bg-elevated)}.lro__step-item.is-current{background:var(--accent-subtle)}.lro__step-item.is-locked,.lro__step-item:disabled{opacity:.42;cursor:default}.lro__step-item-dot{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-top:2px;transition:all .2s;display:flex}.lro__step-item.is-checkpoint .lro__step-item-dot{border-radius:3px}.lro__step-item.is-completed .lro__step-item-dot{background:var(--accent);border-color:var(--accent)}.lro__step-item.is-completed .lro__step-item-dot:after{content:"✓";color:color-mix(in srgb,var(--bg-base)88%,var(--text-primary));font-size:9px;font-weight:700}.lro__step-item.is-current .lro__step-item-dot{border-color:var(--accent);border-width:2.5px}.lro__step-item-info{flex-direction:column;gap:2px;min-width:0;display:flex}.lro__step-item-title{color:var(--text-secondary);font-size:13px;font-weight:500;line-height:1.3}.lro__step-item.is-current .lro__step-item-title{color:var(--accent);font-weight:600}.lro__step-item.is-completed .lro__step-item-title{color:var(--text-muted)}.lro__lesson-progress{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:16px;display:flex}.lro__lesson-progress-bar{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.lro__lesson-progress-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.lro__main{scroll-behavior:smooth;grid-area:main;overflow:hidden auto}.lro__content-wrapper{max-width:680px;margin:0 auto;padding:48px 32px 120px}.lro__content-wrapper.is-split{max-width:760px}@media (width<=768px){.lro__content-wrapper{padding:24px 20px 100px}}.lro__step-header{margin-bottom:32px}.lro__step-indicator{align-items:center;gap:10px;margin-bottom:12px;display:flex}.lro__step-type-badge{font-family:"Geist Mono",var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700}.lro__step-type-badge.reading{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted)}.lro__step-type-badge.checkpoint{border:1px solid var(--accent-border);background:var(--accent-subtle);color:var(--accent)}.lro__step-title{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:32px;font-weight:700;line-height:1.15}@media (width<=768px){.lro__step-title{font-size:24px}}.lro__step-content{color:var(--text-secondary);font-size:17px;line-height:1.8;transition:opacity .25s,transform .25s}.lro__step-content p{margin:0 0 20px}.lro__step-content p:last-child{margin-bottom:0}.lro__step-content code{border:1px solid var(--accent-border);background:var(--accent-subtle);color:var(--accent);font-family:"Geist Mono",var(--font-mono);border-radius:4px;padding:1px 6px;font-size:15px}.lro__step-content pre{border:1px solid var(--border);border-radius:12px;margin:24px 0;overflow:hidden}.lro__step-content pre .code-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-family:"Geist Mono",var(--font-mono);justify-content:space-between;align-items:center;padding:10px 16px;font-size:11px;display:flex}.lro__step-content pre code{background:var(--bg-elevated);color:var(--text-primary);border:none;border-radius:0;padding:20px;font-size:14px;line-height:1.7;display:block;overflow-x:auto}.lro__step-content hr{border:none;border-top:1px solid var(--border);margin:32px 0}.lro__step-content.is-leaving-left{opacity:0;transform:translate(-24px)}.lro__step-content.is-leaving-right{opacity:0;transform:translate(24px)}.lro__step-content.is-entering-left{opacity:0;transform:translate(-24px)}.lro__step-content.is-entering-right{opacity:0;transform:translate(24px)}.lro-section-label{margin:20px 0 10px}.lesson-list{margin:0 0 20px;padding-left:20px}.lesson-list li{margin-bottom:8px}.lro-tip{border:1px solid var(--accent-border);border-left:3px solid var(--accent);background:var(--accent-subtle);border-radius:10px;gap:14px;margin:24px 0;padding:16px 20px;display:flex}.lro-warning{border-left-color:var(--warning);border-color:color-mix(in srgb,var(--warning)30%,var(--border));background:color-mix(in srgb,var(--warning)8%,var(--bg-base))}.lro-tip__icon{flex-shrink:0;font-size:18px;line-height:1.5}.lro-tip__body{color:var(--text-secondary);font-size:15px;line-height:1.7}.lro-tip__label{color:var(--accent);font-family:"Geist Mono",var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700;display:block}.lro-warning .lro-tip__label{color:var(--warning)}.lro-concept{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;margin:28px 0;padding:20px 24px;position:relative}.lro-concept:before{content:"Key Concept";border:1px solid var(--accent-border);background:var(--bg-elevated);color:var(--accent);font-family:"Geist Mono",var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:4px;padding:0 8px;font-size:9px;font-weight:700;position:absolute;top:-9px;left:16px}.lro-concept__body{color:var(--text-primary);font-size:16px;font-weight:500;line-height:1.7}.lro-instruction-block{border:1px solid var(--border);border-radius:12px;margin:24px 0;overflow:hidden}.lro-instruction-block__header{border-bottom:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-family:"Geist Mono",var(--font-mono);letter-spacing:.1em;text-transform:uppercase;padding:12px 20px;font-size:10px}.lro-instruction-block__syntax{background:var(--bg-base);color:var(--text-primary);font-family:"Geist Mono",var(--font-mono);padding:20px;font-size:20px;line-height:1.4}.lro-instruction-block__mnemonic{color:var(--accent);font-weight:700}.lro-instruction-block__rd{color:var(--success)}.lro-instruction-block__rs{color:var(--text-primary)}.lro-instruction-block__imm,.lro-instruction-block__label{color:var(--warning)}.lro-instruction-block__description{border-top:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);font-family:"Geist Mono",var(--font-mono);padding:12px 20px;font-size:14px}.lro-reg-ref,.lro-addr-ref{font-family:"Geist Mono",var(--font-mono);border-radius:4px;align-items:center;gap:4px;padding:1px 8px;font-size:13px;line-height:1.5;display:inline-flex}.lro-reg-ref{border:1px solid color-mix(in srgb,var(--success)24%,var(--border));background:color-mix(in srgb,var(--success)10%,var(--bg-base));color:var(--success)}.lro-reg-ref__meta{color:var(--text-muted);font-size:10px}.lro-addr-ref{border:1px solid color-mix(in srgb,var(--warning)26%,var(--border));background:color-mix(in srgb,var(--warning)10%,var(--bg-base));color:var(--warning)}.lro__goals{border-top:1px solid var(--border);margin-top:40px;padding-top:32px}.lro__goals-header{color:var(--text-primary);margin-bottom:16px;font-size:18px;font-weight:700}.lro__goal-item,.lesson-goal-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.lro__goal-item:last-child,.lesson-goal-item:last-child{border-bottom:none}.lro__goal-circle,.lesson-goal-item__circle{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.lro__goal-item.is-passing .lro__goal-circle,.lesson-goal-item.is-passing .lesson-goal-item__circle{border-color:var(--success);background:var(--success);color:color-mix(in srgb,var(--bg-base)88%,var(--text-primary))}.lro__goal-body,.lesson-goal-item__body{flex:1;min-width:0}.lro__goal-desc,.lesson-goal-item__desc{color:var(--text-primary);font-size:15px;line-height:1.5}.lro__goal-item.is-passing .lro__goal-desc,.lesson-goal-item.is-passing .lesson-goal-item__desc{color:var(--text-muted);text-decoration:line-through}.lro__goal-feedback,.lesson-goal-item__feedback{color:var(--text-muted);font-family:"Geist Mono",var(--font-mono);margin-top:4px;font-size:12px}.lro__goal-item.is-failing .lro__goal-feedback,.lesson-goal-item.is-failing .lesson-goal-item__feedback{color:var(--warning)}.lesson-goal__hint-toggle,.lesson-show-solution{border:1px solid var(--border);background:var(--bg-elevated);min-height:36px;color:var(--text-primary);font-family:"Geist",var(--font-body);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;margin-top:10px;padding:0 14px;font-size:13px;display:inline-flex}.lesson-goal__hint{border:1px solid color-mix(in srgb,var(--warning)24%,var(--border));background:color-mix(in srgb,var(--warning)8%,var(--bg-base));color:var(--text-secondary);border-radius:8px;margin-top:8px;padding:10px 12px;font-size:13px;line-height:1.6}.lesson-mini-reg{border:1px solid var(--border);background:var(--bg-elevated);font-family:"Geist Mono",var(--font-mono);border-radius:6px;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;font-size:12px;display:inline-flex}.lesson-mini-reg__name{color:var(--accent);font-weight:600}.lesson-mini-reg__abi{color:var(--text-muted);font-size:10px}.lesson-mini-reg__value.is-target-met{color:var(--success)}.lesson-hint{border:1px solid color-mix(in srgb,var(--warning)24%,var(--border));border-left:3px solid var(--warning);background:color-mix(in srgb,var(--warning)10%,var(--bg-base));border-radius:8px;margin-top:16px;padding:14px 16px}.lesson-hint__label{color:var(--warning);font-family:"Geist Mono",var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px}.lesson-hint__text{color:var(--text-secondary);font-size:13px;line-height:1.6}.lro-success-banner{border:1px solid color-mix(in srgb,var(--success)24%,var(--border));background:color-mix(in srgb,var(--success)10%,var(--bg-base));text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:12px;margin-top:24px;padding:24px;display:flex}.lro-success-banner__title{color:var(--success);font-size:18px;font-weight:700}.lro-success-banner__subtitle{color:var(--text-muted);font-size:14px}.lesson-success-banner__button{background:var(--success);min-height:40px;color:color-mix(in srgb,var(--bg-base)88%,var(--text-primary));font-family:"Geist",var(--font-body);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:600;display:inline-flex}.lro-watch-banner{border:1px solid var(--border);background:var(--bg-elevated);border-radius:12px;flex-direction:column;gap:12px;margin-bottom:24px;padding:18px 20px;display:flex}.lro-watch-banner__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.lro-watch-banner__label{color:var(--accent);font-family:"Geist Mono",var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.lesson-watch__controls{flex-wrap:wrap;gap:8px;display:flex}.lesson-watch__button{border:1px solid var(--border);background:var(--bg-base);min-height:32px;color:var(--text-primary);font-family:"Geist",var(--font-body);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.lesson-watch__progress{background:var(--border);border-radius:999px;height:4px;overflow:hidden}.lesson-watch__progress span{border-radius:inherit;background:var(--accent);height:100%;display:block}.lesson-watch__instruction{color:var(--text-primary);font-family:"Geist Mono",var(--font-mono);font-size:12px}.lesson-watch__narration{color:var(--text-secondary);white-space:pre-line;font-size:13px;line-height:1.7}.lro__footer{border-top:1px solid var(--border);background:var(--bg-base);z-index:10;grid-area:footer}.lro__footer-inner{justify-content:space-between;align-items:center;gap:16px;max-width:680px;margin:0 auto;padding:16px 32px;display:flex}@media (width<=768px){.lro__footer-inner{padding:12px 20px}}.lro__footer-left,.lro__footer-center,.lro__footer-right{align-items:center;gap:12px;display:flex}.lro__dots{align-items:center;gap:6px;display:flex}.lro__dot{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:width .3s,border-radius .3s,opacity .2s,background-color .2s}.lro__dot.is-completed{background:var(--accent);opacity:.6}.lro__dot.is-current{background:var(--accent);opacity:1;border-radius:4px;width:20px}.lro__dot.is-checkpoint{border-radius:2px}.lro__btn-prev,.lesson-btn-watch-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 0;font-size:14px;text-decoration:none;display:inline-flex}.lro__btn-prev:disabled{opacity:.3;cursor:not-allowed}.lro__btn-continue,.lro__btn-try{min-width:120px;min-height:44px;font-family:"Geist",var(--font-body);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:11px 24px;font-size:15px;font-weight:600;transition:background .15s,transform .15s,border-color .15s,color .15s;display:inline-flex}.lro__btn-continue{background:var(--accent);color:color-mix(in srgb,var(--bg-base)88%,var(--text-primary));border:none}.lro__btn-continue:hover:not(:disabled),.lro__btn-try:hover{transform:translateY(-1px)}.lro__btn-continue:hover:not(:disabled){background:var(--accent-hover)}.lro__btn-continue.is-disabled,.lro__btn-continue:disabled{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border);cursor:not-allowed;transform:none}.lro__btn-try{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary)}.lro__btn-try:hover{border-color:var(--accent-border);background:var(--accent-subtle);color:var(--accent)}.lro-shortcuts{position:relative}.lro-shortcuts__trigger{border:1px solid var(--border);background:var(--bg-elevated);width:30px;height:30px;color:var(--text-muted);font-family:"Geist Mono",var(--font-mono);cursor:pointer;border-radius:999px;font-size:13px}.lro-shortcuts__popover{border:1px solid var(--border);background:var(--bg-elevated);min-width:180px;box-shadow:0 16px 40px color-mix(in srgb,var(--bg-base)60%,transparent);border-radius:10px;gap:6px;padding:12px 14px;display:grid;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.lro-shortcuts__popover span{color:var(--text-muted);font-family:"Geist Mono",var(--font-mono);font-size:11px}body.lesson-split-mode .lro{grid-template-columns:1fr;grid-template-areas:"main""footer";width:50vw;right:auto}body.lesson-split-mode .lro__sidebar,body.lesson-split-mode .lro__context{display:none}body.lesson-split-mode .simulator-app{z-index:700;position:fixed;inset:0 0 0 50vw}body.lesson-split-mode .simulator-layout{width:50vw;height:100vh;padding-top:12px;grid-template-columns:minmax(320px,42%) 1fr!important;margin-top:0!important;display:grid!important}body.lesson-split-mode .sim-column--right{display:none!important}body.lesson-split-mode .sim-column--left,body.lesson-split-mode .sim-column--center{min-height:0;display:flex!important}body.lesson-split-mode .memory-panel,body.lesson-split-mode .saved-programs,body.lesson-split-mode #historyPanel,body.lesson-split-mode .breakpoints-panel,body.lesson-split-mode .warnings-panel,body.lesson-split-mode .run-speed-panel,body.lesson-split-mode .field-label,body.lesson-split-mode #sampleSelect,body.lesson-split-mode #run{display:none!important}body.lesson-simulator-active .simulator-app{z-index:700;background:var(--bg-base);flex-direction:column;display:flex;position:fixed;inset:0}body.lesson-simulator-active .lesson-inline-shell{flex:none;display:block!important}body.lesson-simulator-active .simulator-layout{flex:auto;min-height:0;grid-template-rows:auto minmax(0,1fr)!important;grid-template-columns:minmax(0,1fr)!important;margin-top:0!important;padding-top:0!important}body.lesson-simulator-active .sim-column--left,body.lesson-simulator-active .sim-column--center{display:flex!important}body.lesson-simulator-active .sim-column--right,body.lesson-simulator-active .memory-panel,body.lesson-simulator-active .saved-programs,body.lesson-simulator-active #historyPanel,body.lesson-simulator-active .breakpoints-panel,body.lesson-simulator-active .warnings-panel,body.lesson-simulator-active .run-speed-panel,body.lesson-simulator-active .field-label,body.lesson-simulator-active #sampleSelect,body.lesson-simulator-active #run{display:none!important}.lesson-inline-shell{border-bottom:1px solid var(--border);background:var(--bg-surface);display:none}.lesson-inline-shell__card{padding:16px 20px}.lesson-inline-shell__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-inline-shell__back,.lesson-inline-shell__toggle{color:var(--text-primary);cursor:pointer;font-family:"Geist",var(--font-body);background:0 0;border:none}.lesson-inline-shell__summary{color:var(--text-muted);font-family:"Geist Mono",var(--font-mono);margin-top:8px;font-size:12px}.lesson-inline-shell__body{margin-top:16px}.lro-completion{z-index:900;background:color-mix(in srgb,var(--bg-base)74%,transparent);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:24px;animation:.4s cubic-bezier(.16,1,.3,1) forwards lro-completion-in;display:flex;position:fixed;inset:0}.lro-completion__card{border:1px solid var(--border);background:var(--bg-elevated);text-align:center;width:100%;max-width:480px;box-shadow:0 32px 64px color-mix(in srgb,var(--bg-base)50%,transparent);border-radius:20px;padding:40px;animation:.4s cubic-bezier(.16,1,.3,1) forwards lro-card-in;position:relative}.lro-completion__icon{margin-bottom:16px;font-size:56px;display:block}.lro-completion__title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 8px;font-size:28px;font-weight:800}.lro-completion__subtitle{color:var(--text-muted);margin:0 0 32px;font-size:16px}.lro-completion__stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:center;gap:32px;margin-bottom:24px;padding:24px 0;display:flex}.lro-completion__stat{flex-direction:column;align-items:center;gap:4px;display:flex}.lro-completion__stat-value{color:var(--accent);font-family:"Geist Mono",var(--font-mono);font-size:24px;font-weight:700}.lro-completion__stat-label{color:var(--text-muted);font-size:12px}.lro-completion__next{border:1px solid var(--border);background:var(--bg-surface);text-align:left;border-radius:10px;flex-direction:column;gap:4px;margin-bottom:24px;padding:14px 20px;display:flex}.lro-completion__next-title{color:var(--text-primary);font-size:15px;font-weight:600}.lro-completion__actions{justify-content:center;gap:12px;display:flex}.lro-completion__btn-primary,.lro-completion__btn-secondary{min-height:44px;font-family:"Geist",var(--font-body);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:12px 24px;font-size:15px;text-decoration:none;display:inline-flex}.lro-completion__btn-primary{background:var(--accent);color:color-mix(in srgb,var(--bg-base)88%,var(--text-primary));border:none;font-weight:600}.lro-completion__btn-secondary{border:1px solid var(--border);color:var(--text-muted);background:0 0}.lro-completion__confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.lro-confetti-piece{width:8px;height:8px;animation:confetti-fall var(--duration,2s)ease-in forwards;animation-delay:var(--delay,0s);border-radius:2px;position:absolute;top:0}.lro-confetti-piece.is-accent{background:var(--accent)}.lro-confetti-piece.is-success{background:var(--success)}.lro-confetti-piece.is-warning{background:var(--warning)}.lro-confetti-piece.is-violet{background:var(--lro-violet)}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(400px)rotate(720deg)}}@keyframes lro-completion-in{0%{opacity:0}to{opacity:1}}@keyframes lro-card-in{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}:root:not([data-theme=dark]) .lro{background:var(--bg-surface)}:root:not([data-theme=dark]) .lro__sidebar,:root:not([data-theme=dark]) .lro__context{background:var(--bg-elevated)}:root:not([data-theme=dark]) .lro__footer{background:color-mix(in srgb,var(--bg-surface)90%,transparent);backdrop-filter:blur(8px)}:root:not([data-theme=dark]) .lro-concept,:root:not([data-theme=dark]) .lro__step-content pre code,:root:not([data-theme=dark]) .lro-concept:before{background:var(--bg-base)}:root:not([data-theme=dark]) .lro__step-content pre .code-header{background:var(--bg-surface)}@media (prefers-reduced-motion:reduce){.lro__step-content,.lro__lesson-progress-fill,.lro__dot,.lro-completion,.lro-completion__card,.lro-confetti-piece{transition:none!important;animation:none!important}.lro__step-content.is-leaving-left,.lro__step-content.is-leaving-right,.lro__step-content.is-entering-left,.lro__step-content.is-entering-right{transform:none}}.memory-panel .panel-body{flex-direction:column!important;min-height:0!important;display:flex!important;overflow:hidden!important}.memory-panel .memory-panel-toolbar,.memory-panel .memory-watch-controls,.memory-panel .memory-watches{flex:none!important}.memory-stack{flex:auto!important;grid-template-rows:minmax(88px,auto) minmax(0,1fr)!important;gap:10px!important;min-height:0!important;padding:8px 12px 12px!important;display:grid!important;overflow:hidden!important}.memory-stack .memory-section{flex-direction:column!important;height:auto!important;min-height:0!important;max-height:none!important;display:flex!important;overflow:hidden!important}.memory-stack .memory-section__label{flex:none!important;margin-bottom:6px!important}.memory-writes{flex:none!important;min-height:56px!important;max-height:88px!important;padding-right:2px!important;overflow:hidden auto!important}.memory-window{flex:auto!important;min-height:0!important;padding-right:2px!important;overflow:hidden auto!important}.saved-programs{margin-top:12px!important}.simulator-layout{font-size:clamp(11px,1vw,13px)}.register-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px!important}.register-cell{min-width:0!important;min-height:34px!important;padding:4px 6px!important}.register-cell__value{text-overflow:ellipsis!important;white-space:nowrap!important;font-size:clamp(9px,.8vw,11px)!important;overflow:hidden!important}.register-cell__abi{font-size:clamp(9px,.8vw,11px)!important}.memory-section{flex:0 0 260px!important;height:260px!important;min-height:260px!important;max-height:260px!important}@media (width>=1400px){.simulator-layout{grid-template-columns:minmax(340px,380px) 1fr minmax(240px,280px)}}@media (width>=1200px) and (width<=1399px){.simulator-layout{grid-template-columns:minmax(320px,360px) 1fr minmax(220px,250px)}}@media (width>=900px) and (width<=1199px){.simulator-layout{grid-template-columns:minmax(300px,340px) 1fr minmax(200px,220px)}}body.is-mobile #site-nav,body.is-mobile #site-footer,body.is-mobile .assemble-progress,body.is-mobile .copy-toast{display:none!important}body.is-mobile .simulator-app{width:100%;margin:0;padding:0}body.is-mobile .simulator-layout,body.is-mobile .simulator-grid,body:not(.is-mobile) .mobile-sim,body:not(.is-mobile) .mobile-menu-sheet,body:not(.is-mobile) .mobile-menu-backdrop{display:none!important}.mobile-sim{background:var(--bg-base);z-index:20;flex-direction:column;height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.mobile-sim__header{background:var(--bg-elevated);border-bottom:1px solid var(--border);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;min-height:48px;padding:0 16px;display:flex}.mobile-sim__logo{font-family:var(--font-mono);font-size:15px;font-weight:var(--fw-bold);color:var(--text-primary);text-decoration:none}.mobile-sim__status{font-family:var(--font-mono);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:148px;font-size:11px;overflow:hidden}.mobile-sim__status.is-error{color:var(--danger)}.mobile-sim__status.is-success{color:var(--success)}.mobile-sim__menu-btn{width:44px;height:44px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;user-select:none;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.mobile-sim__tabs{background:var(--bg-base);border-bottom:1px solid var(--border);flex-shrink:0;min-height:48px;display:flex}.mobile-tab{min-width:44px;min-height:44px;color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;user-select:none;background:0 0;border:none;border-bottom:2px solid #0000;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:4px 0;font-size:10px;transition:color .15s,border-color .15s;display:flex}.mobile-tab svg{width:18px;height:18px}.mobile-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.mobile-sim__content{flex:auto;min-height:0;position:relative;overflow:hidden}.mobile-panel{-webkit-overflow-scrolling:touch;background:var(--bg-base);position:absolute;inset:0;overflow:hidden auto}.mobile-panel[hidden]{display:none}#mobile-panel-editor{flex-direction:column;display:flex;overflow:hidden}.mobile-panel.is-entering-left,.mobile-panel.is-entering-right,.mobile-panel.is-leaving-left,.mobile-panel.is-leaving-right{display:flex!important}.mobile-panel.is-entering-left{animation:.15s ease-out forwards mobile-panel-in-left}.mobile-panel.is-entering-right{animation:.15s ease-out forwards mobile-panel-in-right}.mobile-panel.is-leaving-left{animation:.15s ease-out forwards mobile-panel-out-left}.mobile-panel.is-leaving-right{animation:.15s ease-out forwards mobile-panel-out-right}.mobile-sample-row{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0;padding:8px 12px}.mobile-sample-select{background:var(--bg-base);border:1px solid var(--border);width:100%;min-height:36px;color:var(--text-primary);font-family:var(--font-mono);appearance:none;border-radius:6px;padding:0 12px;font-size:14px}.mobile-editor-wrapper{flex:auto;min-height:0}.mobile-editor{background:var(--bg-base);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-mono);resize:none;tab-size:2;-webkit-text-size-adjust:100%;border:none;outline:none;padding:12px;font-size:16px;line-height:1.7;display:block}.mobile-keyboard-row{background:var(--bg-elevated);border-top:1px solid var(--border);-webkit-overflow-scrolling:touch;flex-shrink:0;gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.mobile-keyboard-row::-webkit-scrollbar{display:none}.mobile-key{background:var(--bg-surface);border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--text-primary);font-family:var(--font-mono);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;touch-action:manipulation;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:500;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.mobile-key:active{background:var(--accent-subtle);border-color:var(--accent-border);color:var(--accent)}.mobile-key--mnemonic{color:var(--accent);border-color:var(--accent-border);background:var(--accent-subtle)}.mobile-key--register{color:var(--success)}.mobile-key--symbol{color:var(--text-muted);min-width:36px}.mobile-reg-format-bar{background:var(--bg-base);border-bottom:1px solid var(--border);z-index:5;gap:6px;padding:8px 12px;display:flex;position:sticky;top:0}.mobile-format-btn{background:var(--bg-elevated);border:1px solid var(--border);min-height:36px;font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;user-select:none;border-radius:6px;flex:1 1 0;font-size:11px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.mobile-format-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.mobile-reg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 12px 60px;display:grid}.mobile-reg-cell{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;min-width:0;padding:10px 12px;transition:border-color .2s,background .2s}.mobile-reg-cell.is-changed{border-color:var(--accent);background:var(--accent-subtle);animation:.6s forwards mobile-reg-flash}.mobile-reg-cell__top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.mobile-reg-cell__abi{font-family:var(--font-mono);color:var(--text-secondary);font-size:13px;font-weight:600}.mobile-reg-cell__xnum{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.mobile-reg-cell__value{font-family:var(--font-mono);color:var(--text-primary);word-break:break-all;font-size:13px}.mobile-reg-cell[data-reg=sp] .mobile-reg-cell__abi{color:var(--warning)}.mobile-reg-cell[data-reg=ra] .mobile-reg-cell__abi{color:var(--accent)}.mobile-disasm-list{padding-bottom:80px}.mobile-disasm-row{border:none;border-bottom:1px solid var(--border);width:100%;font-family:var(--font-mono);text-align:left;color:var(--text-primary);touch-action:manipulation;background:0 0;align-items:center;gap:8px;padding:10px 12px;font-size:12px;transition:background .15s;display:flex}.mobile-disasm-row.is-current{background:color-mix(in srgb,var(--accent)8%,transparent);box-shadow:inset 3px 0 0 0 var(--accent)}.mobile-disasm-row__addr{color:var(--text-muted);flex-shrink:0;min-width:72px;font-size:11px}.mobile-disasm-row__mnemonic{color:var(--accent);flex-shrink:0;min-width:40px;font-weight:600}.mobile-disasm-row__operands{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.mobile-disasm-row__label{color:var(--warning);font-family:var(--font-mono);background:var(--bg-base);padding:8px 12px 4px;font-size:11px;display:block}.mobile-pseudo-display{flex-direction:column;align-items:center;min-height:100%;padding:32px 24px 88px;display:flex}.mobile-pseudo-current{font-family:var(--font-mono);text-align:center;width:100%;margin-bottom:32px;font-size:20px;line-height:1.5}.mobile-pseudo-empty{color:var(--text-muted);text-align:center;font-size:14px;font-style:italic}.mobile-pseudo-current .pc-dest{color:var(--accent)}.mobile-pseudo-current .pc-op{color:var(--text-muted)}.mobile-pseudo-current .pc-src{color:var(--text-primary)}.mobile-pseudo-history{border-top:1px solid var(--border);width:100%;padding-top:16px}.mobile-pseudo-history-item{font-family:var(--font-mono);color:var(--text-muted);text-align:center;opacity:.6;padding:6px 0;font-size:13px}.mobile-pseudo-history-item:nth-child(2){opacity:.45}.mobile-pseudo-history-item:nth-child(3){opacity:.3}.mobile-pseudo-history-item:nth-child(4){opacity:.18}.mobile-pseudo-history-item:nth-child(5){opacity:.1}.mobile-pseudo-branch,.mobile-pseudo-loadstore{gap:8px;display:grid}.mobile-pseudo-branch__taken,.mobile-pseudo-branch__fallthrough{color:var(--text-muted)}.mobile-pseudo-branch__taken.is-active,.mobile-pseudo-branch__fallthrough.is-active{color:var(--accent)}.mobile-pseudo-branch__else,.mobile-pseudo-loadstore__comment{color:var(--text-muted);font-size:13px}.mobile-sim__toolbar{background:var(--bg-elevated);border-top:1px solid var(--border);min-height:56px;padding-bottom:env(safe-area-inset-bottom);flex-shrink:0;display:flex}.mobile-toolbar-btn{min-width:44px;min-height:56px;color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;touch-action:manipulation;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;font-size:10px;transition:color .15s,background .15s;display:flex}.mobile-toolbar-btn svg{width:20px;height:20px}.mobile-toolbar-btn:active:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}.mobile-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.mobile-toolbar-btn--assemble,.mobile-toolbar-btn--step{color:var(--accent)}.mobile-toolbar-btn--reset{color:var(--danger);opacity:.78}.mobile-menu-backdrop{background:color-mix(in srgb,var(--bg-base)70%,transparent);opacity:0;pointer-events:none;z-index:480;transition:opacity .2s;position:fixed;inset:0}.mobile-menu-backdrop.is-open{opacity:1;pointer-events:auto}.mobile-menu-sheet{background:var(--bg-elevated);border-top:1px solid var(--border);z-index:500;padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;transition:transform .3s cubic-bezier(.16,1,.3,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.mobile-menu-sheet.is-open{transform:translateY(0)}.mobile-menu-sheet__handle{background:var(--border);border-radius:2px;width:36px;height:4px;margin:10px auto 16px}.mobile-menu-item{width:100%;min-height:48px;font-family:var(--font-mono);color:var(--text-primary);text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;touch-action:manipulation;background:0 0;align-items:center;gap:12px;padding:14px 20px;font-size:15px;text-decoration:none;display:flex}.mobile-menu-divider{background:var(--bg-base);border-bottom:1px solid var(--border);height:8px}@keyframes mobile-panel-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes mobile-panel-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes mobile-panel-out-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}@keyframes mobile-panel-out-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}@keyframes mobile-reg-flash{0%{background:var(--accent-subtle);border-color:var(--accent)}to{background:var(--bg-elevated);border-color:var(--border)}}@media (width<=1024px) and (orientation:landscape){.mobile-sim__content{grid-template-columns:1fr 1fr;display:grid}.mobile-panel{min-width:0;position:relative;inset:auto}#mobile-panel-editor{border-right:1px solid var(--border);display:flex!important}.mobile-panel--landscape-secondary{padding-right:44px;display:block!important}.mobile-sim__tabs{top:96px;right:0;bottom:calc(56px + env(safe-area-inset-bottom));border-right:none;border-left:1px solid var(--border);background:var(--bg-elevated);z-index:6;border-bottom:none;flex-direction:column;width:44px;height:auto;position:absolute}.mobile-tab{border-bottom:none;border-right:2px solid #0000}.mobile-tab.active{border-right-color:var(--accent);border-bottom-color:#0000}.mobile-tab span{display:none}}@media (prefers-reduced-motion:reduce){.mobile-panel.is-entering-left,.mobile-panel.is-entering-right,.mobile-panel.is-leaving-left,.mobile-panel.is-leaving-right,.mobile-reg-cell.is-changed,.mobile-menu-sheet,.mobile-menu-backdrop{transition:none!important;animation:none!important}}body.simulator-page{padding-top:var(--nav-height,64px)}.simulator-app{width:100%;max-width:none;margin:0;padding:0}@media (width>=1400px){.simulator-layout{border-top:1px solid var(--border);height:calc(100vh - var(--nav-height,64px))!important;grid-template-columns:minmax(280px,320px) 1fr 280px!important;gap:0!important;margin-top:0!important}}@media (width>=1200px) and (width<=1399px){.simulator-layout{border-top:1px solid var(--border);height:calc(100vh - var(--nav-height,64px))!important;grid-template-columns:minmax(260px,300px) 1fr 260px!important;gap:0!important;margin-top:0!important}}@media (width>=900px) and (width<=1199px){.simulator-layout{border-top:1px solid var(--border);height:calc(100vh - var(--nav-height,64px))!important;grid-template-columns:minmax(220px,260px) 1fr 220px!important;gap:0!important;margin-top:0!important}}.sim-column--left .sim-panel,.sim-column--right .sim-panel{border-left:0!important;border-right:0!important;border-radius:0!important}.sim-column--left{overflow:hidden auto;border-right:1px solid var(--border)!important}.sim-column--right{border-left:1px solid var(--border)!important}.sim-column--center .sim-panel{border:0!important;border-radius:0!important}.panel-header{letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--text-muted)!important;font-size:11px!important;font-family:var(--font-body)!important}.register-cell__abi,.register-cell__xnum,.register-cell__old-value,.register-cell__value,.reg-diff-arrow,.reg-diff-ra,.register-show-all,.disasm-addr,.disasm-encoding,.disasm-mnemonic,.disasm-operands,.disasm-comment,.disasm-operand,.disasm-punct,.disasm-tooltip *,.memory-watch-row__addr,.memory-watch-row__value,.memory-write-item,.memory-word-row,.memory-ascii-row,.memory-view-tab,.disasm-header,.disassembly-header,.call-stack-header,.effects-header,.pseudo-c-header{font-family:var(--font-mono)!important}.lesson-panel__title,.lesson-breadcrumb,.lesson-step-title,.lesson-step-body,.register-show-all{font-family:var(--font-body)!important}#assemble.sim-button--primary,.sim-button--primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;border-radius:var(--radius-md)!important;height:36px!important;font-size:13px!important;font-weight:500!important}#assemble.sim-button--primary:hover:not(:disabled),.sim-button--primary:hover:not(:disabled){background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}#step.sim-button--outline,#stepBack.sim-button--outline{color:#f5f5f5!important;background:#1e1e1e!important;border-color:#2e2e2e!important}#step.sim-button--outline:hover:not(:disabled),#stepBack.sim-button--outline:hover:not(:disabled){background:#262626!important;border-color:#3e3e3e!important}#run.sim-button--outline{color:#4ade80!important;background:#166534!important;border-color:#166534!important}#run.sim-button--outline:hover:not(:disabled){background:#15803d!important;border-color:#15803d!important}.sim-button--danger{border-color:var(--text-muted)!important;color:var(--text-muted)!important;background:0 0!important}.sim-button--danger:hover:not(:disabled){border-color:var(--danger)!important;color:var(--danger)!important;background:0 0!important}.source-textarea{font-family:var(--font-mono)!important;border-color:var(--border)!important;color:var(--text-primary)!important;background:#0d0d0d!important;font-size:13px!important}.sim-select{border-color:var(--border)!important;color:var(--text-primary)!important;background:#111!important}.sim-select:hover{border-color:#2e2e2e!important}.center-tab-button{color:var(--text-muted)!important;font-size:13px!important;font-weight:500!important}.center-tab-button:hover{color:var(--text-secondary)!important}.center-tab-button.is-active{color:var(--text-primary)!important;border-bottom-color:var(--accent)!important}.disasm-addr{color:var(--accent)!important;font-size:12px!important}.disasm-mnemonic{color:#f5f5f5!important;font-size:13px!important}.disasm-operands{color:#a5b4fc!important;font-size:13px!important}.disasm-operand.is-register{color:#a5b4fc!important}.disasm-operand.is-immediate{color:#fbbf24!important}.disasm-line.disasm-pc-current{border-left-color:var(--accent)!important;background:#1a1a2ee6!important}.disasm-line.disasm-pc-current .disasm-mnemonic,.effect-entry__label{color:var(--accent-hover)!important}.effect-entry--reg .effect-entry__after,.effect-entry--mem .effect-entry__after{color:var(--success)!important}.effect-entry__before{color:var(--danger)!important;text-decoration:line-through!important}.effect-entry--pc .effect-entry__after{color:var(--accent)!important}.register-cell__abi,.register-cell__name{color:var(--accent-hover)!important}.register-cell__value{color:#a5b4fc!important}.register-cell__xnum{color:var(--text-muted)!important}@keyframes register-flash-new{0%{background:#4ade8026;border-color:#4ade8080}to{background:var(--bg-elevated);border-color:var(--border)}}.register-cell.is-changed{animation:.8s forwards register-flash-new!important}.pseudo-keyword{color:#c084fc!important}.pseudo-value,.pseudo-literal{color:var(--success)!important}.pseudo-reg,.pseudo-register{color:var(--accent)!important}.status-line{color:var(--text-muted)!important;font-size:12px!important;font-family:var(--font-mono)!important}
