:root{--bg: #1a1a2e;--bg-surface: #16213e;--bg-overlay: rgba(0,0,0,.85);--border: #2a2a4a;--border-subtle: #1e1e3a;--scrollbar-track: #121228;--scrollbar-thumb: #2a2a4a;--scrollbar-thumb-hover: #3a3a5e;--text: #e0e0e0;--text-muted: #888;--text-dim: #666;--text-faint: #555;--accent: #c9a0dc;--accent-hover: #dbb8ec;--accent-on: #1a1a2e;--success: #6fcf97;--success-bg: #2a4a3e;--error: #cf6f6f;--error-bg: #4a2a2a;--warning: #cfcf6f;--warning-bg: #3a3a2a;--info: #6fb3cf;--info-bg: #2a3a4e}[data-theme=light]{--bg: #f5f7fa;--bg-surface: #ffffff;--bg-overlay: rgba(0,0,0,.5);--border: #d8dce3;--border-subtle: #e8ecf0;--scrollbar-track: #eaecf0;--scrollbar-thumb: #c8ccd3;--scrollbar-thumb-hover: #a8adb5;--text: #1a1a2e;--text-muted: #555;--text-dim: #777;--text-faint: #999;--accent: #7c3aed;--accent-hover: #6d28d9;--accent-on: #ffffff;--success: #16a34a;--success-bg: #dcfce7;--error: #dc2626;--error-bg: #fef2f2;--warning: #ca8a04;--warning-bg: #fefce8;--info: #2563eb;--info-bg: #eff6ff}*{margin:0;padding:0;box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;display:flex;flex-direction:column;transition:background .2s,color .2s}#root{display:flex;flex-direction:column;min-height:100vh}a{color:inherit;text-decoration:none}.site-nav{display:flex;align-items:center;gap:24px;padding:12px 20px;border-bottom:1px solid var(--border);font-size:.85em}.site-nav .brand{color:var(--accent);text-decoration:none;font-weight:500;letter-spacing:1px}.site-nav a{color:var(--text-muted);text-decoration:none;transition:color .2s}.site-nav a:hover,.site-nav a.active{color:var(--accent)}.theme-toggle{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:1em;line-height:1;transition:border-color .2s,color .2s;margin-left:auto;flex-shrink:0}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.nav-login{font-size:1em;line-height:1;text-decoration:none;opacity:.5;transition:opacity .2s;flex-shrink:0}.nav-login:hover,.nav-login.active{opacity:1}.header{padding:16px 20px 12px;text-align:center;border-bottom:1px solid var(--border)}.header h1{font-size:1.2em;color:var(--accent);font-weight:400;letter-spacing:1px}.header p{color:var(--text-muted);margin-top:4px;font-size:.8em}.btn{background:var(--accent);color:var(--accent-on);border:none;padding:6px 12px;border-radius:6px;font-size:.8em;font-weight:600;cursor:pointer;transition:background .2s}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.search-box{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:8px;font-size:.85em;font-family:inherit;outline:none;transition:border-color .2s}.search-box:focus{border-color:var(--accent)}.search-box::placeholder{color:var(--text-dim)}.filter-btn{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);padding:5px 12px;border-radius:14px;font-size:.78em;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-btn:hover{border-color:var(--accent);color:var(--accent)}.filter-btn.active{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.status-running{background:var(--success-bg);color:var(--success)}.status-done{background:var(--info-bg);color:var(--info)}.status-error{background:var(--error-bg);color:var(--error)}.status-queued{background:var(--warning-bg);color:var(--warning)}.loading{text-align:center;padding:60px;color:var(--text-muted)}.empty{text-align:center;padding:60px;color:var(--text-dim)}.section-title{font-size:.9em;color:var(--accent);font-weight:400;margin:24px 0 12px;text-transform:uppercase;letter-spacing:1px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;margin-bottom:32px}.search-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:32px}.queue-section{max-width:1400px;margin:0 auto;padding:0 20px 32px}.queue-item{background:var(--bg-surface);border-radius:10px;padding:14px 16px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.queue-item .title{flex:1;font-size:.95em;word-break:break-all}.queue-item .status{font-size:.8em;padding:4px 10px;border-radius:12px;white-space:nowrap}.queue-item .error-detail{flex-basis:100%;color:var(--error);font-size:.85em;margin-top:8px;padding:8px 12px;background:var(--error-bg);border-radius:6px;border-left:3px solid var(--error)}.modal-overlay{display:none;position:fixed;inset:0;background:var(--bg-overlay);z-index:200;justify-content:center;align-items:center;padding:20px}.modal-overlay.show{display:flex}.modal{background:var(--bg-surface);border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative;border:1px solid var(--border)}.modal .close-btn{position:absolute;top:12px;right:12px;background:#0009;border:none;color:#fff;font-size:1.2em;width:32px;height:32px;border-radius:50%;cursor:pointer;z-index:10;transition:background .2s}.modal .close-btn:hover{background:#000c}@media(max-width:700px){.site-nav{gap:12px;padding:10px 16px;flex-wrap:wrap}.media-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.search-results-grid{grid-template-columns:1fr;gap:12px}.header h1{font-size:1.1em}.modal{max-width:calc(100vw - 24px);margin:12px}.queue-item{padding:12px}.queue-item .title{font-size:.9em}}@media(max-width:414px){.site-nav{gap:10px;padding:10px 14px;font-size:.82em}.header{padding:14px 16px 10px}.section-title{font-size:.85em;margin:20px 0 10px}body{font-size:15px}}@media(max-width:380px){.site-nav{gap:8px;padding:8px 12px;font-size:.8em}.header h1{font-size:1em}.media-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}body{font-size:14px}}
