@import "https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Roboto:wght@300;400;500;700&family=JetBrains+Mono:wght@400;500;600&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-card:#fff;--border:#dadce0;--text-primary:#202124;--text-secondary:#5f6368;--accent-blue:#1a73e8;--accent-red:#ea4335;--accent-yellow:#fbbc04;--accent-green:#34a853;--shadow:0 1px 3px #3c404326, 0 1px 2px #3c40434d;--shadow-hover:0 4px 12px #3c404333;--color-primary:var(--accent-blue);--color-primary-light:#4285f4;--color-primary-dark:#1557b0;--color-primary-glow:#1a73e81f;--color-secondary:var(--accent-green);--color-accent-yellow:var(--accent-yellow);--color-accent-red:var(--accent-red);--color-accent-orange:#fa7b17;--surface-ground:var(--bg-primary);--surface-0:var(--bg-secondary);--surface-1:#f1f3f4;--surface-2:#e8eaed;--surface-3:#dadce0;--surface-4:#bdc1c6;--surface-elevated:var(--bg-card);--border-subtle:var(--border);--border-default:var(--border);--border-strong:#bdc1c6;--border-focus:var(--accent-blue);--glass-bg:var(--bg-card);--glass-border:var(--border);--glass-blur:0px;--status-success:var(--accent-green);--status-error:var(--accent-red);--status-warning:var(--accent-yellow);--status-info:var(--accent-blue);--text-tertiary:#80868b;--text-on-primary:#fff;--text-on-surface:var(--text-primary);--text-link:var(--accent-blue);--font-sans:"Google Sans", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Google Sans", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--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;--space-16:4rem;--space-20:5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.2s ease;--transition-slow:.4s cubic-bezier(.4,0,.2,1);--transition-spring:.5s cubic-bezier(.34,1.56,.64,1);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-modal:500;--z-toast:700;--z-overlay:900}[data-theme=dark]{--bg-primary:#202124;--bg-secondary:#303134;--bg-card:#303134;--border:#5f6368;--text-primary:#e8eaed;--text-secondary:#9aa0a6;--shadow:0 1px 3px #0006;--shadow-hover:0 4px 12px #00000080;--color-primary-glow:#1a73e833;--surface-ground:#202124;--surface-0:#303134;--surface-1:#3c4043;--surface-2:#444746;--surface-3:#5f6368;--surface-4:#80868b;--surface-elevated:#303134;--border-subtle:#ffffff14;--border-default:#ffffff1f;--border-strong:#fff3;--glass-bg:#303134e6;--glass-border:#ffffff14;--text-tertiary:#9aa0a6}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:var(--leading-normal);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{color:var(--text-secondary);line-height:var(--leading-relaxed)}a{color:var(--accent-blue);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-light)}code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--surface-2);border-radius:var(--radius-sm);padding:2px 6px}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;border:none;font-weight:500;line-height:1;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent-blue);color:#fff;border-radius:24px}.btn-primary:hover{box-shadow:var(--shadow-hover);background:#1557b0}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-secondary);box-shadow:var(--shadow-hover)}.btn-danger{background:var(--accent-red);color:#fff}.btn-danger:hover{box-shadow:var(--shadow-hover);background:#c5221f}.btn-ghost{color:var(--accent-blue);background:0 0}.btn-ghost:hover{background:#1a73e814}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-icon{padding:var(--space-3);border-radius:var(--radius-full)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-6);transition:all .2s}.card:hover{box-shadow:var(--shadow-hover)}.card-elevated{background:var(--bg-card);box-shadow:var(--shadow)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);transition:all var(--transition-fast);outline:none}.input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px #1a73e833}.input::placeholder{color:var(--text-secondary)}.select{appearance:none;padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235F6368' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none}.select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px #1a73e833}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-full);letter-spacing:.02em;font-weight:500;display:inline-flex}.badge-success{color:var(--accent-green);background:#34a8531f}.badge-error{color:var(--accent-red);background:#ea43351f}.badge-warning{color:#f29900;background:#fbbc041f}.badge-info{color:var(--accent-blue);background:#1a73e81f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseRing{0%{transform:scale(.95);box-shadow:0 0 #1a73e866}70%{transform:scale(1);box-shadow:0 0 0 10px #1a73e800}to{transform:scale(.95);box-shadow:0 0 #1a73e800}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes waveform{0%,to{height:4px}25%{height:16px}50%{height:8px}75%{height:20px}}.animate-fade-in{animation:.5s ease-out fadeIn}.animate-fade-in-up{animation:.6s ease-out fadeInUp}.animate-fade-in-down{animation:.6s ease-out fadeInDown}.animate-slide-in-right{animation:.5s ease-out slideInRight}.animate-scale-in{animation:.4s ease-out scaleIn}.animate-pulse{animation:2s infinite pulse}.animate-spin{animation:1s linear infinite spin}.delay-1{animation-delay:.1s;animation-fill-mode:both}.delay-2{animation-delay:.2s;animation-fill-mode:both}.delay-3{animation-delay:.3s;animation-fill-mode:both}.delay-4{animation-delay:.4s;animation-fill-mode:both}.delay-5{animation-delay:.5s;animation-fill-mode:both}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.w-full{width:100%}.h-full{height:100%}.relative{position:relative}.absolute{position:absolute}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.google-dots{align-items:center;gap:6px;display:flex}.google-dots .dot{border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}.google-dots .dot:first-child{background:var(--accent-blue);animation-delay:0s}.google-dots .dot:nth-child(2){background:var(--accent-red);animation-delay:.15s}.google-dots .dot:nth-child(3){background:var(--accent-yellow);animation-delay:.3s}.google-dots .dot:nth-child(4){background:var(--accent-green);animation-delay:.45s}.waveform{align-items:center;gap:3px;height:24px;display:flex}.waveform .bar{background:var(--accent-blue);border-radius:var(--radius-full);width:3px;animation:1s ease-in-out infinite waveform}.waveform .bar:first-child{animation-delay:0s}.waveform .bar:nth-child(2){animation-delay:.1s}.waveform .bar:nth-child(3){animation-delay:.2s}.waveform .bar:nth-child(4){animation-delay:.3s}.waveform .bar:nth-child(5){animation-delay:.4s}@media (max-width:768px){:root{--text-5xl:2.25rem;--text-4xl:1.875rem;--text-3xl:1.5rem}}
