@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(./jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(./jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}:root{--font-ui:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--bg:#0e1316;--bg-elev:#141a1e;--bg-elev-2:#1a2227;--bg-sunken:#0b0f12;--bg-hover:#222c32;--bg-active:#2a363d;--border:#263139;--border-strong:#37454e;--text:#e4ebee;--text-dim:#9caab2;--text-faint:#6c7b84;--accent:#ee9a4d;--accent-hover:#f6ad69;--accent-fg:#1e1206;--accent-soft:#ee9a4d24;--select:#4ea8ff;--select-soft:#4ea8ff29;--good:#3ccf8e;--warn:#f2b84b;--bad:#ff6b6b;--info:#5fb0ff;--good-soft:#3ccf8e24;--warn-soft:#f2b84b24;--bad-soft:#ff6b6b24;--copper:#d98b4a;--mask:#1f7a4f;--silk:#f2f2ee;--wire:#6fd3a4;--wire-selected:#4ea8ff;--net-high:#ff8f6b;--net-low:#5f9cff;--grid-dot:#9caab22e;--canvas:#10171b;--radius-s:4px;--radius:6px;--radius-l:10px;--shadow:0 8px 28px #00000073;--shadow-s:0 2px 8px #00000059;--focus:0 0 0 2px #4ea8ffb3;--topbar-h:48px;--statusbar-h:26px;--panel-header-h:34px;--fs-xs:11px;--fs-s:12px;--fs-m:13px;--fs-l:15px;--fs-xl:19px;--fs-xxl:26px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#eef2f1;--bg-elev:#fff;--bg-elev-2:#f6f8f7;--bg-sunken:#e6ebe9;--bg-hover:#e9eeec;--bg-active:#dde5e2;--border:#d5ddda;--border-strong:#b7c3be;--text:#16211d;--text-dim:#4d5c56;--text-faint:#7b8983;--accent:#c1621b;--accent-hover:#a95315;--accent-fg:#fff;--accent-soft:#c1621b1f;--select:#1f6fd1;--select-soft:#1f6fd11f;--good:#13955c;--warn:#b67a07;--bad:#d23c3c;--info:#1f6fd1;--good-soft:#13955c1f;--warn-soft:#b67a071f;--bad-soft:#d23c3c1a;--copper:#b8692c;--mask:#1f7a4f;--wire:#13955c;--wire-selected:#1f6fd1;--net-high:#d6532e;--net-low:#2f6fd1;--grid-dot:#3c50482e;--canvas:#fbfcfb;--shadow:0 8px 28px #14281e29;--shadow-s:0 2px 8px #14281e1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-m);-webkit-font-smoothing:antialiased;line-height:1.4;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--select)}::selection{background:var(--select-soft)}:focus-visible{box-shadow:var(--focus);outline:none}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:8px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.row{align-items:center;gap:8px;min-width:0;display:flex}.col{flex-direction:column;gap:8px;min-width:0;display:flex}.grow{flex:auto;min-width:0}.spacer{flex:1}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.gs-btn{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-elev-2);height:28px;color:var(--text);font-size:var(--fs-m);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.gs-btn:hover:not(:disabled){background:var(--bg-hover)}.gs-btn:active:not(:disabled){background:var(--bg-active)}.gs-btn:disabled{opacity:.45;cursor:default}.gs-btn svg{flex:none}.gs-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.gs-btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.gs-btn--ghost{background:0 0;border-color:#0000}.gs-btn--ghost:hover:not(:disabled){background:var(--bg-hover)}.gs-btn--danger{color:var(--bad)}.gs-btn--s{height:24px;font-size:var(--fs-s);padding:0 8px}.gs-btn--l{height:36px;font-size:var(--fs-l);padding:0 16px}.gs-btn--icon{width:28px;padding:0}.gs-btn--icon.gs-btn--s{width:24px}.gs-btn[aria-pressed=true]{background:var(--select-soft);border-color:var(--select);color:var(--text)}.gs-btn--ghost[aria-pressed=true]{color:var(--select);border-color:#0000}.gs-toolbar{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-s);gap:2px;padding:4px;display:flex}.gs-toolbar--vertical{flex-direction:column}.gs-toolbar-sep{background:var(--border);align-self:stretch;width:1px;margin:2px 3px}.gs-toolbar--vertical .gs-toolbar-sep{width:auto;height:1px;margin:3px 2px}.gs-tool{border-radius:var(--radius);min-width:32px;height:32px;color:var(--text-dim);cursor:pointer;font-size:var(--fs-s);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-weight:500;display:inline-flex;position:relative}.gs-tool:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.gs-tool[aria-pressed=true]{background:var(--select-soft);color:var(--select);border-color:#4ea8ff59}.gs-tool:disabled{opacity:.4;cursor:default}[data-tip]{position:relative}.gs-input,.gs-select{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-sunken);width:100%;min-width:0;height:28px;color:var(--text);font-size:var(--fs-m);padding:0 8px}.gs-input:focus,.gs-select:focus{border-color:var(--select);outline:none}.gs-input--mono{font-family:var(--font-mono);font-size:var(--fs-s)}.gs-input[aria-invalid=true]{border-color:var(--bad)}textarea.gs-input{resize:vertical;height:auto;padding:6px 8px}.gs-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-dim) 50%), linear-gradient(135deg, var(--text-dim) 50%, transparent 50%);background-position:calc(100% - 13px) 12px,calc(100% - 9px) 12px;background-repeat:no-repeat;background-size:4px 4px;padding-right:24px}.gs-number{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-sunken);align-items:stretch;min-width:0;height:28px;display:flex}.gs-number:focus-within{border-color:var(--select)}.gs-number[aria-invalid=true]{border-color:var(--bad)}.gs-number__label{color:var(--text-faint);font-size:var(--fs-xs);cursor:ew-resize;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border);align-items:center;padding:0 6px;font-weight:600;display:flex}.gs-number input{min-width:0;font-family:var(--font-mono);font-size:var(--fs-s);background:0 0;border:0;outline:none;flex:1;padding:0 6px}.gs-number__unit{color:var(--text-faint);font-size:var(--fs-s);align-items:center;padding-right:8px;display:flex}.gs-field{grid-template-columns:minmax(84px,38%) minmax(0,1fr);align-items:center;gap:8px;min-height:28px;display:grid}.gs-field--stack{grid-template-columns:minmax(0,1fr);gap:4px}.gs-field__label{color:var(--text-dim);font-size:var(--fs-s);min-width:0}.gs-field__help{color:var(--text-faint);font-size:var(--fs-xs);grid-column:1/-1;margin-top:-2px}.gs-switch{border:1px solid var(--border-strong);background:var(--bg-sunken);cursor:pointer;border-radius:999px;flex:none;width:32px;height:18px;padding:0;position:relative}.gs-switch:after{content:"";background:var(--text-dim);border-radius:50%;width:12px;height:12px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.gs-switch[aria-checked=true]{background:var(--accent-soft);border-color:var(--accent)}.gs-switch[aria-checked=true]:after{background:var(--accent);transform:translate(14px)}.gs-slider{width:100%;accent-color:var(--accent)}.gs-segmented{border-radius:var(--radius);background:var(--bg-sunken);border:1px solid var(--border);gap:2px;min-width:0;max-width:100%;padding:2px;display:inline-flex}.gs-segmented button{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-s);min-width:0;height:24px;color:var(--text-dim);cursor:pointer;font-size:var(--fs-s);background:0 0;border:0;flex:0 auto;align-items:center;gap:5px;padding:0 10px;font-weight:500;display:inline-flex;overflow:hidden}.gs-segmented__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gs-segmented button[aria-pressed=true]{background:var(--bg-active);color:var(--text)}.gs-panel{background:var(--bg-elev);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.gs-panel__header{height:var(--panel-header-h);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding:0 10px 0 12px;display:flex}.gs-panel__title{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-weight:600}.gs-panel__body{flex:1;min-height:0;overflow:auto}.gs-panel__body--pad{padding:12px}.gs-section{border-bottom:1px solid var(--border)}.gs-section__head{width:100%;height:32px;color:var(--text);font-size:var(--fs-s);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:flex}.gs-section__head:hover{background:var(--bg-hover)}.gs-section__body{flex-direction:column;gap:8px;padding:4px 12px 12px;display:flex}.gs-badge{height:18px;font-size:var(--fs-xs);background:var(--bg-active);color:var(--text-dim);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 6px;font-weight:600;display:inline-flex}.gs-badge--good{background:var(--good-soft);color:var(--good)}.gs-badge--warn{background:var(--warn-soft);color:var(--warn)}.gs-badge--bad{background:var(--bad-soft);color:var(--bad)}.gs-badge--info{background:var(--select-soft);color:var(--select)}.gs-badge--accent{background:var(--accent-soft);color:var(--accent)}.gs-kbd{border:1px solid var(--border-strong);background:var(--bg-elev-2);min-width:18px;font-family:var(--font-mono);text-align:center;color:var(--text-dim);border-bottom-width:2px;border-radius:3px;padding:0 4px;font-size:10px;line-height:15px;display:inline-block}.gs-empty{text-align:center;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 20px;display:flex}.gs-empty__icon{color:var(--text-faint)}.gs-empty__title{color:var(--text);font-weight:600;font-size:var(--fs-l)}.gs-empty__text{max-width:340px;font-size:var(--fs-s)}.gs-modal-backdrop{z-index:900;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04080a99;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.gs-modal{background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius-l);width:100%;max-width:min(960px,100%);max-height:100%;box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.gs-modal__head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:14px 16px;display:flex}.gs-modal__title{font-size:var(--fs-l);font-weight:600}.gs-modal__body{flex:1;min-height:0;padding:16px;overflow:auto}.gs-modal__foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.gs-menu{z-index:950;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow);padding:4px;position:fixed}.gs-menu__item{border-radius:var(--radius-s);width:100%;height:28px;color:var(--text);text-align:left;cursor:pointer;font-size:var(--fs-m);background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;display:flex}.gs-menu__item:hover:not(:disabled),.gs-menu__item:focus-visible{background:var(--bg-hover)}.gs-menu__item:disabled{opacity:.45;cursor:default}.gs-menu__item .gs-kbd{margin-left:auto}.gs-menu__item--desc{height:auto;min-height:28px;padding:5px 8px}.gs-menu__text{flex-direction:column;gap:1px;display:flex}.gs-menu__desc{font-size:var(--fs-xs);color:var(--text-dim)}.gs-menu__item--checked{background:var(--select-soft)}.gs-menu__check{color:var(--select);flex:none;margin-left:4px}.gs-menu__sep{background:var(--border);height:1px;margin:4px 2px}.gs-menu__label{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);padding:6px 8px 2px;font-weight:600}.gs-toasts{right:16px;bottom:calc(var(--statusbar-h) + 12px);z-index:1000;flex-direction:column;gap:8px;max-width:420px;display:flex;position:fixed}.gs-toast{border-radius:var(--radius);background:var(--bg-elev-2);border:1px solid var(--border-strong);border-left:3px solid var(--info);box-shadow:var(--shadow);font-size:var(--fs-m);align-items:flex-start;gap:10px;padding:10px 12px;animation:.18s ease-out gs-toast-in;display:flex}.gs-toast--success{border-left-color:var(--good)}.gs-toast--warning{border-left-color:var(--warn)}.gs-toast--error{border-left-color:var(--bad)}@keyframes gs-toast-in{0%{opacity:0;transform:translateY(6px)}}.gs-hint{background:color-mix(in srgb, var(--bg-elev) 88%, transparent);border:1px solid var(--border);color:var(--text-dim);font-size:var(--fs-s);box-shadow:var(--shadow-s);pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.gs-stat{flex-direction:column;gap:2px;min-width:0;display:flex}.gs-stat__label{font-size:var(--fs-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.gs-stat__value{font-family:var(--font-mono);font-size:var(--fs-l);font-variant-numeric:tabular-nums}.gs-list-item{border-radius:var(--radius-s);width:100%;min-height:30px;color:var(--text);text-align:left;cursor:pointer;font-size:var(--fs-m);background:0 0;border:0;align-items:center;gap:8px;padding:4px 10px;display:flex}.gs-list-item:hover{background:var(--bg-hover)}.gs-list-item[aria-selected=true]{background:var(--select-soft)}.gs-tooltip{z-index:3000;color:#e9eef0;max-width:280px;font-family:var(--font-ui);font-size:var(--fs-xs);pointer-events:none;background:#070b0d;border:1px solid #26323a;border-radius:6px;padding:5px 8px;font-weight:500;line-height:1.35;animation:.11s ease-out gs-tip-in;position:fixed;top:0;left:0;box-shadow:0 8px 24px #00000073}.gs-tooltip--rich{width:244px;max-width:calc(100vw - 12px);padding:6px 6px 7px}@keyframes gs-tip-in{0%{opacity:0}}.gs-tooltip__demo{aspect-ratio:216/120;background:#0d1317;border:1px solid #1b252b;border-radius:4px;margin-bottom:7px;position:relative;overflow:hidden}.gs-tooltip__demo svg{width:100%;height:100%;display:block}.gs-tooltip__demo-wait{width:100%;height:100%}.gs-tooltip__title{justify-content:space-between;align-items:center;gap:12px;display:flex}.gs-tooltip--rich .gs-tooltip__title,.gs-tooltip--rich .gs-tooltip__desc{padding:0 3px}.gs-tooltip--rich .gs-tooltip__title{font-size:var(--fs-s);font-weight:600}.gs-tooltip__keys{color:#8e9ca4;flex:none;align-items:center;gap:3px;font-weight:400;display:inline-flex}.gs-tooltip__keys kbd{color:#d5dee2;min-width:17px;font-family:var(--font-mono);text-align:center;background:#151d22;border:1px solid #33424b;border-bottom-width:2px;border-radius:4px;padding:2px 4px 1px;font-size:10px;line-height:1.2}.gs-tooltip__desc{color:#a7b4bb;margin-top:3px;font-weight:400}@media (prefers-reduced-motion:reduce){.gs-tooltip{animation:none}}.app{grid-template-rows:var(--topbar-h) minmax(0, 1fr) auto var(--statusbar-h);grid-template-columns:minmax(0,1fr);height:100%;min-height:0;display:grid}.app-topbar{background:var(--bg-elev);border-bottom:1px solid var(--border);align-items:center;gap:10px;min-width:0;padding:0 10px 0 12px;display:flex}.app-brand{align-items:center;gap:8px;padding-right:4px;display:flex}.app-brand__name{font-family:var(--font-mono);letter-spacing:-.02em;font-size:14px;font-weight:500}.app-name{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius);cursor:text;background:0 0;border:1px solid #0000;flex-shrink:8;min-width:48px;max-width:220px;padding:3px 8px;font-weight:600;overflow:hidden}.app-name:hover{border-color:var(--border-strong)}.app-name-input{border-radius:var(--radius);border:1px solid var(--select);background:var(--bg-sunken);outline:none;width:220px;height:28px;padding:0 8px;font-weight:600}.app-save{color:var(--text-faint);font-size:var(--fs-xs);align-items:center;gap:6px;display:inline-flex}.app-save__mark{flex:none;justify-content:center;align-items:center;width:12px;display:inline-flex}.app-save__dot{background:var(--good);border-radius:50%;width:6px;height:6px}.app-save__text{white-space:nowrap;flex-direction:column;display:inline-flex}.app-save__text:before,.app-save__text:after{visibility:hidden;height:0;overflow:hidden}.app-save__text:before{content:"Read-only"}.app-save__text:after{content:"Not saved"}.app-save[data-state=read-only]{color:var(--text-dim)}.app-save[data-state=dirty] .app-save__dot,.app-save[data-state=saving] .app-save__dot{background:var(--warn)}.app-save[data-state=error] .app-save__dot{background:var(--bad)}.app-tabs{scrollbar-width:none;align-items:stretch;gap:2px;min-width:0;height:100%;margin:0 auto;padding:0 8px;display:flex;overflow-x:auto}.app-tab{color:var(--text-dim);font-size:var(--fs-m);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 12px;font-weight:500;display:inline-flex}.app-tab:hover{color:var(--text);background:var(--bg-hover)}.app-tab[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.app-tab[aria-current=page] svg{color:var(--accent)}.app-topbar__right{align-items:center;gap:2px;display:flex}.app-topbar__item{flex:none;align-items:center;display:inline-flex}.app-topbar__item:empty{display:none}.app-sim{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sunken);align-items:center;gap:4px;margin-right:8px;padding:2px 4px 2px 2px;display:flex}.app-sim__clock{color:var(--text-dim);font-size:var(--fs-s);cursor:pointer;text-align:right;background:0 0;border:0;min-width:84px;padding:0 4px}.app-sim[data-status=running] .app-sim__clock{color:var(--good)}.app-topbar[data-measuring]>*{flex-shrink:0}.app-topbar[data-fit~="1"]{gap:6px}.app-topbar[data-fit~="1"] .app-tab{gap:5px;padding:0 9px}.app-topbar[data-fit~="1"] .app-save__text,.app-topbar[data-fit~="1"] .app-brand__name,.app-topbar[data-fit~="2"] .app-library__label,.app-topbar[data-fit~="2"] .app-topbar__label,.app-topbar[data-fit~="3"] .app-tab:not([aria-current=page]) span{display:none}.app-topbar[data-fit~="4"]{gap:4px}.app-topbar[data-fit~="4"] .app-name{max-width:140px}.app-topbar[data-fit~="4"] .app-tabs{padding:0 2px}.app-topbar[data-fit~="4"] .app-tab{padding:0 7px}.app-topbar[data-fit~="4"] .app-sim{margin-right:4px}.app-topbar[data-fit~="5"] .app-sim__clock,.app-topbar[data-fit~="6"] [data-testid=undo],.app-topbar[data-fit~="6"] [data-testid=redo]{display:none}.app-topbar[data-fit~="6"] .app-name{max-width:96px}.app-topbar[data-fit~="7"] .app-tab span,.app-topbar[data-fit~="8"] .app-name,.app-topbar[data-fit~="8"] .app-save{display:none}@media (max-width:1360px){.app-topbar{gap:6px}.app-tab{gap:5px;padding:0 9px}.app-save__text{display:none}}@media (max-width:1180px){.app-brand__name{display:none}}@media (max-width:1100px){.app-tab:not([aria-current=page]) span,.app-library__label,.app-topbar__label{display:none}}@media (max-width:960px){.app-topbar{gap:4px}.app-name{max-width:140px}.app-tabs{padding:0 2px}.app-tab{padding:0 7px}.app-sim{margin-right:4px}}@media (max-width:850px){.app-topbar [data-testid=undo],.app-topbar [data-testid=redo],.app-sim__clock{display:none}.app-name{max-width:96px}}@media (max-width:640px){.app-topbar{padding:0 max(6px, env(safe-area-inset-right,0px)) 0 max(8px, env(safe-area-inset-left,0px))}.app-name,.app-save,.app-tab span{display:none}.app-tabs{margin:0;padding:0 2px}.app-sim{margin-right:2px}}@media (max-width:520px){.app-brand,.app-topbar [data-testid=theme-toggle],.app-topbar [data-testid=sim-stop]{display:none}.app-tab{padding:0 7px}}.app-main{min-width:0;min-height:0;position:relative;overflow:hidden}.app-loading{height:100%;color:var(--text-dim);justify-content:center;align-items:center;gap:10px;display:flex}.spin{animation:.9s linear infinite gs-spin}@keyframes gs-spin{to{transform:rotate(360deg)}}.app-drop{z-index:800;border:2px dashed var(--accent);border-radius:var(--radius-l);background:color-mix(in srgb, var(--bg) 70%, transparent);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:8px}.app-drop__card{border-radius:var(--radius-l);background:var(--bg-elev);border:1px solid var(--border-strong);box-shadow:var(--shadow);color:var(--text-dim);flex-direction:column;align-items:center;gap:6px;padding:20px 28px;display:flex}.app-drop__card strong{color:var(--text);font-size:var(--fs-l)}.app-status{background:var(--bg-elev);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-dim);align-items:center;gap:14px;min-width:0;padding:0 12px;display:flex;overflow:hidden}.app-status__item{white-space:nowrap;align-items:center;gap:5px;min-width:0;display:inline-flex}.app-status__item:empty{display:none}.app-status__dot{background:var(--text-faint);border-radius:50%;width:7px;height:7px}.app-status__item[data-status=running] .app-status__dot{background:var(--good);box-shadow:0 0 0 3px var(--good-soft)}.app-status__item[data-status=paused] .app-status__dot{background:var(--warn)}.app-status__item[data-status=error] .app-status__dot{background:var(--bad)}.app-overlays{z-index:890;padding:12px 12px calc(var(--statusbar-h) + 12px);pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:fixed;inset:0}.app-overlays>*{pointer-events:auto}.welcome{flex-direction:column;gap:16px;display:flex}.welcome__lead{max-width:62ch;color:var(--text-dim);font-size:var(--fs-l);margin:0}.welcome__actions{flex-wrap:wrap;gap:8px;display:flex}.welcome__h{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:8px 0 0;font-weight:600}.welcome__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.welcome__card{border-radius:var(--radius-l);border:1px solid var(--border);background:var(--bg-elev-2);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;transition:border-color .12s,transform .12s;display:flex}.welcome__card:hover{border-color:var(--accent);transform:translateY(-1px)}.welcome__card-title{font-weight:600;font-size:var(--fs-l)}.welcome__card-text{color:var(--text-dim);font-size:var(--fs-s);flex:1}.help-table{border-collapse:collapse;width:100%}.help-table th{text-align:left;vertical-align:top;white-space:nowrap;width:34%;padding:6px 12px 6px 0;font-weight:600}.help-table td{color:var(--text-dim);padding:6px 0}.help-table tr+tr{border-top:1px solid var(--border)}.help-table .gs-kbd+.gs-kbd{margin-left:3px}.help-keys{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px 24px;display:grid}.help-keys .help-table caption{text-align:left;color:var(--text);padding-bottom:4px;font-weight:600}.help-keys .help-table th{width:42%}.help-keys .help-table td{font-size:var(--fs-s)}.ws{min-width:0;height:100%;min-height:0;display:flex}.ws-canvas{background:var(--canvas);flex:1;min-width:0;min-height:0;position:relative}.ws-overlay{z-index:5;pointer-events:none;position:absolute}.ws-overlay>*{pointer-events:auto}.ws-overlay--tl{top:10px;left:10px}.ws-overlay--tr{top:10px;right:10px}.ws-overlay--bl{bottom:10px;left:10px}.ws-overlay--br{bottom:10px;right:10px}.ws-overlay--tc,.ws-overlay--bc{flex-direction:column;align-items:center;gap:6px;display:flex;left:10px;right:10px}.ws-overlay--tc{top:10px}.ws-overlay--bc{bottom:10px}.ws-side{border-right:1px solid var(--border);flex:none;width:280px;min-height:0}.ws-side--right{border-right:0;border-left:1px solid var(--border)}@media (max-width:700px){.ws{flex-direction:column;overflow-y:auto}.ws>.ws-canvas{flex:none;order:-1;height:58vh;min-height:280px}.ws>:not(.ws-canvas){border-left:0;border-right:0;border-top:1px solid var(--border);flex:none;width:auto;max-height:72vh}}.gs-input-hint{border:1px solid color-mix(in srgb, var(--accent) 70%, transparent);background:color-mix(in srgb, var(--bg-elev) 92%, transparent);color:var(--text);font-size:var(--fs-s);white-space:nowrap;box-shadow:var(--shadow-s);-webkit-user-select:none;user-select:none;border-radius:999px;padding:3px 9px}.app>.app-topbar{grid-row:1}.app>.app-main{grid-row:2}.app>.live-bar{grid-row:3}.app>.app-status{grid-row:4}.live-bar{min-width:0;padding:5px max(10px, env(safe-area-inset-right,0px)) 5px max(8px, env(safe-area-inset-left,0px));background:var(--bg-elev);border-top:1px solid var(--border);font-size:var(--fs-s);align-items:flex-start;gap:10px;display:flex}.live-bar[data-collapsed]{align-items:center;padding-top:2px;padding-bottom:2px}.live-bar__toggle{border-radius:var(--radius);height:30px;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:6px;padding:0 8px;font-weight:600;display:inline-flex}.live-bar__toggle:hover{background:var(--bg-hover);color:var(--text)}.live-bar__toggle:focus-visible{box-shadow:var(--focus);outline:none}.live-bar__toggle svg:first-child{color:var(--accent)}.live-bar[data-collapsed] .live-bar__toggle{height:24px}.live-bar__summary{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;min-width:0;display:inline-flex;overflow:hidden}.live-bar__items{flex-wrap:wrap;flex:1;align-items:center;gap:6px 8px;min-width:0;max-height:104px;display:flex;overflow-y:auto}.live-bar__part{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);align-items:center;gap:8px;min-height:30px;padding:2px 8px 2px 2px;display:inline-flex}.live-bar__part[data-selected]{border-color:var(--select)}.live-bar__ref{border-radius:var(--radius-s);background:var(--bg-sunken);height:24px;color:var(--text);font-size:var(--fs-s);cursor:pointer;border:0;flex:none;padding:0 7px;font-weight:600}.live-bar__ref:hover{background:var(--bg-hover)}.live-bar__ref:focus-visible{box-shadow:var(--focus);outline:none}.live-bar__ctl{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.live-bar__label{color:var(--text-dim)}.live-bar__value{min-width:44px;color:var(--text);font-size:var(--fs-s)}.live-bar__slider{width:110px;display:inline-flex}.live-bar__slider .gs-slider{width:100%}.live-bar__env{align-items:center;gap:4px;display:inline-flex}.live-bar__seg button{height:24px}.live-bar__hold{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev);height:26px;color:var(--text);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:6px;padding:0 6px 0 9px;font-weight:600;display:inline-flex}.live-bar__hold:hover{background:var(--bg-hover)}.live-bar__hold[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.live-bar__hold[aria-pressed=true] .gs-kbd{color:inherit;background:0 0;border-color:currentColor}.live-bar__hold:focus-visible{box-shadow:var(--focus);outline:none}.live-bar__pad{border:1px solid var(--border-strong);background:radial-gradient(circle, var(--bg-hover) 0 2px, transparent 3px), var(--bg-sunken);cursor:grab;touch-action:none;border-radius:50%;flex:none;width:30px;height:30px;position:relative}.live-bar__pad:active{cursor:grabbing}.live-bar__pad:focus-visible{box-shadow:var(--focus);outline:none}.live-bar__pad-dot{background:var(--accent);width:12px;height:12px;box-shadow:var(--shadow-s);pointer-events:none;border-radius:50%;margin:-6px 0 0 -6px;position:absolute}@media (max-width:640px){.live-bar__title{display:none}.live-bar__slider{width:80px}}
