:root{--bg-primary:#0f0f1a;--bg-secondary:#1a1a2e;--bg-card:rgba(30,30,50,.7);--bg-card-hover:rgba(40,40,65,.8);--bg-glass:hsla(0,0%,100%,.04);--border-glass:hsla(0,0%,100%,.08);--border-active:rgba(100,120,255,.3);--text-primary:#e8e8f0;--text-secondary:#8a8aa0;--text-muted:#5a5a70;--accent-blue:#6c7bff;--accent-purple:#a855f7;--accent-green:#22c55e;--accent-amber:#f59e0b;--accent-red:#ef4444;--accent-cyan:#06b6d4;--gradient-primary:linear-gradient(135deg,#6c7bff,#a855f7);--gradient-success:linear-gradient(135deg,#22c55e,#06b6d4);--gradient-progress:linear-gradient(90deg,#6c7bff,#a855f7 50%,#06b6d4);--gradient-bg:radial-gradient(ellipse at 20% 50%,rgba(108,123,255,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(168,85,247,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(6,182,212,.05) 0%,transparent 50%);--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 rgba(108,123,255,.15);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--font-mono:"JetBrains Mono","Fira Code","Cascadia Code",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);background-image:var(--gradient-bg);color:var(--text-primary);overflow-x:hidden}.dashboard,body{min-height:100vh}.dashboard{max-width:480px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.header{text-align:center;padding:20px 0 8px}.header__title{font-size:1.25rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.header__subtitle{font-size:.75rem;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.1em}.connection-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:100px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:8px}.connection-badge--connected{background:rgba(34,197,94,.15);color:var(--accent-green);border:1px solid rgba(34,197,94,.2)}.connection-badge--connecting{background:rgba(245,158,11,.15);color:var(--accent-amber);border:1px solid rgba(245,158,11,.2)}.connection-badge--disconnected{background:rgba(239,68,68,.15);color:var(--accent-red);border:1px solid rgba(239,68,68,.2)}.connection-dot{width:6px;height:6px;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}.connection-badge--connected .connection-dot{background:var(--accent-green)}.connection-badge--connecting .connection-dot{background:var(--accent-amber);animation:pulse-dot 1s ease-in-out infinite}.connection-badge--disconnected .connection-dot{background:var(--accent-red);animation:none}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.card{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);transition:all .3s ease}.card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md),var(--shadow-glow)}.card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card__title{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.card__badge{font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em}.status-card{position:relative;overflow:hidden}.status-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.status-card--idle:before{background:var(--text-muted);opacity:.3}.status-card--processing:before{background:var(--gradient-primary);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.status-icon{font-size:2rem;margin-bottom:12px}.status-filename{font-size:.95rem;font-weight:600;color:var(--text-primary);word-break:break-all;line-height:1.4;margin-bottom:6px}.status-details{display:flex;align-items:center;gap:12px;font-size:.75rem;color:var(--text-secondary);margin-bottom:16px}.status-phase{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600}.status-phase--downloading{background:rgba(108,123,255,.15);color:var(--accent-blue)}.status-phase--generating{background:rgba(168,85,247,.15);color:var(--accent-purple)}.status-phase--uploading{background:rgba(6,182,212,.15);color:var(--accent-cyan)}.status-phase--completed{background:rgba(34,197,94,.15);color:var(--accent-green)}.status-phase--failed{background:rgba(239,68,68,.15);color:var(--accent-red)}.status-idle{text-align:center;padding:20px 0;color:var(--text-muted)}.status-idle__icon{font-size:2.5rem;margin-bottom:8px;opacity:.6}.status-idle__text{font-size:.85rem}.progress{margin-top:4px}.progress__bar-container{width:100%;height:8px;background:hsla(0,0%,100%,.06);border-radius:100px;overflow:hidden;position:relative}.progress__bar{height:100%;border-radius:100px;background:var(--gradient-progress);background-size:200% 100%;transition:width .5s ease;position:relative}.progress__bar--animated{animation:progress-shimmer 2s ease-in-out infinite}@keyframes progress-shimmer{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.progress__label{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:.7rem;color:var(--text-secondary)}.progress__percent{font-weight:700;font-family:var(--font-mono);font-size:.75rem;color:var(--accent-blue)}.overall-progress{position:relative;overflow:hidden}.overall-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:16px}.overall-stat{text-align:center;padding:10px 4px;background:var(--bg-glass);border-radius:var(--radius-md);border:1px solid var(--border-glass)}.overall-stat__value{font-size:1.25rem;font-weight:800;font-family:var(--font-mono);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.overall-stat__label{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.queue-list{display:flex;flex-direction:column;gap:8px}.queue-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);transition:all .3s ease;animation:fadeSlideIn .4s ease forwards;opacity:0}.queue-item:hover{background:var(--bg-card-hover);border-color:var(--border-active);transform:translateX(4px)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.queue-item__number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--bg-glass);border:1px solid var(--border-glass);font-size:.7rem;font-weight:700;font-family:var(--font-mono);color:var(--text-secondary);flex-shrink:0}.queue-item__info{flex:1 1;min-width:0}.queue-item__name{font-size:.8rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item__size{font-size:.65rem;color:var(--text-muted);font-family:var(--font-mono);margin-top:2px}.queue-item__status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-muted)}.queue-item__status-dot--pending{background:var(--text-muted);opacity:.5}.queue-item__status-dot--completed{background:var(--accent-green)}.queue-item__status-dot--failed{background:var(--accent-red)}.ram-monitor{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md)}.ram-monitor__icon{font-size:1.2rem}.ram-monitor__info{flex:1 1}.ram-monitor__label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ram-monitor__bar-container{width:100%;height:4px;background:hsla(0,0%,100%,.06);border-radius:100px;margin-top:4px;overflow:hidden}.ram-monitor__bar{height:100%;border-radius:100px;transition:width .5s ease,background .3s ease}.ram-monitor__bar--ok{background:var(--accent-green)}.ram-monitor__bar--high{background:var(--accent-amber)}.ram-monitor__bar--critical{background:var(--accent-red);animation:ram-pulse 1s ease-in-out infinite}@keyframes ram-pulse{0%,to{opacity:1}50%{opacity:.6}}.ram-monitor__value{font-size:.75rem;font-weight:700;font-family:var(--font-mono);color:var(--text-secondary)}.empty-state{text-align:center;padding:30px 20px;color:var(--text-muted)}.empty-state__icon{font-size:2.5rem;margin-bottom:10px;opacity:.4}.empty-state__title{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.empty-state__text{font-size:.75rem;line-height:1.5}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border-glass);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:360px){.dashboard{padding:12px}.card{padding:16px}.overall-stats{grid-template-columns:repeat(3,1fr);gap:6px}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}