:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;width:100%;height:100vh;overflow:hidden}#root{width:100%;height:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 100%);--bg-header: linear-gradient(135deg, #2c3e50 0%, #1a252f 100%);--bg-sidebar: #fff;--bg-button: #f1f5f9;--bg-button-active: #e0f2fe;--bg-button-hover: #f1f3f5;--bg-button-pressed: #e9ecef;--text-primary: #1f2937;--text-secondary: #4b5563;--text-muted: #64748b;--text-header: #fff;--text-subtitle: #94a3b8;--border-color: #cbd5e1;--border-light: #e5e7eb;--shadow-color: rgba(0, 0, 0, .08);--shadow-header: rgba(0, 0, 0, .15)}[data-theme=dark]{--bg-primary: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);--bg-header: linear-gradient(135deg, #0f0f1a 0%, #1a1a2e 100%);--bg-sidebar: #1e1e2e;--bg-button: #2a2a3e;--bg-button-active: #3a3a5e;--bg-button-hover: #3a3a4e;--bg-button-pressed: #4a4a5e;--text-primary: #e2e8f0;--text-secondary: #a0aec0;--text-muted: #718096;--text-header: #f7fafc;--text-subtitle: #a0aec0;--border-color: #4a5568;--border-light: #2d3748;--shadow-color: rgba(0, 0, 0, .3);--shadow-header: rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary)}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{display:flex;align-items:baseline;gap:16px;padding:10px 20px;background:var(--bg-header);color:var(--text-header);box-shadow:0 2px 8px var(--shadow-header);flex-shrink:0}.header h1{font-size:1.4rem;font-weight:600;letter-spacing:-.02em}.header .subtitle{font-size:.85rem;color:var(--text-subtitle)}.main{display:flex;flex:1 1 0;padding:12px 16px;gap:12px;overflow:hidden;min-height:0}.canvas-container{flex:1;position:relative;min-width:0;min-height:0;overflow:hidden;height:100%}.sidebar{width:260px;flex-shrink:0;padding:14px;background:var(--bg-sidebar);border-radius:8px;box-shadow:0 2px 8px var(--shadow-color);overflow-y:auto}.sidebar h3{margin-bottom:10px;font-size:13px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-light);padding-bottom:8px}.component-info p{font-size:12px;color:var(--text-secondary);margin-bottom:5px}.component-info strong{color:var(--text-primary)}.file-browser-container{position:relative;display:flex;flex-shrink:0;height:100%;transition:width .25s ease-in-out}.file-browser-container.expanded{width:260px}.file-browser-container.collapsed{width:0}.file-browser-content{width:260px;height:100%;overflow:hidden;transition:opacity .2s ease-in-out}.file-browser-container.collapsed .file-browser-content{opacity:0;pointer-events:none}.file-browser-toggle{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:24px;height:48px;background:var(--bg-sidebar);border:1px solid var(--border-color);border-radius:0 6px 6px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:2px 0 8px var(--shadow-color);transition:background .15s,transform .15s}.file-browser-toggle:hover{background:var(--bg-button-hover)!important}.file-browser-toggle:active{transform:translateY(-50%) scale(.95)}.file-browser-container.collapsed .file-browser-toggle{right:-24px;border-radius:6px}.toggle-icon{font-size:10px;color:var(--text-muted);line-height:1}button:hover:not(:disabled){background:var(--bg-button-hover)!important;border-color:var(--border-color)!important}button:active:not(:disabled){background:var(--bg-button-pressed)!important}button:disabled{opacity:.5;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:900px){.sidebar{display:none}}@media(max-width:768px){.header{flex-wrap:wrap;gap:4px;padding:8px 12px}.header h1{font-size:1.1rem}.main{padding:4px}.canvas-container{flex:1;min-height:0}}
