.browse-page{display:flex;flex-direction:column;gap:20px}.search-bar{display:flex;gap:8px}.search-input-wrap{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-dimmer);font-size:18px;pointer-events:none}.search-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 36px;color:var(--text);font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-dimmer)}.search-clear{position:absolute;right:10px;background:none;border:none;color:var(--text-dimmer);font-size:12px;cursor:pointer;padding:4px}.search-clear:hover{color:var(--text)}.btn-search{background:var(--accent);color:#000;border:none;border-radius:var(--radius);padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:background .15s}.btn-search:hover:not(:disabled){background:#ffc107}.btn-search:disabled{opacity:.5;cursor:not-allowed}.results-header{display:flex;align-items:center}.results-count{font-size:12px;color:var(--text-dimmer)}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.asset-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;text-align:left;transition:border-color .15s,transform .1s;padding:0}.asset-card:hover{border-color:var(--accent);transform:translateY(-1px)}.asset-card.skeleton{height:180px;animation:pulse 1.5s ease-in-out infinite;cursor:default}.asset-card.skeleton:hover{transform:none;border-color:var(--border)}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.card-thumb{position:relative;aspect-ratio:16/9;background:var(--surface2);overflow:hidden}.card-thumb img{width:100%;height:100%;object-fit:cover}.card-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-dimmer);font-size:24px}.card-duration{position:absolute;bottom:6px;right:6px;background:#000000bf;color:#fff;font-family:var(--font-mono);font-size:10px;padding:2px 5px;border-radius:2px}.card-offline{position:absolute;top:6px;left:6px;background:var(--red-dim);color:var(--red);font-family:var(--font-mono);font-size:9px;padding:2px 5px;border-radius:2px;text-transform:uppercase}.card-body{padding:10px}.card-title{font-size:12px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}.card-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-dimmer)}.card-format{font-family:var(--font-mono);font-size:10px;color:var(--text-dimmer)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:var(--surface);border:1px solid var(--border2);border-radius:6px;width:100%;max-width:640px;max-height:85vh;overflow-y:auto}.modal-loading{display:flex;align-items:center;gap:10px;color:var(--text-dim);padding:32px}.modal-header{padding:20px 20px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.modal-title{font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.3}.modal-close{background:none;border:none;color:var(--text-dimmer);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:2px;flex-shrink:0}.modal-close:hover{background:var(--surface2);color:var(--text)}.modal-tags{display:flex;gap:6px;flex-wrap:wrap}.modal-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:20px}.modal-section{display:flex;flex-direction:column;gap:10px}.section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dimmer)}.metadata-grid{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.metadata-row{display:flex;gap:16px;padding:8px 12px;border-bottom:1px solid var(--border);align-items:baseline}.metadata-row:last-child{border-bottom:none}.metadata-key{font-family:var(--font-mono);font-size:11px;color:var(--text-dimmer);width:120px;flex-shrink:0}.metadata-val{font-size:12px;color:var(--text)}.files-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.file-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.file-row:last-child{border-bottom:none}.file-row:hover{background:var(--surface2)}.file-row.selected{background:var(--accent-dim)}.file-row input[type=radio]{accent-color:var(--accent)}.file-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.file-name{font-family:var(--font-mono);font-size:11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:11px;color:var(--text-dimmer)}.ingest-summary{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px}.summary-row{display:flex;gap:12px;align-items:baseline}.summary-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dimmer);width:44px;flex-shrink:0}.summary-value{font-family:var(--font-mono);font-size:11px;color:var(--text)}.arrow{color:var(--accent);margin:0 4px}.tag{font-family:var(--font-mono);font-size:10px;padding:2px 7px;border-radius:2px;text-transform:uppercase;letter-spacing:.05em;background:var(--surface2);color:var(--text-dim);border:1px solid var(--border)}.tag-green{background:var(--green-dim);color:var(--green);border-color:transparent}.tag-dim{color:var(--text-dimmer)}.btn-primary{background:var(--accent);color:#000;border:none;border-radius:var(--radius);padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s;align-self:flex-start}.btn-primary:hover:not(:disabled){background:#ffc107}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ingest{margin-top:4px}.alert-error{background:var(--red-dim);border:1px solid var(--red);color:var(--red);border-radius:var(--radius);padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:13px}.alert-error.mt{margin-top:4px}.alert-success{background:var(--green-dim);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.success-header{display:flex;align-items:center;gap:8px;color:var(--green);font-weight:500;font-size:13px}.result-details{background:#0003;border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:6px}.result-row{display:flex;gap:12px;align-items:center}.result-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dimmer);width:80px;flex-shrink:0}.result-row code{font-family:var(--font-mono);font-size:11px;color:var(--text)}.result-note{font-size:12px;color:var(--text-dim)}.spinner-dark{border-color:#0003;border-top-color:#000}.modal-asset-id{display:flex;align-items:center;gap:8px;margin-top:10px}.asset-id-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dimmer);flex-shrink:0}.asset-id-value{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);-webkit-user-select:all;user-select:all}.card-ingested{position:absolute;top:6px;right:6px;font-family:var(--font-mono);font-size:9px;padding:2px 6px;border-radius:2px;text-transform:uppercase;font-weight:600}.card-ingested--ready{background:var(--green-dim);color:var(--green)}.card-ingested--processing{background:var(--blue-dim);color:var(--blue)}.card-ingested--error{background:var(--red-dim);color:var(--red)}.already-ingested{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius);border:1px solid}.already-ingested--ready{background:var(--green-dim);border-color:#22c55e4d;color:var(--green)}.already-ingested--processing{background:var(--blue-dim);border-color:#3b82f64d;color:var(--blue)}.already-ingested--error{background:var(--red-dim);border-color:#ef44444d;color:var(--red)}.already-ingested-icon{font-size:14px;font-weight:700;flex-shrink:0;margin-top:1px}.already-ingested-title{font-size:13px;font-weight:500;margin-bottom:4px}.already-ingested-sub{font-size:11px;opacity:.8}.already-ingested-sub code{font-family:var(--font-mono);font-size:10px}.load-more-wrap{display:flex;justify-content:center;padding:24px 0 8px}.load-more-btn{min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px}.search-url-hint{position:absolute;bottom:-20px;left:36px;font-size:11px;color:var(--yellow);opacity:.8;white-space:nowrap;pointer-events:none}.section-subtitle{font-size:11px;font-weight:400;color:var(--text-dimmer);margin-left:6px}.badge-hires{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;background:var(--green-dim);color:var(--green);border:1px solid rgba(34,197,94,.3);text-transform:uppercase;letter-spacing:.04em}.result-uid-wrap,.existing-uid-wrap{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-copy{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;background:#ffffff0f;color:var(--text-dim);border:1px solid rgba(255,255,255,.12);white-space:nowrap}.btn-copy:hover{background:#ffffff1a;color:var(--text);border-color:#fff3}.btn-copy--done{background:var(--green-dim);color:var(--green);border-color:#22c55e4d}.jobs-page{display:flex;flex-direction:column;gap:24px}.jobs-loading{display:flex;align-items:center;gap:10px;color:var(--text-dim);padding:40px 0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:20px}.page-title{font-size:22px;font-weight:600;letter-spacing:-.03em}.page-subtitle{color:var(--text-dim);font-size:12px;margin-top:4px}.badge{font-family:var(--font-mono);font-size:10px;font-weight:500;padding:3px 8px;border-radius:2px;text-transform:uppercase;letter-spacing:.05em;display:inline-block}.badge-dim{background:var(--surface2);color:var(--text-dimmer)}.badge-blue{background:var(--blue-dim);color:var(--blue)}.badge-green{background:var(--green-dim);color:var(--green)}.badge-red{background:var(--red-dim);color:var(--red)}.jobs-table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table-header{display:grid;grid-template-columns:2fr 2fr 1fr 100px 100px;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dimmer)}.table-row{display:grid;grid-template-columns:2fr 2fr 1fr 100px 100px;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);align-items:center;transition:background .1s}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--surface)}.col-title{display:flex;flex-direction:column;gap:2px;min-width:0}.job-title{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-dimmer);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-uid{min-width:0}.uid{font-size:11px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.col-status{display:flex;flex-direction:column;gap:4px}.error-msg{font-size:10px;color:var(--red)}.col-time .time{font-size:12px;color:var(--text-dimmer)}.col-actions{display:flex;justify-content:flex-end}.btn-sm{padding:5px 10px;font-size:11px}.spinner-sm{width:10px;height:10px;border-width:1.5px}.text-dimmer{color:var(--text-dimmer)}.empty-state{text-align:center;padding:60px 0;color:var(--text-dim)}.empty-icon{font-size:36px;color:var(--text-dimmer);margin-bottom:12px}.empty-sub{font-size:12px;color:var(--text-dimmer);margin-top:4px}.alert{border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;gap:8px}.alert-error{background:var(--red-dim);border:1px solid var(--red);color:var(--red);font-size:13px}.btn{border:none;border-radius:var(--radius);padding:9px 16px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:all .15s;cursor:pointer;white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border2)}.btn-secondary:hover:not(:disabled){background:var(--border2)}.spinner{width:14px;height:14px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.header-actions{display:flex;gap:8px;align-items:center}.processing-indicator{color:var(--blue)}.refresh-time{color:var(--text-dimmer);font-size:11px}.alert{border-radius:var(--radius);padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.alert-info{background:var(--blue-dim);border:1px solid rgba(59,130,246,.3);color:var(--blue)}.dismiss{margin-left:auto;opacity:.6;font-size:11px}.confirm-delete{display:flex;align-items:center;gap:4px}.confirm-label{font-size:11px;color:var(--red);white-space:nowrap}.btn-danger{background:var(--red-dim);color:var(--red);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:5px 10px;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s}.btn-danger:hover:not(:disabled){background:#ef444440}.btn-ghost{background:none;color:var(--text-dimmer);border:1px solid transparent;border-radius:var(--radius);padding:5px 8px;font-size:12px;cursor:pointer;transition:all .15s}.btn-ghost:hover{color:var(--red);border-color:#ef44444d;background:var(--red-dim)}.row-deleting{opacity:.4;pointer-events:none}.app{min-height:100vh;display:flex;flex-direction:column}.header{border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.header-inner{max-width:960px;margin:0 auto;padding:0 24px;height:52px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:8px}.logo-icon{color:var(--accent);font-size:18px}.logo-text{font-family:var(--font-mono);font-size:15px;font-weight:500;color:var(--text);letter-spacing:-.02em}.logo-arrow{color:var(--accent);margin:0 2px}.nav{display:flex;gap:2px}.nav-btn{background:none;border:none;color:var(--text-dim);padding:6px 14px;border-radius:var(--radius);font-size:13px;font-weight:500;transition:all .15s;letter-spacing:.02em;text-transform:uppercase}.nav-btn:hover{color:var(--text);background:var(--surface2)}.nav-btn.active{color:var(--accent);background:var(--accent-dim)}.main{flex:1;max-width:960px;margin:0 auto;width:100%;padding:32px 24px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--surface: #111111;--surface2: #1a1a1a;--border: #2a2a2a;--border2: #333;--text: #e8e8e8;--text-dim: #888;--text-dimmer: #555;--accent: #f0a500;--accent-dim: rgba(240, 165, 0, .12);--green: #22c55e;--green-dim: rgba(34, 197, 94, .12);--red: #ef4444;--red-dim: rgba(239, 68, 68, .12);--blue: #3b82f6;--blue-dim: rgba(59, 130, 246, .12);--radius: 4px;--font-sans: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;min-height:100vh}button{cursor:pointer;font-family:var(--font-sans)}input{font-family:var(--font-mono)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}
