:root{--bg-base:#1a1b26;--bg-surface:#1e1f2e;--bg-elevated:#252636;--bg-hover:#2a2b3d;--bg-active:#33344a;--border-subtle:#2d2e42;--border-default:#3d3e56;--text-primary:#f0f4ff;--text-secondary:#c8d0eb;--text-muted:#9ba3c0;--text-inverse:#1a1b26;--accent-blue:#7aa2f7;--accent-cyan:#7dcfff;--accent-green:#9ece6a;--accent-yellow:#e0af68;--accent-orange:#ff9e64;--accent-red:#f7768e;--accent-magenta:#bb9af7;--accent-teal:#73daca;--status-ok:#9ece6a;--status-warn:#e0af68;--status-error:#f7768e;--status-info:#7aa2f7;--space-xs:2px;--space-sm:4px;--space-md:8px;--space-lg:12px;--space-xl:16px;--space-2xl:24px;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", sans-serif;--font-size-xs:11px;--font-size-sm:13px;--font-size-md:14px;--font-size-lg:16px;--activity-bar-width:48px;--sidebar-width:240px;--sidebar-collapsed-width:52px;--context-header-height:40px;--status-bar-height:24px;--ease-out:cubic-bezier(.16, 1, .3, 1);--transition-fast:.15s var(--ease-out);--transition-normal:.25s var(--ease-out);--radius-sm:3px;--radius-md:6px;--shadow-panel:0 2px 6px #00000059, 0 8px 24px #0000002e, inset 0 1px 0 #ffffff0f;--shadow-panel-hover:0 4px 12px #0006, 0 12px 32px #00000038, inset 0 1px 0 #ffffff14;--shadow-card:0 1px 4px #0000004d, 0 4px 12px #00000026, inset 0 1px 0 #ffffff0d;--shadow-card-hover:0 4px 16px #00000059, 0 8px 24px #0003, inset 0 1px 0 #ffffff14;--shadow-input:inset 0 2px 4px #00000040, inset 0 0 0 1px #0000000d;--shadow-btn:0 2px 4px #0000004d, 0 4px 8px #00000026, inset 0 1px 0 #ffffff26;--shadow-btn-hover:0 4px 8px #00000059, 0 6px 16px #0003, inset 0 1px 0 #fff3;--shadow-inset:inset 0 2px 6px #0000004d, inset 0 0 0 1px #00000014;--shadow-sidebar:2px 0 12px #0000004d, inset -1px 0 0 #ffffff08}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{background:var(--bg-base);height:100%;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-md);-webkit-font-smoothing:antialiased;overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}input:focus-visible,button:focus-visible{outline-offset:0}.tab-content{margin-inline:auto}.badge{font-size:var(--font-size-xs);border-radius:10px;align-items:center;padding:1px 6px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0003,inset 0 1px #fff3}.badge-ok{background:var(--status-ok);color:var(--text-inverse)}.badge-warn{background:var(--status-warn);color:var(--text-inverse)}.badge-error{background:var(--status-error);color:var(--text-inverse)}.badge-info{background:var(--status-info);color:var(--text-inverse)}@media (width<=1024px){:root{--sidebar-width:var(--sidebar-collapsed-width)}}@media (width<=768px){:root{--sidebar-width:var(--sidebar-collapsed-width);--space-2xl:16px;--space-xl:12px}.tab-content{max-width:100%!important}.dashboard-grid{grid-template-columns:repeat(2,1fr)!important}.ai-score-card{text-align:center;flex-direction:column!important;gap:16px!important;padding:16px!important}.ai-dim-label{width:70px!important;font-size:10px!important}.dim-grid{grid-template-columns:1fr!important}.report-toolbar{flex-wrap:wrap;gap:6px}.report-actions{flex-wrap:wrap}.action-btn{min-height:36px;padding:6px 12px}}@media (width<=480px){:root{--sidebar-width:0px;--activity-bar-width:0px}.dashboard-grid{grid-template-columns:1fr!important}.diff-row{flex-wrap:wrap;gap:6px}.entity-row{font-size:10px}.score-trend-card{padding:12px}.ai-score-ring-container,.ai-score-ring{width:90px!important;height:90px!important}.ai-score-number{font-size:24px!important}button,.nav-item,.action-btn{min-width:44px;min-height:44px}.site-warning-card{padding:14px 16px}.site-warning-title{font-size:16px}.site-warning-detail{font-size:13px}}@media print{:root{--bg-base:#fff;--bg-surface:#fff;--bg-elevated:#f8f9fa;--bg-hover:#eee;--border-subtle:#ddd;--border-default:#ccc;--text-primary:#111;--text-secondary:#333;--text-muted:#666;--text-inverse:#fff}html,body,#app{height:auto;overflow:visible}.sidebar,.activity-bar,.status-bar,.report-toolbar,.report-actions,.sidebar-toggle,.graph-overlay{display:none!important}.layout{display:block!important}.main-area{margin-left:0!important}.report-scroll{height:auto!important;overflow:visible!important}.section-anchor{break-inside:avoid;page-break-inside:avoid;margin-bottom:24px}.ai-score-card{border:1px solid #ccc}.ring-fg{stroke:#333!important}.n-card{border:1px solid #ddd;box-shadow:none!important}a{color:#111;text-decoration:underline}}.layout[data-v-52939cfe]{grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:1fr var(--status-bar-height);height:100vh;transition:grid-template-columns var(--transition-normal);display:grid}.layout.sidebar-collapsed[data-v-52939cfe]{grid-template-columns:var(--sidebar-collapsed-width) 1fr}@keyframes pulse-52939cfe{0%,to{opacity:1}50%{opacity:.75}}.sidebar[data-v-52939cfe]{background:linear-gradient(180deg, var(--bg-surface) 0%, #1b1c2b 100%);border-right:1px solid var(--border-subtle);box-shadow:var(--shadow-sidebar);transition:width var(--transition-normal);flex-direction:column;grid-row:1;display:flex;overflow:hidden}.sidebar-header[data-v-52939cfe]{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-subtle);align-items:center;gap:var(--space-md);white-space:nowrap;flex-shrink:0;min-height:48px;display:flex;overflow:hidden}.sidebar-collapsed .sidebar-header[data-v-52939cfe]{padding:var(--space-lg) var(--space-sm);justify-content:center}.sidebar-top[data-v-52939cfe]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.brand-toolbar[data-v-52939cfe]{padding:var(--space-sm) var(--space-lg);flex-shrink:0;gap:6px;display:flex}.brand-search[data-v-52939cfe]{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:4px;outline:none;flex:1;padding:4px 8px;font-size:11px}.brand-search[data-v-52939cfe]::placeholder{color:var(--text-muted)}.brand-search[data-v-52939cfe]:focus{border-color:var(--accent-cyan)}.brand-list[data-v-52939cfe]{scrollbar-width:none;flex:1;overflow:hidden auto}.brand-list[data-v-52939cfe]::-webkit-scrollbar{display:none}.sidebar-bottom[data-v-52939cfe]{border-top:1px solid var(--border-subtle);padding:var(--space-xs) 0;background:#00000026;flex-shrink:0}.new-job-panel[data-v-52939cfe]{margin:var(--space-sm) var(--space-lg);background:var(--bg-active);border:1px solid var(--border-subtle);transition:background var(--transition-fast);border-radius:6px;flex-shrink:0;padding:6px 8px}.new-job-panel.njp-collapsed[data-v-52939cfe]{margin:var(--space-sm) auto;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:6px;display:flex}.new-job-panel.njp-collapsed[data-v-52939cfe]:hover{background:var(--bg-hover)}.njp-icon-svg[data-v-52939cfe]{display:block}.njp-icon-plus[data-v-52939cfe]:hover{stroke:var(--text-primary);cursor:pointer}.njp-toolbar[data-v-52939cfe]{align-items:center;gap:4px;display:flex}.njp-btn[data-v-52939cfe]{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:inline-flex}.njp-btn[data-v-52939cfe]:hover{color:var(--text-primary);background:var(--bg-hover)}.njp-btn-primary[data-v-52939cfe]{color:var(--accent-green);border-color:#9ece6a4d}.njp-btn-primary[data-v-52939cfe]:hover{background:#9ece6a1a}.njp-btn-active[data-v-52939cfe]{color:var(--accent-cyan);background:#7dcfff1a;border-color:#7dcfff4d}.queue-section[data-v-52939cfe]{padding:var(--space-xs) 0;flex-shrink:0}.queue-label[data-v-52939cfe]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-xs) var(--space-xl);font-size:10px;font-weight:600}.queue-divider[data-v-52939cfe]{background:var(--border-subtle);height:1px;margin:var(--space-xs) var(--space-lg)}.batch-group[data-v-52939cfe]{margin-bottom:2px}.batch-header[data-v-52939cfe]{color:var(--text-secondary);font-size:11px;font-weight:600}.batch-expand-icon[data-v-52939cfe]{color:var(--text-muted);text-align:center;flex-shrink:0;width:14px;font-size:10px}.batch-name[data-v-52939cfe]{text-overflow:ellipsis;flex:1;overflow:hidden}.batch-summary[data-v-52939cfe]{color:var(--text-muted);flex-shrink:0;margin-left:auto;font-size:9px;font-weight:400}.batch-cancel-btn[data-v-52939cfe],.batch-retry-btn[data-v-52939cfe]{color:var(--text-muted);cursor:pointer;flex-shrink:0;padding:0 3px;font-size:13px;display:none}.batch-retry-btn[data-v-52939cfe]{font-size:11px}.batch-cancel-btn[data-v-52939cfe]:hover{color:var(--accent-red)}.batch-retry-btn[data-v-52939cfe]:hover{color:var(--accent-cyan)}.batch-header:hover .batch-cancel-btn[data-v-52939cfe],.batch-header:hover .batch-retry-btn[data-v-52939cfe]{display:inline}.queue-job-item[data-v-52939cfe]{padding-left:var(--space-xl)}.queue-status-icon[data-v-52939cfe]{text-align:center;flex-shrink:0;width:14px;font-size:10px}.queue-status-icon.done[data-v-52939cfe]{color:var(--accent-green)}.queue-status-icon.running[data-v-52939cfe]{color:var(--accent-cyan)}.queue-status-icon.error[data-v-52939cfe],.queue-status-icon.failed[data-v-52939cfe]{color:var(--accent-red)}.queue-status-icon.queued[data-v-52939cfe]{color:var(--text-muted)}.queue-waiting[data-v-52939cfe]{color:var(--text-muted);flex-shrink:0;margin-left:auto;font-size:9px}.brand-checkbox[data-v-52939cfe]{width:13px;height:13px;accent-color:var(--accent-cyan);cursor:pointer;flex-shrink:0}.batch-select-bar[data-v-52939cfe]{bottom:var(--status-bar-height);width:var(--sidebar-width);background:var(--bg-surface);border-top:1px solid var(--border-subtle);color:var(--text-secondary);z-index:20;transition:width var(--transition-normal);align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex;position:fixed;left:0}.batch-bar-btn[data-v-52939cfe]{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:3px 10px;font-size:11px}.batch-bar-btn[data-v-52939cfe]:hover{color:var(--text-primary);background:var(--bg-hover)}.batch-bar-run[data-v-52939cfe]{color:var(--accent-green);border-color:#9ece6a4d;margin-left:auto}.batch-bar-run[data-v-52939cfe]:hover{background:#9ece6a1a}.batch-bar-run[data-v-52939cfe]:disabled{opacity:.4;cursor:not-allowed}.toml-file-label[data-v-52939cfe]{border:1px dashed var(--border-subtle);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;padding:4px 10px;font-size:12px;display:inline-flex}.toml-file-label[data-v-52939cfe]:hover{border-color:var(--accent-cyan);color:var(--text-primary)}.sidebar-logo[data-v-52939cfe]{font-weight:700;font-size:var(--font-size-lg);color:var(--accent-cyan);letter-spacing:1px;text-shadow:0 1px 2px #0000004d;flex-shrink:0}.sidebar-title[data-v-52939cfe]{font-weight:600;font-size:var(--font-size-lg);color:var(--text-primary)}.nav-item[data-v-52939cfe]{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm) var(--space-xl);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left;white-space:nowrap;background:0 0;border:none;display:flex;position:relative;overflow:hidden}.sidebar-collapsed .nav-item[data-v-52939cfe]{padding:var(--space-md) 0;justify-content:center}.nav-item[data-v-52939cfe]:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-item.active[data-v-52939cfe]{color:var(--accent-cyan);background:var(--bg-active);box-shadow:inset 0 0 12px #7dcfff0d,inset 0 1px #ffffff0a,inset 0 -1px #00000026}.sidebar-collapsed .brand-item.active[data-v-52939cfe]{color:var(--text-secondary);box-shadow:none;background:0 0}.sidebar-collapsed .brand-item.active[data-v-52939cfe]:before{display:none}.nav-item.active[data-v-52939cfe]:before{content:"";background:var(--accent-cyan);border-radius:0 2px 2px 0;width:3px;position:absolute;top:4px;bottom:4px;left:0}.nav-icon[data-v-52939cfe]{text-align:center;flex-shrink:0;width:18px;font-size:14px}.nav-label[data-v-52939cfe]{text-overflow:ellipsis;overflow:hidden}.brand-item[data-v-52939cfe]{padding-left:var(--space-lg)}.brand-expand-icon[data-v-52939cfe]{color:var(--text-muted);text-align:center;width:14px;transition:color var(--transition-fast);flex-shrink:0;font-size:10px}.brand-item:hover .brand-expand-icon[data-v-52939cfe]{color:var(--text-primary)}.brand-count[data-v-52939cfe]{color:var(--text-muted);background:var(--bg-hover);text-align:center;border-radius:8px;flex-shrink:0;min-width:16px;margin-left:auto;padding:0 5px;font-size:10px}.brand-new-job[data-v-52939cfe]{border:1px dashed var(--border-subtle);width:18px;height:18px;color:var(--accent-green);cursor:pointer;opacity:0;transition:all var(--transition-fast);background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;font-size:14px;font-weight:600;display:flex}.brand-item:hover .brand-new-job[data-v-52939cfe]{opacity:1}.brand-new-job[data-v-52939cfe]:hover{background:var(--bg-hover);border-color:var(--accent-green)}.brand-has-running .nav-label[data-v-52939cfe]{color:var(--accent-cyan)}.brand-has-running .brand-expand-icon[data-v-52939cfe]{color:var(--accent-cyan)!important}.run-list-bg[data-v-52939cfe]{border-left:2px solid var(--border-subtle);margin-left:var(--space-xl);background:#ffffff04}.run-item[data-v-52939cfe]{padding-left:var(--space-lg);color:var(--text-muted);font-size:11px}.run-dot[data-v-52939cfe]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.run-dot.done[data-v-52939cfe]{background:var(--accent-green)}.run-dot.error[data-v-52939cfe],.run-dot.failed[data-v-52939cfe]{background:var(--accent-red)}.run-dot.running[data-v-52939cfe]{background:var(--accent-cyan);animation:1s infinite pulse-52939cfe}.run-dot.queued[data-v-52939cfe]{background:var(--accent-yellow)}.run-dot.cancelled[data-v-52939cfe]{background:var(--accent-orange,#ff9e64)}.run-label[data-v-52939cfe]{text-overflow:ellipsis;overflow:hidden}.run-error-label[data-v-52939cfe]{color:var(--accent-red);flex-shrink:0;margin-left:4px;font-size:9px;font-weight:600}.run-delete[data-v-52939cfe]{color:var(--text-muted);cursor:pointer;flex-shrink:0;margin-left:auto;padding:0 4px;font-size:13px;display:none}.run-delete[data-v-52939cfe]:hover{color:var(--accent-red)}.run-item:hover .run-delete[data-v-52939cfe]{display:inline}.run-delete-visible[data-v-52939cfe]{display:inline!important}.run-item-running[data-v-52939cfe]{background:#7dcfff0d}.run-item-running[data-v-52939cfe]:hover{background:#7dcfff1a}.rj-inline-track[data-v-52939cfe]{background:#ffffff14;border-radius:2px;flex:1;height:3px;overflow:hidden}.rj-inline-fill[data-v-52939cfe]{background:var(--accent-cyan);border-radius:2px;height:100%;transition:width .5s ease-out}.run-elapsed[data-v-52939cfe]{color:var(--text-muted);flex-shrink:0;margin-left:4px;font-size:9px}.sidebar-toggle[data-v-52939cfe]{left:calc(var(--sidebar-width) - 12px);border:1px solid var(--border-subtle);background:var(--bg-surface);width:24px;height:48px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), left var(--transition-normal);z-index:10;border-left:none;border-radius:0 6px 6px 0;justify-content:center;align-items:center;display:flex;position:fixed;top:50%;transform:translateY(-50%);box-shadow:2px 0 4px #00000026}.sidebar-collapsed .sidebar-toggle[data-v-52939cfe]{left:calc(var(--sidebar-collapsed-width) - 12px)}.sidebar-toggle[data-v-52939cfe]:hover{color:var(--accent-cyan);background:var(--bg-hover)}.main-panel[data-v-52939cfe]{background:var(--bg-base);flex-direction:column;grid-row:1;display:flex;overflow:hidden}.context-header[data-v-52939cfe]{padding:var(--space-sm) var(--space-2xl);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);min-height:var(--context-header-height);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.context-info[data-v-52939cfe]{align-items:center;gap:var(--space-lg);min-width:0;display:flex;overflow:hidden}.context-brand[data-v-52939cfe]{font-weight:600;font-size:var(--font-size-sm);color:var(--accent-cyan);flex-shrink:0}.context-url[data-v-52939cfe]{font-size:var(--font-size-xs);color:var(--text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.context-status[data-v-52939cfe]{flex-shrink:0}.status-chip[data-v-52939cfe]{align-items:center;gap:var(--space-xs);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-chip-dot[data-v-52939cfe]{border-radius:50%;width:6px;height:6px;display:inline-block}.status-chip.queued[data-v-52939cfe]{color:var(--accent-yellow);background:oklch(30% .06 85)}.status-chip.queued .status-chip-dot[data-v-52939cfe]{background:var(--accent-yellow)}.status-chip.running[data-v-52939cfe]{color:var(--accent-cyan);background:oklch(25% .04 230)}.status-chip.running .status-chip-dot[data-v-52939cfe]{background:var(--accent-cyan);animation:1s infinite pulse-52939cfe}.status-chip.done[data-v-52939cfe]{color:var(--accent-green);background:oklch(28% .06 145)}.status-chip.done .status-chip-dot[data-v-52939cfe]{background:var(--accent-green)}.status-chip.error[data-v-52939cfe]{color:var(--accent-red);background:oklch(28% .06 25)}.status-chip.error .status-chip-dot[data-v-52939cfe]{background:var(--accent-red)}.main-content[data-v-52939cfe]{min-height:0;padding:var(--space-2xl);flex:1;overflow-y:auto}.status-bar[data-v-52939cfe]{background:linear-gradient(180deg, #8ab4f8 0%, var(--accent-blue) 100%);color:#fff;padding:0 var(--space-lg);font-size:var(--font-size-xs);grid-column:1/-1;justify-content:space-between;align-items:center;font-weight:500;display:flex;box-shadow:0 -2px 8px #0000004d,inset 0 1px #ffffff26}.status-left[data-v-52939cfe],.status-right[data-v-52939cfe]{align-items:center;gap:var(--space-sm);display:flex}.status-dot[data-v-52939cfe]{border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 4px}.status-dot.queued[data-v-52939cfe]{background:var(--accent-yellow)}.status-dot.running[data-v-52939cfe]{background:#fff;animation:1s infinite pulse-52939cfe}.status-dot.done[data-v-52939cfe]{background:var(--accent-green)}.status-dot.error[data-v-52939cfe]{background:var(--accent-red)}
