:root{--bg: #0a0a0f;--bg2: #12121a;--bg3: #1a1a25;--border: #2a2a3a;--text: #e0e0e8;--text2: #8888a0;--accent: #6366f1;--accent2: #818cf8;--green: #34d399;--red: #f87171;--yellow: #fbbf24;--blue: #60a5fa}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:2px}#app{display:flex;flex-direction:column;height:100vh}#topbar{height:50px;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0}.topbar-title{font-size:16px;font-weight:700;color:var(--accent2)}.topbar-sub{font-size:10px;color:var(--text2)}.topbar-filters{flex:1;display:flex;justify-content:center;gap:6px}.topbar-filter-btn{padding:7px 20px;border-radius:6px;border:1px solid var(--border);background:var(--bg3);color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.topbar-filter-btn:hover{border-color:var(--accent);color:var(--text)}.topbar-filter-btn--active{background:var(--accent);border-color:var(--accent);color:#fff}#content{flex:1;display:flex;position:relative;overflow:hidden}#half-left,#half-right{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}#half-left{border-right:2px solid var(--border)}#left-top{display:flex;flex:1;overflow:hidden;border-bottom:1px solid var(--border)}#left-top>.col{flex:1;min-width:0}#left-top>.col:first-child{border-right:1px solid var(--border)}#col-llm{flex:1}#right-top{display:flex;flex:1;overflow:hidden;border-bottom:1px solid var(--border)}#right-top>.col{flex:1;min-width:0}#right-top>.col:first-child{border-right:1px solid var(--border)}#col-results{flex:1}.col{display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0}.slide-panel{position:absolute;top:0;bottom:0;width:380px;background:var(--bg);z-index:10;overflow-y:auto;padding:20px;transition:transform .25s ease}.slide-right{right:0;transform:translate(100%);border-left:2px solid var(--accent)}.slide-right.open{transform:translate(0);box-shadow:-8px 0 24px #0006}.slide-left{left:0;transform:translate(-100%);border-right:2px solid var(--accent)}.slide-left.open{transform:translate(0);box-shadow:8px 0 24px #0006}.panel-close{position:absolute;top:12px;background:none;border:none;color:var(--text2);font-size:18px;cursor:pointer;padding:4px 8px;line-height:1}.panel-close:hover{color:var(--text)}.slide-right .panel-close{right:12px}.slide-left .panel-close{left:12px}.col-header{padding:10px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-shrink:0;background:var(--bg2)}.col-header h2{font-size:13px;font-weight:600;flex:1}.col-header .count{font-size:11px;color:var(--text2)}.filter-bar{padding:6px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.filter-bar select{background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:4px 8px;border-radius:4px;font-size:11px;width:100%}.filter-bar select:focus{outline:none;border-color:var(--accent)}.list-scroll{flex:1;overflow-y:auto;min-height:0}.list-group{padding:5px 14px;font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.list-item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;transition:all .1s;border-left:2px solid transparent}.list-item:hover{background:var(--bg3)}.list-item.selected{background:#6366f114;border-left-color:var(--accent)}.list-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.list-info{flex:1;min-width:0}.list-name{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-meta{font-size:10px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.llm-creator{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.llm-creator-input{flex:1;background:var(--bg2);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:4px;font-size:12px;font-family:inherit;min-width:0}.llm-creator-input:focus{outline:none;border-color:var(--accent)}.llm-drop{width:36px;height:36px;background:var(--bg2);border:1px dashed var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;overflow:hidden;font-size:9px;color:var(--text2);transition:all .15s}.llm-drop:hover,.llm-drop--over{border-color:var(--accent);background:var(--bg3)}.llm-drop-preview{width:100%;height:100%;object-fit:cover}.llm-add-btn{width:36px;height:36px;background:var(--accent);border:none;border-radius:4px;color:#fff;font-size:20px;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s}.llm-add-btn:hover{background:var(--accent2)}.llm-grid{flex:1;overflow-y:auto;padding:12px;display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start}.card{width:110px;flex-shrink:0;background:var(--bg2);border:1px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .15s;position:relative}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card--selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.card__img{display:block;width:100%;height:80px;object-fit:cover;background:var(--bg3)}.card__placeholder{width:100%;height:80px;background:linear-gradient(135deg,var(--bg3),var(--bg2));display:flex;align-items:center;justify-content:center;font-size:1.8em;font-weight:700;color:var(--accent);opacity:.5;text-transform:uppercase}.card__footer{display:flex;align-items:center;gap:5px;padding:6px 8px}.card__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.card__name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.panel-title{font-size:16px;font-weight:600;margin-bottom:16px;padding-right:30px}.badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:500;white-space:nowrap}.badge-active{background:#34d39926;color:var(--green)}.badge-inactive{background:#f8717126;color:var(--red)}.badge-type{background:#6366f126;color:var(--accent2)}.info-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:12px}.info-row:last-child{border-bottom:none}.info-label{color:var(--text2);flex-shrink:0}.info-value{color:var(--text);text-align:right;max-width:65%;word-break:break-all;font-size:11px}.toggle-wrap{display:flex;align-items:center;gap:8px}.toggle{width:32px;height:18px;background:var(--bg3);border:1px solid var(--border);border-radius:9px;cursor:pointer;position:relative;transition:all .2s}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle:after{content:"";width:12px;height:12px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s}.toggle.on:after{transform:translate(14px)}.toggle-label{font-size:11px;color:var(--text2)}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.form-input{width:100%;background:var(--bg2);border:1px solid var(--border);color:var(--text);padding:6px 8px;border-radius:4px;font-size:12px;font-family:inherit}.form-input:focus{outline:none;border-color:var(--accent)}textarea.form-input{min-height:80px;resize:vertical;line-height:1.4}select.form-input{cursor:pointer}.btn-sm{background:var(--bg3);border:1px solid var(--border);color:var(--text2);padding:4px 10px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s}.btn-sm:hover{border-color:var(--accent);color:var(--text)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent2)}.btn-danger{color:var(--red)}.btn-danger:hover{border-color:var(--red);background:#f871711a}.form-actions{display:flex;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.results-scroll{flex:1;overflow:auto;padding:12px;min-height:0}.results-table{width:100%;border-collapse:collapse;font-size:11px}.results-table th{padding:4px 8px;border:1px solid var(--border);background:var(--bg2);color:var(--text2);text-align:left;white-space:nowrap;position:sticky;top:0;z-index:1}.results-table td{padding:4px 8px;border:1px solid var(--border);color:var(--text);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.results-info{padding:8px 0;font-size:10px;color:var(--text2)}.fl-empty{padding:20px;text-align:center;color:var(--text2);font-size:12px}.fl-section{padding:8px 12px;border-bottom:1px solid var(--border)}.fl-label{font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.fl-hint{font-size:10px;color:var(--accent2);text-transform:none;letter-spacing:0}.fl-chips{display:flex;gap:4px}.fl-chips--wrap{flex-wrap:wrap}.fl-chip{background:var(--bg2);border:1px solid var(--border);color:var(--text2);padding:3px 10px;border-radius:12px;font-size:11px;cursor:pointer;transition:all .12s;white-space:nowrap;font-family:inherit}.fl-chip:hover{border-color:var(--accent);color:var(--text)}.fl-chip--on{background:var(--accent);border-color:var(--accent);color:#fff}.fl-chip--on:hover{background:var(--accent2);border-color:var(--accent2)}.fl-chip--active{background:#6366f126;border-color:var(--accent);color:var(--accent2)}.fl-chip--sm{padding:2px 7px;font-size:10px;border-radius:10px}.fl-chip--xs{padding:1px 6px;font-size:9px;border-radius:8px}.fl-chip--add{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;padding:3px 10px}.fl-chip--add:hover{background:var(--accent2)}.fl-tags{display:flex;flex-wrap:wrap;gap:4px}.fl-tag{display:inline-flex;align-items:center;gap:4px;background:#6366f11a;border:1px solid var(--accent);color:var(--text);padding:2px 6px 2px 8px;border-radius:12px;font-size:10px}.fl-tag em{color:var(--accent2);font-style:normal;font-weight:600}.fl-tag-rm{background:none;border:none;color:var(--red);cursor:pointer;font-size:12px;padding:0 2px;line-height:1}.fl-tag-rm:hover{color:#fff}.fl-add-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fl-val-input{flex:1;min-width:80px;background:var(--bg2);border:1px solid var(--border);color:var(--text);padding:4px 8px;border-radius:10px;font-size:11px;font-family:inherit}.fl-val-input:focus{outline:none;border-color:var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100;display:flex;align-items:center;justify-content:center}.modal-box{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:20px;width:340px;max-width:90vw;box-shadow:0 8px 32px #00000080}.modal-title{font-size:14px;font-weight:600;margin-bottom:10px}.modal-meta{font-size:11px;color:var(--text2);margin-bottom:4px}.modal-input{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:6px;font-size:13px;font-family:inherit;margin-top:10px}.modal-input:focus{outline:none;border-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.source-item{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;transition:all .1s;border-left:2px solid transparent}.source-item:hover{background:var(--bg3)}.source-item.selected{background:#6366f114;border-left-color:var(--accent)}
