*{margin:0;padding:0}:root{--primary: #A855F7;--text: #FFFFFF;--background: #1A1B1E;--surface: #25262B;--border: #2C2E33;--success: #22C55E;--warning: #EAB308;--error: #EF4444;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-family-title: "Space Grotesk", sans-serif;--theme-transition: background-color .3s ease, border-color .3s ease, opacity .3s ease}*{transition:var(--theme-transition)}html,body,.navbar,.platform-card,.step-card,.download-box,.disclaimer-content,.feature-list li,.nav-link,.nav-logo,.theme-toggle,.github-link,.step-icon,button,input,h1,h2,h3,h4,h5,h6,p,a,svg,app-icon{transition:var(--theme-transition)}.spinning{animation:spin 1s linear infinite;transform-origin:50% 50%;will-change:transform;backface-visibility:hidden}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html{height:100%;background-color:var(--background);transition:var(--theme-transition)}body{min-height:100%;background-color:var(--background);color:var(--text);margin:0;font-family:var(--font-family)}router-outlet{display:none}app-root{display:block;min-height:100vh}.download-progress-container{width:100%;margin-top:12px;animation:fadeIn .3s ease}.download-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.75rem}.download-filename{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.download-percentage{color:var(--primary);font-weight:500}.download-stats{display:flex;gap:12px;align-items:center}.download-speed{color:var(--text-secondary);font-weight:500}.progress-bar-wrapper{width:100%;height:4px;background-color:#ffffff1a;border-radius:2px;overflow:hidden;position:relative}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light, var(--primary)));border-radius:2px;transition:width .3s ease;position:relative;max-width:100%;overflow:hidden}.progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}.progress-bar--indeterminate{width:35%;animation:progress-indeterminate 1.2s ease-in-out infinite}@keyframes progress-indeterminate{0%{margin-left:-35%}to{margin-left:100%}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
