*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f0f2f5;--text: #1a1a2e;--text-secondary: #64748b;--card-bg: #ffffff;--card-shadow: 0 4px 24px rgba(0, 0, 0, .08);--input-bg: #ffffff;--input-border: #d1d5db;--input-border-focus: #6366f1;--accent-start: #6366f1;--accent-end: #8b5cf6;--error: #ef4444;--error-bg: #fef2f2;--toggle-bg: #e2e8f0;--toggle-hover: #cbd5e1}[data-theme=dark]{--bg: #0f0f23;--text: #e4e4e7;--text-secondary: #a1a1aa;--card-bg: #1e1e3a;--card-shadow: 0 4px 24px rgba(0, 0, 0, .3);--input-bg: #2a2a4a;--input-border: #3f3f6a;--input-border-focus: #818cf8;--accent-start: #818cf8;--accent-end: #a78bfa;--error: #f87171;--error-bg: #451a1a;--toggle-bg: #2a2a4a;--toggle-hover: #3f3f6a}html,body,#root{height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);transition:background .3s ease,color .3s ease}.app-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;position:relative}.card{background:var(--card-bg);border-radius:1rem;box-shadow:var(--card-shadow);padding:2.5rem;max-width:480px;width:100%;text-align:center;transition:background .3s ease,box-shadow .3s ease}.logo{max-height:360px;margin-bottom:.5rem}.subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.925rem}.url-form{display:flex;gap:.5rem;width:100%}.url-input{flex:1;padding:.75rem 1.25rem;font-size:.925rem;border:2px solid var(--input-border);border-radius:999px;outline:none;background:var(--input-bg);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease,background .3s ease}.url-input:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 3px #6366f126}.url-input::placeholder{color:var(--text-secondary)}.download-btn{padding:.75rem 1.5rem;font-size:.925rem;font-weight:600;border:none;border-radius:999px;background:linear-gradient(135deg,var(--accent-start),var(--accent-end));color:#fff;cursor:pointer;transition:opacity .2s ease,transform .15s ease,box-shadow .2s ease;white-space:nowrap}.download-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.download-btn:active:not(:disabled){transform:translateY(0)}.download-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{color:var(--error);margin-top:1rem;max-width:100%;text-align:center;font-size:.875rem;word-break:break-word;padding:.75rem 1rem;background:var(--error-bg);border-radius:.5rem}.theme-toggle{position:fixed;top:1rem;right:1rem;background:var(--toggle-bg);border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .15s ease;z-index:100}.theme-toggle:hover{background:var(--toggle-hover);transform:scale(1.05)}.theme-toggle svg{width:20px;height:20px;color:var(--text)}.retry-btn{margin-top:.75rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;border:2px solid var(--accent-start);border-radius:999px;background:transparent;color:var(--accent-start);cursor:pointer;transition:background .2s ease,color .2s ease}.retry-btn:hover{background:var(--accent-start);color:#fff}.error-block{margin-top:1rem;display:flex;flex-direction:column;align-items:center}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.progress-bar-skeleton{height:100%;background:linear-gradient(135deg,var(--accent-start),var(--accent-end));border-radius:999px;width:30%;animation:pulse 1.5s ease-in-out infinite}.progress-bar-container{margin-top:1.5rem;display:flex;align-items:center;gap:.75rem}.progress-bar-track{flex:1;height:8px;background:var(--input-border);border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(135deg,var(--accent-start),var(--accent-end));border-radius:999px;transition:width .3s ease}.progress-bar-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);min-width:3rem;text-align:right}
