:root{--bg:#0b0d12;--surface:#151822;--surface-2:#1d212e;--border:#2a2f3f;--text:#eef0f5;--text-muted:#9aa2b5;--accent:#7c9eff;--accent-text:#0b0d12;--success:#5fd196;--warn:#e8b13b;--danger:#f27070;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}a{color:var(--accent)}button{font:inherit}.container{max-width:760px;margin:0 auto;padding:24px 16px 80px}.app-header{text-align:center;margin-bottom:28px}.app-header h1{margin:0 0 6px;font-size:clamp(1.5rem,4vw,2rem)}.app-header p{color:var(--text-muted);margin:0}.url-form{flex-wrap:wrap;gap:8px;display:flex}.url-form input[type=text]{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);flex:280px;padding:12px 14px;font-size:1rem}.url-form input[type=text]:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;padding:12px 18px}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:20px;padding:16px}.stage-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.stage-list li{color:var(--text-muted);align-items:center;gap:8px;display:flex}.stage-list li.done{color:var(--success)}.stage-list li.failed{color:var(--danger)}.video-preview{flex-wrap:wrap;gap:14px;display:flex}.video-preview img{object-fit:cover;background:var(--surface-2);border-radius:8px;width:160px;height:90px}.video-preview .meta{flex:200px;min-width:0}.video-preview .meta h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:1rem}.video-preview .meta p{color:var(--text-muted);margin:0;font-size:.9rem}.badge{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge.high{color:var(--success);border-color:var(--success)}.badge.medium{color:var(--warn);border-color:var(--warn)}.badge.low{color:var(--danger);border-color:var(--danger)}.candidate-list,.recommendation-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.candidate-card,.recommendation-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px 14px}.candidate-card button{margin-top:8px}.candidate-title,.recommendation-title{font-weight:600}.evidence-list{color:var(--text-muted);margin:8px 0 0;padding-left:18px;font-size:.85rem}.explanation{color:var(--text-muted);margin:6px 0 0;font-size:.85rem}.recovery-actions{flex-direction:column;gap:10px;margin-top:12px;display:flex}.recovery-actions form{flex-wrap:wrap;gap:8px;display:flex}.recovery-actions input,.recovery-actions select{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);flex:200px;padding:10px 12px}.controls-row{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.control-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.8rem}.control-chip.active{border-color:var(--accent);color:var(--accent)}.error-banner{border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);margin-top:16px;padding:12px 14px}.muted{color:var(--text-muted);font-size:.85rem}.segment-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.segment-list button{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);cursor:pointer;padding:10px 12px}.segment-list button:hover{border-color:var(--accent)}
