:root{color:#f9fafb;background-color:#111827}*{box-sizing:border-box}body{color:#f9fafb;background:#111827;margin:0;font-family:Inter,system-ui,sans-serif}code{padding:0 4px}button,select{color:#f9fafb;font:inherit;background:#111827;border:1px solid #374151;border-radius:8px;padding:8px 10px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}#root{min-height:100vh}.app-shell{flex-direction:column;gap:14px;min-height:100vh;padding:16px;display:flex}.app-header h1{margin:0;font-size:1.7rem}.app-header p{color:#d1d5db;margin:8px 0 0}.main-grid{flex:1;grid-template-columns:minmax(560px,1fr) minmax(340px,420px);align-items:stretch;gap:14px;min-height:0;display:grid}.side-column{gap:14px;display:grid}.panel{background:#1f2937;border:1px solid #374151;border-radius:12px;padding:12px}.panel h2{margin:0 0 10px;font-size:1.05rem}.workspace-panel{flex-direction:column;min-height:0;display:flex}.workspace-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.starter-controls{align-items:center;gap:8px;display:flex}.workspace-surface{flex:1;width:100%;height:auto;min-height:220px;margin-top:10px}.button-secondary{background:#1f2937}.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.controls-grid button:last-child{grid-column:span 2}.status{margin:0 0 8px}.status-disconnected{color:#fca5a5}.status-connected,.status-uploaded{color:#86efac}.status-uploading{color:#fde68a}.status-error{color:#fca5a5}.warning{color:#fde68a;margin:0 0 12px}.preview-panel pre,.console-panel pre{white-space:pre-wrap;background:#0f172a;border:1px solid #374151;border-radius:8px;max-height:300px;margin:0;padding:10px;font:.85rem/1.5 Fira Code,ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.console-panel summary{cursor:pointer;margin-bottom:10px}.toast-error{color:#fee2e2;background:#7f1d1d;border:1px solid #ef4444;border-radius:8px;margin:0;padding:10px 12px}.blocklyToolboxDiv,.blocklyFlyout,.blocklyFlyoutBackground{background:#0f172a!important}.blocklyToolboxDiv{border-right:1px solid #334155!important}.blocklyTreeLabel,.blocklyToolboxCategoryLabel,.blocklyFlyoutLabelText{color:#000!important;fill:#000!important}.blocklyTreeRow,.blocklyToolboxCategory{color:#000!important}.blocklyTreeRow.blocklyTreeSelected,.blocklyToolboxCategory[aria-selected=true]{background:#1e293b!important}.blocklyTreeRow:not(.blocklyTreeSelected):hover,.blocklyToolboxCategory:hover{background:#334155!important}.blocklyScrollbarHandle{fill:#64748b!important}@media (width<=1200px){.main-grid{grid-template-columns:1fr}.workspace-panel{min-height:42vh}.workspace-surface{min-height:260px}}
