:root{--bg:#101317;--panel:#1a1f26;--panel-2:#232a33;--border:#313a45;--text:#e6ebf0;--text-dim:#9aa7b4;--accent:#4f9cf9;--ok:#45c486;--warn:#e2b93b;--err:#e2604f;--radius:8px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}main{max-width:1400px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.app-header{margin-bottom:1rem}.top-row{display:flex;gap:1rem;align-items:stretch;flex-wrap:wrap}.top-row-panel{flex:1 1 320px;min-width:0}.sidebar-header{border-bottom:1px solid var(--border);padding-bottom:.5rem;margin-bottom:.6rem}.sidebar-show-btn{flex-shrink:0;align-self:flex-start;padding:.5rem .4rem;margin-right:.5rem}.capture-area{margin-top:.8rem;display:flex;flex-direction:column;gap:.6rem}.capture-video{width:100%;max-height:40vh;border-radius:var(--radius);background:#000}.note-editor{width:100%;min-height:8rem;resize:vertical;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .7rem;font-size:.95rem;font-family:inherit}.recording-dot{width:10px;height:10px;border-radius:50%;background:var(--err);animation:recording-pulse 1s ease-in-out infinite}@keyframes recording-pulse{50%{opacity:.3}}.app-body{display:flex;align-items:flex-start;min-height:60vh}.sidebar{flex-shrink:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;overflow-y:auto;max-height:80vh}.divider{flex-shrink:0;width:6px;cursor:col-resize;align-self:stretch}.divider:hover{background:var(--border)}.main-content{flex:1 1;min-width:0}.tree-item{padding:.3rem .5rem;border-radius:var(--radius);cursor:pointer;color:var(--text-dim)}.tree-item:hover{background:var(--panel-2);color:var(--text)}.tree-item.selected{background:var(--panel-2);color:var(--accent)}.tree-event{margin-top:.6rem}.tree-event-name{font-weight:600;padding:.3rem .5rem}.tree-talk{margin-left:.9rem}.tree-talk-standalone{margin-left:0}.tree-add{margin:.4rem 0 0 .9rem}.tree-add-top{margin-bottom:.5rem}.tree-add-top button{flex:1 1;font-size:.85rem}.icon-button.danger:hover{color:var(--err)}.tree-add input{flex:1 1;min-width:0;padding:.3rem .5rem;font-size:.85rem}.tree-event-name,.tree-item{display:flex;align-items:center;gap:.3rem}.count{margin-left:auto;font-size:.7rem;background:var(--panel-2);border-radius:999px;padding:0 .45rem}.count,.icon-button{color:var(--text-dim)}.icon-button{background:none;border:none;padding:0 .2rem;font-size:.8rem;cursor:pointer;visibility:hidden}.icon-button.expander,.tree-event-name:hover .icon-button,.tree-item:hover .icon-button{visibility:visible}.icon-button:hover{color:var(--text)}.editable-label{display:inline-flex;align-items:center;gap:.2rem;min-width:0;flex:1 1}.editable-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-files{margin-left:2.4rem;border-left:1px solid var(--border);padding-left:.5rem}.tree-file{font-size:.78rem;color:var(--text-dim);padding:.12rem .3rem;border-radius:var(--radius);cursor:-webkit-grab;cursor:grab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-file:hover{background:var(--panel-2);color:var(--text)}details.panel>summary{cursor:pointer;font-size:1.05rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin:-.25rem 0 .5rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}details.panel:not([open])>summary{margin-bottom:-.25rem}tr[draggable=true]{cursor:-webkit-grab;cursor:grab}tr.selected-row{background:rgba(79,156,249,.08);outline:2px solid var(--accent);outline-offset:-2px}.tree-file.kbd-active,.tree-item.kbd-active{outline:1px solid var(--accent);background:rgba(79,156,249,.12);color:var(--text)}tr.kbd-active{outline:1px solid var(--accent);background:rgba(79,156,249,.1)}.asset-table,.sidebar-content:focus{overflow-x:auto}.asset-table:focus{outline:none}.table-toolbar,.table-wrap{position:relative}.table-toolbar{justify-content:flex-end;margin-bottom:.3rem}.column-config{position:absolute;right:0;top:100%;z-index:20;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 6px 18px rgba(0,0,0,.35)}.column-config label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer;white-space:nowrap}.asset-grid th{position:relative;white-space:nowrap}.asset-grid th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.asset-grid th.sortable:hover{color:var(--text)}.sort-arrow{font-size:.7rem}.col-resize{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:5}.cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{padding:.25rem .5rem}.search-box{max-width:220px}.brand-tld{color:var(--accent);font-weight:400}.integration-card input{width:100%;margin-bottom:.4rem}.integration-list{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:.3rem;margin:.5rem 0;display:flex;flex-direction:column;gap:.15rem}.integration-row{display:flex;align-items:baseline;gap:.45rem;padding:.2rem .3rem;border-radius:4px;cursor:pointer;font-size:.85rem}.integration-row:hover{background:var(--panel-2)}.integration-row.imported{opacity:.55}.integration-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-shell{max-width:540px;margin:.5rem auto}.scan-shell .capture-video{width:100%;border-radius:var(--radius);background:#000}.scan-strip{display:flex;gap:.4rem;overflow-x:auto;margin-top:.6rem}.scan-strip img{height:72px;border-radius:4px;border:1px solid var(--border);flex:0 0 auto}.bulk-bar{align-items:center;background:var(--panel-2);border:1px solid var(--accent);border-radius:var(--radius);padding:.4rem .6rem;margin-bottom:.5rem;font-size:.85rem}.asset-table:focus-visible,.sidebar-content:focus-visible{box-shadow:inset 0 0 0 2px rgba(79,156,249,.35);border-radius:var(--radius)}.file-link{cursor:pointer;color:var(--text)}.file-link:hover{color:var(--accent);text-decoration:underline}.preview-pane{border-color:var(--accent)}.preview-title-bar{border-bottom:1px solid var(--border);padding-bottom:.6rem;margin-bottom:.8rem}.preview-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-body{display:flex;flex-direction:column;align-items:center}.preview-media{max-width:100%;max-height:65vh;object-fit:contain;border-radius:var(--radius)}.preview-audio{width:100%}.preview-frame{width:100%;height:70vh;border:none;border-radius:var(--radius);background:#fff}.preview-scroll{width:100%;max-height:60vh;overflow:auto;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.1rem}.preview-text{margin:0;font-family:Consolas,Monaco,monospace;font-size:.82rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.preview-fallback{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem}.artifacts-section{margin-top:1rem;border-top:1px solid var(--border);padding-top:.9rem;display:flex;flex-direction:column;gap:.9rem}.artifact-panel h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin:0 0 .5rem}.artifact-text{background:var(--panel-2);padding:.8rem 1rem;max-height:45vh;white-space:pre-wrap;line-height:1.55;font-size:.92rem}.artifact-segments,.artifact-text{border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.artifact-segments{margin-top:.5rem;max-height:35vh}.artifact-segment{display:flex;gap:.7rem;padding:.25rem .7rem;font-size:.85rem;border-bottom:1px solid var(--border)}.segment-time{color:var(--accent);font-family:Consolas,Monaco,monospace;flex-shrink:0;min-width:3rem}.badge.classification-slide{color:var(--accent);border-color:var(--accent)}.badge.classification-note{color:var(--ok);border-color:var(--ok)}button.danger:hover{border-color:var(--err);color:var(--err)}.badge.overridden{color:var(--warn);border-color:var(--warn)}.route-grid{display:grid;grid-template-columns:auto 1fr;grid-gap:.5rem .8rem;gap:.5rem .8rem;align-items:center;margin-bottom:.6rem}.route-grid input{width:100%;font-family:Consolas,Monaco,monospace;font-size:.85rem}.gallery-show-btn{margin-right:0;margin-left:.5rem;align-self:flex-start}.details-preview{margin-bottom:.9rem}.details-preview .preview-media{width:100%;max-height:50vh}.details-preview .preview-frame{height:40vh}.details-preview .preview-scroll{max-height:30vh}.details-info{border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem;margin-bottom:.9rem;background:var(--panel-2)}.details-info h3{margin:0 0 .5rem;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.details-info dl{display:grid;grid-template-columns:auto 1fr;grid-gap:.25rem .7rem;gap:.25rem .7rem;margin:0;font-size:.8rem}.details-info dt{color:var(--text-dim)}.details-info dd{margin:0;overflow:hidden;text-overflow:ellipsis}.details-actions{margin-bottom:.9rem;flex-wrap:wrap}.view-toggle{display:flex;gap:.25rem}.row-thumb-cell{width:48px}.row-thumb{width:44px;height:44px;object-fit:cover;border-radius:4px;display:block;background:#000}.row-thumb-icon{font-size:1.4rem;display:block;text-align:center}.tile-container{outline:none}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:.7rem;gap:.7rem;margin-bottom:.8rem}.tile{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem;cursor:pointer;overflow:hidden}.tile:hover{border-color:var(--accent)}.tile.selected{outline:2px solid var(--accent)}.tile-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;background:#000;display:block}.tile-icon{display:flex;align-items:center;justify-content:center;font-size:2.2rem}.tile-icon,.tile-snippet{width:100%;aspect-ratio:4/3;background:rgba(0,0,0,.25);border-radius:4px}.tile-snippet{overflow:hidden;font-size:.66rem;line-height:1.35;color:var(--text-dim);padding:.35rem;white-space:pre-wrap;word-break:break-word;position:relative}.tile-snippet-icon{float:right;font-size:.95rem}.tile-name{font-size:.75rem;margin-top:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-meta{font-size:.67rem;color:var(--text-dim)}.tile-section{font-size:.8rem;margin:.6rem 0 .4rem;padding-bottom:.2rem}.tile-section,tr.group-header td{font-weight:600;color:var(--text-dim);border-bottom:1px solid var(--border)}tr.group-header td{background:rgba(255,255,255,.03)}.markdown-render{line-height:1.6;font-size:.95rem}.markdown-render h1,.markdown-render h2,.markdown-render h3{font-weight:600;margin:1.4rem 0 .6rem;color:var(--text);text-transform:none;letter-spacing:normal}.markdown-render h1{font-size:1.5rem}.markdown-render h2{font-size:1.25rem}.markdown-render h3{font-size:1.05rem}.markdown-render p{margin:0 0 .8rem}.markdown-render code{background:rgba(0,0,0,.4);padding:.1rem .35rem;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:.82rem}.markdown-render pre{background:rgba(0,0,0,.45);padding:.8rem 1rem;overflow:auto;border-radius:var(--radius);border:1px solid var(--border)}.markdown-render pre code{background:transparent;padding:0}.markdown-render a{color:var(--accent)}h1{font-size:1.4rem}h2{font-size:1.05rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}button{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.5rem .9rem;font-size:.95rem;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.secondary,input,select{background:var(--panel-2);border:1px solid var(--border)}input,select{color:var(--text);border-radius:var(--radius);padding:.5rem .7rem;font-size:.95rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--border)}th{color:var(--text-dim);font-weight:500}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;border:1px solid var(--border)}.badge.ingested{color:var(--ok);border-color:var(--ok)}.badge.uploaded{color:var(--warn);border-color:var(--warn)}.badge.duplicate{color:var(--text-dim)}.badge.failed{color:var(--err);border-color:var(--err)}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:2.25rem;text-align:center;color:var(--text-dim);cursor:pointer}.dropzone.active{border-color:var(--accent);color:var(--text)}.progress{height:6px;background:var(--panel-2);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--accent)}.error-text{color:var(--err);font-size:.85rem}.dim{color:var(--text-dim)}code.token{display:block;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem;word-break:break-all;font-size:.8rem;margin-top:.5rem}.cluster-list{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.6rem}.cluster-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);padding:.6rem}.cluster-item-off{opacity:.5}.cluster-title{flex:1 1;min-width:0}.cluster-strip{display:flex;align-items:center;gap:.35rem;margin-top:.5rem;overflow:hidden}.cluster-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;border:1px solid var(--border);flex:0 0 auto}.cluster-thumb-icon{display:flex;align-items:center;justify-content:center;background:var(--panel);font-size:1.2rem}