:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#eef2f6;--surface:#fff;--surface-soft:#f8fafc;--text:#17202a;--muted:#64748b;--border:#d7dee8;--border-strong:#b8c2d0;--accent:#006c7a;--accent-soft:#d9f3f6;--danger:#b42318;--shadow:0 18px 45px #0f172a24;--table-header-bg:#edf3f8;--table-header-text:#415165;--status-bg:#0f172ae0;--status-text:#fff;--button-hover-shadow:0 2px 10px #0f172a14;--focus-ring:#006c7a38;--accent-ring:#006c7a33;--selected-ring:#f973162e;--multi-selected-ring:#0f766e2e;--from-ring:#2563eb2e;--to-ring:#16a34a2e;--expand-ring:#7c3aed33;--cell-shadow:inset 0 -1px 0 #0f172a14;--sidebar-reopen-shadow:0 8px 22px #0f172a29;--table-shadow:0 10px 32px #0f172a14;--modal-backdrop:#0f172a5c;--icon-text:#415165;--stage-empty-bg:#f1f5f9;--stage-text:#263241;--invalid-bg:#ffe4e8;--invalid-border:#e11d48;--invalid-text:#8f1235;--if-bg:#dff7c7;--if-border:#8bc36f;--id-bg:#d9eefc;--id-border:#72aee6;--ex-bg:#ffe8a8;--ex-border:#d6a534;--mem-bg:#dfdcff;--mem-border:#9488df;--wb-bg:#c9f3ec;--wb-border:#48b7a6;--selected:#f97316;--from:#2563eb;--to:#16a34a;--multi-selected:#0f766e;--expand:#7c3aed;--p-mix:#d8dee6;--p-border-mix:#8d99a8;--p-text:#3f4b5a;--struck-bg:#111827;--struck-border:#030712;--struck-text:#f8fafc;--assembly-plain:#111827;--assembly-instruction:#7c3aed;--assembly-register:#b7791f;--delete-hover-bg:#fff1f1;--delete-hover-border:#b423186b;--scrollbar-track:#edf3f8;--scrollbar-thumb:#b8c2d0;--scrollbar-thumb-hover:#64748b;--scrollbar-corner:#edf3f8;--scrollbar-size:16px;--scrollbar-thumb-border:3px;--instruction-col-width:320px;--cycle-col-width:78px;--table-header-height:48px;--table-row-height:60px;--stage-cell-height:34px;--cycle-horizontal-scrollbar-reserve:0px;font-family:Segoe UI,Roboto,Arial,Helvetica,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f141b;--surface:#151c26;--surface-soft:#1d2633;--text:#e5edf7;--muted:#9aa9bc;--border:#2f3a49;--border-strong:#526174;--accent:#3abac6;--accent-soft:#203f47;--danger:#ff7a70;--shadow:0 18px 45px #0000005c;--table-header-bg:#1c2632;--table-header-text:#c8d4e3;--status-bg:#e5edf7eb;--status-text:#111827;--button-hover-shadow:0 2px 12px #00000042;--focus-ring:#3abac647;--accent-ring:#3abac642;--selected-ring:#fb923c3d;--multi-selected-ring:#2dd4bf3d;--from-ring:#60a5fa3d;--to-ring:#4ade8038;--expand-ring:#a78bfa47;--cell-shadow:inset 0 -1px 0 #ffffff0f;--sidebar-reopen-shadow:0 8px 22px #00000057;--table-shadow:0 10px 32px #00000047;--modal-backdrop:#0000008f;--icon-text:#c8d4e3;--stage-empty-bg:#212b38;--stage-text:#132033;--invalid-bg:#4a1420;--invalid-border:#fb7185;--invalid-text:#ffdce3;--if-bg:#9fd17d;--if-border:#6daa4f;--id-bg:#91c7ec;--id-border:#5a9cd4;--ex-bg:#e7bf61;--ex-border:#bc8d2a;--mem-bg:#aaa2f0;--mem-border:#8175db;--wb-bg:#84d8ca;--wb-border:#36a997;--selected:#fb923c;--from:#60a5fa;--to:#4ade80;--multi-selected:#2dd4bf;--expand:#a78bfa;--p-mix:#48515d;--p-border-mix:#697586;--p-text:#d3dbe6;--struck-bg:#020617;--struck-border:#000;--struck-text:#f8fafc;--assembly-plain:#e5edf7;--assembly-instruction:#c084fc;--assembly-register:#f4c76e;--delete-hover-bg:#351b1d;--delete-hover-border:#ff7a7075;--scrollbar-track:#1c2632;--scrollbar-thumb:#526174;--scrollbar-thumb-hover:#9aa9bc;--scrollbar-corner:#1c2632}}*{box-sizing:border-box;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:auto}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}::-webkit-scrollbar-thumb{border:var(--scrollbar-thumb-border) solid var(--scrollbar-track);background:var(--scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-button{background:var(--scrollbar-track);border-radius:6px}::-webkit-scrollbar-corner{background:var(--scrollbar-corner)}body{min-width:980px;color:var(--text);background:var(--bg);margin:0}button,input,textarea{font:inherit}button{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;border-radius:8px;padding:0 12px;transition:border-color .12s,box-shadow .12s,background .12s}button:hover{border-color:var(--accent);box-shadow:var(--button-hover-shadow)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}button.danger{color:var(--danger)}.ghost-button{background:var(--surface-soft);min-height:34px}.status{z-index:80;background:var(--status-bg);min-width:0;max-width:320px;color:var(--status-text);opacity:0;pointer-events:none;border-radius:999px;padding:8px 13px;font-size:12px;transition:opacity .14s;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.status.is-visible{opacity:1}.layout{grid-template-columns:320px minmax(0,1fr);height:100vh;transition:grid-template-columns .16s;display:grid}.layout.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.controls{border-right:1px solid var(--border);background:var(--surface);scrollbar-gutter:stable;padding:14px;transition:opacity .12s,padding .16s;overflow:auto}.layout.sidebar-collapsed .controls{opacity:0;pointer-events:none;padding-left:0;padding-right:0;overflow:hidden}.sidebar-head{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;font-size:12px;font-weight:800;display:flex}.sidebar-brand{text-transform:none;min-width:0}.sidebar-brand h1{color:var(--text);letter-spacing:0;text-transform:none;margin:0;font-size:20px;line-height:1.1}.sidebar-brand p{color:var(--muted);letter-spacing:0;text-transform:none;margin:5px 0 0;font-size:12px;font-weight:500;line-height:1.3}.icon-button{width:34px;min-width:34px;height:34px;min-height:34px;color:var(--icon-text);border-radius:10px;place-items:center;padding:0;display:inline-grid}.sidebar-reopen{z-index:30;box-shadow:var(--sidebar-reopen-shadow);opacity:0;pointer-events:none;transition:opacity .14s,transform .14s;position:fixed;top:12px;left:12px;transform:translate(-6px)}.layout.sidebar-collapsed+.sidebar-reopen{opacity:1;pointer-events:auto;transform:translate(0)}.field{gap:6px;margin-bottom:14px;display:grid}.field label{letter-spacing:.02em;color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.field input,.field textarea,.modal textarea{border:1px solid var(--border);background:var(--surface-soft);width:100%;color:var(--text);border-radius:8px;padding:9px 10px}textarea{resize:none}.textarea-resize-wrap{position:relative}.textarea-resize-wrap textarea{display:block}.textarea-resize-handle{cursor:ns-resize;opacity:.72;background:linear-gradient(135deg, transparent 0 46%, var(--muted) 48% 54%, transparent 56%), linear-gradient(135deg, transparent 0 66%, var(--border-strong) 68% 74%, transparent 76%);border-radius:5px;width:16px;height:16px;position:absolute;bottom:4px;right:4px}.textarea-resize-handle:hover{opacity:1}.button-row,.button-grid{gap:8px;margin-bottom:14px;display:grid}.button-grid{grid-template-columns:1fr 1fr}.button-row{grid-template-columns:1fr}.export-control{margin-bottom:14px;position:relative}.export-control>button{width:100%}.sidebar-menu{z-index:20;border:1px solid var(--border);background:var(--surface);width:100%;box-shadow:var(--shadow);border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);left:0}.sidebar-menu[aria-hidden=true]{display:none}.sidebar-menu button{text-align:left;background:0 0;border:0;border-radius:7px;width:100%;min-height:34px;display:block}.sidebar-menu button:hover{background:var(--accent-soft)}.workspace{grid-template-rows:minmax(0,1fr);min-width:0;padding:12px;display:grid;overflow:hidden}.table-shell{grid-template-columns:var(--instruction-col-width) minmax(0, 1fr);height:100%;padding-bottom:var(--table-bottom-scroll-reserve,0px);border:1px solid var(--border);background:var(--surface);box-shadow:var(--table-shadow);border-radius:12px;align-content:start;display:grid;position:relative;overflow:hidden}.table-shell.has-vertical-overflow{overflow-y:auto}.instruction-pane{z-index:6;background:var(--surface);align-self:start;position:relative;overflow:hidden}.cycle-viewport{background:var(--surface);align-self:start;min-width:0;position:relative;overflow:auto hidden}.cycle-canvas{width:max-content;min-width:100%;position:relative}.pipeline-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content}.instruction-table{width:var(--instruction-col-width)}.cycle-table{min-width:100%}.instruction-scrollbar-spacer{height:var(--cycle-horizontal-scrollbar-reserve);background:var(--scrollbar-track);display:none}.table-shell.has-horizontal-overflow .instruction-scrollbar-spacer{display:block}.add-row-zone{width:var(--instruction-col-width);height:var(--table-row-height);padding-left:calc(var(--instruction-col-width) / 2 - 22px);opacity:0;align-items:center;transition:opacity .12s;display:flex;position:sticky;left:0}.add-row-zone:hover,.add-row-zone:focus-within{opacity:1}.add-row-button{background:var(--accent);color:#fff;border-radius:999px;place-items:center;width:36px;height:36px;min-height:36px;padding:0;font-size:22px;line-height:1;display:grid;box-shadow:0 10px 20px #006c7a38}.pipeline-table th,.pipeline-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);padding:0}.pipeline-table th{z-index:8;height:var(--table-header-height);max-height:var(--table-header-height);background:var(--table-header-bg);color:var(--table-header-text);font-size:12px;font-weight:800;position:sticky;top:0}.pipeline-table thead tr{height:var(--table-header-height)}.pipeline-table tbody tr{height:var(--table-row-height)}.pipeline-table tbody td{height:var(--table-row-height);max-height:var(--table-row-height);overflow:hidden}.pipeline-table tbody tr.row-separator td{border-top:3px solid var(--border-strong)}.instruction-col{z-index:2;width:var(--instruction-col-width);min-width:var(--instruction-col-width);background:var(--surface)}th.instruction-col{z-index:9;background:var(--table-header-bg)}.cycle-col{width:var(--cycle-col-width);min-width:var(--cycle-col-width)}.instruction-cell{height:var(--table-row-height);background:var(--surface);grid-template-columns:minmax(0,1fr) 34px 34px 34px;align-items:center;column-gap:7px;padding:5px 10px 5px 5px;display:grid}.instruction-cell.row-selected{background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface));box-shadow:inset 3px 0 0 var(--accent)}.instruction-main{align-items:center;gap:8px;min-width:0;display:flex}.row-label{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:82px;font-size:13px;font-style:italic;font-weight:500;line-height:1;overflow:hidden}.assembly-editor{flex:auto;min-width:0;position:relative}.instruction-cell .assembly-editor{margin-right:12px}.assembly-highlight,.instruction-cell input{white-space:pre;border:1px solid #0000;border-radius:7px;min-width:0;padding:7px;line-height:normal}.assembly-highlight{pointer-events:none;color:var(--assembly-plain);position:absolute;inset:0;overflow:hidden}.assembly-input{z-index:1;color:#0000;width:100%;caret-color:var(--text);background:0 0;position:relative}.instruction-cell input:hover,.instruction-cell input:focus{border-color:var(--border);background:0 0}:is(.assembly-editor:has(.assembly-input:hover),.assembly-editor:has(.assembly-input:focus)){background:var(--surface-soft);border-radius:7px}.asm-token-instruction{color:var(--assembly-instruction)}.asm-token-register{color:var(--assembly-register)}.asm-token-label{font-style:italic;font-weight:inherit}.asm-token-annotation{color:var(--assembly-plain);font-style:italic;font-weight:800}.assembly-input-annotation{font-style:italic;font-weight:800}.row-btn{width:34px;min-height:28px;color:var(--muted);border-radius:7px;padding:0}.row-delete-button{background:var(--surface-soft);color:var(--danger);border-radius:999px;place-items:center;font-weight:800;display:grid}.row-delete-button:hover{border-color:var(--delete-hover-border);background:var(--delete-hover-bg)}.stage-input{--stage-bg:var(--stage-empty-bg);--stage-border:transparent;width:calc(100% - 10px);height:var(--stage-cell-height);margin:calc((var(--table-row-height) - var(--stage-cell-height) - 2px) / 2) 5px;text-align:center;color:var(--stage-text);background:var(--stage-empty-bg);box-shadow:var(--cell-shadow);border:1px solid #0000;border-radius:8px;outline:none;padding:5px 6px;font-weight:800;transition:transform .12s,border-color .12s,box-shadow .12s;display:block}.stage-input:hover{border-color:var(--border-strong);transform:translateY(-1px)}.stage-input:focus,.stage-input.selected{border-color:var(--selected);box-shadow:0 0 0 3px var(--selected-ring)}.stage-input.multi-selected{border-color:var(--multi-selected);box-shadow:0 0 0 3px var(--multi-selected-ring)}.stage-input.arrow-from{border-color:var(--from);box-shadow:0 0 0 3px var(--from-ring)}.stage-input.expand-from{border-color:var(--expand);box-shadow:0 0 0 3px var(--expand-ring)}.stage-input.arrow-to{border-color:var(--to);box-shadow:0 0 0 3px var(--to-ring)}.stage-if{--stage-bg:var(--if-bg);--stage-border:var(--if-border);background:var(--stage-bg);border-color:var(--stage-border)}.stage-id{--stage-bg:var(--id-bg);--stage-border:var(--id-border);background:var(--stage-bg);border-color:var(--stage-border)}.stage-ex{--stage-bg:var(--ex-bg);--stage-border:var(--ex-border);background:var(--stage-bg);border-color:var(--stage-border)}.stage-mem{--stage-bg:var(--mem-bg);--stage-border:var(--mem-border);background:var(--stage-bg);border-color:var(--stage-border)}.stage-wb{--stage-bg:var(--wb-bg);--stage-border:var(--wb-border);background:var(--stage-bg);border-color:var(--stage-border)}.stage-p{background:color-mix(in srgb, var(--stage-bg) 28%, var(--p-mix));border-color:color-mix(in srgb, var(--stage-border) 26%, var(--p-border-mix));color:var(--p-text)}.stage-invalid{--stage-bg:var(--invalid-bg);--stage-border:var(--invalid-border);background:var(--invalid-bg);border-color:var(--invalid-border);color:var(--invalid-text)}.stage-struck{background:var(--struck-bg);border-color:var(--struck-border);color:var(--struck-text);box-shadow:inset 0 0 0 1px #ffffff14, var(--cell-shadow);text-decoration:line-through;text-decoration-thickness:3px}.stage-input.arrow-target-valid{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring), inset 0 0 0 2px var(--accent)}.arrow-layer{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:visible}.arrow-path{cursor:pointer;pointer-events:none}.arrow-path:hover{stroke-width:4px}.context-menu,.autocomplete-menu{z-index:50;border:1px solid var(--border);background:var(--surface);min-width:160px;box-shadow:var(--shadow);border-radius:10px;padding:6px;position:fixed}.context-menu[aria-hidden=true],.autocomplete-menu[aria-hidden=true],.modal-backdrop[aria-hidden=true],.context-menu button[hidden]{display:none}.context-menu button,.autocomplete-option{text-align:left;background:0 0;border:0;border-radius:7px;width:100%;min-height:34px;padding:0 10px;display:block}.context-submenu{position:relative}.context-submenu:after{content:"";width:8px;height:calc(100% + 12px);display:none;position:absolute;top:-6px;left:100%}.context-submenu.submenu-opens-left:after{left:auto;right:100%}.context-submenu-menu{border:1px solid var(--border);background:var(--surface);min-width:150px;max-height:calc(100vh - 16px);box-shadow:var(--shadow);border-radius:10px;padding:6px;display:none;position:fixed;top:0;left:0;overflow:auto}.context-submenu:hover .context-submenu-menu,.context-submenu:focus-within .context-submenu-menu,.context-submenu:hover:after,.context-submenu:focus-within:after{display:block}.context-menu button:hover,.autocomplete-option:hover,.autocomplete-option.active{background:var(--accent-soft)}.modal-header,.modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal h2{margin:0;font-size:17px}.modal-backdrop{z-index:60;background:var(--modal-backdrop);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(900px,94vw);box-shadow:var(--shadow);border-radius:14px;padding:16px}.compact-modal{width:min(380px,92vw)}.warning-modal{border:1px solid var(--delete-hover-border)}.warning-modal .modal-header{align-items:flex-start}.warning-modal h2{color:var(--danger)}.modal-message{color:var(--muted);margin:8px 0 0;line-height:1.45}.modal textarea{margin:12px 0;font-family:Consolas,Courier New,monospace;font-size:13px}@media (width<=900px){body{min-width:0}.layout{grid-template-columns:1fr}.controls{border-right:0;border-bottom:1px solid var(--border)}}
