.ide-root{display:grid;grid-template-rows:auto 1fr auto;height:100vh;font-family:Geist,system-ui,sans-serif;background:var(--bg, #F8F4EE);color:var(--fg, #1f2937)}body.dark .ide-root{background:#0e1726;color:#e9edf3}.ide-header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--border, #e6dfd2)}body.dark .ide-header{border-color:#1f2a3a}.ide-brand{display:flex;align-items:center;gap:8px;font-size:16px;--accent: #1E3A8A;--paper: #F8F4EE}body.dark .ide-brand{--accent: #93c5fd;--paper: #0e1726}.ide-brand .brand-mark{line-height:1;letter-spacing:-.01em}.brand-mark{letter-spacing:-.01em}.brand-strong{font-weight:700;color:#1e3a8a}body.dark .brand-strong{color:#93c5fd}.brand-tag{color:#6b7280;margin-left:6px;font-style:italic;font-family:"Instrument Serif",serif}.ide-nav{display:flex;align-items:center;gap:12px}.ide-nav-link{color:inherit;text-decoration:none;font-size:14px;opacity:.75}.ide-nav-link:hover{opacity:1;text-decoration:underline}.ide-theme-toggle{background:transparent;border:1px solid var(--border, #d1d5db);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:13px}.ide-locale{font:inherit;border:1px solid var(--border, #d1d5db);border-radius:6px;background:transparent;padding:4px 6px;font-size:12px;cursor:pointer;color:inherit}body.dark .ide-locale{border-color:#2a3a55}body.dark .ide-theme-toggle{border-color:#2a3a55;color:inherit}.ide-main{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:0;gap:1px;background:var(--border, #e6dfd2)}body.dark .ide-main{background:#1f2a3a}.ide-editor-pane{display:grid;grid-template-rows:auto auto 1fr;background:var(--bg, #F8F4EE);min-height:0}.ide-quickstart{display:flex;align-items:center;gap:12px;padding:8px 14px;font-size:13px;background:#fef3c7;border-bottom:1px solid #fcd34d;color:#78350f}body.dark .ide-quickstart{background:#2a2010;border-bottom-color:#78350f;color:#fde68a}.ide-quickstart strong{font-weight:600}.ide-quickstart em{font-style:italic}.ide-quickstart kbd{font-family:Geist Mono,monospace;font-size:11px;padding:1px 5px;background:#00000014;border-radius:3px}body.dark .ide-quickstart kbd{background:#ffffff1a}.ide-quickstart-x{margin-left:auto;background:transparent;border:0;font-size:18px;line-height:1;cursor:pointer;color:inherit;opacity:.7}.ide-quickstart-x:hover{opacity:1}.ide-help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:grid;place-items:center;z-index:50;padding:16px}.ide-help{background:var(--bg, #F8F4EE);color:var(--fg, #1f2937);border:1px solid var(--border, #e6dfd2);border-radius:10px;max-width:640px;width:100%;max-height:85vh;overflow:auto;box-shadow:0 12px 36px #0000002e}body.dark .ide-help{background:#0e1726;border-color:#2a3a55;color:#e9edf3}.ide-help-h{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #e6dfd2);font-weight:600;font-size:14px}body.dark .ide-help-h{border-bottom-color:#1f2a3a}.ide-help-x{background:transparent;border:0;cursor:pointer;font-size:20px;line-height:1;color:inherit;opacity:.6}.ide-help-x:hover{opacity:1}.ide-help-body{padding:16px 20px 20px;font-size:14px;line-height:1.55}.ide-help-body h3{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#6b7280;margin:18px 0 8px}body.dark .ide-help-body h3{color:#94a3b8}.ide-help-body h3:first-of-type{margin-top:0}.ide-help-body p{margin:0 0 6px}.ide-help-body ol{margin:0;padding-left:20px}.ide-help-body ol li{margin-bottom:4px}.ide-help-body code{font-family:Geist Mono,monospace;font-size:12px;background:#0000000f;padding:1px 4px;border-radius:3px}body.dark .ide-help-body code{background:#ffffff14}.ide-help-body em{font-style:italic;color:#1e3a8a}body.dark .ide-help-body em{color:#93c5fd}.ide-help-body a{color:#1e3a8a}body.dark .ide-help-body a{color:#93c5fd}.ide-help-table{border-collapse:collapse;width:100%;margin:0 0 4px}.ide-help-table td{padding:4px 8px;border-bottom:1px dashed rgba(0,0,0,.08);font-size:13px}body.dark .ide-help-table td{border-bottom-color:#ffffff14}.ide-help-table td:first-child{width:40%}.ide-help kbd,.ide-foot kbd{font-family:Geist Mono,monospace;font-size:11px;padding:1px 5px;background:#00000014;border-radius:3px;border:1px solid rgba(0,0,0,.12)}body.dark .ide-help kbd,body.dark .ide-foot kbd{background:#ffffff1a;border-color:#ffffff26}body.dark .ide-editor-pane{background:#0e1726}.ide-toolbar{display:flex;gap:8px;padding:8px 12px;align-items:center;border-bottom:1px solid var(--border, #e6dfd2);flex-wrap:wrap}body.dark .ide-toolbar{border-color:#1f2a3a}.ide-btn{font:inherit;border:1px solid #c5beae;border-radius:6px;background:#fff;padding:6px 12px;cursor:pointer;font-size:13px}body.dark .ide-btn{background:#1a2538;border-color:#2a3a55;color:inherit}.ide-btn:disabled{opacity:.5;cursor:not-allowed}.ide-btn-primary{background:#1e3a8a;color:#fff;border-color:#1e3a8a}.ide-btn-primary:disabled{background:#6b7280;border-color:#6b7280}.ide-btn-warning{background:#b45309;color:#fff;border-color:#b45309}.ide-select{font:inherit;border:1px solid #c5beae;border-radius:6px;background:#fff;padding:6px 8px;font-size:13px}.ide-select:first-of-type{margin-left:auto}.ide-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#4b5563;cursor:pointer;-webkit-user-select:none;user-select:none}body.dark .ide-checkbox{color:#cbd5e1}.ide-checkbox input{cursor:pointer}body.dark .ide-select{background:#1a2538;border-color:#2a3a55;color:inherit}.ide-editor-wrap{min-height:0;overflow:hidden}.ide-side{display:flex;flex-direction:column;gap:1px;overflow-y:auto;min-height:0;background:var(--border, #e6dfd2)}body.dark .ide-side{background:#1f2a3a}.ide-panel{background:var(--bg, #F8F4EE);padding:10px 12px}body.dark .ide-panel{background:#0e1726}.ide-panel-h{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#6b7280;margin:0 0 6px;display:flex;align-items:center;justify-content:space-between}body.dark .ide-panel-h{color:#94a3b8}.ide-panel-controls{display:flex;gap:4px}.ide-chip{font:inherit;border:1px solid #c5beae;border-radius:4px;background:transparent;padding:1px 6px;cursor:pointer;font-size:10px;text-transform:lowercase}.ide-chip.on{background:#1e3a8a;color:#fff;border-color:#1e3a8a}body.dark .ide-chip{border-color:#2a3a55;color:inherit}body.dark .ide-chip.on{background:#93c5fd;color:#0e1726;border-color:#93c5fd}.reg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.reg-cell{display:flex;flex-direction:column;align-items:center;padding:5px;background:#0000000a;border-radius:4px}body.dark .reg-cell{background:#ffffff0d}.reg-cell.wide{grid-column:span 2}@keyframes regFlash{0%{background:#1e3a8a52}to{background:#0000000a}}@keyframes regFlashDark{0%{background:#93c5fd59}to{background:#ffffff0d}}.reg-flash{animation:regFlash .7s ease-out}body.dark .reg-flash{animation:regFlashDark .7s ease-out}.flag-flash{animation:regFlash .7s ease-out;border-color:#1e3a8a!important}body.dark .flag-flash{animation:regFlashDark .7s ease-out;border-color:#93c5fd!important}.reg-name{font-size:10px;color:#6b7280;letter-spacing:.04em}.reg-value{font-family:Geist Mono,monospace;font-size:14px;font-weight:500}.flag-row{display:flex;gap:4px;flex-wrap:wrap}.flag-chip{font-family:Geist Mono,monospace;font-size:11px;padding:2px 6px;border:1px solid #c5beae;border-radius:4px;color:#6b7280}body.dark .flag-chip{border-color:#2a3a55;color:#94a3b8}.flag-chip.flag-on{background:#1e3a8a;color:#fff;border-color:#1e3a8a}body.dark .flag-chip.flag-on{background:#93c5fd;color:#0e1726;border-color:#93c5fd}.ide-tiny{font-size:11px;color:#6b7280;margin:6px 0 0}body.dark .ide-tiny{color:#94a3b8}.ide-mem-base{font-size:11px;color:#6b7280;margin-bottom:4px}.ide-mem-base input{font-family:Geist Mono,monospace;font-size:11px;width:70px;padding:2px 4px;border:1px solid #c5beae;border-radius:4px}body.dark .ide-mem-base input{background:#1a2538;border-color:#2a3a55;color:inherit}.mem-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;font-size:11px}.mem-cell{padding:2px;text-align:center;background:#0000000a;border-radius:3px}body.dark .mem-cell{background:#ffffff0d}.devices-stack{display:flex;flex-direction:column;gap:14px;align-items:center;padding:4px 0 10px}.devices-config{border-top:1px dashed rgba(0,0,0,.08);padding-top:8px}body.dark .devices-config{border-top-color:#ffffff14}.devices-config summary{cursor:pointer;color:#6b7280}body.dark .devices-config summary{color:#94a3b8}.port-input-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 4px}.port-input-row input{font-size:11px;width:48px;padding:1px 4px;border:1px solid #c5beae;border-radius:3px;font-family:Geist Mono,monospace}body.dark .port-input-row input{background:#1a2538;border-color:#2a3a55;color:inherit}.device-wrap,.sevenseg-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.device-label,.sevenseg-label{font-size:10px;color:#6b7280;letter-spacing:.04em}body.dark .device-label,body.dark .sevenseg-label{color:#94a3b8}.sevenseg-svg{background:#f5f0e6;border:1px solid #d1d5db;border-radius:4px;padding:6px}body.dark .sevenseg-svg{background:#1a2538;border-color:#2a3a55}.traffic-stack{display:flex;flex-direction:column;gap:4px;background:#1f2937;padding:6px;border-radius:6px}.traffic-bulb{display:block;width:22px;height:22px;border-radius:50%;transition:background 80ms ease}.ledbar-row{display:flex;gap:3px;background:#0000000f;padding:5px 6px;border-radius:4px}body.dark .ledbar-row{background:#ffffff0d}.ledbar-led{display:block;width:14px;height:14px;border-radius:50%;transition:background 80ms ease}.keypad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:#0000000f;padding:6px;border-radius:6px}body.dark .keypad-grid{background:#ffffff0d}.keypad-key{font-size:13px;font-weight:500;background:var(--paper, #fff);border:1px solid #c5beae;border-radius:4px;padding:8px 0;cursor:pointer;color:inherit;transition:background .12s ease,color .12s ease}body.dark .keypad-key{background:#1a2538;border-color:#2a3a55}.keypad-key:hover{background:#1e3a8a14}body.dark .keypad-key:hover{background:#93c5fd1f}.keypad-key-active{background:#1e3a8a!important;color:#fff!important;border-color:#1e3a8a}body.dark .keypad-key-active{background:#93c5fd!important;color:#0e1726!important;border-color:#93c5fd}.stepper-svg{background:#0000000a;border-radius:6px}body.dark .stepper-svg{background:#ffffff0a}.printer-tape{width:100%;min-height:40px;max-height:120px;overflow-y:auto;font-size:11px;background:#fffef7;border:1px solid #d1d5db;border-radius:4px;padding:6px 8px;margin:0;white-space:pre-wrap;word-break:break-all}body.dark .printer-tape{background:#1a2538;border-color:#2a3a55}.printer-empty{color:#9ca3af;font-style:italic}.screen-display{width:100%;min-height:60px;max-height:140px;overflow-y:auto;font-size:11px;background:#0a0a0a;color:#4ade80;border-radius:4px;padding:6px 8px;margin:0;white-space:pre-wrap;word-break:break-all;border:1px solid #2a3a55}.robot-svg{background:#fffef7;border:1px solid #d1d5db;border-radius:4px}body.dark .robot-svg{background:#16213a;border-color:#2a3a55}.printer-clear{margin-left:auto;background:transparent;border:1px solid #c5beae;border-radius:3px;padding:0 4px;font-size:10px;cursor:pointer;color:inherit}body.dark .printer-clear{border-color:#2a3a55}.device-label{display:flex;align-items:center;gap:6px;width:100%}.tut-picker{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tut-picker-item{margin:0}.tut-picker-btn{width:100%;text-align:left;background:#00000008;border:1px solid var(--border, #e6dfd2);border-radius:6px;padding:8px 10px;cursor:pointer;color:inherit;font:inherit;transition:border-color .1s ease,background .1s ease}body.dark .tut-picker-btn{background:#ffffff0a;border-color:#2a3a55}.tut-picker-btn:hover{border-color:#1e3a8a;background:#1e3a8a0f}body.dark .tut-picker-btn:hover{border-color:#93c5fd;background:#93c5fd14}.tut-picker-title{font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.tut-picker-blurb{font-size:12px;color:#4b5563;margin-top:2px}body.dark .tut-picker-blurb{color:#cbd5e1}.tut-picker-meta{font-size:10px;color:#6b7280;margin-top:4px}body.dark .tut-picker-meta{color:#94a3b8}.tut-done-badge{font-size:9px;background:#16a34a;color:#fff;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.05em}.tut-back{background:transparent;border:0;cursor:pointer;color:inherit;font-size:14px;opacity:.6}.tut-back:hover{opacity:1}.tut-progress{font-size:11px;color:#6b7280;margin-bottom:8px}body.dark .tut-progress{color:#94a3b8}.tut-progress-bar{height:3px;background:#00000014;border-radius:2px;margin-top:3px;overflow:hidden}body.dark .tut-progress-bar{background:#ffffff14}.tut-progress-fill{height:100%;background:#1e3a8a;transition:width .2s ease}body.dark .tut-progress-fill{background:#93c5fd}.tut-step-title{font-size:13px;font-weight:600;margin:8px 0 4px}.tut-body p{font-size:13px;line-height:1.55;margin:0 0 6px}.tut-body code{font-family:Geist Mono,monospace;font-size:12px;background:#0000000f;padding:1px 4px;border-radius:3px}body.dark .tut-body code{background:#ffffff14}.tut-body em{font-style:italic;color:#1e3a8a}body.dark .tut-body em{color:#93c5fd}.tut-nav{display:flex;justify-content:space-between;gap:6px;margin-top:10px}.ioact-list{font-size:11px;max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.ioact-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:2px 4px;border-radius:2px}.ioact-row:nth-child(2n){background:#00000008}body.dark .ioact-row:nth-child(2n){background:#ffffff08}.ioact-port{color:#1e3a8a;font-weight:500}body.dark .ioact-port{color:#93c5fd}.ioact-byte{text-align:center}.ioact-ascii{color:#6b7280;text-align:right}body.dark .ioact-ascii{color:#94a3b8}.sym-list{font-size:11px}.sym-row{display:flex;justify-content:space-between;padding:2px 0}.sym-row-clickable{width:100%;background:transparent;border:0;color:inherit;font:inherit;cursor:pointer;padding:2px 4px;border-radius:3px;text-align:left}.sym-row-clickable:hover{background:#1e3a8a14}body.dark .sym-row-clickable:hover{background:#93c5fd1f}.hint-list{margin:0;padding-left:18px;font-size:12px}.hint-list li{margin-bottom:4px}.hint-line{color:#6b7280;font-family:Geist Mono,monospace}.ide-panel-error{background:#fef2f2}body.dark .ide-panel-error{background:#2a1a1a}.ide-diag{white-space:pre-wrap;font-size:12px;margin:0;color:#991b1b}body.dark .ide-diag{color:#fca5a5}.ide-panel-hints{background:#fefce8}body.dark .ide-panel-hints{background:#1f1a0e}.ide-muted{color:#6b7280;font-size:13px;margin:0}body.dark .ide-muted{color:#94a3b8}.ide-foot{padding:6px 18px;font-size:11px;color:#6b7280;border-top:1px solid var(--border, #e6dfd2);text-align:center}body.dark .ide-foot{border-color:#1f2a3a;color:#94a3b8}.mono{font-family:Geist Mono,Fira Mono,monospace}.active-line{background-color:#1e3a8a14}.active-line-margin{background-color:#1e3a8a;width:3px!important;margin-left:3px}body.dark .active-line{background-color:#93c5fd1f}body.dark .active-line-margin{background-color:#93c5fd}@media (max-width: 800px){.ide-main{grid-template-columns:1fr;grid-template-rows:1fr auto}.ide-side{max-height:50vh}.reg-grid{grid-template-columns:repeat(2,1fr)}.mem-grid{grid-template-columns:repeat(4,1fr)}}
