:root{--bg: #ffffff;--surface: #f5f5f7;--surface-hover: #e8e8ec;--border: #dcdce0;--text: #1d1d1f;--text-muted: #86868b;--accent: #6c5ce7;--accent-hover: #5a4adf;--success: #2ecc71;--error: #e74c3c;--mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--sans: system-ui, -apple-system, sans-serif;font:15px/1.5 var(--sans);color:var(--text);background:#fafafa}:root.dark{--bg: #1e1e2e;--surface: #2a2a3a;--surface-hover: #3a3a4a;--border: #444458;--text: #e0e0e6;--text-muted: #8888a0;--accent: #a78bfa;--accent-hover: #c4b5fd;--success: #4ade80;--error: #f87171;background:#13131f;color:var(--text)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;display:flex;flex-direction:column}#app{width:100%;padding:16px 32px;display:flex;flex-direction:column;gap:16px;flex:1}h1{font-size:22px;font-weight:600;color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}#status{font-size:13px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;text-align:center}.filter-header{display:flex;justify-content:space-between;align-items:center}.filter-header h3{font-size:14px;font-weight:600;color:var(--text);margin:0}.filter-actions{display:flex;gap:8px;align-items:center}.limit-selector{display:flex;align-items:center;gap:4px}.limit-label{font-size:12px;color:var(--text-muted);margin-right:2px}.limit-btn{padding:3px 10px;font-size:12px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer}.limit-btn.active{border-color:var(--accent);color:var(--accent);background:#6c5ce71a}.limit-btn:hover:not(.active){background:var(--surface-hover)}#filter-container{margin-top:12px;display:flex;flex-direction:column;gap:14px;transition:max-height .3s ease,opacity .2s ease}#filter-container.collapsed{max-height:0!important;overflow:hidden;opacity:0;margin-top:0}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group-label{font-size:12px;font-weight:500;color:var(--text-muted)}.filter-group-label .filter-count{font-size:11px;color:var(--text-muted);opacity:.7}.filter-select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:13px;cursor:pointer;max-width:300px}.filter-select:focus{outline:none;border-color:var(--accent)}.filter-number-wrap{display:flex;gap:6px;align-items:center;max-width:400px}.filter-number-op{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:13px;cursor:pointer}.filter-number-op:focus{outline:none;border-color:var(--accent)}.filter-number-input{width:80px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:13px}.filter-number-input:focus{outline:none;border-color:var(--accent)}.filter-tristate{display:flex;gap:4px}.filter-tristate button{padding:4px 12px;font-size:12px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted)}.filter-tristate button.active{border-color:var(--accent);color:var(--accent);background:#6c5ce71a}.filter-tristate button:hover:not(.active){background:var(--surface-hover)}.filter-chips{display:flex;flex-wrap:wrap;gap:4px}.filter-chip{padding:4px 12px;border:1px solid var(--border);border-radius:14px;font-size:12px;background:var(--surface);color:var(--text);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:4px}.filter-chip .chip-count{font-size:10px;opacity:.6}.filter-chip:hover{border-color:var(--accent);background:#7c6ef014}.filter-chip.selected{border-color:var(--accent);background:#6c5ce726;color:var(--text)}.filter-chip.selected:after{content:"×";font-size:14px;opacity:.8}.filter-chips-wrapper .chip-more{padding:4px 12px;font-size:12px;color:var(--accent);cursor:pointer;border:1px solid transparent;border-radius:14px;background:var(--surface)}.filter-chips-wrapper .chip-more:hover{text-decoration:underline}.theme-toggle{position:fixed;bottom:16px;right:20px;width:36px;height:36px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;z-index:100;transition:all .15s}.theme-toggle:hover{background:var(--surface-hover);border-color:var(--accent)}.input-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}input[type=text]{flex:1;min-width:200px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px}input[type=text]:disabled{opacity:.5}input[type=text]:focus{outline:none;border-color:var(--accent)}button{padding:6px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{background:transparent;border:1px solid var(--border);color:var(--text)}button.secondary:hover:not(:disabled){background:var(--surface-hover)}button.danger{background:transparent;border:1px solid var(--border);color:var(--error)}#log-container{flex:1;min-height:0;display:flex;flex-direction:column}#log{flex:1;overflow-y:auto;font-family:var(--mono);font-size:12px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:8px;max-height:300px}.log-info{color:var(--text)}.log-error{color:var(--error)}#log-header{display:flex;justify-content:space-between;align-items:center}#log-header span{font-weight:600;color:var(--text)}.table-section h3{font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:500}td{padding:6px 10px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}.id-cell{cursor:pointer;color:var(--accent);text-decoration:underline;text-decoration-style:dotted;text-decoration-color:transparent;transition:text-decoration-color .15s}.id-cell:hover{text-decoration-color:var(--accent)}label{font-size:13px;font-weight:500;color:var(--text)}.model-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-family:var(--mono);font-size:12px;background:var(--bg);border:1px solid var(--border);color:var(--success)}.popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000}.popup-overlay.hidden{display:none}.popup-content{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.popup-header h3{font-size:16px;color:var(--text);margin:0}.popup-close-btn{font-size:22px;padding:2px 8px;line-height:1;border:none;background:transparent;color:var(--text-muted);cursor:pointer}.popup-close-btn:hover{background:var(--surface-hover);color:var(--text)}.popup-body{padding:16px 18px;overflow-y:auto;font-size:13px}.popup-body .detail-row{margin-bottom:12px}.popup-body .detail-label{font-weight:600;color:var(--accent);margin-bottom:4px}.popup-body .detail-value{color:var(--text);word-wrap:break-word;white-space:pre-wrap}.popup-body .detail-value.scrollable{max-height:200px;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px}.popup-body .detail-value ul{margin:0;padding-left:20px}.popup-body .detail-value ul li{margin-bottom:4px;line-height:1.5}.popup-body .detail-value ul li>ul{margin-top:2px}.footer{text-align:center;padding:12px 32px}.footer a{color:var(--text-muted);font-size:13px;text-decoration:none}.footer a:hover{color:var(--accent);text-decoration:underline}.doc-section details{margin-top:10px;border:1px solid var(--border);border-radius:8px;padding:0 12px}.doc-section details summary{cursor:pointer;padding:8px 0;font-size:13px}.doc-section details[open] summary{padding-bottom:4px;border-bottom:1px solid var(--border);margin-bottom:8px}.doc-section details p,.doc-section details ol,.doc-section details ul{margin:8px 0;font-size:13px;color:var(--text);padding-left:18px}.doc-section details p{line-height:1.6}.doc-section .doc-table{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0}.doc-table th,.doc-table td{padding:4px 8px;border-bottom:1px solid var(--border);text-align:left}.doc-table code{font-family:var(--mono);font-size:11px;background:var(--bg);padding:1px 4px;border-radius:3px}
