:root{--color-bg-primary: #0a0a0f;--color-bg-secondary: #12121a;--color-bg-tertiary: #1a1a24;--color-bg-elevated: #22222e;--color-bg-hover: #2a2a38;--color-border: rgba(255, 255, 255, .08);--color-border-subtle: rgba(255, 255, 255, .04);--color-border-focus: rgba(0, 210, 255, .5);--color-text-primary: #f0f0f5;--color-text-secondary: #a0a0b0;--color-text-muted: #606070;--color-accent: #00d4ff;--color-accent-hover: #00b8e0;--color-accent-subtle: rgba(0, 212, 255, .1);--color-accent-glow: rgba(0, 212, 255, .3);--color-success: #00e676;--color-success-subtle: rgba(0, 230, 118, .1);--color-error: #ff5252;--color-error-subtle: rgba(255, 82, 82, .1);--color-warning: #ffab40;--color-warning-subtle: rgba(255, 171, 64, .1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--color-accent-glow);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 50% 0%,rgba(0,212,255,.03) 0%,transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(120,0,255,.02) 0%,transparent 50%);pointer-events:none;z-index:-1}.app{max-width:720px;margin:0 auto;padding:var(--space-8) var(--space-6);min-height:100vh}.header{text-align:center;margin-bottom:var(--space-10);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border-subtle)}.header-logo{display:inline-flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.header-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--color-accent) 0%,#7b2ff7 100%);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:var(--shadow-glow)}.header h1{font-size:var(--text-3xl);font-weight:700;background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.header p{color:var(--color-text-secondary);font-size:var(--text-base);margin-top:var(--space-2)}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.card:hover{border-color:var(--color-border-focus)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.card-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2)}.card-title-icon{width:20px;height:20px;opacity:.7}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-2);letter-spacing:.01em}.form-input,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);font-family:inherit;transition:all var(--transition-fast)}.form-input:hover,.form-textarea:hover{border-color:#ffffff26}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle);background:var(--color-bg-elevated)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{min-height:120px;resize:vertical;line-height:1.5}.form-input-group{display:flex;gap:var(--space-3)}.form-input-group .form-input{flex:1}.form-input[type=password]{font-family:var(--font-mono);letter-spacing:.05em}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 24px;font-size:var(--text-sm);font-weight:600;font-family:inherit;letter-spacing:.02em;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-decoration:none;overflow:hidden;isolation:isolate}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity var(--transition-fast);z-index:-1}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;filter:grayscale(.3)}.btn-primary{background:linear-gradient(135deg,#00d4ff,#00a8e8,#08c);color:#000;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.2);box-shadow:0 2px 4px #0000004d,0 4px 12px #00d4ff40,inset 0 1px #ffffff40,inset 0 -1px #0000001a}.btn-primary:before{background:linear-gradient(135deg,#33e0ff,#00c4f0,#09d)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0006,0 8px 24px #00d4ff66,0 0 40px #00d4ff33,inset 0 1px #ffffff4d,inset 0 -1px #0000001a}.btn-primary:hover:not(:disabled):before{opacity:1}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000004d,0 2px 8px #00d4ff33,inset 0 2px 4px #00000026}.btn-secondary{background:linear-gradient(135deg,#ffffff14,#ffffff05);color:var(--color-text-primary);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 4px #0003,inset 0 1px #ffffff14}.btn-secondary:before{background:linear-gradient(135deg,#00d4ff26,#00d4ff0d)}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 4px 12px #0000004d,0 0 20px #00d4ff1a,inset 0 1px #ffffff1a}.btn-secondary:hover:not(:disabled):before{opacity:1}.btn-secondary:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 2px #0003,inset 0 1px 3px #0003}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid transparent}.btn-ghost:before{background:#ffffff0d}.btn-ghost:hover:not(:disabled){color:var(--color-text-primary);border-color:#ffffff1a}.btn-ghost:hover:not(:disabled):before{opacity:1}.btn-lg{padding:16px 32px;font-size:var(--text-base);border-radius:var(--radius-lg);letter-spacing:.03em}.btn-lg.btn-primary{box-shadow:0 4px 8px #0000004d,0 8px 20px #00d4ff4d,inset 0 1px #ffffff40,inset 0 -1px #0000001a}.btn-lg.btn-primary:hover:not(:disabled){box-shadow:0 6px 12px #0006,0 12px 36px #00d4ff73,0 0 60px #00d4ff40,inset 0 1px #ffffff4d,inset 0 -1px #0000001a}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--radius-md)}.btn svg{flex-shrink:0;transition:transform var(--transition-fast)}.btn:hover:not(:disabled) svg{transform:scale(1.05)}.btn-primary svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.connection-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.connection-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.connection-dot.connected{background:var(--color-success);box-shadow:0 0 8px var(--color-success)}.connection-dot.disconnected{background:var(--color-text-muted);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.quota-bar{margin-top:var(--space-5);padding:var(--space-4);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.quota-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.quota-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.quota-value{font-size:var(--text-sm);font-weight:600;color:var(--color-accent);font-family:var(--font-mono)}.quota-progress{height:4px;background:var(--color-bg-elevated);border-radius:var(--radius-full);overflow:hidden}.quota-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-accent),#7b2ff7);border-radius:var(--radius-full);transition:width var(--transition-slow)}.status{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-pending{background:var(--color-warning-subtle);color:var(--color-warning)}.status-processing{background:var(--color-accent-subtle);color:var(--color-accent)}.status-complete,.status-streaming{background:var(--color-success-subtle);color:var(--color-success)}.status-error{background:var(--color-error-subtle);color:var(--color-error)}.task-list{display:flex;flex-direction:column;gap:var(--space-4)}.task-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-5);transition:all var(--transition-fast)}.task-card:hover{border-color:var(--color-border)}.task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.task-info{flex:1;min-width:0}.task-prompt{font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-id{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.track-list{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.track{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.track-info{flex:1;min-width:0}.track-title{font-weight:500;font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-1)}.track-meta{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.track audio{width:100%;max-width:280px;height:36px;border-radius:var(--radius-sm)}.track audio::-webkit-media-controls-panel{background:var(--color-bg-elevated)}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:14px;height:14px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm)}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-elevated) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.message{padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message-icon{flex-shrink:0;width:20px;height:20px}.message-content{flex:1;font-size:var(--text-sm)}.message-error{background:var(--color-error-subtle);border:1px solid rgba(255,82,82,.2);color:var(--color-error)}.message-success{background:var(--color-success-subtle);border:1px solid rgba(0,230,118,.2);color:var(--color-success)}.message-info{background:var(--color-accent-subtle);border:1px solid rgba(0,212,255,.2);color:var(--color-accent)}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);color:var(--color-text-muted)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.empty-state-text{font-size:var(--text-sm)}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}@media(max-width:640px){.app{padding:var(--space-4)}.header h1{font-size:var(--text-2xl)}.card{padding:var(--space-4)}.track{flex-direction:column;align-items:stretch}.track audio{max-width:100%}.form-input-group{flex-direction:column}.task-header{flex-direction:column;gap:var(--space-2)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-bg-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}::selection{background:var(--color-accent);color:#000}
