:root{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-glass: rgba(255, 255, 255, .05);--border-glass: rgba(255, 255, 255, .1);--text-primary: #f0f0f0;--text-secondary: #a0a0b0;--accent: #7c3aed;--accent-glow: rgba(124, 58, 237, .4);--success: #10b981;--danger: #ef4444;--radius: 12px;--radius-sm: 8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden}.hidden{display:none!important}.landing{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:radial-gradient(ellipse at top,#1a1a3e 0%,var(--bg-primary) 70%)}.landing-content{text-align:center;max-width:500px}.landing-title{font-size:3.5rem;font-weight:800;background:linear-gradient(135deg,#a78bfa,#7c3aed,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem}.landing-subtitle{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.start-btn{display:inline-block;padding:1rem 3rem;font-size:1.2rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:50px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px var(--accent-glow)}.start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--accent-glow)}.start-btn:active{transform:translateY(0)}.landing-hint{color:var(--text-secondary);font-size:.85rem;margin-top:1.5rem;margin-bottom:.75rem}.drop-zone{border:2px dashed var(--border-glass);border-radius:var(--radius);padding:2rem;color:var(--text-secondary);cursor:pointer;transition:border-color .2s,background .2s}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background:var(--bg-glass)}.app{display:flex;flex-direction:column;height:100vh;padding:1rem;gap:1rem}.canvas-container{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius);overflow:hidden}.canvas-container video{display:none}.canvas-container canvas{max-width:100%;max-height:100%;border-radius:var(--radius-sm)}.version-badge{position:absolute;top:1rem;left:1rem;padding:.3rem .75rem;font-size:.7rem;font-weight:600;font-family:SF Mono,Fira Code,monospace;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-glass);border-radius:20px;color:var(--text-secondary)}.version-badge--landing{position:fixed;top:1rem;left:1rem;bottom:auto;right:auto}.status-bar{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem}.badge{padding:.3rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-glass);border-radius:20px;color:var(--text-primary)}.perf-overlay{position:absolute;top:3.5rem;right:1rem;display:flex;gap:.75rem;padding:.4rem .75rem;font-size:.7rem;font-family:SF Mono,Fira Code,monospace;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-glass);border-radius:20px;color:var(--text-secondary)}.perf-overlay b{color:var(--text-primary);font-weight:600}.perf-overlay.hidden{display:none}.progress-container{position:absolute;bottom:1rem;left:1rem;right:1rem;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-glass);border-radius:20px;padding:.5rem 1rem;display:flex;align-items:center;gap:.75rem}.progress-bar{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;position:relative}.progress-bar:after{content:"";position:absolute;top:0;left:0;height:100%;width:var(--progress, 0%);background:linear-gradient(90deg,var(--accent),#ec4899);border-radius:3px;transition:width .3s ease}.progress-text{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.progress-container.success .progress-text{color:var(--success);font-weight:600}.progress-container.success .progress-bar:after{background:var(--success)}.style-picker{display:flex;gap:.75rem;padding:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-glass);border-radius:var(--radius)}.style-picker::-webkit-scrollbar{height:4px}.style-picker::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:2px}.style-card{flex-shrink:0;scroll-snap-align:start;width:100px;cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;transition:border-color .2s,transform .2s;background:var(--bg-secondary)}.style-card:hover{transform:translateY(-2px);border-color:var(--border-glass)}.style-card.active{border-color:var(--accent);box-shadow:0 0 15px var(--accent-glow)}.style-card img{width:100%;height:70px;object-fit:cover}.style-card .style-name{padding:.4rem;font-size:.7rem;text-align:center;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.controls{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1rem;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-glass);border-radius:var(--radius);flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:.5rem}.control-group label{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.control-group input[type=range]{width:100px;accent-color:var(--accent)}.control-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}#blend-value{font-size:.8rem;color:var(--text-secondary);min-width:35px}.control-buttons{display:flex;gap:.5rem;margin-left:auto}.action-btn{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border:1px solid var(--border-glass);border-radius:20px;background:var(--bg-glass);color:var(--text-primary);cursor:pointer;transition:background .2s,border-color .2s}.action-btn:hover{background:#ffffff1a;border-color:var(--accent)}.action-btn.recording{border-color:var(--danger);color:var(--danger);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width: 600px){.landing-title{font-size:2.5rem}.controls{gap:.75rem}.control-group input[type=range]{width:70px}.style-card{width:80px}.style-card img{height:55px}}
