@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap");:root,[data-theme="light"]{color-scheme:light;--bg:#f3efe6;--bg-deep:#e7e0d2;--panel:#fffdf8;--panel-2:#efe8db;--ink:#1c2421;--muted:#5c675f;--line:#d5cdc0;--accent:#0f6b5c;--accent-ink:#ffffff;--accent-soft:#d7efe8;--accent-hover:#0b5347;--warn:#9a6b12;--err:#a33b3b;--ok:#1f7a4c;--c1:#0b6e99;--c2:#b86a2b;--wave-hi:#1f7a4c;--wave-lo:#7a8780;--wave-xz:#9a6b12;--editor-bg:#efe8db;--mono:"IBM Plex Mono","Cascadia Code",Consolas,monospace;--sans:"Source Sans 3","Segoe UI",sans-serif;--toolbar-h:44px;--wave-h:min(38vh,360px);--sidebar-w:260px;--hier-h:120px;--files-h:140px;--console-h:120px;}[data-theme="dark"]{color-scheme:dark;--bg:#121816;--bg-deep:#0e1311;--panel:#1a221f;--panel-2:#222b28;--ink:#e8ebe6;--muted:#8f9a94;--line:#2f3a36;--accent:#3d9e8c;--accent-ink:#04140f;--accent-soft:#1a3330;--accent-hover:#4db6a3;--warn:#d4a017;--err:#d96b6b;--ok:#4ecf8a;--c1:#5ec8ff;--c2:#f0a05a;--wave-hi:#4ecf8a;--wave-lo:#6a8494;--wave-xz:#d4a017;--editor-bg:#0e1311;}*{box-sizing:border-box;}html,body{margin:0;height:100%;height:100dvh;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%;text-size-adjust:100%;}.app{height:100%;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) 5px var(--wave-h) auto;max-width:100vw;overflow:hidden;}.top-stack{display:flex;flex-direction:column;min-width:0;}.toolbar{display:flex;align-items:center;gap:0.75rem;padding:0 0.75rem;min-height:var(--toolbar-h);height:auto;flex-wrap:wrap;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(10px);min-width:0;}.toolbar-brand{font-family:var(--sans);font-size:0.92rem;font-weight:700;letter-spacing:-0.01em;white-space:nowrap;color:var(--ink);}.icon-btn{display:none;min-width:2.25rem;min-height:2.25rem;padding:0.25rem;font-size:1.1rem;line-height:1;}.toolbar-more{display:none;position:relative;}.toolbar-more > summary{list-style:none;cursor:pointer;user-select:none;}.toolbar-more > summary::-webkit-details-marker{display:none;}.toolbar-more-panel{position:absolute;right:0;top:calc(100% + 4px);z-index:50;display:flex;flex-direction:column;gap:0.25rem;min-width:9rem;padding:0.4rem;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 16%,transparent);}.toolbar-more-panel .ghost{justify-content:flex-start;width:100%;}.sidebar-backdrop{display:none;}.toolbar-group{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;min-width:0;}.toolbar-group input[type="number"]{font-family:var(--mono);font-size:0.78rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:0.25rem 0.35rem;width:4.5rem;}.session-banner{display:flex;align-items:center;gap:0.75rem;padding:0.35rem 0.75rem;font-size:0.78rem;background:color-mix(in srgb,var(--warn) 22%,var(--panel));color:var(--ink);border-bottom:1px solid var(--line);}.session-banner[hidden]{display:none;}.pause-banner{background:color-mix(in srgb,#c23b22 18%,var(--panel));border-bottom-color:color-mix(in srgb,#c23b22 40%,var(--line));}.diag-err{background:color-mix(in srgb,var(--err) 14%,transparent);}.toolbar-group.grow{flex:1;}.tb-label{display:flex;flex-direction:row;align-items:center;gap:0.35rem;font-size:0.78rem;color:var(--muted);text-transform:none;letter-spacing:0;white-space:nowrap;}.tb-label.inline{flex-direction:row;align-items:center;gap:0.35rem;text-transform:none;font-size:0.78rem;letter-spacing:0;}select,input[type="search"],input[type="range"]{font-family:var(--mono);font-size:0.78rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;}select{padding:0.25rem 0.35rem;max-width:11rem;}input[type="search"]{width:100%;padding:0.3rem 0.4rem;}button{font-family:var(--sans);font-size:0.82rem;padding:0.35rem 0.7rem;border-radius:4px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);cursor:pointer;}button.primary{background:var(--accent);border-color:var(--accent-hover);color:var(--accent-ink);font-weight:650;}button.primary:not(:disabled):hover{background:var(--accent-hover);filter:none;}button.ghost{background:transparent;}button.tiny{font-size:0.72rem;padding:0.2rem 0.45rem;}button:disabled{opacity:0.4;cursor:not-allowed;}button:not(:disabled):hover{filter:brightness(1.05);}.theme-switch{display:inline-flex;align-items:center;gap:0.4rem;margin-left:0.15rem;cursor:pointer;user-select:none;}.theme-switch-label{font-size:0.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em;}.theme-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none;}.theme-switch-track{position:relative;width:2.4rem;height:1.25rem;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);transition:background 0.15s ease,border-color 0.15s ease;flex-shrink:0;}.theme-switch-track::after{content:"";position:absolute;top:1px;left:1px;width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);border-radius:50%;background:var(--ink);transition:transform 0.15s ease,background 0.15s ease;}.theme-switch input:checked + .theme-switch-track{background:var(--accent);border-color:var(--accent-hover);}.theme-switch input:checked + .theme-switch-track::after{transform:translateX(1.1rem);background:var(--accent-ink);}.theme-switch input:focus-visible + .theme-switch-track{outline:2px solid var(--accent);outline-offset:2px;}.status{font-family:var(--mono);font-size:0.75rem;color:var(--muted);margin-left:0.5rem;white-space:nowrap;}.status.ok{color:var(--ok);}.status.busy{color:var(--warn);}.status.err{color:var(--err);}.workspace{display:grid;grid-template-columns:var(--sidebar-w) 5px minmax(0,1fr);min-height:0;border-bottom:1px solid var(--line);}.split-v,.split-h{background:var(--line);position:relative;z-index:6;flex-shrink:0;touch-action:none;user-select:none;}.split-v{cursor:col-resize;width:5px;min-width:5px;}.split-h{cursor:row-resize;height:5px;min-height:5px;}.split-v::before,.split-h::before{content:"";position:absolute;inset:-10px;z-index:1;}.split-v:hover,.split-h:hover,.split-v:active,.split-h:active,.split-v.active,.split-h.active{background:var(--accent);}body.is-splitting{user-select:none !important;cursor:inherit;}body.is-splitting iframe,body.is-splitting textarea,body.is-splitting canvas{pointer-events:none;}.wave-split{}.sidebar{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;background:var(--panel);}.side-section{display:flex;flex-direction:column;min-height:0;overflow:hidden;border-bottom:1px solid var(--line);}.side-section.files-section{flex:0 0 var(--files-h);max-height:none;min-height:72px;}.side-section.files-section .file-tree{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;}.build-opts-details{flex:0 0 auto;border-top:1px solid var(--line);font-size:0.75rem;}.build-opts-details > summary{cursor:pointer;padding:0.35rem 0.55rem;color:var(--muted);user-select:none;list-style:none;}.build-opts-details > summary::-webkit-details-marker{display:none;}.build-opts-details > summary::before{content:"▸ ";color:var(--muted);}.build-opts-details[open] > summary::before{content:"▾ ";}.file-tree .is-active{font-weight:600;color:var(--accent);}.build-opts{display:flex;flex-direction:column;gap:0.35rem;padding:0 0.55rem 0.55rem;}.build-opts .tb-label{flex-direction:column;align-items:stretch;gap:0.15rem;white-space:normal;}.build-opts input[type="text"]{font-family:var(--mono);font-size:0.75rem;padding:0.25rem 0.35rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;width:100%;box-sizing:border-box;}.side-section.hier-section{flex:0 0 var(--hier-h);min-height:64px;max-height:none;border-bottom:none;}.side-section.hier-section .tree{flex:1 1 auto;max-height:none;min-height:0;overflow:auto;}.side-split{flex:0 0 5px;position:relative;z-index:8;}.side-section.flex,.side-section.signals-section{flex:1 1 auto;min-height:96px;}.side-section.signals-section .sig-browser{flex:1 1 auto;min-height:0;overflow:auto;}.side-section.poke-section{flex:0 0 auto;overflow:visible;border-bottom:0;}.poke-actions{border-top:0;padding:0;}.side-head{display:flex;flex-direction:column;gap:0.35rem;padding:0.5rem 0.55rem 0.4rem;flex:0 0 auto;}.side-head-row{flex-direction:row;align-items:center;justify-content:space-between;gap:0.35rem;}.side-head h2,.wave-toolbar h2,.pane-tabs .tab{margin:0;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);font-weight:650;}.tree,.sig-browser{list-style:none;margin:0;padding:0 0 0.4rem;overflow:auto;font-family:var(--mono);font-size:0.74rem;}.tree{padding-bottom:0.5rem;}.tree li,.sig-browser li{padding:0.22rem 0.55rem;cursor:pointer;display:flex;align-items:center;gap:0.35rem;user-select:none;}.tree .hier-node{display:block;padding:0;}.hier-row{display:flex;align-items:center;gap:0.2rem;padding:0.2rem 0.4rem;cursor:pointer;}.hier-row:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);}.hier-twist{width:1.4rem;padding:0.05rem 0.15rem !important;font-size:0.6rem !important;line-height:1.2;}.hier-twist-spacer{width:1.4rem;flex-shrink:0;}.hier-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.hier-children{list-style:none;margin:0;padding:0 0 0 0.75rem;}.sig-browser .sig-w{margin-left:auto;color:var(--muted);font-size:0.68rem;}.tree li:hover,.sig-browser li:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);}.sig-browser li.selected{background:color-mix(in srgb,var(--accent) 22%,transparent);}.sig-browser li.in-wave::after{content:"?";margin-left:auto;color:var(--accent);font-size:0.55rem;}.tree .depth-1{padding-left:1.1rem;}.tree .depth-2{padding-left:1.7rem;}.tree .depth-3{padding-left:2.3rem;}.side-actions{display:flex;gap:0.35rem;padding:0.4rem 0.55rem 0.55rem;border-top:1px solid var(--line);}.poke-form{display:flex;flex-direction:column;gap:0.4rem;padding:0 0.55rem 0.55rem;}.poke-form .tb-label{flex-direction:column;align-items:stretch;gap:0.15rem;white-space:normal;}.poke-form input[type="text"]{width:100%;box-sizing:border-box;font-family:var(--mono);font-size:0.78rem;padding:0.3rem 0.4rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;}.poke-hint{margin:0;font-size:0.68rem;color:var(--muted);line-height:1.35;}.center{display:grid;grid-template-rows:minmax(0,1fr) 5px var(--console-h);min-width:0;min-height:0;}.editor-pane,.console-pane{display:flex;flex-direction:column;min-height:0;background:var(--bg);}.console-pane{border-top:0;}.file-tab-list{display:flex;flex-wrap:wrap;gap:0.15rem;align-items:center;min-width:0;flex:1;}.file-tab-list .tab{appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;padding:0.2rem 0.45rem;border-radius:4px;}.file-tab-list .tab:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);}.file-tab-list .tab.active{color:var(--ink);background:color-mix(in srgb,var(--accent) 12%,transparent);}.file-add{flex-shrink:0;margin-right:0.35rem;}.pane-tabs .tab.dirty::after{content:"";display:inline-block;width:0.4rem;height:0.4rem;margin-left:0.35rem;border-radius:50%;background:var(--accent);vertical-align:middle;}.editor-split{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);--editor-split-main:1fr;--editor-font-size:0.8rem;background:var(--editor-bg);}.editor-split.is-split{grid-template-columns:minmax(0,var(--editor-split-main)) 5px minmax(0,1fr);grid-template-rows:minmax(0,1fr);}.editor-col{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;}.editor-col-side{display:none;border-left:0;min-width:0;}.editor-split.is-split .editor-col-side{display:flex;flex-direction:column;min-height:0;}.side-editor-bar{display:flex;align-items:center;gap:0.35rem;padding:0.2rem 0.45rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 80%,var(--editor-bg));flex-shrink:0;}.side-file-label{flex:1;min-width:0;display:flex;}.side-file-label select{width:100%;min-width:0;font:inherit;font-size:0.72rem;font-family:var(--mono);padding:0.15rem 0.3rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);}.side-editor-hint{font-size:0.68rem;color:var(--muted);white-space:nowrap;}.editor-col-side.is-diagram #editorSide,.editor-col-side.is-diagram .editor-wrap{display:none !important;}.editor-col-side.is-diagram #sideFileWrap{display:none;}.editor-col-side:not(.is-diagram) #sideDiagram{display:none !important;}.side-diagram{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--editor-bg);}.diagram-toolbar{display:flex;align-items:center;gap:0.35rem;padding:0.25rem 0.45rem;border-bottom:1px solid var(--line);flex-shrink:0;}.diagram-select,.diagram-flow-input{flex:1;min-width:0;font-family:var(--mono);font-size:0.72rem;padding:0.15rem 0.35rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);}.diagram-status{font-family:var(--mono);font-size:0.68rem;color:var(--muted);white-space:nowrap;}.diagram-canvas{flex:1;min-height:0;overflow:auto;padding:0.35rem;color:var(--muted);}.diagram-empty{margin:0.75rem;font-size:0.8rem;color:var(--muted);font-family:var(--sans);}.fsm-svg,.flow-svg{width:100%;height:auto;max-height:100%;color:var(--ink);}.fsm-title{font-family:var(--mono);font-size:11px;fill:var(--muted);}.fsm-edge{stroke:color-mix(in srgb,var(--accent) 55%,var(--muted));stroke-width:1.4;}.fsm-edge.reset{stroke:var(--warn,#c9a227);stroke-dasharray:3 2;}.fsm-elabel{font-family:var(--mono);font-size:9px;fill:var(--muted);}.fsm-node circle{fill:color-mix(in srgb,var(--panel) 70%,var(--editor-bg));stroke:var(--accent);stroke-width:1.5;cursor:pointer;}.fsm-node text{font-family:var(--mono);font-size:9px;fill:var(--ink);pointer-events:none;}.fsm-node.is-active circle{fill:color-mix(in srgb,var(--accent) 35%,var(--panel));stroke:var(--ok,#3c9);stroke-width:2.5;}.fsm-node:focus circle,.fsm-node:hover circle{stroke-width:2.2;}.flow-center{fill:color-mix(in srgb,var(--accent) 22%,var(--panel));stroke:var(--accent);}.flow-center-t,.flow-t{font-family:var(--mono);font-size:10px;fill:var(--ink);}.flow-drv{fill:color-mix(in srgb,var(--ok,#3c9) 18%,var(--panel));stroke:var(--ok,#3c9);}.flow-ld{fill:color-mix(in srgb,var(--c1,#6af) 18%,var(--panel));stroke:var(--c1,#6af);}.editor-vsplit{display:none !important;width:5px;min-height:0;align-self:stretch;}.editor-split.is-split .editor-vsplit{display:block !important;}.editor-wrap{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:3.6rem minmax(0,1fr) 56px;background:var(--editor-bg);}html.feat-off-minimap .editor-wrap{grid-template-columns:3.6rem minmax(0,1fr);}html.feat-off-minimap .editor-minimap{display:none;}.editor-gutter{grid-column:1;grid-row:1;overflow:hidden;padding:0.65rem 0.1rem;text-align:right;font-family:var(--mono);font-size:var(--editor-font-size,0.8rem);line-height:1.45;color:var(--muted);border-right:1px solid var(--line);user-select:none;background:color-mix(in srgb,var(--panel) 70%,var(--editor-bg));}.editor-minimap{grid-column:3;grid-row:1;width:56px;height:100%;border-left:1px solid var(--line);cursor:pointer;background:color-mix(in srgb,var(--panel) 55%,var(--editor-bg));}.editor-gutter .ln{display:flex;align-items:center;justify-content:flex-end;gap:0.05rem;padding-right:0.15rem;min-height:1.45em;}.editor-gutter .bp-btn{border:0;background:transparent;color:transparent;width:0.85em;padding:0;font-size:0.65rem;line-height:1;cursor:pointer;border-radius:50%;}.editor-gutter .ln:hover .bp-btn{color:color-mix(in srgb,#c23b22 45%,var(--muted));}.editor-gutter .bp-btn.is-on{color:#c23b22;}.editor-gutter .ln.bp-line{background:color-mix(in srgb,#c23b22 12%,transparent);}.editor-gutter .ln-num{min-width:1.4em;}.editor-gutter .fold-btn,.editor-gutter .fold-gap{flex:0 0 0.85rem;width:0.85rem;height:1.1em;padding:0;margin:0;border:0;background:transparent;color:var(--muted);font-size:0.65rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;}.editor-gutter .fold-btn{cursor:pointer;border-radius:2px;}.editor-gutter .fold-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);}.editor-gutter .ln.err-line{color:var(--err);font-weight:700;background:color-mix(in srgb,var(--err) 18%,transparent);}.editor-gutter .ln.warn-line{color:var(--warn,#c9a227);font-weight:600;background:color-mix(in srgb,var(--warn,#c9a227) 14%,transparent);}.editor-gutter .ln.info-line{color:var(--accent);font-weight:600;background:color-mix(in srgb,var(--accent) 10%,transparent);}.editor-wrap.is-panning,.editor-wrap.is-panning .editor-input{cursor:grabbing !important;user-select:none;}.pane-actions .ghost.tiny.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);}.editor-zoom-controls{display:inline-flex;align-items:center;gap:0.05rem;margin:0 0.1rem;}.editor-zoom-label{min-width:2.6em;font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:0.68rem;}@media (max-width:900px){#btnSplit{display:none;}}.editor-highlight{margin:0;padding:0.65rem 0.75rem;overflow:hidden;font-family:var(--mono);font-size:var(--editor-font-size,0.8rem);line-height:1.45;white-space:pre;tab-size:2;color:var(--ink);pointer-events:none;grid-column:2;grid-row:1;}.editor-ghost{margin:0;padding:0.65rem 0.75rem;overflow:hidden;font-family:var(--mono);font-size:var(--editor-font-size,0.8rem);line-height:1.45;white-space:pre;tab-size:2;color:color-mix(in srgb,var(--muted) 72%,transparent);pointer-events:none;grid-column:2;grid-row:1;z-index:0;}.assist-popup{position:absolute;z-index:20;min-width:16rem;max-width:min(28rem,90%);max-height:12rem;overflow:auto;margin:0;padding:0.2rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 8px 24px color-mix(in srgb,#000 28%,transparent);}.assist-item{display:grid;grid-template-columns:3.6rem 1fr;grid-template-rows:auto auto;gap:0 0.45rem;width:100%;text-align:left;padding:0.35rem 0.45rem;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer;}.assist-item:hover,.assist-item.is-active{background:color-mix(in srgb,var(--accent) 16%,transparent);}.assist-kind{grid-row:1 / span 2;align-self:center;font-size:0.65rem;text-transform:uppercase;color:var(--muted);font-family:var(--mono);}.assist-label{font-family:var(--mono);font-size:0.78rem;color:var(--ink);}.assist-detail{font-size:0.68rem;color:var(--muted);}.assist-chip{font-family:var(--mono);font-size:0.68rem;color:var(--accent);padding:0.1rem 0.4rem;border-radius:4px;background:color-mix(in srgb,var(--accent) 12%,transparent);max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.editor-highlight span{color:inherit;}.tok-kw{color:var(--accent);font-weight:600;}.tok-system{color:var(--c1);}.tok-number{color:var(--c2);}.tok-string{color:var(--ok);}.tok-comment{color:var(--muted);font-style:italic;}.tok-id{color:var(--ink);}#editor,.editor-input{flex:1;width:100%;height:100%;resize:none;border:0;outline:none;padding:0.65rem 0.75rem;background:transparent;color:var(--ink);caret-color:var(--ink);font-family:var(--mono);font-size:var(--editor-font-size,0.8rem);line-height:1.45;tab-size:2;grid-column:2;grid-row:1;z-index:1;-webkit-text-fill-color:transparent;}[data-theme="dark"] #editor,[data-theme="dark"] .editor-input{caret-color:var(--ink);}.editor-wrap:not(:has(.editor-highlight span)) .editor-input{-webkit-text-fill-color:var(--ink);color:var(--ink);}.pane-tabs{display:flex;align-items:center;gap:0.5rem;padding:0.35rem 0.55rem;border-bottom:1px solid var(--line);background:var(--panel);}.pane-tabs .tab.active{color:var(--ink);}.pane-meta{font-size:0.72rem;color:var(--muted);font-family:var(--mono);}.pane-meta.diag-err{color:var(--err);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;}.pane-meta.diag-warn{color:var(--warn,#c9a227);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;}.pane-meta.diag-info{color:var(--accent);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;}.pane-actions{margin-left:auto;display:flex;align-items:center;gap:0.25rem;}.find-bar{display:flex;align-items:center;gap:0.35rem;padding:0.3rem 0.55rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel));}.find-bar[hidden]{display:none;}.find-bar input[type="search"]{flex:1;min-width:0;font-family:var(--mono);font-size:0.78rem;padding:0.2rem 0.4rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);}.find-count{font-size:0.7rem;color:var(--muted);font-family:var(--mono);min-width:4.5rem;text-align:right;}.console{margin:0;flex:1;overflow:auto;padding:0.45rem 0.65rem;font-family:var(--mono);font-size:0.74rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;background:var(--editor-bg);}.console .err{color:var(--err);}.console .info{color:var(--muted);}.console .ok{color:var(--ok);}.console .warn{color:var(--warn);}.console .clickable{cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px;}.console .clickable:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);}.wave-pane{display:flex;flex-direction:column;min-height:0;background:var(--panel);outline:none;}.wave-pane:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);}.wave-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.65rem;padding:0.35rem 0.55rem;border-bottom:1px solid var(--line);}.wave-toolbar h2{flex:0 0 auto;margin:0;}.wave-tools{display:flex;flex-wrap:wrap;align-items:center;gap:0.3rem;flex:1 1 22rem;min-width:0;}.wave-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0.45rem 0.75rem;flex:1 1 14rem;min-width:min(100%,14rem);margin-left:auto;}#zoom{width:7.5rem;max-width:100%;}.cursors{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0.45rem 0.7rem;font-family:var(--mono);font-size:0.72rem;color:var(--muted);margin:0;}.cursors [data-readout="c1"],.cursors [data-readout="c2"]{cursor:pointer;}.cursors [data-readout="c1"]{color:var(--c1);}.cursors [data-readout="c2"]{color:var(--c2);}.cursors [data-readout="c1"].is-active,.cursors [data-readout="c2"].is-active{font-weight:700;text-decoration:underline;text-underline-offset:0.15em;}.cursors [data-readout="marks"]{color:var(--accent);}.cursors [data-readout="zoom"]{color:var(--muted);min-width:3.5rem;}.trace-filter{flex:1 1 7rem;width:auto;min-width:5.5rem;max-width:12rem;font-family:var(--mono);font-size:0.72rem;padding:0.15rem 0.35rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);}@media (min-width:1200px){.wave-tools{flex:1 1 auto;}.wave-status{flex:0 1 auto;flex-wrap:nowrap;}.trace-filter{flex:0 1 9rem;}.cursors{flex-wrap:nowrap;}}.wave-name-row.bit-row .nm{padding-left:0.65rem;opacity:0.92;}.wave-body{flex:1;display:grid;grid-template-columns:220px minmax(0,1fr);min-height:0;background:var(--editor-bg);}.wave-values{flex:0 0 auto;max-height:9.5rem;display:flex;flex-direction:column;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,var(--editor-bg));}.wave-values[hidden]{display:none !important;}.wave-values.is-collapsed .wave-values-scroll{display:none;}.wave-values-bar{display:flex;align-items:center;gap:0.5rem;padding:0.2rem 0.55rem;border-bottom:1px solid var(--line);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted);}.wave-values-bar strong{font-weight:650;color:var(--ink);text-transform:none;letter-spacing:0;font-size:0.72rem;}.wave-values-meta{font-family:var(--mono);font-size:0.7rem;text-transform:none;letter-spacing:0;color:var(--muted);}.wave-values-bar .ghost.tiny{margin-left:auto;}.wave-values-scroll{overflow:auto;min-height:0;max-height:7.5rem;scrollbar-width:thin;}.wave-values-scroll table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:0.72rem;}.wave-values-scroll th,.wave-values-scroll td{padding:0.2rem 0.55rem;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);white-space:nowrap;}.wave-values-scroll th{position:sticky;top:0;background:color-mix(in srgb,var(--panel) 92%,var(--editor-bg));color:var(--muted);font-weight:600;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.04em;}.wave-values-scroll th:nth-child(2),.wave-values-scroll td:nth-child(2){color:var(--c1);}.wave-values-scroll th:nth-child(3),.wave-values-scroll td:nth-child(3){color:var(--c2);}.wave-values-scroll td:nth-child(4){color:var(--ok);}.wave-values-scroll tr.is-selected{background:color-mix(in srgb,var(--accent) 10%,transparent);}.wave-values-scroll td.signal-name{max-width:14rem;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}.wave-names{overflow:auto;border-right:1px solid var(--line);padding-top:24px;font-family:var(--mono);font-size:0.72rem;scrollbar-width:thin;}.wave-name-row{height:32px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:0.2rem;padding:0 0.35rem 0 0.5rem;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);}.wave-name-row .rdx{min-width:1.2rem;font-size:0.62rem !important;padding:0.05rem 0.2rem !important;color:var(--muted);}.wave-name-row.selected{background:color-mix(in srgb,var(--accent) 16%,transparent);}.wave-name-row.selected .nm{color:var(--ink);}.wave-name-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);}.wave-name-row .val{font-size:0.62rem;color:var(--c1);max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;}.wave-name-row .val.hovering{color:var(--accent,var(--teal,#0f6b5c));}.wave-name-row .acts{display:flex;gap:0.1rem;}.wave-name-row button{padding:0.05rem 0.28rem;font-size:0.65rem;line-height:1.2;}.wave-scroll{overflow:auto;position:relative;cursor:crosshair;scrollbar-width:thin;}#waveCanvas{display:block;}.wave-hint{margin:0;padding:0.35rem 0.55rem;font-size:0.68rem;line-height:1.35;color:var(--muted);border-top:1px solid var(--line);}@media (max-width:900px){.app{grid-template-rows:auto minmax(0,1fr) 5px min(34dvh,280px);}.icon-btn{display:inline-flex;align-items:center;justify-content:center;}.workspace{grid-template-columns:minmax(0,1fr);}.split-v{display:none;}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(86vw,320px);z-index:40;background:var(--panel);border-right:1px solid var(--line);box-shadow:8px 0 24px color-mix(in srgb,var(--ink) 18%,transparent);transform:translateX(-105%);transition:transform 0.2s ease;max-height:100dvh;}body.sidebar-open .sidebar{transform:translateX(0);}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:35;background:color-mix(in srgb,var(--ink) 35%,transparent);border:0;padding:0;cursor:pointer;}.sidebar-backdrop[hidden]{display:none;}.toolbar{gap:0.4rem;padding:0.35rem 0.5rem;}.toolbar-brand{font-size:0.82rem;}.toolbar-group{gap:0.3rem;}.tb-label{font-size:0.72rem;}select{max-width:8.5rem;}.wave-body{grid-template-columns:minmax(120px,36vw) minmax(0,1fr);}.wave-hint{display:none;}.center{grid-template-rows:minmax(0,1fr) 5px min(28dvh,160px);}button.ghost,button.primary{min-height:2rem;padding:0.28rem 0.55rem;}}@media (max-width:700px){.toolbar-more{display:block;}.toolbar-run #btnContinue,.toolbar-run #btnRunToC1,.toolbar-run #btnNextEdge,.toolbar-opts .tb-label:has(#engineSelect),.toolbar-opts .tb-label:has(#timeUnit),.toolbar-end #btnImport,.toolbar-end #btnDownloadSrc,.toolbar-end #btnExport,.toolbar-end #btnExportVcd{display:none;}.status{margin-left:0;max-width:5.5rem;overflow:hidden;text-overflow:ellipsis;}.theme-switch-label{display:none;}.wave-tools #btnZoomCursors,.wave-tools #btnGoC1,.wave-tools #btnGoC2,.wave-tools #btnPrevMark,.wave-tools #btnNextMark{display:none;}.wave-tools{flex:1 1 100%;}.wave-status{flex:1 1 100%;justify-content:space-between;margin-left:0;}.trace-filter{flex:1 1 6rem;max-width:none;}#zoom{width:5rem;}.cursors{gap:0.4rem 0.55rem;font-size:0.65rem;justify-content:flex-start;}.pane-actions .ghost.tiny{min-height:1.85rem;}}@media (max-width:480px){.toolbar-brand{display:none;}.toolbar-opts .tb-label:has(#topSelect),.toolbar-opts .tb-label:has(#maxTime){display:none;}.wave-body{grid-template-columns:minmax(100px,42vw) minmax(0,1fr);}.app{grid-template-rows:auto minmax(0,1fr) 5px min(40dvh,260px);}}@media (min-resolution:2dppx){.split-v::before,.split-h::before{inset:-10px;}}@media (hover:none) and (pointer:coarse){button,.icon-btn,.wave-name-row button{min-height:2.25rem;}.split-v::before{inset:-12px -14px;}.split-h::before{inset:-14px -12px;}.wave-name-row{min-height:2.5rem;}}.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}.skip-link{position:absolute;left:-999px;top:0;z-index:100;background:var(--accent);color:var(--accent-ink);padding:0.4rem 0.75rem;}.skip-link:focus{left:0.5rem;top:0.5rem;}.toast-root{position:fixed;right:1rem;bottom:1rem;z-index:80;display:flex;flex-direction:column;gap:0.4rem;pointer-events:none;}.toast{min-width:12rem;max-width:22rem;padding:0.55rem 0.75rem;border-radius:6px;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 18%,transparent);font-size:0.82rem;opacity:0;transform:translateY(8px);transition:opacity 0.18s ease,transform 0.18s ease;}.toast.show{opacity:1;transform:none;}.toast-ok{border-left:3px solid var(--ok);}.toast-err{border-left:3px solid var(--err);}.toast-warn{border-left:3px solid var(--warn);}.toast-info{border-left:3px solid var(--c1);}.modal-overlay,.cmd-overlay,.help-overlay,.feat-overlay{position:fixed;inset:0;z-index:90;background:color-mix(in srgb,var(--ink) 40%,transparent);display:flex;align-items:flex-start;justify-content:center;padding:12vh 1rem 1rem;}.modal-overlay[hidden],.cmd-overlay[hidden],.help-overlay[hidden],.feat-overlay[hidden]{display:none !important;}.cmd-overlay{z-index:92;}.help-overlay{z-index:91;}.feat-overlay{z-index:91;}.modal,.cmd-dialog,.help-dialog,.feat-dialog{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px color-mix(in srgb,var(--ink) 25%,transparent);width:min(520px,100%);padding:1rem 1.1rem;max-height:min(80vh,640px);overflow:auto;}.modal h3,.help-head h2{margin:0 0 0.5rem;font-size:1rem;}.modal-body{margin:0 0 0.75rem;color:var(--muted);font-size:0.9rem;}.modal-input{width:100%;margin-bottom:0.75rem;font-family:var(--mono);font-size:0.85rem;padding:0.4rem 0.5rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);}.modal-actions{display:flex;justify-content:flex-end;gap:0.4rem;}.cmd-dialog{width:min(560px,100%);padding:0.65rem;}.cmd-input{width:100%;font-size:0.95rem;padding:0.55rem 0.65rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font-family:var(--sans);}.cmd-list{list-style:none;margin:0.45rem 0 0;padding:0;max-height:50vh;overflow:auto;}.cmd-item{display:flex;justify-content:space-between;gap:0.75rem;padding:0.45rem 0.55rem;border-radius:4px;cursor:pointer;font-size:0.88rem;}.cmd-item.active,.cmd-item:hover{background:color-mix(in srgb,var(--accent) 16%,transparent);}.cmd-hint{color:var(--muted);font-size:0.75rem;font-family:var(--mono);}.cmd-empty{padding:0.75rem;color:var(--muted);font-size:0.85rem;}.cmd-foot{margin:0.4rem 0 0;font-size:0.7rem;color:var(--muted);}.help-dialog{width:min(720px,100%);}.help-head{display:flex;align-items:center;justify-content:space-between;}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0.75rem;}.help-grid h3{margin:0 0 0.35rem;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted);}.help-grid ul{margin:0;padding-left:1rem;font-size:0.82rem;line-height:1.55;}.help-grid kbd{font-family:var(--mono);font-size:0.72rem;padding:0.05rem 0.3rem;border:1px solid var(--line);border-radius:3px;background:var(--bg);}.find-opt{display:inline-flex;align-items:center;gap:0.2rem;font-size:0.72rem;color:var(--muted);white-space:nowrap;}.pane-tabs .tab{background:none;border:0;font:inherit;cursor:pointer;padding:0.15rem 0.35rem;color:var(--muted);}.pane-tabs .tab.active{color:var(--ink);font-weight:600;}.pane-tabs .file-tab{cursor:pointer;border-radius:4px 4px 0 0;}.pane-tabs .file-tab.dirty::after{content:"";display:inline-block;width:0.35rem;height:0.35rem;margin-left:0.3rem;border-radius:50%;background:var(--accent);vertical-align:middle;}.bottom-panel{flex:1;min-height:0;overflow:auto;}.bottom-panel[hidden]{display:none !important;}.pane-tabs .tab-tools{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0.35rem;margin-right:0.25rem;}.pane-tabs .tab-tools[hidden]{display:none !important;}.pane-tabs .tab-tools .tb-label{margin:0;}.pane-tabs .tab-tools select,.pane-tabs .tab-tools input[type="text"]{max-width:9rem;}.event-rail,.test-summary{list-style:none;margin:0;padding:0.35rem 0.5rem;font-family:var(--mono);font-size:0.74rem;background:var(--editor-bg);}.event-rail li,.test-summary li{padding:0.25rem 0.35rem;border-radius:3px;cursor:pointer;display:flex;gap:0.5rem;}.event-rail li:hover,.test-summary li:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);}.event-rail .ev-t{color:var(--c1);min-width:3.5rem;}.event-rail .ev-err,.test-fail{color:var(--err);}.event-rail .ev-warn,.test-warn{color:var(--warn);}.event-rail .ev-ok,.test-pass{color:var(--ok);}.test-empty{margin:0.5rem;color:var(--muted);font-family:var(--sans);font-size:0.8rem;}.test-summary h3{margin:0.35rem 0.35rem 0.5rem;font-size:0.8rem;}.problems-panel{margin:0;padding:0;overflow:auto;font-family:var(--mono);font-size:0.75rem;list-style:none;}.problems-panel ul{margin:0;padding:0;list-style:none;}.problems-empty{margin:0.5rem;color:var(--muted);font-family:var(--sans);font-size:0.8rem;}.compare-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;font-family:var(--mono);font-size:0.78rem;}.compare-bar{display:none;}.compare-meta{color:var(--muted);font-size:0.72rem;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.compare-empty{padding:0.75rem;color:var(--muted);margin:0;font-family:var(--sans);font-size:0.8rem;}.compare-scroll{overflow:auto;flex:1;min-height:0;}#compareTable{width:100%;border-collapse:collapse;}#compareTable th,#compareTable td{padding:0.25rem 0.5rem;border-bottom:1px solid var(--line);text-align:left;}#compareTable tr.is-diff td{background:color-mix(in srgb,#c23b22 12%,transparent);}#compareTable tr.is-ok td{color:var(--muted);}.debug-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;}.debug-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-height:0;flex:1;overflow:hidden;}.debug-col{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);overflow:hidden;}.debug-col:last-child{border-right:0;}.debug-head{display:flex;align-items:center;gap:0.35rem;padding:0.35rem 0.55rem;border-bottom:1px solid var(--line);font-size:0.78rem;}.debug-meta{margin-left:auto;color:var(--muted);font-size:0.72rem;}.debug-list{list-style:none;margin:0;padding:0.25rem 0;overflow:auto;flex:1;font-family:var(--mono);font-size:0.74rem;}.debug-list li{display:flex;gap:0.5rem;align-items:baseline;padding:0.2rem 0.55rem;cursor:pointer;}.debug-list li:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);}.debug-list .dbg-val{color:var(--accent);margin-left:auto;}.debug-list .dbg-rm{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:0.7rem;}.memory-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;font-family:var(--mono);font-size:0.78rem;}#memoryTable{width:100%;border-collapse:collapse;}#memoryTable th,#memoryTable td{padding:0.2rem 0.5rem;border-bottom:1px solid var(--line);text-align:left;}.cmd-head{padding:0.55rem 0.75rem 0;font-size:0.85rem;}@media (max-width:900px){.debug-grid{grid-template-columns:1fr;}.debug-col{border-right:0;border-bottom:1px solid var(--line);max-height:8rem;}}.problem-item{border-bottom:1px solid var(--line);}.problem-row{display:flex;align-items:stretch;gap:0.15rem;}.problem-jump{display:grid;grid-template-columns:4.2rem 3.2rem 7.5rem 3.2rem 1fr;gap:0.35rem;flex:1;min-width:0;text-align:left;padding:0.35rem 0.55rem;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;}.problem-fix{flex:0 0 auto;align-self:center;margin-right:0.35rem;}.problem-jump:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);}.problem-item.sev-error .problem-sev{color:var(--err);}.problem-item.sev-warning .problem-sev{color:var(--warn,#c9a227);}.problem-item.sev-info .problem-sev{color:var(--accent);}.problem-loc{color:var(--c1);}.problem-rule{color:var(--muted);}.problem-cat{color:var(--muted);font-size:0.68rem;text-transform:uppercase;}.problem-msg{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}@media (max-width:900px){.problem-jump{grid-template-columns:3.5rem 2.5rem 1fr;}.problem-rule,.problem-cat{display:none;}}.tok-id[data-id]{cursor:pointer;}.tok-id[data-id]:hover{text-decoration:underline;text-underline-offset:2px;}.feat-head{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:0.35rem;}.feat-head h2{margin:0;font-size:1rem;}.feat-intro{margin:0 0 0.75rem;color:var(--muted);font-size:0.85rem;}.feat-list{display:flex;flex-direction:column;gap:0.15rem;margin-bottom:0.85rem;}.feat-row{display:flex;align-items:flex-start;gap:0.55rem;padding:0.4rem 0.45rem;border-radius:6px;cursor:pointer;}.feat-row:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);}.feat-row input{margin-top:0.2rem;flex-shrink:0;}.feat-text{display:flex;flex-direction:column;gap:0.1rem;min-width:0;}.feat-label{font-size:0.88rem;color:var(--ink);}.feat-hint{font-size:0.75rem;color:var(--muted);}.feat-foot{display:flex;justify-content:space-between;gap:0.5rem;align-items:center;}.feat-foot .primary.tiny{padding:0.25rem 0.7rem;}html.feat-off-poke .poke-section{display:none !important;}html.feat-off-hierarchy .hier-section,html.feat-off-hierarchy [data-split="hier"]{display:none !important;}html.feat-off-fileTree .files-section,html.feat-off-fileTree [data-split="files"]{display:none !important;}html.feat-off-waveValues #waveValues{display:none !important;}html.feat-off-waveHint #waveHint{display:none !important;}html.feat-off-events [data-bottom-tab="events"]{display:none !important;}html.feat-off-tests [data-bottom-tab="tests"]{display:none !important;}html.feat-off-problems [data-bottom-tab="problems"],html.feat-off-problems [data-panel="problems"]{display:none !important;}html.feat-off-compare [data-bottom-tab="compare"],html.feat-off-compare [data-panel="compare"]{display:none !important;}html.feat-off-debug [data-bottom-tab="debug"],html.feat-off-debug [data-panel="debug"]{display:none !important;}html.feat-off-memory [data-bottom-tab="memory"],html.feat-off-memory [data-panel="memory"]{display:none !important;}html.feat-off-debugExtras #btnRunToC1,html.feat-off-debugExtras #btnNextEdge,html.feat-off-debugExtras [data-proxy="btnRunToC1"],html.feat-off-debugExtras [data-proxy="btnNextEdge"]{display:none !important;}html.feat-off-editorFold #btnFold,html.feat-off-editorFold #btnUnfold{display:none !important;}html.feat-off-editorZoom .editor-zoom-controls{display:none !important;}html.feat-off-editorSplit #btnSplit{display:none !important;}.editor-hover-tip{position:absolute;z-index:30;min-width:10rem;max-width:18rem;padding:0.4rem 0.55rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 8px 20px color-mix(in srgb,#000 25%,transparent);pointer-events:none;font-family:var(--mono);font-size:0.72rem;}.editor-hover-tip .ht-title{color:var(--accent);font-weight:600;margin-bottom:0.2rem;}.editor-hover-tip .ht-body{color:var(--muted);white-space:pre-wrap;}.ide-statusbar{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;padding:0.2rem 0.65rem;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 85%,var(--bg));font-family:var(--mono);font-size:0.68rem;color:var(--muted);flex-shrink:0;}.ide-statusbar .sb-right{margin-left:auto;}.outline-list{list-style:none;margin:0;padding:0.25rem;overflow:auto;flex:1;}.outline-list button{display:grid;grid-template-columns:4.5rem 1fr auto;gap:0.35rem;width:100%;text-align:left;border:0;background:transparent;color:inherit;font-family:var(--mono);font-size:0.75rem;padding:0.3rem 0.4rem;border-radius:4px;cursor:pointer;}.outline-list button:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);}.outline-kind{color:var(--muted);text-transform:uppercase;font-size:0.65rem;}.outline-line{color:var(--c1,#6af);}.refs-panel{margin:0;padding:0.35rem;list-style:none;overflow:auto;flex:1;}.refs-panel button{display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;font-family:var(--mono);font-size:0.72rem;padding:0.3rem 0.4rem;cursor:pointer;border-bottom:1px solid var(--line);}.refs-panel button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);}