:root{--bg:#0b0d12;--panel:#14171f;--border:#262b36;--text:#e6e9ef;--muted:#9aa3b2;--accent:#6ea8fe;--warn:#ffcf6e;--error:#ff8080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}.app{height:100dvh;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;flex:0 0 clamp(220px,20vw,280px);min-height:0;display:flex}.brand{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:1rem 1.1rem;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), #b388ff);border-radius:6px;width:20px;height:20px;box-shadow:0 0 14px #6ea8fe80}.brand-name{letter-spacing:-.01em;font-size:.92rem;font-weight:650}.sidebar-nav{flex-direction:column;flex:1;gap:2px;min-height:0;padding:.5rem;display:flex;overflow-y:auto}.nav-item{width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:.65rem;margin:0;padding:.6rem .65rem;display:flex}.nav-item:hover{filter:none;background:#ffffff0a}.nav-item.is-active{background:#6ea8fe1f;border-color:#6ea8fe59}.nav-index{font-variant-numeric:tabular-nums;color:var(--muted);padding-top:.12rem;font-size:.72rem}.nav-item.is-active .nav-index{color:var(--accent)}.nav-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.nav-title{font-size:.88rem;font-weight:600}.nav-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;line-height:1.35;display:-webkit-box;overflow:hidden}.sidebar-foot{border-top:1px solid var(--border);color:var(--muted);padding:.7rem 1.1rem;font-size:.72rem}.workspace{flex-direction:column;flex:1;min-width:0;display:flex}.demo-header{border-bottom:1px solid var(--border);background:var(--panel);padding:.85rem 1.25rem}.demo-header h1{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:650}.demo-header p{max-width:80ch;color:var(--muted);margin:.3rem 0 0;font-size:.8rem;line-height:1.45}.app-main{flex:1;min-height:0;display:flex;position:relative}.canvas-host{flex:1;min-width:0;position:relative}.gpu-canvas{width:100%;height:100%;display:block}.canvas-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;background:#0b0d12b8;place-items:center;padding:2rem;display:grid;position:absolute;inset:0}.status{max-width:42ch}.status h2{margin:0 0 .5rem;font-size:1.05rem}.status p{color:var(--muted);margin:.35rem 0;line-height:1.5}.status-hint{font-size:.85rem}.status-info{color:var(--accent)}.status-warn h2{color:var(--warn)}.status-error h2{color:var(--error)}button{border:1px solid var(--border);background:var(--accent);color:#0b0d12;cursor:pointer;border-radius:8px;margin-top:.75rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600}button:hover{filter:brightness(1.08)}.controls-panel{border-left:1px solid var(--border);background:var(--panel);flex:0 0 clamp(240px,22vw,340px);padding:1rem 1.1rem;overflow-y:auto}.controls-title{margin:0 0 .75rem;font-size:.95rem;font-weight:650}.controls-stat{color:var(--muted);margin:0 0 1rem;font-size:.8rem}.controls-stat span{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.control-row{color:var(--muted);grid-template-columns:1fr auto;align-items:center;gap:.3rem .6rem;margin-bottom:.9rem;font-size:.8rem;display:grid}.control-row input[type=range]{width:100%;accent-color:var(--accent);grid-column:1/-1}.control-value{font-variant-numeric:tabular-nums;color:var(--text)}.control-check{grid-template-columns:auto 1fr;justify-items:start}.control-check input{accent-color:var(--accent)}.controls-hint{border-top:1px solid var(--border);color:var(--muted);margin-top:1.25rem;padding-top:.75rem;font-size:.75rem}.control-group{border-bottom:1px solid var(--border);margin-bottom:1.1rem;padding-bottom:.9rem}.control-group:last-of-type{border-bottom:none}.group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.6rem;font-size:.7rem;display:block}.palette-row{flex-wrap:wrap;gap:.35rem;margin-bottom:.9rem;display:flex}.chip{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;margin:0;padding:.3rem .6rem;font-size:.75rem;font-weight:500}.chip:hover{filter:none;color:var(--text)}.chip.is-active{color:var(--accent);background:#6ea8fe26;border-color:#6ea8fe66}.panel{flex:1;min-width:0;padding:1.25rem;overflow-y:auto}.panel-status{align-items:flex-start;gap:1rem;max-width:46ch;margin:3rem auto 0;display:flex}.panel-status-title{margin:0 0 .25rem;font-weight:600}.panel-status-title.error{color:var(--error)}.panel-status-sub{color:var(--muted);margin:.25rem 0;font-size:.85rem}.panel-status-sub.error{color:var(--error)}.panel-status-note{color:var(--muted);margin-top:.6rem;font-size:.75rem}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress-track{background:var(--border);border-radius:3px;height:6px;margin-top:.5rem;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .2s}.semantic-grid{grid-template-columns:1fr 1fr;gap:1.5rem;width:100%;height:100%;display:grid}@media (width<=820px){.semantic-grid{grid-template-columns:1fr}}.semantic-col{flex-direction:column;min-height:0;display:flex}.col-head{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.col-head h3{margin:0;font-size:.95rem}.badge{color:var(--accent);font-variant-numeric:tabular-nums;background:#6ea8fe26;border-radius:999px;padding:.15rem .5rem;font-size:.72rem}.doc-input{resize:vertical;border:1px solid var(--border);background:var(--bg);min-height:220px;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:.7rem;font-size:.82rem;line-height:1.5}.row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.query-input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:.55rem .7rem;font-size:.9rem}button:disabled{opacity:.5;cursor:not-allowed}button.ghost,.file-btn{color:var(--text);border:1px solid var(--border);background:0 0;margin:0}.file-btn{cursor:pointer;border-radius:8px;align-items:center;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.row button{margin:0}.ok-note{color:#7ddca0;margin:.6rem 0 0;font-size:.8rem}.results{flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.result{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:.7rem .8rem}.result-bar-wrap{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex;position:relative}.result-bar{background:linear-gradient(90deg, var(--accent), #b388ff);border-radius:3px;min-width:2%;height:6px}.result-score{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.result-text{color:var(--text);margin:0;font-size:.82rem;line-height:1.5}.load-stage{gap:.25rem;margin:.7rem 0;display:grid}.load-stage>span:first-child{font-size:.78rem;font-weight:600}.load-stage .panel-status-sub{margin:0;font-size:.75rem}.model-select{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:8px;padding:.3rem .5rem;font-size:.75rem}.model-select:disabled{opacity:.6}.stop-btn{margin:0;padding:.3rem .7rem;font-size:.75rem}.chat-log{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;flex:1;gap:.85rem;min-height:220px;padding:.75rem;display:flex;overflow-y:auto}.chat-turn{flex-direction:column;gap:.3rem;max-width:92%;display:flex}.chat-turn.user{align-self:flex-end;align-items:flex-end}.chat-turn.assistant{align-self:flex-start}.chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:.55rem .75rem;font-size:.85rem;line-height:1.5}.chat-turn.user .chat-bubble{background:#6ea8fe26;border:1px solid #6ea8fe4d}.chat-turn.assistant .chat-bubble{background:var(--panel);border:1px solid var(--border)}.typing{color:var(--accent);animation:1s steps(2,start) infinite blink}@keyframes blink{to{opacity:.2}}.chat-sources{color:var(--muted);font-size:.75rem}.chat-sources summary{cursor:pointer;-webkit-user-select:none;user-select:none}.chat-sources ol{flex-direction:column;gap:.4rem;margin:.4rem 0 0;padding-left:1.1rem;display:flex}.chat-sources li{line-height:1.45}.src-tag{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.chat-stats{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.7rem}.mixer-controls .transport{width:100%;margin:0 0 .9rem;padding:.55rem;font-size:.9rem}.mixer-controls .transport.is-playing{background:var(--warn)}.mixer-strips{flex-direction:column;gap:.6rem;display:flex}.strip{border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:.6rem .7rem}.strip.is-dimmed{opacity:.45}.strip-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.strip-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.strip-x{color:var(--muted);background:0 0;border:none;margin:0;padding:0 .35rem;font-size:1rem;line-height:1.2}.strip-x:hover{color:var(--error);filter:none}.strip .control-row{margin-bottom:.4rem}.strip-btns{gap:.4rem;margin-top:.15rem;display:flex}.mini{color:var(--muted);border:1px solid var(--border);background:0 0;flex:1;margin:0;padding:.3rem;font-size:.72rem}.mini:hover{color:var(--text);filter:none}.mini.mute-on{color:var(--error);background:#ff80802e;border-color:#ff808080}.mini.solo-on{color:var(--warn);background:#ffcf6e2e;border-color:#ffcf6e80}.mixer-add{justify-content:center;width:100%;margin-top:.7rem}.xf-legend-row{align-items:center;gap:.5rem;padding:.28rem 0;font-size:.8rem;display:flex}.xf-swatch{border-radius:3px;flex:none;width:10px;height:10px}.xf-legend-label{color:var(--text)}.xf-legend-range{color:var(--accent);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.72rem}.xf-hover .controls-stat{margin-bottom:0}.xf-reset{width:100%;margin-top:.4rem}.obs-page{flex:1;min-width:0;min-height:0;display:flex}.obs-rail{border-right:1px solid var(--border);background:var(--panel);flex:0 0 clamp(260px,24vw,320px);padding:.75rem .9rem 2rem;overflow-y:auto}.obs-section{border-bottom:1px solid var(--border);padding:.6rem 0}.obs-section>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.obs-section>summary::-webkit-details-marker{display:none}.obs-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-size:.7rem;font-weight:700}.obs-section-note{color:var(--muted);margin:.35rem 0 .5rem;font-size:.72rem;line-height:1.45}.obs-section-body{flex-direction:column;gap:.15rem;display:flex}.obs-subgroup{border:1px dashed var(--border);border-radius:8px;flex-wrap:wrap;gap:.15rem .9rem;margin-top:.2rem;padding:.4rem .6rem;display:flex}.obs-switch{cursor:pointer;color:var(--text);align-items:center;gap:.55rem;padding:.32rem .2rem;font-size:.8rem;display:flex}.obs-switch.is-disabled{opacity:.4;cursor:not-allowed}.obs-switch input{opacity:0;width:0;height:0;position:absolute}.obs-switch-track{background:var(--border);border-radius:999px;flex:none;width:30px;height:17px;transition:background .15s;position:relative}.obs-switch-thumb{background:var(--muted);border-radius:50%;width:13px;height:13px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.obs-switch input:checked+.obs-switch-track{background:#6ea8fe66}.obs-switch input:checked+.obs-switch-track .obs-switch-thumb{background:var(--accent);transform:translate(13px)}.obs-switch-label{line-height:1.3}.obs-slider{color:var(--muted);flex-direction:column;gap:.25rem;padding:.35rem .2rem .5rem;font-size:.75rem;display:flex}.obs-slider input{width:100%;accent-color:var(--accent)}.obs-field,.obs-field-static{color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .2rem;font-size:.78rem;display:flex}.obs-field .model-select{flex:0 60%}.obs-ok{color:#7ddca0}.obs-warn{color:var(--warn);text-align:right}.obs-stage{flex-direction:column;flex:1;gap:.75rem;min-width:0;min-height:0;padding:.85rem 1rem;display:flex}.obs-toolbar{align-items:baseline;gap:.75rem;display:flex}.obs-toolbar-title{font-size:.9rem;font-weight:650}.obs-toolbar-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.obs-clear{margin:0 0 0 auto;padding:.3rem .7rem;font-size:.75rem}.obs-panel-head{align-items:baseline;gap:.6rem;margin-bottom:.4rem;display:flex}.obs-panel-head h3{margin:0;font-size:.85rem}.obs-panel-sub{color:var(--muted);font-size:.72rem}.obs-inject{flex:none}.obs-inject-grid{flex-wrap:wrap;gap:.4rem;display:flex}.obs-inject-btn{color:var(--accent);background:#6ea8fe1f;border:1px solid #6ea8fe59;margin:0;padding:.4rem .75rem;font-size:.76rem}.obs-inject-btn:hover{filter:none;background:#6ea8fe33}.obs-inject-btn:disabled{color:var(--muted);border-color:var(--border);background:0 0}.obs-split{flex:1;grid-template-columns:1fr 1fr;gap:1rem;min-height:0;display:grid}@media (width<=900px){.obs-split{grid-template-columns:1fr}}.obs-col{flex-direction:column;min-height:0;display:flex}.obs-stream{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;flex:1;gap:.3rem;min-height:120px;padding:.5rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.76rem;display:flex;overflow-y:auto}.obs-empty{color:var(--muted);font-family:var(--font,ui-sans-serif);text-align:center;margin:auto;font-size:.8rem}.obs-line{border-left:2px solid #0000;gap:.5rem;padding-left:.4rem;line-height:1.4;display:flex}.obs-src{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex:none;min-width:52px;padding-top:.1rem;font-size:.62rem}.obs-msg{word-break:break-word;min-width:0;color:var(--text)}.lvl-warn{border-left-color:var(--warn)}.lvl-warn .obs-msg{color:var(--warn)}.lvl-error{border-left-color:var(--error)}.lvl-error .obs-msg{color:var(--error)}.obs-cluster{border:1px solid var(--border);background:var(--panel);border-left-width:2px;border-radius:8px;padding:.45rem .55rem}.obs-cluster.lvl-warn{border-left-color:var(--warn)}.obs-cluster.lvl-error{border-left-color:var(--error)}.obs-cluster-head{align-items:center;gap:.5rem;margin-bottom:.2rem;display:flex}.obs-count{color:var(--accent);background:#6ea8fe26;border-radius:999px;padding:.02rem .4rem;font-size:.68rem;font-weight:700}.obs-headers,.obs-frames{border-top:1px dashed var(--border);color:var(--muted);word-break:break-all;margin-top:.3rem;padding-top:.3rem;font-size:.68rem;line-height:1.5}.obs-hkey{color:var(--warn)}.obs-fn{color:var(--accent)}.obs-note{color:var(--warn);margin:.4rem 0 0;font-size:.72rem}.obs-analysis{flex-direction:column;flex:none;max-height:34vh;display:flex}.row-tight{align-items:center;gap:.4rem;margin-left:auto;display:flex}.obs-analyze-btn{margin:0;padding:.35rem .85rem;font-size:.78rem}.obs-cards{flex-direction:column;gap:.6rem;padding-right:.2rem;display:flex;overflow-y:auto}.obs-card{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:.6rem .75rem}.obs-card-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.4rem;font-size:.68rem}.obs-card-top{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.obs-sev{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.1rem .5rem;font-size:.68rem;font-weight:700}.sev-info{color:var(--accent);background:#6ea8fe2e}.sev-warn{color:var(--warn);background:#ffcf6e2e}.sev-error{color:var(--error);background:#ff80802e}.sev-critical{background:var(--error);color:#1a0000}.obs-cat{color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:.06rem .5rem;font-size:.72rem}.obs-conf{color:var(--muted);margin-left:auto;font-size:.68rem}.obs-pattern{color:var(--text);margin-bottom:.25rem;font-size:.82rem;font-weight:600}.obs-summary{color:var(--text);margin:0;font-size:.82rem;line-height:1.5}.obs-summary.error{color:var(--error)}.obs-prose{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.82rem;line-height:1.55}.obs-action{color:var(--muted);margin:.5rem 0 0;font-size:.78rem;line-height:1.5}.obs-action-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border:1px solid #6ea8fe59;border-radius:4px;margin-right:.35rem;padding:.02rem .3rem;font-size:.62rem}.obs-boundary-caught{color:var(--error);background:#ff808014;border:1px solid #ff808066;border-radius:8px;padding:.5rem .75rem;font-size:.78rem}.obs-telemetry{border:1px solid var(--border);background:var(--panel);border-radius:10px;flex:none;align-items:center;gap:1rem;padding:.55rem .75rem;display:flex}.obs-tele-status{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.obs-dot{background:var(--muted);border-radius:50%;flex:none;width:9px;height:9px}.dot-ready{background:#7ddca0;box-shadow:0 0 8px #7ddca0b3}.dot-loading{background:var(--accent);animation:1s steps(2,start) infinite blink}.dot-error,.dot-unsupported{background:var(--error)}.obs-tele-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.obs-tele-title{color:var(--text);font-size:.78rem}.obs-tele-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.obs-metrics{flex:none;align-items:center;gap:1rem;display:flex}.obs-metric{flex-direction:column;align-items:flex-end;gap:.1rem;display:flex}.obs-metric-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.62rem}.obs-metric-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:.82rem;font-weight:650}.obs-gauge{align-items:stretch;min-width:120px}.obs-gauge-track{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.obs-gauge-fill{background:var(--accent);height:100%;transition:width .2s}.obs-gauge-fill.hot{background:var(--warn)}
