:root{color-scheme:light dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#111827;color:#e5e7eb}body,html,#root{margin:0;padding:0;width:100%;height:100%}*:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}body{display:flex;justify-content:center;align-items:stretch}.app-shell{display:grid;grid-template-columns:var(--sidebar-width, 320px) 6px 1fr;grid-template-rows:auto 1fr;width:100%;height:100%;background:#0f172a}.sidebar{grid-row:1 / span 2;background:#0f172ae6;border-right:1px solid rgba(148,163,184,.2);padding:1.5rem;overflow-y:auto}.sidebar-divider{grid-row:1 / span 2;width:6px;cursor:col-resize;background:#94a3b833}.sidebar-divider:hover{background:#94a3b859}.main-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;overflow:hidden;flex:1;min-height:0}.header{display:flex;justify-content:space-between;align-items:center}.button{background:#2563eb;color:#fff;border:none;padding:.5rem .75rem;border-radius:.5rem;cursor:pointer;font-weight:600;font-size:.85rem;white-space:nowrap;min-width:fit-content}.button:disabled{opacity:.6;cursor:not-allowed}.button:hover:not(:disabled){background:#1d4ed8}.button-sm{padding:.35rem .6rem;font-size:.8rem}.button-secondary{background:#475569}.button-secondary:hover:not(:disabled){background:#334155}.run-item{padding:.75rem 1rem;border-radius:.75rem;margin-bottom:.75rem;background:#1e293bcc;cursor:pointer;position:relative}.run-item.active{border:1px solid #3b82f6}.icon-btn{position:absolute;top:8px;right:8px;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:2px 6px;font-size:.9rem;opacity:0;transition:opacity .12s ease-in-out,background .12s}.run-item:hover .icon-btn{opacity:1}.icon-btn:hover{background:#ef444433}@media (max-width: 980px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{max-height:40vh}.sidebar-divider{display:none}}@media (max-width: 600px){.header{flex-direction:column;align-items:flex-start;gap:.5rem}.main-content{padding:.75rem;gap:.5rem}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.metric-card{padding:.6rem}.metric-value{font-size:1.1rem}.metric-label{font-size:.65rem}.button{padding:.4rem .5rem;font-size:.75rem}.sidebar{max-height:35vh;padding:.75rem}.run-item{padding:.5rem .75rem;margin-bottom:.5rem}.viewer-panel{min-height:200px}.log-panel{max-height:120px;padding:.5rem;font-size:.75rem}.split-container{flex-direction:column}.split-pane{min-height:120px!important}.split-divider{width:100%;height:6px;cursor:row-resize}.dt-builder{flex-direction:column}.dt-palette{width:100%;max-height:120px;border-right:none;border-bottom:1px solid #334155;display:flex;flex-wrap:wrap;gap:6px;padding:8px}.dt-palette-item{margin-bottom:0;padding:6px 8px;font-size:.75rem}.dt-properties{width:100%;max-height:200px;border-left:none;border-top:1px solid #334155}.dt-canvas{min-height:250px}.dt-component{width:50px;height:50px;font-size:.7rem}}@media (max-width: 400px){.metrics-grid{grid-template-columns:1fr}.header h1{font-size:1.1rem}.sidebar{max-height:30vh}}.scenario-container{display:flex;flex-direction:column;gap:1rem}.scenario-mobile-tabs{display:none}.scenario-grid{display:grid;grid-template-columns:320px 1fr;gap:1rem;min-height:600px}.scenario-sidebar{overflow-y:auto;max-height:80vh}.scenario-edit-panel{display:flex;flex-direction:column;gap:1rem}.scenario-compare-panel{display:none}.desktop-compare{display:block}@media (max-width: 768px){.scenario-container{height:calc(100vh - 60px)}.scenario-mobile-tabs{display:flex;border-bottom:1px solid #334155;background:#1e293b}.scenario-mobile-tabs button{flex:1;padding:10px 8px;background:transparent;border:none;color:#94a3b8;font-size:12px;cursor:pointer}.scenario-mobile-tabs button.active{background:#334155;color:#fff;border-bottom:2px solid #3b82f6}.scenario-grid{display:block;position:relative;flex:1}.scenario-sidebar,.scenario-edit-panel,.scenario-compare-panel{display:none;position:absolute;inset:0;background:#0f172a;padding:1rem;overflow:auto}.scenario-sidebar.mobile-visible{display:block}.scenario-edit-panel.mobile-visible,.scenario-compare-panel.mobile-visible{display:flex;flex-direction:column;gap:1rem}.desktop-compare{display:none}}.console-mobile-tabs{display:none}.header-divider{width:1px;height:24px;background:#475569;margin:0 .25rem}.console-runs-panel{display:contents}.console-info-panel{display:none}@media (max-width: 768px){.console-mobile-tabs{display:flex;border-bottom:1px solid #334155;background:#1e293b;position:fixed;top:0;left:0;right:0;z-index:100}.console-mobile-tabs button{flex:1;padding:12px 8px;background:transparent;border:none;color:#94a3b8;font-size:12px;cursor:pointer}.console-mobile-tabs button.active{background:#334155;color:#fff;border-bottom:2px solid #3b82f6}.app-shell{padding-top:44px}.console-runs-panel{display:none;position:fixed;inset:44px 0 0;z-index:50;background:#0f172a}.console-runs-panel.mobile-visible{display:flex;flex-direction:column}.console-view-panel{display:none;position:fixed;inset:44px 0 0;z-index:50;background:#0f172a;padding:.75rem}.console-view-panel.mobile-visible{display:flex;flex-direction:column;overflow:hidden}.console-view-panel.mobile-visible .vsplit-container{flex:1;min-height:0}.console-view-panel.mobile-visible .vsplit-pane{flex:1!important;flex-basis:100%!important}.console-view-panel.mobile-visible .viewer-panel{height:100%!important;min-height:0!important}.console-info-panel{display:none;position:fixed;inset:44px 0 0;z-index:50;background:#0f172a}.console-info-panel.mobile-visible{display:flex;flex-direction:column;overflow-y:auto}.console-runs-panel .sidebar{max-height:none;height:100%;border:none;flex:1}.sidebar-divider,.desktop-only{display:none!important}.console-header{flex-direction:column;align-items:flex-start!important;gap:8px}.console-header h1{font-size:1.1rem}.header-divider{display:none}}.dt-builder-container{display:flex;flex-direction:column;height:100%;background:#0f172a;color:#e2e8f0}.dt-mobile-tabs{display:none}.dt-builder-main{display:flex;flex:1;min-height:0}.dt-panel{overflow-y:auto}.dt-palette-panel{width:220px;border-right:1px solid #334155;padding:12px}.dt-canvas-panel{flex:1;display:flex;flex-direction:column}.dt-properties-panel{width:260px;border-left:1px solid #334155;padding:12px}.dt-toolbar{padding:8px 12px;border-bottom:1px solid #334155;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dt-toolbar-info{font-size:12px;color:#64748b}@media (max-width: 768px){.dt-mobile-tabs{display:flex;border-bottom:1px solid #334155;background:#1e293b}.dt-mobile-tabs button{flex:1;padding:10px 8px;background:transparent;border:none;color:#94a3b8;font-size:12px;cursor:pointer}.dt-mobile-tabs button.active{background:#334155;color:#fff;border-bottom:2px solid #3b82f6}.dt-builder-main{position:relative}.dt-panel{display:none;position:absolute;inset:0;width:100%!important;border:none!important}.dt-panel.mobile-visible{display:flex;flex-direction:column}.dt-palette-panel.mobile-visible{padding:12px;overflow-y:auto}.dt-palette-panel .dt-component-list{display:grid!important;grid-template-columns:repeat(2,1fr);gap:8px}.dt-canvas-panel.mobile-visible{display:flex}.dt-properties-panel.mobile-visible{padding:12px;overflow-y:auto}.dt-toolbar{padding:6px 8px;gap:8px}.dt-toolbar input{max-width:140px!important}}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.metric-card{background:#1e293bcc;border-radius:.75rem;padding:1rem}.metric-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.metric-value{font-size:1.4rem;font-weight:700}.viewer-panel{flex:1;min-height:320px;background:#0f172a99;border-radius:.75rem;border:1px solid rgba(148,163,184,.2);position:relative;overflow:hidden}.viewer-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.log-panel{background:#1e293bb3;border-radius:.75rem;padding:1rem;max-height:200px;overflow-y:auto;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;color:#cbd5f5}.split-container{display:flex;gap:.75rem;align-items:stretch}.split-pane{border-radius:.75rem;border:1px solid rgba(148,163,184,.2);background:#0f172a80;overflow:hidden}.split-divider{width:6px;cursor:col-resize;background:#94a3b833;border-radius:4px}.split-divider:hover{background:#94a3b859}.vsplit-container{display:flex;flex-direction:column;gap:.75rem;align-items:stretch}.vsplit-pane{border-radius:.75rem;border:1px solid rgba(148,163,184,.2);background:#0f172a80;overflow:hidden}.vsplit-divider{height:6px;cursor:row-resize;background:#94a3b833;border-radius:4px}.vsplit-divider:hover{background:#94a3b859}.dt-builder{display:flex;height:100%;background:#0f172a;color:#e2e8f0}.dt-palette{width:220px;border-right:1px solid #334155;padding:12px;overflow-y:auto}.dt-palette-item{padding:8px 10px;background:#1e293b;border-radius:6px;cursor:grab;display:flex;align-items:center;gap:8px;margin-bottom:8px;border:2px solid transparent;transition:all .15s}.dt-palette-item:hover{border-color:currentColor}.dt-palette-item:active{cursor:grabbing}.dt-canvas{flex:1;position:relative;background:linear-gradient(#0f172a 1px,transparent 1px),linear-gradient(90deg,#0f172a 1px,transparent 1px),#1e293b;background-size:20px 20px;overflow:hidden}.dt-component{position:absolute;width:60px;height:60px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:move;transition:box-shadow .15s}.dt-component.selected{box-shadow:0 0 12px #ffffff4d}.dt-properties{width:260px;border-left:1px solid #334155;padding:12px;overflow-y:auto}.dt-ped-status{margin-top:20px;padding:12px;background:#1e293b;border-radius:8px}.dt-ped-achievable{background:#166534;padding:4px 8px;border-radius:4px;text-align:center;margin-top:6px}.dt-ped-not-achievable{background:#7f1d1d;padding:4px 8px;border-radius:4px;text-align:center;margin-top:6px}
