@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0d0f12;--panel-bg:#14181cb3;--panel-border:#ffffff14;--text-main:#f0f4f8;--text-muted:#8b95a5;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-glow:#3b82f666;--danger:#ef4444;--success:#10b981}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;width:100vw;height:100vh;font-family:Outfit,sans-serif;overflow:hidden}#root{width:100%;height:100%;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff6}.app-container{width:100%;height:100%;display:flex;position:relative}.sidebar{background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--panel-border);z-index:10;flex-direction:column;width:320px;height:100%;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:4px 0 24px #0006}.sidebar-header{border-bottom:1px solid var(--panel-border);align-items:center;gap:12px;padding:24px;display:flex}.sidebar-header h1{letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:600}.sidebar-content{flex-direction:column;flex:1;gap:32px;padding:24px;display:flex;overflow-y:auto}.section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:16px;font-size:.85rem;font-weight:500;display:flex}.dropzone{border:2px dashed var(--panel-border);text-align:center;cursor:pointer;background:#ffffff05;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;transition:all .2s;display:flex}.dropzone:hover,.dropzone.active{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow);background:#3b82f60d}.dropzone .icon{color:var(--text-muted);transition:color .2s}.dropzone:hover .icon{color:var(--accent)}.dropzone p{color:var(--text-muted);font-size:.9rem;line-height:1.5}.dropzone span{color:var(--text-main);font-weight:500}.examples-grid{flex-direction:column;gap:12px;display:flex}.example-btn{border:1px solid var(--panel-border);cursor:pointer;color:var(--text-main);text-align:left;background:#ffffff08;border-radius:12px;align-items:center;gap:16px;padding:12px 16px;transition:all .2s;display:flex}.example-btn:hover,.example-btn.active{background:#ffffff0f;border-color:#ffffff26;transform:translateY(-2px)}.example-btn.active{border-color:var(--accent);box-shadow:0 0 15px #3b82f633}.example-icon{width:40px;height:40px;color:var(--accent);background:#0000004d;border-radius:8px;justify-content:center;align-items:center;display:flex}.example-info{flex:1}.example-name{margin-bottom:4px;font-size:.95rem;font-weight:500}.example-desc{color:var(--text-muted);font-size:.8rem}.canvas-container{background:radial-gradient(circle,#1a1f26 0%,#0d0f12 100%);flex:1;position:relative}.ui-overlay{background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--panel-border);pointer-events:auto;z-index:20;border-radius:100px;align-items:center;gap:24px;padding:8px 16px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.ui-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50px;align-items:center;gap:8px;padding:8px;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.ui-btn:hover{color:var(--text-main);background:#ffffff0d}.ui-btn.active{color:var(--accent)}.loading-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;color:var(--text-main);background:#0d0f12cc;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner{border:3px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin-bottom:24px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{letter-spacing:.05em;background:linear-gradient(90deg,#fff,#8b95a5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.1rem;font-weight:500}
