:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-canvas:#0a0b10;--bg-canvas-grid:#1b1e29;--bg-app:#0d0e14;--bg-panel:#12131b;--bg-panel-elevated:#181a24;--bg-panel-hover:#1f212d;--bg-inset:#0e0f16;--border-subtle:#262838;--border-strong:#383b52;--border-hairline:#1d1f2b;--text-primary:#e7e9f3;--text-secondary:#9aa0b8;--text-tertiary:#8388a8;--text-on-accent:#06070b;--signal-low:#4b5170;--signal-low-dim:#333850;--signal-high:#2ee6c8;--signal-high-glow:#2ee6c88c;--signal-high-soft:#2ee6c81f;--ai-accent:#a78bfa;--ai-accent-glow:#a78bfaa6;--ai-accent-soft:#a78bfa24;--highlight:#f5a524;--highlight-glow:#f5a5248c;--highlight-soft:#f5a52424;--danger:#f0475f;--danger-soft:#f0475f24;--selection:#4f8cff;--selection-glow:#4f8cff80;--selection-soft:#4f8cff1f;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--text-xs:11px;--text-sm:12.5px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #00000059, 0 1px 3px #0000004d;--shadow-lg:0 12px 32px #00000073, 0 2px 6px #0000004d;--topbar-h:52px;--statusbar-h:30px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.45}h1,h2,h3,h4{color:var(--text-primary);margin:0;font-weight:600}p{margin:0}button{color:inherit;font-family:inherit}input,select{font-family:inherit;font-size:inherit;color:inherit}code,kbd{font-family:var(--font-mono)}::selection{background:var(--selection-soft);color:var(--text-primary)}:focus-visible{outline:2px solid var(--selection);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.crash-screen{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;height:100%;padding:var(--space-4);background:var(--bg-app);flex-direction:column;display:flex}.crash-screen p{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);max-width:480px}.crash-screen button{margin-top:var(--space-3);border-radius:var(--radius-md);background:var(--signal-high);color:var(--text-on-accent);cursor:pointer;border:none;padding:10px 20px;font-weight:600}.landing{min-height:100%;padding:var(--space-8) var(--space-4);background:radial-gradient(circle at 50% 0%, #2ee6c80f, transparent 55%), radial-gradient(circle at 85% 20%, #a78bfa0f, transparent 45%), var(--bg-app);background-image:radial-gradient(circle at 50% 0%, #2ee6c80f, transparent 55%), radial-gradient(circle at 85% 20%, #a78bfa0f, transparent 45%), linear-gradient(var(--bg-canvas-grid) 1px, transparent 1px), linear-gradient(90deg, var(--bg-canvas-grid) 1px, transparent 1px);background-size:auto,auto,28px 28px,28px 28px;justify-content:center;align-items:center;display:flex}.landing__inner{text-align:center;align-items:center;gap:var(--space-5);flex-direction:column;width:100%;max-width:760px;display:flex}.landing__brand{align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--text-lg);color:var(--text-secondary);display:flex}.landing__headline{font-size:var(--text-2xl);letter-spacing:-.01em;max-width:620px;line-height:1.15}.landing__subhead{color:var(--text-secondary);font-size:var(--text-lg);max-width:560px;line-height:1.5}.landing__cta{gap:var(--space-3);margin-top:var(--space-2);display:flex}.landing__btn{border-radius:var(--radius-md);font-size:var(--text-md);cursor:pointer;border:1px solid #0000;padding:11px 22px;font-weight:600}.landing__btn--primary{background:var(--signal-high);color:#04231f;box-shadow:0 0 24px var(--signal-high-glow)}.landing__btn--primary:hover{filter:brightness(1.08)}.landing__btn--secondary{border-color:var(--border-strong);color:var(--text-primary);background:0 0}.landing__btn--secondary:hover{border-color:var(--ai-accent);color:var(--ai-accent)}.landing__steps{gap:var(--space-4);margin-top:var(--space-6);grid-template-columns:repeat(3,1fr);width:100%;display:grid}.landing__step{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.landing__step h3{font-size:var(--text-sm);color:var(--text-primary)}.landing__step p{font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.4}.landing__prompt{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.landing__prompt code{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--ai-accent);padding:2px 8px}@media (width<=1024px){.landing__steps{grid-template-columns:1fr}}.agent-panel{margin-left:auto;position:relative}.agent-panel__badge{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-inset);color:var(--text-secondary);font-size:var(--text-xs);font-family:var(--font-mono);cursor:pointer;align-items:center;gap:6px;padding:5px 10px;display:flex}.agent-panel__badge:hover{border-color:var(--border-strong);color:var(--text-primary)}.agent-panel__dot{background:var(--text-tertiary);border-radius:50%;flex:none;width:7px;height:7px}.agent-panel__badge.is-checking .agent-panel__dot{background:var(--highlight);animation:1.1s ease-in-out infinite agent-pulse}.agent-panel__badge.is-ready .agent-panel__dot{background:var(--signal-high);box-shadow:0 0 6px var(--signal-high-glow)}.agent-panel__badge.is-unavailable .agent-panel__dot{background:var(--danger)}.agent-panel__badge.is-ready{border-color:var(--signal-high-soft);color:var(--text-primary)}.agent-panel__badge.is-unavailable{border-color:var(--danger-soft);color:var(--danger)}.agent-panel__count{color:var(--text-tertiary)}@keyframes agent-pulse{0%,to{opacity:1}50%{opacity:.35}}.agent-panel__drawer{background:var(--bg-panel-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:340px;max-height:360px;box-shadow:var(--shadow-lg);z-index:40;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.agent-panel__drawer-header{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-primary);flex-direction:column;gap:2px;font-weight:600;display:flex}.agent-panel__drawer-detail{font-weight:400;font-size:var(--text-xs);color:var(--danger);font-family:var(--font-mono)}.agent-panel__empty{padding:var(--space-3);font-size:var(--text-sm);color:var(--text-tertiary);line-height:1.5}.agent-panel__list{padding:var(--space-2);flex-direction:column;gap:2px;margin:0;list-style:none;display:flex;overflow-y:auto}.agent-panel__list li{border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-mono);white-space:nowrap;align-items:baseline;gap:6px;padding:6px 8px;display:flex;overflow:hidden}.agent-panel__list li.is-ok{color:var(--text-secondary)}.agent-panel__list li.is-error{color:var(--danger);background:var(--danger-soft)}.agent-panel__arrow{color:var(--ai-accent);flex:none}.agent-panel__tool{color:var(--text-primary);flex:none;font-weight:600}.agent-panel__args{color:var(--text-tertiary);text-overflow:ellipsis;flex:auto;overflow:hidden}.agent-panel__time{color:var(--text-tertiary);flex:none;font-size:10px}.topbar{height:var(--topbar-h);align-items:center;gap:var(--space-4);padding:0 var(--space-4);background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);flex:none;display:flex;position:relative}.topbar__brand{align-items:center;gap:var(--space-2);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px;display:flex}.topbar__brand span{font-weight:700;font-size:var(--text-lg);color:var(--text-primary);letter-spacing:-.01em}.topbar__examples{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary);display:flex}.topbar__examples select{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);padding:5px 8px}.topbar__group{gap:var(--space-1);padding-left:var(--space-3);border-left:1px solid var(--border-subtle);display:flex}.topbar__btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-inset);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.topbar__btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-panel-hover)}.topbar__btn:disabled{opacity:.4;cursor:not-allowed}.topbar__btn--danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.topbar__flash{font-size:var(--text-sm);color:var(--signal-high)}.statusbar{height:var(--statusbar-h);align-items:center;gap:var(--space-4);padding:0 var(--space-4);background:var(--bg-panel);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-tertiary);flex:none;display:flex}.statusbar__issues{align-items:center;gap:6px;font-weight:600;display:flex}.statusbar__dot{border-radius:50%;width:7px;height:7px}.statusbar__issues.is-ok{color:var(--signal-high)}.statusbar__issues.is-ok .statusbar__dot{background:var(--signal-high);box-shadow:0 0 6px var(--signal-high-glow)}.statusbar__issues.is-warn{color:var(--highlight)}.statusbar__issues.is-warn .statusbar__dot{background:var(--highlight);box-shadow:0 0 6px var(--highlight-glow)}.statusbar__example{font-family:var(--font-mono);color:var(--text-secondary)}.statusbar__hints{align-items:center;gap:4px;margin-left:auto;display:flex}.statusbar__hints kbd{background:var(--bg-inset);border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:3px;padding:1px 5px;font-size:10px}.palette{background:var(--bg-panel);border-right:1px solid var(--border-subtle);width:220px;padding:var(--space-4) var(--space-3);gap:var(--space-2);flex-direction:column;flex:none;display:flex;overflow-y:auto}.palette__section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-top:var(--space-3);margin-bottom:var(--space-1)}.palette__section-title:first-child{margin-top:0}.palette__grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.palette-card{background:var(--bg-panel-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2);cursor:grab;gap:var(--space-1);flex-direction:column;transition:border-color .12s,background .12s;display:flex}.palette-card:hover{border-color:var(--border-strong);background:var(--bg-panel-hover)}.palette-card__preview{justify-content:center;align-items:center;width:100%;height:34px;display:flex}.palette-card__preview .gate-shape{width:56px;height:34px}.palette-card__meta{justify-content:space-between;align-items:center;display:flex}.palette-card__name{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:.02em}.palette-card__add{border-radius:var(--radius-sm);border:1px solid var(--border-strong);width:20px;height:20px;color:var(--text-secondary);cursor:pointer;background:0 0;font-size:14px;line-height:1}.palette-card__add:hover{background:var(--selection-soft);border-color:var(--selection);color:var(--text-primary)}.palette__hint{padding-top:var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);margin-top:auto;line-height:1.4}.inspector{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.inspector__heading{font-family:var(--font-mono);font-size:var(--text-md);color:var(--text-primary);letter-spacing:.02em}.inspector__facts{column-gap:var(--space-2);row-gap:var(--space-1);font-size:var(--text-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.inspector__facts dt{color:var(--text-tertiary)}.inspector__facts dd{font-family:var(--font-mono);color:var(--text-secondary);word-break:break-all;margin:0}.inspector__field{gap:var(--space-1);font-size:var(--text-sm);color:var(--text-tertiary);flex-direction:column;display:flex}.inspector__field input{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-md);padding:6px 8px}.inspector__field input:focus{border-color:var(--selection)}.inspector__field--row{flex-direction:row;justify-content:space-between;align-items:center}.inspector__toggle{border:1px solid var(--border-strong);background:var(--bg-inset);color:var(--text-secondary);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;padding:6px 10px}.inspector__toggle[aria-pressed=true]{color:var(--signal-high);border-color:var(--signal-high);background:var(--signal-high-soft)}.inspector__delete{margin-top:var(--space-2);background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;align-self:flex-start;padding:6px 12px;font-weight:600}.inspector__delete:hover{background:var(--danger);color:var(--text-on-accent)}.legend__hint{font-size:var(--text-sm);color:var(--text-tertiary);line-height:1.5}.legend__list{gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.legend__list li{align-items:center;gap:var(--space-2);display:flex}.legend__swatch{border-radius:var(--radius-sm);flex:none;width:14px;height:14px}.legend__swatch--high{background:var(--signal-high);box-shadow:0 0 8px var(--signal-high-glow)}.legend__swatch--low{background:var(--signal-low)}.legend__swatch--ai{background:var(--ai-accent);box-shadow:0 0 8px var(--ai-accent-glow)}.legend__swatch--highlight{background:var(--highlight);box-shadow:0 0 8px var(--highlight-glow)}.legend__swatch--selection{border:2px solid var(--selection);background:0 0}.truth-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.truth-panel__header{width:100%;padding:var(--space-3) var(--space-4);color:var(--text-primary);font-weight:600;font-size:var(--text-md);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.truth-panel__chevron{color:var(--text-tertiary);font-size:var(--text-lg)}.truth-panel__body{padding:0 var(--space-4) var(--space-4);gap:var(--space-3);flex-direction:column;min-height:0;display:flex;overflow:auto}.truth-panel__actions{gap:var(--space-2);flex-direction:column;display:flex}.truth-panel__generate{background:var(--selection-soft);border:1px solid var(--selection);color:var(--text-primary);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;padding:7px 10px;font-weight:600}.truth-panel__generate:hover{background:var(--selection);color:var(--text-on-accent)}.truth-panel__validate{gap:var(--space-1);font-size:var(--text-sm);color:var(--text-tertiary);flex-direction:column;display:flex}.truth-panel__validate select{background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);padding:6px 8px}.truth-panel__banner{border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.truth-panel__banner p{margin-top:var(--space-1);color:var(--text-secondary)}.truth-panel__banner.is-pass{background:var(--signal-high-soft);border:1px solid var(--signal-high);color:var(--signal-high)}.truth-panel__banner.is-fail{background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger)}.truth-panel__issues{background:var(--highlight-soft);border:1px solid var(--highlight);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-secondary)}.truth-panel__issues p{margin:2px 0}.truth-panel__empty{font-size:var(--text-sm);color:var(--text-tertiary)}.truth-table__scroll{border:1px solid var(--border-hairline);border-radius:var(--radius-md);max-height:320px;overflow:auto}.truth-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:var(--text-sm)}.truth-table th,.truth-table td{text-align:center;border-bottom:1px solid var(--border-hairline);padding:5px 10px}.truth-table th{background:var(--bg-panel-elevated);color:var(--text-tertiary);text-transform:uppercase;font-weight:600;font-size:var(--text-xs);position:sticky;top:0}.truth-table td{color:var(--text-secondary)}.truth-table td.is-high{color:var(--signal-high);font-weight:700}.truth-table__out-col{border-left:1px solid var(--border-subtle)}.truth-table tr.is-mismatch td{background:var(--danger-soft);color:var(--danger)}.app{height:100%}.app__lab{flex-direction:column;height:100%;display:flex}.app__body{flex:auto;min-height:0;display:flex}.app__canvas-loading{color:var(--text-tertiary);background:var(--bg-canvas);flex:auto;justify-content:center;align-items:center;font-size:.9rem;display:flex}.app__right{gap:var(--space-3);width:300px;padding:var(--space-3);background:var(--bg-app);border-left:1px solid var(--border-subtle);flex-direction:column;flex:none;display:flex;overflow:hidden}@media (width<=1180px){.app__right{width:260px}}.app__narrow-notice{display:none}@media (width<=900px){.app__lab>:not(.app__narrow-notice){display:none}.app__narrow-notice{gap:var(--space-3);height:100%;padding:var(--space-4);text-align:center;background:var(--bg-app);flex-direction:column;justify-content:center;align-items:center;display:flex}.app__narrow-notice p{max-width:320px;color:var(--text-secondary);font-size:var(--text-md);line-height:1.5}.app__narrow-notice-back{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-inset);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;padding:8px 16px}.app__narrow-notice-back:hover{background:var(--bg-panel-hover)}}
