:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.code-editor{flex:1;display:flex;flex-direction:column;min-height:0;width:100%}.editor-toolbar{flex-shrink:0;display:flex;flex-direction:column;background:#161616;border-bottom:1px solid #282828}.toolbar-row{display:flex;align-items:center;width:100%;min-width:0}.toolbar-row-files{height:36px;border-bottom:1px solid #202020}.toolbar-row-exec{height:36px}.toolbar-section{display:flex;align-items:center;gap:6px;padding:0 12px;flex-shrink:0}.toolbar-section-exec{gap:8px}.toolbar-spacer{flex:1;min-width:0}.toolbar-row-divider{width:1px;height:18px;background:#272727;flex-shrink:0}.toolbar-project-input{width:150px;height:28px!important;background:transparent!important;border:1px solid transparent!important;border-radius:5px!important;color:#e0e0e0!important;font-size:.82rem!important;font-weight:600!important;padding:0 8px!important;transition:border-color .14s,background .14s}.toolbar-project-input:hover{background:#1f1f1f!important;border-color:#333!important}.toolbar-project-input:focus,.toolbar-project-input:focus-within{background:#1e1e1e!important;border-color:#3c6fad!important;box-shadow:none!important}.toolbar-project-input input{background:transparent!important;color:#e0e0e0!important;font-size:.82rem!important;font-weight:600!important}.toolbar-project-input::placeholder,.toolbar-project-input input::placeholder{color:#555!important}.toolbar-file-chip{display:inline-flex;align-items:center;gap:5px;max-width:140px;padding:2px 8px;border-radius:4px;background:#1e1e1e;border:1px solid #2a2a2a}.toolbar-file-chip-icon{font-size:.65rem;color:#4e9bf0;flex-shrink:0}.toolbar-file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777;font-size:.72rem;font-weight:500;font-family:Menlo,Consolas,monospace}.toolbar-btn-ghost{height:28px!important;padding:0 10px!important;border-radius:5px!important;font-size:.78rem!important;font-weight:600!important;background:transparent!important;border:1px solid transparent!important;color:#888!important;cursor:pointer;transition:background .13s,color .13s,border-color .13s}.toolbar-btn-ghost:hover{background:#222!important;border-color:#333!important;color:#ccc!important}.toolbar-speed-group{display:flex;align-items:center;gap:8px}.toolbar-label{font-size:.7rem;font-weight:700;color:#4a4a4a;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;-webkit-user-select:none;user-select:none}.step-speed{width:110px!important;margin:0!important}.ant-slider .ant-slider-rail{background-color:#2a2a2a!important;height:3px}.ant-slider:hover .ant-slider-rail{background-color:#333!important}.ant-slider .ant-slider-track{background-color:#2e5c8a!important;height:3px}.ant-slider .ant-slider-handle:after{background-color:#4a90d9!important;box-shadow:0 0 0 2px #1e1e1e!important;width:10px!important;height:10px!important}.toolbar-speed-value{font-size:.7rem;font-weight:700;color:#4a4a4a;min-width:36px;white-space:nowrap;font-family:Menlo,Consolas,monospace}.toolbar-speed-select{display:none}@media (max-width: 620px){.toolbar-speed-slider{display:none}.toolbar-speed-select{display:flex}}.speed-select{width:130px!important}.speed-select .ant-select-selector{height:28px!important;background:#1e1e1e!important;border:1px solid #2e2e2e!important;border-radius:5px!important;padding:0 10px!important;display:flex!important;align-items:center!important}.speed-select .ant-select-selector:hover{border-color:#444!important}.speed-select.ant-select-focused .ant-select-selector{border-color:#3c6fad!important;box-shadow:none!important}.speed-select .ant-select-selection-item{color:#999!important;font-size:.75rem!important;font-weight:700!important;font-family:Menlo,Consolas,monospace!important;line-height:26px!important}.speed-select .ant-select-arrow{color:#555!important;font-size:.65rem!important}.toolbar-dropdown-btn{height:28px!important;padding:0 10px!important;background:#1e1e1e!important;border:1px solid #2e2e2e!important;color:#999!important;border-radius:5px!important;font-size:.75rem!important;font-weight:700!important;font-family:Menlo,Consolas,monospace!important;letter-spacing:.03em!important;min-width:62px!important;transition:border-color .13s,color .13s!important}.toolbar-dropdown-btn:hover{border-color:#444!important;color:#ccc!important;background:#222!important}.toolbar-btn{height:28px!important;padding:0 13px!important;border-radius:5px!important;font-size:.8rem!important;font-weight:700!important;border:none!important;cursor:pointer;transition:filter .12s,opacity .12s;letter-spacing:.01em}.toolbar-btn:hover:not(:disabled){filter:brightness(1.15)}.toolbar-btn:active:not(:disabled){filter:brightness(.92)}.toolbar-btn-inner{display:inline-flex;align-items:center;gap:6px}.toolbar-btn-icon{display:none;flex-shrink:0}.toolbar-btn-assemble{background:#1d3f6a!important;color:#72b8f5!important}.toolbar-btn-run{background:#163a25!important;color:#5dd68a!important}.toolbar-btn-stop{background:#3d1515!important;color:#f07070!important}.toolbar-btn:disabled{opacity:.3!important;cursor:not-allowed!important;filter:none!important}.toolbar-kbd{display:inline-flex;align-items:center;font-size:.6rem;font-family:Menlo,Consolas,monospace;font-weight:700;font-style:normal;color:inherit;opacity:.45;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:0 4px;line-height:14px;letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none}.toolbar-assembled-badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:700;color:#3a8a5a;background:#0d2118;border:1px solid #1d4a31;border-radius:4px;padding:2px 7px;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;-webkit-user-select:none;user-select:none}.toolbar-assembled-badge-dot{width:5px;height:5px;border-radius:50%;background:#4ecf7c;flex-shrink:0}.recent-project-item{display:flex;flex-direction:column;gap:1px}.recent-project-name{color:#e8e8e8;font-size:.8rem;font-weight:600}.recent-project-file{color:#666;font-size:.68rem;font-family:Menlo,Consolas,monospace}.editor-wrapper{flex:1;min-height:0;position:relative}.editor{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}.editor-file-input{display:none}.terminal-panel{flex-shrink:0;display:flex;flex-direction:column;background:#0d0d0d;border-top:1px solid #222;position:relative}.terminal-resize-handle{position:absolute;top:-4px;left:0;right:0;height:8px;cursor:ns-resize;z-index:10;display:flex;align-items:center;justify-content:center}.terminal-resize-handle:after{content:"";display:block;width:36px;height:3px;border-radius:2px;background:#2e2e2e;transition:background .15s}.terminal-resize-handle:hover:after{background:#4a90d9}.terminal-header{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 14px;height:28px;background:#111;border-bottom:1px solid #1e1e1e}.terminal-title{font-size:.68rem;font-weight:800;color:#444;text-transform:uppercase;letter-spacing:.1em}.terminal-status{display:inline-flex;align-items:center;gap:4px;font-size:.67rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.terminal-status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.terminal-running-badge{color:#5dd68a}.terminal-running-badge .terminal-status-dot{background:#5dd68a;animation:pulse-dot 1.2s ease-in-out infinite}.terminal-ready-badge{color:#4e9bf0}.terminal-ready-badge .terminal-status-dot{background:#4e9bf0}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.terminal{flex:1;overflow-y:auto;padding:10px 14px;scrollbar-width:thin;scrollbar-color:#252525 transparent}.terminal-placeholder{margin:0;color:#2e2e2e;font-family:Menlo,Consolas,Courier New,monospace;font-size:.8rem;font-style:italic}.output{padding:0}.output-unicode{margin:0;padding:0;color:#b8eacc;font-family:Menlo,Consolas,Courier New,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-word;background:transparent;border:none}.output-line{display:flex;align-items:baseline;gap:10px;margin:0;padding:1px 0;color:#b8eacc;font-family:Menlo,Consolas,Courier New,monospace;font-size:.85rem}.output-index{flex-shrink:0;min-width:20px;font-size:.68rem;color:#333;text-align:right;-webkit-user-select:none;user-select:none}.error{margin:4px 0;padding:0;color:#f07070;font-family:Menlo,Consolas,Courier New,monospace;font-size:.82rem;font-weight:600}.errorLineHighlight{background:#ff3c3c1f}.executingLineHighlight{background:#50c8781a;border-left:2px solid #4ecf7c}.input-field{width:100%;margin-top:10px}.input-field::placeholder{color:#666;opacity:1}.input-field::-webkit-input-placeholder{color:#666}.input-field::-moz-placeholder{color:#666;opacity:1}.input-field:-ms-input-placeholder{color:#666}.run-assemble-button{padding:8px 18px!important;border-radius:6px!important;border:1px solid rgba(255,255,255,.18)!important;font-weight:600!important}.run-assemble-button:focus{outline:none}.run-assemble-button:disabled{color:#ffffff40!important;border-color:#ffffff1a!important;cursor:not-allowed}@media (max-width: 680px){.toolbar-file-chip{display:none}}@media (max-width: 500px){.toolbar-row-exec .toolbar-label{display:none}.toolbar-row-exec .toolbar-section{padding:0 8px}.speed-select{width:88px!important}.toolbar-kbd{display:none}}@media (max-width: 780px){.toolbar-assembled-badge,.toolbar-stepping-badge,.toolbar-kbd,.toolbar-row-exec .toolbar-label{display:none}.toolbar-section-exec{gap:5px}}@media (max-width: 520px){.toolbar-btn-label{display:none}.toolbar-btn{min-width:0!important;padding:0 9px!important}.toolbar-btn-icon{display:inline-block}}.generate-code-modal .ant-modal-content{background:#161616;border:1px solid #252525;border-radius:10px;padding:0;overflow:hidden}.generate-code-modal .ant-modal-body{padding:0}.generate-code-modal .ant-modal-footer{padding:10px 20px 16px;border-top:1px solid #1e1e1e;margin:0}.generate-code-modal .ant-modal-close{color:#444;top:12px;right:14px}.generate-code-modal .ant-modal-close:hover{color:#888;background:transparent}.gen-insert-btn{width:100%!important;height:36px!important;font-size:.82rem!important;justify-content:center}.gen-header{padding:18px 20px 14px}.gen-title{font-size:.95rem;font-weight:700;color:#d0d0d0;margin-bottom:3px}.gen-subtitle{font-size:.7rem;color:#3e3e3e}.gen-type-cards{display:flex;gap:8px;padding:0 20px 16px}.gen-type-card{flex:1;display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#1a1a1a;border:1px solid #252525;border-radius:7px;cursor:pointer;text-align:left;transition:border-color .12s,background .12s}.gen-type-card:hover{background:#1f1f1f;border-color:#353535}.gen-type-card--active{background:#0e1f38!important;border-color:#2a5a9a!important}.gen-type-card-name{font-size:.78rem;font-weight:700;color:#b0b0b0}.gen-type-card--active .gen-type-card-name{color:#72b8f5}.gen-type-card-desc{font-size:.65rem;color:#484848;line-height:1.35}.gen-type-card--active .gen-type-card-desc{color:#3a6a9a}.gen-divider{height:1px;background:#1e1e1e;margin:0 20px 16px}.gen-body{padding:0 20px 14px}.gen-hint{font-size:.72rem;color:#555;margin:0 0 14px;line-height:1.6}.gen-hint code{font-family:Menlo,Consolas,monospace;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:3px;padding:1px 5px;font-size:.68rem;color:#72b8f5}.gen-if-row{display:flex;gap:10px;align-items:flex-start}.gen-if-field{flex:1;display:flex;flex-direction:column;gap:5px}.gen-if-op{flex:0 0 auto;width:86px}.gen-fields{display:flex;flex-direction:column;gap:13px}.gen-field{display:flex;flex-direction:column;gap:5px}.gen-label{font-size:.68rem;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.07em}.gen-field-hint{font-size:.66rem;color:#3e3e3e;font-style:italic}.gen-chips{display:flex;flex-wrap:wrap;gap:4px}.gen-chip{padding:1px 7px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:3px;font-size:.67rem;font-family:Menlo,Consolas,monospace;color:#777;cursor:pointer;transition:border-color .1s,color .1s,background .1s}.gen-chip:hover{border-color:#4a90d9;color:#72b8f5;background:#0e1a2a}.gen-chip--active{border-color:#2a5a9a;background:#0e1f38;color:#72b8f5}.gen-op-select{width:100%!important}.gen-op-select .ant-select-selector{background:#1e1e1e!important;border:1px solid #2e2e2e!important;border-radius:6px!important;color:#bbb!important;font-size:.78rem!important;font-family:Menlo,Consolas,monospace!important}.gen-op-select .ant-select-selector:hover{border-color:#444!important}.gen-op-select.ant-select-focused .ant-select-selector{border-color:#3c6fad!important;box-shadow:none!important}.gen-op-select .ant-select-selection-item{color:#bbb!important;font-size:.78rem!important;font-family:Menlo,Consolas,monospace!important}.gen-op-select .ant-select-arrow{color:#555!important}.gen-op-dropdown{background:#151515!important;border:1px solid #262626!important;border-radius:10px!important;box-shadow:0 12px 24px #0000006b!important;padding:6px!important}.gen-op-dropdown .ant-select-item{color:#d7d7d7!important;border-radius:7px!important;font-size:.78rem!important;font-family:Menlo,Consolas,monospace!important}.gen-op-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled){background:#1f2630!important}.gen-op-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:#24364c!important}.gen-op-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-content,.gen-op-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state,.gen-op-dropdown .ant-select-item-option-content{color:#e7edf5!important}.generate-code-modal .ant-input{background:#1e1e1e!important;border:1px solid #2e2e2e!important;border-radius:6px!important;color:#ccc!important;font-size:.82rem!important}.generate-code-modal .ant-input:hover{border-color:#444!important}.generate-code-modal .ant-input:focus{border-color:#3c6fad!important;box-shadow:none!important}.generate-code-modal .ant-input::placeholder{color:#3a3a3a!important}.gen-preview-block{margin:6px 20px 0;border:1px solid #1e1e1e;border-radius:6px;overflow:hidden}.gen-preview-label{font-size:.63rem;font-weight:700;color:#333;text-transform:uppercase;letter-spacing:.09em;background:#111;padding:5px 12px;border-bottom:1px solid #1a1a1a}.gen-preview-code{margin:0;padding:10px 14px;background:#0d0d0d;font-family:Menlo,Consolas,Courier New,monospace;font-size:.73rem;color:#4ecf7c;line-height:1.65;white-space:pre;overflow-x:auto;min-height:58px}.register-viewer{flex-shrink:0;display:flex;align-items:center;flex-wrap:wrap;gap:2px 0;background:#111;border-bottom:1px solid #1e1e1e;padding:4px 12px;font-family:Menlo,Consolas,Courier New,monospace}.register-viewer-mobile{display:none}.register-cell{display:flex;align-items:baseline;gap:5px;padding:2px 10px 2px 0;border-right:1px solid #222;margin-right:10px}.register-cell:last-of-type{border-right:none;margin-right:0}.register-name{font-size:.65rem;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.05em}.register-value{font-size:.75rem;font-weight:600;color:#4ecf7c;letter-spacing:.02em}.terminal-columns{display:flex;flex-direction:row;height:100%;min-height:0;overflow:hidden}.terminal-col{display:flex;flex-direction:column;min-height:0;overflow:hidden;transition:flex-basis .15s ease}.terminal-col--collapsed{flex:0 0 auto!important;min-width:0!important}.terminal-col-output{flex:1 1 0;min-width:0;border-right:1px solid #1e1e1e}.terminal-col-state{min-width:140px;max-width:520px;background:#0f0f0f;display:flex;flex-direction:column}.terminal-collapse-btn{display:none;margin-left:auto;background:none;border:none;color:#555;font-size:9px;padding:2px 6px;cursor:pointer;line-height:1;border-radius:3px;transition:color .15s,background .15s}.terminal-collapse-btn:hover{color:#aaa;background:#ffffff0f}.state-resize-handle{flex-shrink:0;width:6px;cursor:ew-resize;background:transparent;position:relative;z-index:5;transition:background .15s}.state-resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:28px;border-radius:2px;background:#222;transition:background .15s,height .15s}.state-resize-handle:hover:after,.state-resize-handle:active:after{background:#4a90d9;height:40px}.state-panel{flex:1;overflow-y:auto;padding:8px 0 6px;scrollbar-width:thin;scrollbar-color:#2a2a2a transparent}.state-section{margin-bottom:10px}.state-section-label{font-size:.6rem;font-weight:700;color:#3a3a3a;text-transform:uppercase;letter-spacing:.1em;padding:0 12px 4px;border-bottom:1px solid #1a1a1a;margin-bottom:4px}.state-reg-grid,.state-mem-grid{font-family:Menlo,Consolas,Courier New,monospace}.state-reg-row,.state-mem-row{display:flex;align-items:baseline;gap:6px;padding:2px 12px;border-radius:3px;transition:background .1s}.state-reg-row:hover,.state-mem-row:hover{background:#161616}.state-reg-name{font-size:.65rem;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.05em;min-width:30px}.state-reg-hex{font-size:.72rem;font-weight:600;color:#4ecf7c;letter-spacing:.02em;min-width:62px}.state-reg-dec{font-size:.67rem;color:#3d3d3d}.state-mem-label{font-size:.68rem;font-weight:600;color:#8d6ec2;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-mem-addr{font-size:.6rem;color:#333}.state-mem-hex{font-size:.68rem;color:#4ecf7c;font-weight:600}.state-mem-dec{font-size:.63rem;color:#3d3d3d;min-width:24px;text-align:right}.toolbar-btn-step{background:transparent!important;border:1px solid #3a5a3a!important;color:#4ecf7c!important;border-radius:6px!important;font-size:.72rem!important;font-weight:600!important;height:26px!important;padding:0 10px!important;transition:background .15s,border-color .15s!important}.toolbar-btn-step:hover:not(:disabled){background:#4ecf7c1a!important;border-color:#4ecf7c!important}.toolbar-btn-step:disabled{opacity:.35!important;cursor:not-allowed!important}.toolbar-stepping-badge{display:flex;align-items:center;gap:5px;font-size:.68rem;font-weight:600;color:#4ecf7c;letter-spacing:.04em;text-transform:uppercase}.toolbar-stepping-badge-dot{width:6px;height:6px;border-radius:50%;background:#4ecf7c;animation:pulse-step 1.2s ease-in-out infinite}@keyframes pulse-step{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@media (max-width: 640px){.register-viewer-mobile{display:none}.terminal-columns{flex-direction:column}.terminal-col-output{flex:1 1 0;border-right:none;border-bottom:1px solid #1e1e1e}.terminal-col-state{display:flex!important;flex-basis:0!important;flex-grow:1!important;flex-shrink:1!important;min-width:0;max-width:none}.terminal-col--collapsed{flex:0 0 auto!important}.state-resize-handle{display:none}.terminal-collapse-btn{display:inline-flex;align-items:center}}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#141414}.app-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:42px;background:#0e0e0e;border-bottom:1px solid #222;z-index:10}.app-brand{display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.app-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;background:#1a3a6a;color:#5aaef0;font-size:.7rem;line-height:1;font-weight:900;letter-spacing:-.02em}.app-brand-name{font-size:.88rem;font-weight:700;color:#c8c8c8;letter-spacing:.02em}.app-brand-name em{font-style:normal;color:#4e9bf0}.app-nav{display:flex;align-items:center;gap:2px}.app-nav-link{font-size:.8rem;font-weight:600;color:#666;text-decoration:none;padding:4px 10px;border-radius:5px;transition:background .13s,color .13s}.app-nav-link:hover{background:#ffffff0f;color:#bbb}.app-body{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}
