:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--bg:#0d0d0d;--bg-sidebar:#111;--bg-card:#181818;--bg-input:#1c1c1c;--border:#2a2a2a;--text:#e2e2e2;--text-dim:#666;--text-muted:#444;--accent:#4f9fff;--accent-dim:#2a6fd4;--online:#22c55e;--danger:#ef4444;--warning:#f59e0b;--sidebar-w:200px;--sidebar-collapsed:58px;--topbar-h:52px}[data-theme=light]{--bg:#f5f5f5;--bg-sidebar:#e8e8e8;--bg-card:#fff;--bg-input:#fff;--border:#d0d0d0;--text:#1a1a1a;--text-dim:#666;--text-muted:#999;--accent:#1d6fd4;--accent-dim:#1554a8;--online:#16a34a;--danger:#dc2626;--warning:#d97706}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;overflow:hidden}.jarvis-app{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;transition:width .2s;display:flex;overflow:hidden}.jarvis-app.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed)}.sidebar-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:68px;padding:16px 12px 16px 14px;display:flex}.sidebar-identity{align-items:center;gap:10px;min-width:0;display:flex}.avatar-ring{border:2px solid var(--accent-dim);background:linear-gradient(135deg,#0d1b2e 0%,#0a2a5e 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative}.avatar-initials{color:var(--accent);letter-spacing:-.5px;font-size:14px;font-weight:700}.avatar-status-dot{background:var(--online);border:2px solid var(--bg-sidebar);border-radius:50%;width:9px;height:9px;position:absolute;bottom:1px;right:1px}.identity-text{flex-direction:column;min-width:0;display:flex;overflow:hidden}.identity-name{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.identity-status{color:var(--text-dim);font-size:11px}.collapse-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:4px;display:flex}.collapse-btn:hover{color:var(--text);background:#ffffff0d}.sidebar-nav{flex:1;padding:8px 0;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.nav-item{width:100%;color:var(--text-dim);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;padding:9px 14px;font-size:13.5px;transition:color .15s,background .15s;display:flex;overflow:hidden}.nav-item:hover{color:var(--text);background:#ffffff0a}.nav-item.active{color:var(--accent);border-left:2px solid var(--accent);background:#00ffcc14;padding-left:12px}.nav-icon{flex-shrink:0;align-items:center;display:flex}.nav-label{text-overflow:ellipsis;overflow:hidden}.sidebar-footer{border-top:1px solid var(--border);align-items:center;min-height:40px;padding:12px 14px;display:flex}.version-badge{color:var(--text-muted);letter-spacing:.3px;font-size:10px}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-bar{height:var(--topbar-h);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.top-page-title{color:var(--text);font-size:15px;font-weight:600}.top-right{align-items:center;gap:14px;display:flex}.top-clock{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:13px}.model-badge{color:var(--accent);background:#00ffcc1a;border:1px solid #0fc3;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:500}.main-body{flex:1;overflow:hidden auto}.main-body::-webkit-scrollbar{width:5px}.main-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.page-content{max-width:960px;padding:28px 28px 48px}.page-title{color:var(--text);margin-bottom:24px;font-size:22px;font-weight:600}.section-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:20px}.section-label{letter-spacing:.8px;color:var(--text-dim);text-transform:uppercase;align-items:center;gap:6px;margin-bottom:14px;font-size:10.5px;font-weight:700;display:flex}.section-desc{color:var(--text-dim);margin-bottom:14px;font-size:13px;line-height:1.6}.row-group{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.voice-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:7px 10px;font-size:13px}.voice-select:focus{border-color:var(--accent-dim);outline:none}.checkbox-label{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.checkbox-label input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.tts-textarea{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:8px;margin-bottom:14px;padding:12px;font-family:inherit;font-size:13px}.tts-textarea::placeholder{color:var(--text-muted)}.tts-textarea:focus{border-color:var(--accent-dim);outline:none}.primary-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;align-items:center;gap:7px;padding:9px 18px;font-size:13px;font-weight:600;transition:opacity .15s;display:inline-flex}.primary-btn:disabled{opacity:.45;cursor:not-allowed}.primary-btn:hover:not(:disabled){opacity:.88}.secondary-btn{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.secondary-btn:hover{border-color:var(--accent);color:var(--accent)}.danger-btn{color:var(--danger);cursor:pointer;background:#ef44441f;border:1px solid #ef44444d;border-radius:7px;align-items:center;gap:7px;padding:9px 18px;font-size:13px;font-weight:600;display:inline-flex}.danger-btn:disabled{opacity:.45;cursor:not-allowed}.mic-toggle-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:7px;align-items:center;gap:8px;padding:9px 18px;font-size:13px;transition:all .15s;display:inline-flex}.mic-toggle-btn.active{border-color:var(--danger);color:var(--danger);background:#ef444414}.mic-toggle-btn:disabled{opacity:.45;cursor:not-allowed}.dot{background:var(--online);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dot.red{background:var(--danger);animation:1.2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.icon-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;transition:color .15s;display:flex}.icon-btn:hover{color:var(--text)}.icon-btn.accent{color:var(--accent)}.icon-btn.danger:hover{color:var(--danger)}.status-toast{color:var(--accent);background:#00ffcc1a;border:1px solid #0fc3;border-radius:6px;margin-bottom:14px;padding:8px 14px;font-size:12.5px}.overview-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.stat-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:6px 0;display:flex}.stat-row:last-child{border-bottom:none}.stat-icon{color:var(--text-dim);flex-shrink:0}.stat-label{color:var(--text-dim);flex:1;font-size:13px}.stat-value{color:var(--text);font-size:13px}.stat-value.accent{color:var(--accent)}.health-badge{border-radius:20px;align-items:center;gap:5px;padding:2px 9px;font-size:11.5px;font-weight:500;display:inline-flex}.health-badge.online{color:var(--online);background:#22c55e1f}.health-badge.offline{color:var(--danger);background:#ef44441f}.health-badge.checking{color:var(--text-dim);background:#ffffff0d}.chat-page{height:calc(100vh - var(--topbar-h));flex-direction:column;max-width:none;padding:0;display:flex}.chat-page .page-title{margin-bottom:16px;padding:28px 28px 0}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:0 28px 16px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:60px 0;display:flex}.chat-bubble{align-items:flex-start;gap:10px;max-width:680px;display:flex}.chat-bubble.user{flex-direction:row-reverse;align-self:flex-end}.chat-avatar{background:var(--bg-card);border:1px solid var(--border);width:28px;height:28px;color:var(--text-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-bubble.user .chat-avatar{color:var(--accent);background:#00ffcc1a}.chat-text{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;max-width:500px;padding:10px 14px;font-size:13.5px;line-height:1.6}.chat-bubble.user .chat-text{background:#00ffcc14;border-color:#00ffcc26}.chat-input-bar{border-top:1px solid var(--border);gap:10px;padding:16px 28px 20px;display:flex}.chat-input-bar input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:8px;flex:1;padding:10px 14px;font-size:13.5px}.chat-input-bar input:focus{border-color:var(--accent-dim);outline:none}.chat-input-bar button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.chat-input-bar button:disabled{background:var(--border);color:var(--text-dim);cursor:not-allowed}.task-add-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.task-input{background:var(--bg-input);border:1px solid var(--border);min-width:180px;color:var(--text);border-radius:6px;flex:1;padding:8px 12px;font-size:13px}.task-input:focus{border-color:var(--accent-dim);outline:none}.task-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 0;display:flex}.task-item:last-child{border-bottom:none}.task-item.done .task-title{color:var(--text-dim);text-decoration:line-through}.task-title{flex:1;font-size:13px}.priority-tag{text-transform:uppercase;border-radius:10px;padding:2px 7px;font-size:10px;font-weight:700}.priority-tag.high{color:var(--danger);background:#ef444426}.priority-tag.medium{color:var(--warning);background:#f59e0b26}.priority-tag.low{color:var(--text-dim);background:#ffffff0f}.terminal-box{max-height:320px;color:var(--online);background:#000;border-radius:8px;padding:14px;font-family:Courier New,monospace;font-size:12px;overflow-y:auto}.log-line{gap:10px;margin-bottom:3px;display:flex}.log-ts{color:var(--text-dim);flex-shrink:0}.log-level{flex-shrink:0;font-weight:600}.log-line.error .log-level{color:var(--danger)}.log-line.warning .log-level{color:var(--warning)}.log-line.info .log-level{color:var(--accent)}.dim{color:var(--text-muted)}.alert-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.alert-item:last-child{border-bottom:none}.alert-icon.error{color:var(--danger)}.alert-icon.warning{color:var(--warning)}.alert-icon.info{color:var(--accent)}.alert-body{flex:1}.alert-msg{margin-bottom:3px;font-size:13px;display:block}.alert-ts{color:var(--text-dim);font-size:11px}.empty-center{color:var(--text-dim);flex-direction:column;align-items:center;gap:8px;padding:32px 0;display:flex}.accent{color:var(--accent)}.project-list{flex-direction:column;gap:10px;display:flex}.project-item{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:10px;display:flex}.project-icon{color:var(--text-dim);flex-shrink:0}.project-info{flex-direction:column;flex:1;min-width:0;display:flex}.project-name{font-size:13px;font-weight:500}.project-desc{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.project-date{color:var(--text-dim);flex-shrink:0;font-size:11px}.status-tag{text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.status-tag.active{color:var(--online);background:#22c55e1f}.status-tag.complete{color:var(--accent);background:#00ffcc1a}.status-tag.paused{color:var(--warning);background:#f59e0b1f}.search-row{align-items:center;gap:10px;display:flex}.search-result{border-bottom:1px solid var(--border);padding:12px 0}.search-result:last-child{border-bottom:none}.result-title{margin-bottom:4px;font-size:13.5px;font-weight:500}.result-snippet{color:var(--text-dim);font-size:12.5px;line-height:1.5}.result-source{color:var(--accent-dim);margin-top:4px;font-size:11px}.file-list{flex-direction:column;display:flex}.file-item{cursor:default;border-radius:6px;align-items:center;gap:10px;padding:8px 6px;transition:background .1s;display:flex}.file-item.dir{cursor:pointer}.file-item:hover{background:#ffffff0a}.file-icon{color:var(--text-dim);flex-shrink:0}.file-icon.dir{color:var(--warning)}.file-name{flex:1;font-size:13px}.file-size{color:var(--text-dim);flex-shrink:0;font-size:11px}.settings-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}@media (width<=680px){.settings-grid{grid-template-columns:1fr}}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-field label{color:var(--text-dim);font-size:12px}.settings-field input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:9px 12px;font-size:13px}.settings-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.evidence-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:9px 0;display:flex}.evidence-item:last-child{border-bottom:none}.evidence-title{flex:1;font-size:13px}.evidence-type{flex-shrink:0}.tag{border:1px solid var(--border);color:var(--text-dim);background:#ffffff0f;border-radius:4px;padding:2px 8px;font-size:10.5px}.spin{animation:.8s linear infinite rotate}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.edward-panel{flex-direction:column;gap:20px;display:flex}.edward-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=900px){.edward-grid{grid-template-columns:1fr}}.edward-select,.edward-textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;padding:9px 12px;font-family:inherit;font-size:13px}.edward-textarea{resize:vertical}.edward-select:focus,.edward-textarea:focus{border-color:var(--accent-dim);outline:none}.field-hint{color:var(--text-dim);margin-top:4px;font-size:11px}.edward-result{border:1px solid var(--accent-dim);background:#111;border-radius:8px;margin-top:16px;padding:16px}.edward-result h4{color:var(--accent);margin-bottom:8px;font-size:13px}.edward-result p{white-space:pre-wrap;font-size:13px;line-height:1.6}.edward-meta{color:var(--text-dim);background:#0a0a0a;border-radius:4px;margin-top:12px;padding:8px;font-size:11px;overflow-x:auto}.edward-error{color:#f87171;background:#ef444414;border:1px solid #ef44444d;border-radius:8px;padding:12px 16px;font-size:13px}.health-pill{border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:flex}.health-pill.ok{color:var(--online);background:#22c55e1f}.health-pill.error{color:var(--danger);background:#ef44441f}.health-pill.unknown{color:var(--text-dim);background:#c8c8c814}.case-list{flex-direction:column;gap:10px;margin-top:4px;display:flex}.case-item{border:1px solid var(--border);background:#111;border-radius:8px;padding:12px 14px}.case-title{margin-bottom:6px;font-size:13.5px;font-weight:500}.case-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.case-date{color:var(--text-dim);margin-left:auto;font-size:11px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-header h2{align-items:center;gap:10px;font-size:20px;display:flex}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:20px}.card h3{color:var(--accent);align-items:center;gap:10px;margin-bottom:16px;font-size:15px;display:flex}.legal-page{max-width:none;padding-bottom:40px}.legal-header{justify-content:space-between;align-items:center;margin-bottom:20px;padding:28px 28px 0;display:flex}.legal-layout{height:calc(100vh - var(--topbar-h) - 90px);gap:0;padding:0 28px 28px;display:flex}.legal-sidebar{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;flex-direction:column;flex-shrink:0;width:220px;margin-right:16px;display:flex;overflow:hidden}.legal-sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 14px 10px;display:flex}.case-list-scroll{flex:1;padding:6px 0;overflow-y:auto}.case-list-scroll::-webkit-scrollbar{width:3px}.case-list-scroll::-webkit-scrollbar-thumb{background:var(--border)}.case-row{width:100%;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:9px 14px;font-size:13px;transition:all .1s;display:flex}.case-row:hover{color:var(--text);background:#ffffff0a}.case-row.active{color:var(--accent);border-left:2px solid var(--accent);background:#00ffcc14;padding-left:12px}.case-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.case-row-arrow{color:var(--text-muted);flex-shrink:0}.legal-main{flex:1;min-width:0;overflow-y:auto}.legal-main::-webkit-scrollbar{width:4px}.legal-main::-webkit-scrollbar-thumb{background:var(--border)}.case-tab-bar{flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.case-tab{background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;transition:all .15s;display:flex}.case-tab:hover{color:var(--text);border-color:var(--text-dim)}.case-tab.active{border-color:var(--accent-dim);color:var(--accent);background:#00ffcc1a}.legal-item{border-bottom:1px solid var(--border);padding:10px 0}.legal-item:last-child{border-bottom:none}.legal-item-title{margin-bottom:5px;font-size:13.5px;font-weight:500}.legal-item-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.deadline-date{color:var(--warning)}.edward-embedded{margin-top:0}.edward-mode-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.mode-chip{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;text-transform:capitalize;background:0 0;border-radius:20px;padding:4px 12px;font-size:12px;transition:all .15s}.mode-chip:hover{color:var(--text);border-color:var(--text-dim)}.mode-chip.active{border-color:var(--accent-dim);color:var(--accent);background:#00ffcc1a}.edward-input-row{align-items:flex-end;gap:10px;margin-bottom:12px;display:flex}.edward-input-row textarea{flex:1;margin-bottom:0}.edward-result-box{border:1px solid var(--accent-dim);background:#0a0a0a;border-radius:8px;max-height:300px;padding:14px;overflow-y:auto}.edward-result-text{color:var(--text);white-space:pre-wrap;margin:0;font-family:inherit;font-size:12.5px;line-height:1.7}.modal-backdrop{z-index:1000;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:400px;max-width:90vw;padding:24px}.settings-field input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;padding:9px 12px;font-size:13px}.settings-field input:focus{border-color:var(--accent-dim);outline:none}@media (width<=768px){:root{--sidebar-w:100vw;--topbar-h:50px}.identity-text{display:none}.main{flex:1;min-height:0;overflow:hidden}.top-bar{padding:0 16px}.main-body{padding:0}.page-content{padding:16px 16px 48px}.legal-layout{flex-direction:column;height:auto;padding:0 16px 16px}.legal-sidebar{width:100%;max-height:180px;margin-bottom:12px;margin-right:0}.case-list-scroll{max-height:120px}.settings-grid,.overview-grid{grid-template-columns:1fr}.chat-page{height:auto;min-height:calc(100vh - 140px)}.chat-messages{padding:0 16px 16px}.chat-input-bar{padding:12px 16px 16px}.edward-input-row{flex-direction:column;align-items:stretch}.top-clock{display:none}}@media (width<=480px){.legal-header{padding:16px 16px 0}.page-title{font-size:18px}}.empty-state{color:var(--text-dim);padding:16px 0;font-size:13px}.engine-grid{flex-wrap:wrap;gap:8px;display:flex}.engine-chip{border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);cursor:pointer;border-radius:20px;align-items:center;gap:7px;padding:6px 14px;font-size:12.5px;transition:all .15s;display:inline-flex}.engine-chip:hover{color:var(--text);border-color:var(--text-dim)}.engine-chip.active{border-color:var(--accent);color:var(--accent);background:#4f9fff1f}.engine-chip.offline{opacity:.4;cursor:not-allowed}.engine-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.engine-dot.online{background:var(--online)}.engine-dot.offline{background:var(--danger)}.rii-error{color:#f87171;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;margin-top:10px;padding:10px 14px;font-size:13px}.findings-box{border:1px solid var(--border);border-radius:8px;margin-top:12px;overflow:hidden}.findings-toggle{background:var(--bg-input);width:100%;color:var(--text);cursor:pointer;text-align:left;border:none;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.findings-toggle:hover{background:#ffffff0a}.findings-body{background:#0a0a0a;padding:12px 14px}.finding-entry{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:10px}.finding-entry:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.finding-key{letter-spacing:.5px;color:var(--accent);text-transform:uppercase;margin-bottom:4px;font-size:10.5px;font-weight:700;display:block}.finding-val{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-family:Courier New,monospace;font-size:12px;line-height:1.5}.ghost-results{flex-direction:column;gap:8px;margin-top:14px;display:flex}.ghost-node{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.ghost-ip{color:var(--accent);flex-shrink:0;font-family:Courier New,monospace;font-size:13px;font-weight:600}.ghost-hostname{color:var(--text-dim);flex:1;font-size:12.5px}.ghost-ports{flex-wrap:wrap;gap:5px;display:flex}.port-tag{color:var(--accent);background:#4f9fff1a;border:1px solid #4f9fff33;border-radius:4px;padding:1px 7px;font-family:monospace;font-size:10.5px}.ghostmesh-page{max-width:none}.gm-tab-bar{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.gm-tab{border:1px solid var(--border);background:var(--bg-card);color:var(--text-dim);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:9px 18px;font-size:13px;transition:all .15s;display:flex}.gm-tab:hover{color:var(--text);border-color:var(--text-dim)}.gm-tab.active{border-color:var(--accent);color:var(--accent);background:#4f9fff1f;font-weight:500}.proxy-hud{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:14px;padding:10px 14px}.proxy-hud-label{letter-spacing:.8px;color:var(--text-dim);text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.proxy-chain-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.chain-node{border:1px solid var(--border);background:var(--bg-input);color:var(--text-dim);border-radius:12px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;display:flex}.chain-node.self{color:var(--accent);border-color:var(--accent-dim)}.chain-node.active{color:var(--online);border-color:#22c55e4d}.chain-node.target{color:var(--warning);border-color:#f59e0b4d}.chain-arrow{color:var(--text-muted);flex-shrink:0}.proxy-status-row{align-items:center;gap:6px;display:flex}.proxy-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.gm-result{border-bottom:1px solid var(--border);padding:12px 0}.gm-result:last-child{border-bottom:none}.gm-result-header{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:3px;display:flex}.gm-result-title{color:var(--accent);flex:1;min-width:200px;font-size:14px;font-weight:500;text-decoration:none}.gm-result-title:hover{text-decoration:underline}.engine-pill{border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600}.gm-result-url{color:var(--online);word-break:break-all;margin-bottom:4px;font-size:11px}.gm-result-snippet{color:var(--text-dim);font-size:12.5px;line-height:1.5}.gm-result-mini{border-bottom:1px solid var(--border);padding:8px 0}.gm-result-mini:last-child{border-bottom:none}.gm-result-mini .gm-result-title{margin-bottom:3px;font-size:12.5px;display:block}.gm-comparison-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.gm-comparison-col{max-height:500px;overflow-y:auto}.browser-container{flex-direction:column;gap:0;display:flex}.browser-tab-bar{background:var(--bg-card);border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;flex-wrap:nowrap;gap:2px;padding:6px 6px 0;display:flex;overflow-x:auto}.browser-tab{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:5px 5px 0 0;flex-shrink:0;align-items:center;gap:6px;max-width:160px;padding:6px 12px;font-size:12px;transition:all .1s;display:flex}.browser-tab:hover{color:var(--text);background:#ffffff0d}.browser-tab.active{background:var(--bg);color:var(--text);border-color:var(--border);border-bottom-color:var(--bg)}.browser-tab-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.browser-new-tab{color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;padding:6px 10px;display:flex}.browser-url-bar{background:var(--bg-card);border:1px solid var(--border);border-top:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.url-lock{flex-shrink:0}.browser-url-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;flex:1;padding:6px 10px;font-size:12.5px}.browser-url-input:focus{border-color:var(--accent-dim);outline:none}.browser-view-tabs{background:var(--bg-card);border:1px solid var(--border);border-top:none;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px 0;display:flex}.browser-status{color:var(--text-dim);margin-left:auto;font-size:11px}.browser-content{background:var(--bg-card);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;max-height:500px;overflow-y:auto}.rendered-preview{padding:16px}.rendered-title{margin-bottom:6px;font-size:16px;font-weight:600}.rendered-desc{color:var(--text-dim);margin-bottom:12px;font-size:13px}.rendered-text{color:var(--text);white-space:pre-wrap;font-size:12.5px;line-height:1.7}.redirect-chain{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.redirect-hop{color:var(--text-dim);padding:2px 0;font-family:monospace;font-size:11px}.redirect-hop.final{color:var(--accent)}.source-view{color:var(--online);white-space:pre-wrap;word-break:break-all;max-height:500px;margin:0;padding:12px 14px;font-family:Courier New,monospace;font-size:11.5px;overflow-y:auto}.links-list{padding:8px 12px}.link-item{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:5px 0;display:flex}.link-item:last-child{border-bottom:none}.link-url{color:var(--accent);word-break:break-all;flex:1;font-size:11.5px;text-decoration:none}.link-url:hover{text-decoration:underline}.link-text{color:var(--text-dim);flex-shrink:0;font-size:11px}.headers-view{padding:12px}.header-row{border-bottom:1px solid var(--border);gap:14px;padding:4px 0;font-size:12px;display:flex}.header-key{color:var(--accent);flex-shrink:0;min-width:160px;font-family:monospace;font-weight:500}.header-val{color:var(--text);word-break:break-all}.session-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:7px 0;display:flex}.session-id{color:var(--accent);flex:1;font-family:monospace;font-size:12px}.recon-task-card{padding:14px}.recon-task-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.recon-task-target{flex:1;font-size:13.5px;font-weight:500}.recon-task-count{color:var(--text-dim);font-size:12px}.adapter-status-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.adapter-chip{border:1px solid var(--border);border-radius:10px;padding:2px 9px;font-size:10.5px}.adapter-chip.running{color:var(--accent);border-color:var(--accent-dim)}.adapter-chip.done{color:var(--online);border-color:#22c55e4d}.adapter-chip.error{color:var(--danger);border-color:#ef44444d}.adapter-chip.idle{color:var(--text-dim)}.image-result-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.image-result-row:last-child{border-bottom:none}.image-result-engine{color:var(--accent);flex-shrink:0;min-width:120px;font-size:12px;font-weight:600}.image-match{color:var(--text-dim);margin-top:4px;font-size:11px}.image-match a{color:var(--accent);text-decoration:none}.image-match a:hover{text-decoration:underline}.tech-category{margin-bottom:12px}.tech-category-label{letter-spacing:.7px;color:var(--text-dim);text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700;display:block}.tech-tag{color:var(--accent);background:#4f9fff1a;border:1px solid #4f9fff33;border-radius:12px;margin:0 4px 4px 0;padding:3px 10px;font-size:12px;display:inline-block}.entity-group{margin-bottom:12px}.entity-items{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.entity-tag{background:var(--bg-input);border:1px solid var(--border);color:var(--text);cursor:default;border-radius:10px;padding:2px 9px;font-family:monospace;font-size:11.5px;display:inline-block}.graph-svg{border:1px solid var(--border);cursor:grab;background:#0a0a0a;border-radius:8px;width:100%;margin-top:12px;display:block}.graph-edge{stroke:var(--border);stroke-width:1.5px}.graph-node-g{cursor:pointer}.graph-label{fill:var(--text)}.graph-type-label{fill:var(--text-dim)}.graph-ring{transform-origin:50%;animation:4s linear infinite ring-rotate}@keyframes ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.graph-selected-info{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:10px;padding:8px 0;display:flex}@media (width<=768px){.gm-comparison-grid{grid-template-columns:1fr}.browser-tab-bar{flex-wrap:nowrap}.proxy-chain-row{gap:3px}}.image-engines-grid{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.image-engine-chip{border:1px solid var(--accent);color:var(--accent);border-radius:20px;padding:4px 10px;font-size:11px;text-decoration:none;transition:background .15s}.image-engine-chip:hover{background:var(--accent);color:#fff}.pf-wrap{flex-direction:column;gap:0;height:100%;display:flex}.pf-tabs{flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.pf-tab{border:1px solid var(--border);background:var(--card);color:var(--text-dim);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:12px;transition:all .15s}.pf-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pf-body{flex:1;overflow-y:auto}.pf-tool-panel{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;padding:16px;display:flex}.pf-tool-title{color:var(--accent);font-size:13px;font-weight:600}.pf-tool-desc{color:var(--text-dim);font-size:11px}.pf-input-row{gap:8px;display:flex}.pf-input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;flex:1;padding:8px 10px;font-size:12px}.pf-run-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:8px 18px;font-size:12px}.pf-run-btn.stop{background:var(--danger,#e53e3e)}.pf-run-btn:disabled{opacity:.5;cursor:not-allowed}.pf-results{flex-direction:column;gap:8px;display:flex}.pf-results-header{gap:12px;font-size:11px;display:flex}.pf-found-count{color:var(--online,#4caf50);font-weight:600}.pf-miss-count{color:var(--text-dim)}.pf-hits{flex-direction:column;gap:4px;max-height:400px;display:flex;overflow-y:auto}.pf-hit{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;padding:6px 10px;text-decoration:none;transition:border-color .15s;display:flex}.pf-hit:hover{border-color:var(--accent)}.pf-hit.no-link{cursor:default}.pf-hit-site{color:var(--text);font-size:12px;font-weight:600}.pf-hit-url{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.pf-badge-found{color:#4caf50;background:#4caf5033;border-radius:4px;width:fit-content;margin-top:2px;padding:2px 6px;font-size:10px;display:inline-block}.pf-scanning{color:var(--text-dim);font-size:11px;animation:1.5s infinite pulse}.pf-done{color:var(--online,#4caf50);font-size:11px}.pf-log-line{color:var(--text-dim);padding:2px 0;font-family:monospace;font-size:10px}.pf-links-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.pf-link-card{background:var(--bg);border:1px solid var(--border);color:var(--text);text-align:center;border-radius:8px;padding:8px 12px;font-size:11px;text-decoration:none;transition:border-color .15s}.pf-link-card:hover{border-color:var(--accent);color:var(--accent)}.pf-people-form{flex-direction:column;gap:8px;display:flex}.pf-form-row{gap:8px;display:flex}.pf-form-row .pf-input{flex:1}.pf-people-results{flex-direction:column;gap:10px;display:flex}.pf-cat-tabs{flex-wrap:wrap;gap:4px;display:flex}.pf-cat-tab{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:14px;padding:4px 10px;font-size:11px}.pf-cat-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pf-people-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.pf-people-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;text-decoration:none;transition:border-color .15s;display:flex}.pf-people-card:hover{border-color:var(--accent)}.pf-people-card-name{color:var(--text);font-size:12px;font-weight:600}.pf-people-card-notes{color:var(--text-dim);font-size:10px}.osint-framework-wrap{flex-direction:column;gap:10px;height:100%;display:flex}.osint-tree-loading,.osint-tree-error{color:var(--text-dim);padding:20px;font-size:13px}.osint-tree-header{flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0;display:flex}.osint-tree-stats{color:var(--text-dim);gap:12px;font-size:11px;display:flex}.osint-tree-legend{flex-wrap:wrap;gap:6px;display:flex}.osint-legend-btn{cursor:pointer;border:1px solid;border-radius:12px;padding:3px 9px;font-size:10px;transition:all .15s}.osint-tree-search{background:var(--card);border:1px solid var(--border);width:100%;color:var(--text);box-sizing:border-box;border-radius:8px;padding:8px 12px;font-size:12px}.osint-tree-search:focus{border-color:var(--accent);outline:none}.osint-tree-body{background:var(--card);border:1px solid var(--border);border-radius:10px;flex:1;padding:10px;overflow-y:auto}.osint-tree-node{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;border-radius:5px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;transition:background .12s;display:flex}.osint-tree-node:hover{background:#4f9fff14}.osint-tree-node.leaf{color:var(--text)}.osint-tree-node.T:hover{background:#4f9fff1f}.osint-tree-node.D:hover{background:#4caf501f}.osint-tree-node.R:hover{background:#ff98001f}.osint-tree-node.M:hover{background:#e91e631f}.osint-tree-arrow{color:var(--text-dim);text-align:center;flex-shrink:0;width:14px;font-size:11px}.osint-tree-label{flex:1}.osint-type-badge{color:#fff;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:700}.img-search-wrap{flex-direction:column;gap:14px;display:flex}.img-drop-zone{border:2px dashed var(--border);background:var(--card);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:180px;transition:border-color .2s,background .2s;display:flex;position:relative;overflow:hidden}.img-drop-zone:hover,.img-drop-zone.dragging{border-color:var(--accent);background:#4f9fff0d}.img-drop-zone.has-preview{cursor:default;min-height:auto}.img-drop-placeholder{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:10px;padding:30px;display:flex}.img-drop-icon{color:var(--text-dim);position:relative}.img-drop-upload-icon{color:var(--accent);background:var(--card);border-radius:50%;padding:2px;position:absolute;bottom:-4px;right:-8px}.img-drop-text{color:var(--text);font-size:14px;font-weight:500}.img-drop-sub{color:var(--text-dim);font-size:11px}.img-preview-wrap{flex-direction:column;align-items:center;gap:8px;width:100%;padding:14px;display:flex}.img-preview{object-fit:contain;border-radius:8px;max-width:100%;max-height:260px;box-shadow:0 4px 20px #0006}.img-preview-meta{color:var(--text-dim);align-items:center;gap:10px;font-size:11px;display:flex}.img-clear-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:flex}.img-clear-btn:hover{color:var(--danger,#e53e3e);border-color:var(--danger,#e53e3e)}.img-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.img-search-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 20px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.img-search-btn:hover{background:var(--accent-dim)}.img-search-btn.stop{background:#c0392b}.img-browse-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-size:12px}.img-browse-btn:hover{border-color:var(--accent);color:var(--text)}.img-stage-label{color:var(--text-dim);align-items:center;font-size:11px;display:flex}.img-results-wrap{flex-direction:column;gap:10px;display:flex}.img-summary-bar{color:var(--text-dim);border-top:1px solid var(--border);align-items:center;gap:12px;padding:6px 0;font-size:11px;display:flex}.img-temp-url-link{color:var(--accent);align-items:center;gap:4px;font-size:11px;text-decoration:none;display:flex}.img-results-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.img-engine-card{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;transition:border-color .15s;display:flex}.img-engine-card.found,.img-engine-card.submitted{border-color:#4caf504d}.img-engine-card.error{border-color:#e53e3e4d}.img-engine-card.pending{opacity:.5;border-style:dashed}.img-engine-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.img-engine-name{color:var(--text);flex:1;font-size:13px;font-weight:600}.img-engine-method{text-transform:uppercase;border-radius:10px;padding:2px 6px;font-size:9px;font-weight:600}.img-engine-method.file_upload{color:var(--accent);background:#4f9fff33}.img-engine-method.url{color:#ff9800;background:#ff980033}.img-engine-count{color:#4caf50;font-size:11px}.img-engine-note{color:var(--text-dim);font-size:11px}.img-engine-error{color:#e53e3e;font-size:11px}.img-engine-open{background:var(--accent);color:#fff;border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;text-decoration:none;display:flex}.img-engine-matches{flex-direction:column;gap:4px;display:flex}.img-match-row{background:var(--bg);border-radius:5px;align-items:center;gap:8px;padding:4px 6px;font-size:11px;text-decoration:none;display:flex}.img-match-row:hover{background:#4f9fff14}.img-match-sim{color:#4caf50;background:#4caf5033;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600}.img-match-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.img-local-card{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;grid-column:1/-1;gap:8px;padding:12px 14px;display:flex}.img-local-title{color:var(--accent);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.img-local-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 20px;display:grid}.img-local-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:3px 0;font-size:11px;display:flex}.img-local-row span:first-child{color:var(--text-dim)}.img-local-row code{color:var(--accent);background:#4f9fff14;border-radius:3px;padding:1px 4px;font-family:monospace;font-size:10px}.img-exif-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:11px}.img-exif-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 20px;margin-top:6px;display:grid}.gm-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.gm-ghost-toggle{color:#557;cursor:pointer;background:#0f1c2a;border:1px solid #333;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;transition:all .2s;display:flex}.gm-ghost-toggle:hover{color:#aaa;border-color:#555}.gm-ghost-toggle.active{color:#e53e3e;background:#e53e3e1a;border-color:#e53e3e;box-shadow:0 0 12px #e53e3e33}.gm-ghost-skull{font-size:14px}.gm-ghost-label{letter-spacing:.05em;font-weight:700}.gm-ghost-hint{opacity:.7;font-size:10px}.gm-darkweb-badge{color:#e53e3e;background:#e53e3e1a;border:1px solid #e53e3e4d;border-radius:10px;padding:1px 7px;font-size:10px}.gm-onion-badge{color:#e53e3e;background:#e53e3e14;border:1px solid #e53e3e40;border-radius:8px;margin-right:4px;padding:1px 6px;font-size:10px}.gm-result.darkweb{background:#e53e3e08;border-left:2px solid #e53e3e66}.gm-result-onion{color:#e53e3e;opacity:.6;margin-top:2px;font-family:monospace;font-size:11px}.img-mode-toggle{gap:8px;margin-bottom:12px;display:flex}.img-mode-btn{color:#556;cursor:pointer;background:0 0;border:1px solid #1e2e3e;border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;display:flex}.img-mode-btn.active{border-color:var(--accent);color:var(--accent);background:#4fc3f712}.img-url-input-row{gap:8px;margin-bottom:12px;display:flex}.pf-profiles-section{margin-top:16px}.pf-section-header{color:var(--text-dim);align-items:center;gap:6px;margin-bottom:10px;font-size:12px;display:flex}.pf-profile-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:12px 14px;transition:border-color .2s}.pf-profile-card.confirmed{background:#4caf5008;border-color:#4caf5066}.pf-profile-card.denied{opacity:.6;background:#e53e3e08;border-color:#e53e3e4d}.pf-profile-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.pf-profile-name{color:var(--text);flex:1;font-size:14px;font-weight:600}.pf-profile-age{color:var(--text-dim);background:#1a2a3a;border-radius:10px;padding:1px 7px;font-size:11px}.pf-profile-source{color:var(--accent);opacity:.7;font-size:10px}.pf-confidence-wrap{align-items:center;gap:6px;min-width:120px;display:flex}.pf-confidence-bar{border-radius:2px;flex:1;height:4px;overflow:hidden}.pf-confidence-fill{border-radius:2px;height:100%;transition:width .4s}.pf-confidence-label{text-align:right;min-width:28px;font-size:10px;font-weight:600}.pf-profile-section{margin-top:6px}.pf-profile-label{color:var(--text-dim);margin-bottom:2px;font-size:10px;display:block}.pf-profile-item{color:var(--text);padding:1px 0;font-size:12px}.pf-profile-relatives{color:var(--text-dim);font-size:12px}.pf-profile-rating-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:8px;display:flex}.pf-rating-prompt{color:var(--text-dim);font-size:11px}.pf-rate-btn{cursor:pointer;border:1px solid;border-radius:5px;padding:3px 10px;font-size:11px;transition:all .15s}.pf-rate-btn.confirm{color:#4caf50;background:#4caf5014;border-color:#4caf50}.pf-rate-btn.confirm:hover{background:#4caf5026}.pf-rate-btn.deny{color:#e53e3e;background:#e53e3e0f;border-color:#e53e3e}.pf-rate-btn.deny:hover{background:#e53e3e1f}.pf-rated-label{font-size:11px}.pf-rated-label.confirm{color:#4caf50}.pf-rated-label.deny{color:#e53e3e}.pf-scraping-indicator{color:var(--text-dim);align-items:center;gap:8px;padding:12px;font-size:12px;animation:1.5s infinite pulse;display:flex}.pf-scraping-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1s infinite pulse}.pf-links-section{margin-top:14px}.pf-links-toggle{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:12px}.pf-links-toggle:hover{color:var(--text)}.jarvis-assist-fab{z-index:999;color:#4fc3f7;cursor:pointer;background:#0b1a2a;border:1px solid #4fc3f740;border-radius:24px;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex;position:fixed;bottom:24px;right:20px;box-shadow:0 4px 20px #0006}.jarvis-assist-fab:hover{background:#0d2035;border-color:#4fc3f780;box-shadow:0 4px 24px #4fc3f726}.jarvis-assist-fab-label{font-size:12px}.jarvis-assist-panel{z-index:999;background:#0a1622;border:1px solid #4fc3f733;border-radius:12px;flex-direction:column;width:380px;max-height:520px;display:flex;position:fixed;bottom:24px;right:20px;overflow:hidden;box-shadow:0 8px 40px #00000080}.jarvis-assist-panel.minimized{max-height:44px}.jarvis-assist-header{background:#4fc3f70a;border-bottom:1px solid #4fc3f71a;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.jarvis-assist-title{color:#4fc3f7;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.jarvis-assist-page-label{color:#445;background:#0e1e2e;border-radius:8px;padding:1px 6px;font-size:10px}.jarvis-assist-header-actions{gap:2px;display:flex}.jarvis-assist-modes{flex-shrink:0;gap:4px;padding:8px 10px 4px;display:flex;overflow-x:auto}.jarvis-mode-btn{color:#445;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #1a2a3a;border-radius:12px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;display:flex}.jarvis-mode-btn.active{color:#4fc3f7;background:#4fc3f712;border-color:#4fc3f766}.jarvis-assist-messages{flex-direction:column;flex:1;gap:8px;padding:8px 10px;display:flex;overflow-y:auto}.jarvis-assist-empty{color:#334;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:120px;display:flex}.jarvis-assist-empty p{margin:0;font-size:12px}.jarvis-assist-hints{color:#2a3a4a;font-size:10px}.jarvis-assist-msg{align-items:flex-start;gap:6px;display:flex}.jarvis-assist-msg.user{flex-direction:row-reverse}.jarvis-msg-icon{color:#4fc3f7;flex-shrink:0;margin-top:2px}.jarvis-msg-content{white-space:pre-wrap;word-break:break-word;border-radius:8px;max-width:86%;padding:7px 10px;font-size:12.5px;line-height:1.5}.jarvis-assist-msg.user .jarvis-msg-content{color:var(--text);background:#0e2035;border:1px solid #1a3a5a;border-bottom-right-radius:2px}.jarvis-assist-msg.jarvis .jarvis-msg-content{color:var(--text);background:#061020;border:1px solid #4fc3f71a;border-bottom-left-radius:2px}.jarvis-task-created{color:#4fc3f7;background:#4fc3f70f;border:1px solid #4fc3f726;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:flex}.jarvis-assist-input-row{border-top:1px solid #4fc3f714;flex-shrink:0;gap:6px;padding:8px 10px;display:flex}.jarvis-assist-input{color:var(--text);resize:none;background:#0a1824;border:1px solid #1a2a3a;border-radius:6px;flex:1;padding:6px 9px;font-family:inherit;font-size:12px}.jarvis-assist-input:focus{border-color:#4fc3f74d;outline:none}.jarvis-assist-send{color:#4fc3f7;cursor:pointer;background:#4fc3f71a;border:1px solid #4fc3f733;border-radius:6px;flex-shrink:0;align-items:center;padding:6px 10px;transition:all .15s;display:flex}.jarvis-assist-send:hover:not(:disabled){background:#4fc3f72e}.jarvis-assist-send:disabled{opacity:.3;cursor:not-allowed}.jarvis-assist-send.stop{color:#e53e3e;background:#e53e3e12;border-color:#e53e3e4d}.nav-group{margin-bottom:2px}.nav-group-header{color:#456;letter-spacing:1.2px;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:6px 14px 4px;font-size:10px;font-weight:700;transition:color .15s;display:flex}.nav-group-header:hover{color:#678}@media (width<=760px){:root{--topbar-h:48px}body{overflow:hidden}.jarvis-app,.jarvis-app.sidebar-collapsed{height:100svh;display:flex}.sidebar,.jarvis-app.sidebar-collapsed .sidebar{z-index:100;width:100%;height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-right:0;border-top:1px solid var(--border);background:#111111fa;flex-direction:row;position:fixed;bottom:0;left:0;right:0}.sidebar-top,.sidebar-footer,.nav-group-header{display:none}.sidebar-nav{scrollbar-width:none;align-items:stretch;gap:4px;width:100%;padding:6px 8px;display:flex;overflow:auto hidden}.sidebar-nav::-webkit-scrollbar{display:none}.nav-group{display:contents}.nav-item,.jarvis-app.sidebar-collapsed .nav-item{text-align:center;border-left:0;border-radius:8px;flex-direction:column;justify-content:center;gap:3px;width:64px;min-width:64px;height:52px;padding:6px 4px}.nav-item.active{background:#4f9fff24;border-left:0;padding-left:4px}.nav-label{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:10px;line-height:1.15;display:block;overflow:hidden}.main{width:100%;min-width:0;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.top-bar{gap:10px;padding:0 12px}.top-page-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.top-right{gap:8px;min-width:0}.top-right>span:first-child,.top-clock{display:none!important}.model-badge{text-overflow:ellipsis;white-space:nowrap;max-width:116px;padding-inline:8px;overflow:hidden}.page-content{width:100%;max-width:none;padding:18px 14px 28px}.page-title{margin-bottom:16px;font-size:20px}.section-card{border-radius:8px;padding:14px}.overview-grid{grid-template-columns:1fr}.chat-page{height:calc(100svh - var(--topbar-h) - 64px - env(safe-area-inset-bottom,0px))}.chat-page .page-title{padding:18px 14px 0}.chat-messages{padding:0 14px 12px}.chat-bubble{max-width:100%}.chat-text{overflow-wrap:anywhere;max-width:min(74vw,500px)}.chat-input-bar{padding:12px 14px 14px}.project-item,.alert-item,.task-item,.stat-row{align-items:flex-start}.project-date{display:none}.search-row,.task-add-row,.row-group{align-items:stretch}.search-row>*,.task-add-row>*{min-width:0}}@media (width<=1024px){:root{--sidebar-w:180px;--topbar-h:48px}.page-content,.section-card{padding:12px!important}.top-bar{padding:0 10px!important}table{font-size:11px}th,td{padding:6px 8px!important}}@media (width<=768px){:root{--sidebar-w:240px;--sidebar-collapsed:0px;--topbar-h:56px}body{overflow-y:auto}.jarvis-app{position:relative}.sidebar{z-index:100;width:var(--sidebar-w);transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(0);box-shadow:2px 0 12px #00000080}.jarvis-app.sidebar-collapsed .sidebar{width:var(--sidebar-w);transform:translate(-100%)}.jarvis-app:not(.sidebar-collapsed):after{content:"";z-index:99;cursor:pointer;pointer-events:auto;background:#00000080;position:fixed;inset:0}.main-content,.jarvis-app>main,.jarvis-app>.content,.jarvis-app>div:not(.sidebar):not(.alert-banner){width:100%;max-width:100vw;margin-left:0!important}.top-bar{z-index:50;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;position:sticky;top:0;padding:8px 12px!important}.top-bar>*{font-size:11px}.top-bar .vitals-widget,.top-bar .ghostmesh-status,.top-bar .session-title{font-size:10px}.page-content{width:100%!important;max-width:100%!important;padding:12px!important}.section-card{border-radius:6px!important;margin-bottom:10px!important;padding:10px!important}.settings-grid,.overview-grid,.health-grid,.stats-grid,.edward-grid,.ghostmesh-grid{grid-template-columns:1fr!important;gap:8px!important}table{-webkit-overflow-scrolling:touch;white-space:nowrap;font-size:11px;display:block;overflow-x:auto}th,td{padding:6px 8px!important}button:not(.icon-only):not(.tab-icon):not(.collapse-btn),.btn,input[type=button],input[type=submit]{min-height:38px;font-size:13px;padding:8px 12px!important}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],textarea,select{width:100%;min-height:38px;padding:8px 12px!important;font-size:16px!important}.modal,.dialog,.overlay-content,[role=dialog]{border-radius:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;margin:0!important}.message,.chat-message,.chat-bubble{max-width:92%!important}.form-row,.field-row{flex-direction:column!important;align-items:stretch!important}.thread-list-item{padding:6px 8px!important}.hide-on-mobile{display:none!important}}@media (width<=480px){body{font-size:13px}.page-content,.section-card{padding:8px!important}h1,.page-title{margin-bottom:8px!important;font-size:18px!important}h2{font-size:16px!important}h3{font-size:14px!important}.top-bar>.vitals-widget,.top-bar>.ghostmesh-status{display:none}.top-bar{padding:6px 8px!important}.page-tabs,.tab-row{-webkit-overflow-scrolling:touch;overflow-x:auto;flex-wrap:nowrap!important}.service-card{font-size:11px;padding:8px!important}}@media (width<=768px){.mobile-menu-toggle{border:1px solid var(--border);width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;margin-right:8px;display:flex!important}.mobile-menu-toggle:hover{background:var(--bg-card)}}@media (width>=769px){.mobile-menu-toggle{display:none!important}}@supports (padding:max(0px)){@media (width<=768px){.top-bar{padding-top:max(8px, env(safe-area-inset-top))!important}.page-content{padding-bottom:max(12px, env(safe-area-inset-bottom))!important}.sidebar{padding-bottom:env(safe-area-inset-bottom)}}}@keyframes jarvis-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes jarvis-slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes jarvis-slide-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes jarvis-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes jarvis-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes jarvis-pulse-glow{0%,to{box-shadow:0 0 #4f9fff66}50%{box-shadow:0 0 0 6px #4f9fff00}}@keyframes jarvis-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes jarvis-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes jarvis-scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes jarvis-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}.page-content{animation:.25s ease-out jarvis-fade-in}.section-card,.stat-card,.health-card,.service-card{animation:.3s ease-out backwards jarvis-fade-in}.section-card:first-child{animation-delay:20ms}.section-card:nth-child(2){animation-delay:50ms}.section-card:nth-child(3){animation-delay:80ms}.section-card:nth-child(4){animation-delay:.11s}.section-card:nth-child(5){animation-delay:.14s}.section-card:nth-child(n+6){animation-delay:.17s}.sidebar-nav button,.nav-item{transition:background-color .15s,color .15s,transform .12s,padding-left .12s}.sidebar-nav button:hover,.nav-item:hover{transform:translate(2px)}button:not(:disabled),.btn{transition:background-color .15s,border-color .15s,transform 80ms,opacity .15s}button:not(:disabled):active,.btn:active{transform:scale(.97)}.status-dot.online,.avatar-status-dot.online,.health-pill.up,.connection-dot.online{animation:2s ease-in-out infinite jarvis-pulse}.recording-indicator,.wake-listening,.is-recording{animation:1.5s ease-in-out infinite jarvis-pulse-glow}.spinner,.loading-icon,[data-loading=true] svg{animation:.9s linear infinite jarvis-spin}.skeleton,.loading-placeholder{background:linear-gradient(90deg, var(--bg-card) 0%, var(--border) 50%, var(--bg-card) 100%);background-size:200% 100%;animation:1.5s linear infinite jarvis-shimmer}.modal,.dialog,[role=dialog],.overlay-content{animation:.2s ease-out jarvis-scale-in}.toast,.notification-toast,.alert-toast{animation:.25s ease-out jarvis-slide-in-right}.sidebar{transition:transform .25s,width .2s}.alert-banner,.system-alert{animation:.3s ease-out jarvis-slide-down}.message,.chat-message,.chat-bubble{animation:.2s ease-out jarvis-fade-in}.tab-content,.tab-panel{animation:.18s ease-out jarvis-fade-in}.section-card:hover,.stat-card:hover,.thread-card:hover,.memory-card:hover,.recon-result-card:hover{transition:transform .18s,box-shadow .18s;transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.new-message-indicator,.unread-badge{animation:1s ease-in-out 2 jarvis-bounce}@keyframes jarvis-status-flicker{0%,to{opacity:1}50%{opacity:.5}}.connection-dot.connecting,.health-pill.warming{animation:.8s ease-in-out infinite jarvis-status-flicker}@keyframes jarvis-eq-1{0%,to{height:4px}50%{height:12px}}@keyframes jarvis-eq-2{0%,to{height:8px}50%{height:4px}}@keyframes jarvis-eq-3{0%,to{height:6px}50%{height:14px}}.voice-playing .eq-bar:first-child{animation:.6s ease-in-out infinite jarvis-eq-1}.voice-playing .eq-bar:nth-child(2){animation:.6s ease-in-out .1s infinite jarvis-eq-2}.voice-playing .eq-bar:nth-child(3){animation:.6s ease-in-out .2s infinite jarvis-eq-3}html{scroll-behavior:smooth}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;transition:outline-offset .1s}.metric-value,.vital-number{transition:color .3s}@keyframes jarvis-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.avatar-ring{animation:4s ease-in-out infinite jarvis-breathe}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--font-size-base:14px;--font-size-sm:12px;--font-size-xs:11px;--font-size-lg:16px;--font-size-xl:18px;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--status-ok:#22c55e;--status-warn:#f59e0b;--status-crit:#ef4444;--status-info:#4fc3f7;--status-unknown:#666}[data-font-size=small]{--font-size-base:12px;--font-size-sm:11px}[data-font-size=medium]{--font-size-base:14px;--font-size-sm:12px}[data-font-size=large]{--font-size-base:16px;--font-size-sm:13px}[data-font-size=xlarge]{--font-size-base:18px;--font-size-sm:15px}body{font-size:var(--font-size-base)}[data-contrast=high]{--bg:#000;--bg-sidebar:#0a0a0a;--bg-card:#0d0d0d;--bg-input:#111;--border:#555;--text:#fff;--text-dim:#bbb;--text-muted:#888;--accent:#6cf;--status-ok:#0f8;--status-warn:#fc0;--status-crit:#f44}.sticky-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);margin:0 0 12px;padding:10px 0 8px;position:sticky;top:0}.sticky-header-card{z-index:20;background:var(--bg-card);border-bottom:1px solid var(--border);font-size:var(--font-size-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);justify-content:space-between;align-items:center;padding:8px 16px;font-weight:600;display:flex;position:sticky;top:0}.scroll-always{scrollbar-width:thin;scrollbar-color:var(--border) transparent;overflow-y:scroll}.scroll-always::-webkit-scrollbar{width:6px}.scroll-always::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.scroll-always::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}.section-card,.card{overflow-y:auto}.responsive-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.responsive-grid-sm{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.responsive-grid-lg{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px;display:grid}@media (width<=768px){.responsive-grid,.responsive-grid-sm,.responsive-grid-lg{grid-template-columns:1fr}.page-content{padding:16px 14px 32px}.top-bar{padding:0 14px}}@media (width>=769px) and (width<=1024px){.responsive-grid-lg{grid-template-columns:repeat(2,1fr)}}.jarvis-tooltip-wrap{align-items:center;display:inline-flex;position:relative}.jarvis-tooltip{white-space:nowrap;color:#eee;pointer-events:none;z-index:1000;opacity:0;background:#1a1a1a;border:1px solid #333;border-radius:5px;padding:4px 8px;font-size:11px;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0006}.jarvis-tooltip:after{content:"";border:4px solid #0000;border-top-color:#333;position:absolute;top:100%;left:50%;transform:translate(-50%)}.jarvis-tooltip-wrap:hover .jarvis-tooltip,.jarvis-tooltip-wrap:focus-within .jarvis-tooltip{opacity:1}.jarvis-tooltip.tip-right{top:50%;bottom:auto;left:calc(100% + 6px);transform:translateY(-50%)}.jarvis-tooltip.tip-right:after{border-top-color:#0000;border-right-color:#333;top:50%;left:auto;right:100%;transform:translateY(-50%)}.status-badge{font-size:var(--font-size-xs);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;line-height:1.5;display:inline-flex}.status-badge.ok,.status-ok-badge{color:var(--status-ok);background:#22c55e1f;border:1px solid #22c55e40}.status-badge.warning,.status-warn-badge{color:var(--status-warn);background:#f59e0b1f;border:1px solid #f59e0b40}.status-badge.critical,.status-crit-badge{color:var(--status-crit);background:#ef44441f;border:1px solid #ef444440}.status-badge.info,.status-info-badge{color:var(--status-info);background:#4fc3f71f;border:1px solid #4fc3f740}.status-badge.unknown{color:var(--status-unknown);background:#6464641a;border:1px solid #64646433}.alert-snooze{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;transition:color .15s,border-color .15s}.alert-snooze:hover{color:var(--text);border-color:var(--text-dim)}.batch-bar{z-index:30;background:var(--bg-card);border-top:1px solid var(--border);font-size:var(--font-size-sm);align-items:center;gap:10px;padding:10px 20px;transition:transform .2s;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 20px #0000004d}.batch-bar.hidden{pointer-events:none;transform:translateY(100%)}.batch-bar .batch-count{font-size:var(--font-size-xs);color:var(--text-dim);flex:1}.batch-btn{font-size:var(--font-size-sm);cursor:pointer;border:1px solid var(--border);background:var(--bg-input);color:var(--text);border-radius:6px;padding:5px 12px;transition:background .15s}.batch-btn:hover{background:var(--border)}.batch-btn.primary{background:var(--accent);color:#000;border-color:var(--accent)}.batch-btn.danger{color:var(--status-crit);border-color:var(--status-crit);background:0 0}.kbd{font-family:var(--font-mono);color:#bbb;vertical-align:middle;background:#2a2a2a;border:1px solid #444;border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:10px;line-height:1.5;display:inline-block}.shortcut-row{border-bottom:1px solid var(--border);font-size:var(--font-size-sm);color:var(--text-dim);align-items:center;gap:8px;padding:6px 0;display:flex}.shortcut-row .label{color:var(--text);flex:1}.global-search-overlay{z-index:5000;background:#0000008c;justify-content:center;align-items:flex-start;padding-top:80px;display:flex;position:fixed;inset:0}.global-search-box{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(640px,90vw);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0009}.global-search-input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);background:0 0;outline:none;padding:16px 20px;font-size:16px}.global-search-results{flex:1;padding:8px 0;overflow-y:auto}.global-search-result{cursor:pointer;align-items:flex-start;gap:12px;padding:10px 20px;transition:background .12s;display:flex}.global-search-result:hover,.global-search-result.focused{background:#4fc3f712}.global-search-result .result-type{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;min-width:60px;padding-top:2px;font-size:10px}.global-search-result .result-title{color:var(--text);flex:1;font-size:13px}.global-search-result .result-excerpt{color:var(--text-dim);margin-top:2px;font-size:11px}.global-search-empty{text-align:center;color:var(--text-dim);font-size:var(--font-size-sm);padding:32px 20px}.undo-toast{color:#ccc;z-index:8000;background:#1a1a1a;border:1px solid #333;border-radius:8px;align-items:center;gap:10px;padding:8px 16px;font-size:12px;animation:.2s slide-up;display:flex;position:fixed;bottom:72px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}@keyframes slide-up{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.undo-btn{color:var(--accent);cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;padding:2px 8px;font-size:11px}.a11y-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:16px;margin-bottom:16px;padding:16px;display:flex}.a11y-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.a11y-label{font-size:var(--font-size-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;min-width:120px}.a11y-btn{font-size:var(--font-size-xs);cursor:pointer;background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 12px;transition:background .15s,border-color .15s}.a11y-btn.active,.a11y-btn:hover{background:var(--accent);color:#000;border-color:var(--accent)}.skip-link{background:var(--accent);color:#000;z-index:9999;border-radius:0 0 6px;padding:8px 16px;font-weight:600;transition:top .2s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}.bw-chart-container{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:12px 16px}.bw-chart-title{font-size:var(--font-size-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.bw-iface-badge{color:#4fc3f7;font-size:11px;font-family:var(--font-mono);background:#4fc3f71a;border:1px solid #4fc3f733;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}mark.jarvis-highlight{color:inherit;background:#f59e0b4d;border-radius:2px;padding:0 1px}[data-theme=ocean]{--bg:#050e1a;--bg-sidebar:#071525;--bg-card:#0b1e30;--bg-input:#0d2338;--border:#1a3a56;--text:#c8e6f8;--text-dim:#5a90b8;--text-muted:#2a5a7a;--accent:#00bcd4;--accent-dim:#0097a7;--online:#26c6da;--danger:#ef5350;--warning:#ffa726}[data-theme=forest]{--bg:#040d07;--bg-sidebar:#081409;--bg-card:#0c1c0e;--bg-input:#0f2212;--border:#1a3d1e;--text:#c8e6c9;--text-dim:#5a8f5e;--text-muted:#2a5e2e;--accent:#66bb6a;--accent-dim:#43a047;--online:#81c784;--danger:#ef5350;--warning:#ffb74d}[data-theme=sunset]{--bg:#140808;--bg-sidebar:#1e0e0e;--bg-card:#271414;--bg-input:#2e1a1a;--border:#4a2222;--text:#ffe0d0;--text-dim:#a06050;--text-muted:#6a3030;--accent:#ff7043;--accent-dim:#e64a19;--online:#ff8a65;--danger:#f44336;--warning:#ffc107}[data-theme=nord]{--bg:#1e2030;--bg-sidebar:#252840;--bg-card:#2c3050;--bg-input:#323660;--border:#3d4270;--text:#cdd6f4;--text-dim:#7d83b4;--text-muted:#4d5384;--accent:#89b4fa;--accent-dim:#5e81ac;--online:#a6e3a1;--danger:#f38ba8;--warning:#fab387}@media (width<=600px){.jarvis-app .sidebar{z-index:300;transition:transform .25s,width .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.jarvis-app:not(.sidebar-collapsed) .sidebar{transform:translate(0)}.jarvis-app.sidebar-collapsed .sidebar{width:var(--sidebar-w);transform:translate(-100%)}.sidebar-overlay{z-index:299;background:#0009;display:none;position:fixed;inset:0}.jarvis-app:not(.sidebar-collapsed) .sidebar-overlay{display:block}.main{width:100%}}@media (width<=900px){.page-content{padding:14px 12px 32px}.top-bar{padding:0 10px}}:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.status-badge{white-space:nowrap;border-radius:10px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-badge.ok{color:var(--online);background:#22c55e1f}.status-badge.ok .status-badge-dot{background:var(--online)}.status-badge.warning{color:var(--warning);background:#f59e0b1f}.status-badge.warning .status-badge-dot{background:var(--warning)}.status-badge.critical{color:var(--danger);background:#ef44441f}.status-badge.critical .status-badge-dot{background:var(--danger)}.status-badge.unknown{color:var(--text-dim);background:#6464641f}.status-badge.unknown .status-badge-dot{background:var(--text-dim)}.status-badge.paused{color:var(--accent);background:#4f9fff1f}.status-badge.paused .status-badge-dot{background:var(--accent)}.loading-bar-overlay{z-index:9999;background:0 0;height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.loading-bar-indeterminate{background:var(--accent);border-radius:2px;width:40%;height:100%;animation:1.4s ease-in-out infinite loading-slide}@keyframes loading-slide{0%{transform:translate(-100%)}60%{transform:translate(260%)}to{transform:translate(260%)}}.loading-bar-track{background:var(--bg-input);border-radius:4px;height:6px;overflow:hidden}.loading-bar-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .3s}.tooltip-wrapper{align-items:center;display:inline-flex;position:relative}.tooltip-bubble{color:#e0e0ff;white-space:nowrap;pointer-events:none;opacity:0;z-index:9000;background:#1a1a2e;border:1px solid #2a2a4a;border-radius:5px;padding:4px 8px;font-size:11px;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0006}.tooltip-bubble:after{content:"";border:4px solid #0000;border-top-color:#1a1a2e;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-wrapper:hover .tooltip-bubble,.tooltip-wrapper:focus-within .tooltip-bubble{opacity:1}.palette-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-top:10px;display:grid}.palette-swatch{cursor:pointer;text-align:center;border:2px solid #0000;border-radius:8px;padding:8px;font-size:11px;transition:border-color .15s}.palette-swatch.active{border-color:var(--accent)}.palette-swatch-preview{border-radius:5px;height:32px;margin-bottom:5px}.batch-actions-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:8px 14px;display:flex}.batch-count-chip{color:var(--accent);background:#4f9fff26;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:700}.text-wrap-anywhere{overflow-wrap:anywhere;word-break:break-word}.text-no-overflow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.snooze-pill{color:var(--warning);cursor:pointer;background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:8px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;display:inline-flex}.snooze-pill:hover{background:#f59e0b38}.log-line{font-family:var(--font-mono,monospace);white-space:pre-wrap;padding:1px 0;font-size:12px}.log-line.error{color:#ef4444}.log-line.warning{color:#f59e0b}.log-line.info{color:#60a5fa}.log-line.debug{color:#6b7280}.log-line.default{color:var(--text-dim)}.maintenance-banner{color:#fff;text-align:center;z-index:10000;letter-spacing:.05em;background:linear-gradient(90deg,#b45309,#92400e);padding:6px 16px;font-size:12px;font-weight:700;position:fixed;top:0;left:0;right:0}.palette-btn-group{align-items:center;gap:4px;display:flex}.palette-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:16px;height:16px;transition:border-color .15s,transform .1s}.palette-dot:hover{transform:scale(1.2)}.palette-dot.active{border-color:var(--text)}@media (width<=768px){.jarvis-app{flex-direction:row!important}.jarvis-app .sidebar{border-right:1px solid var(--border)!important;z-index:300!important;border-bottom:none!important;flex-direction:column!important;width:270px!important;max-width:85vw!important;height:100dvh!important;transition:transform .25s!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;overflow:hidden auto!important}.jarvis-app:not(.sidebar-collapsed) .sidebar{transform:translate(0)!important}.jarvis-app.sidebar-collapsed .sidebar{transform:translate(-100%)!important}.jarvis-app .sidebar-nav{flex-direction:column!important;flex:1!important;overflow:hidden auto!important}.jarvis-app .nav-group{flex-direction:column!important}.jarvis-app .nav-item{border-bottom:none!important;flex-direction:row!important;width:100%!important;min-width:0!important;font-size:14px!important}.jarvis-app .nav-label{font-size:14px!important;display:inline!important}.jarvis-app .sidebar-top{border-bottom:1px solid var(--border)!important;border-right:none!important;flex-direction:row!important}.jarvis-app .sidebar-footer,.jarvis-app .identity-text{display:flex!important}.jarvis-app .collapse-btn{display:inline-flex!important}}.jarvis-assist-mic{cursor:pointer;color:#4fc3f7;background:#1b2a36;border:1px solid #2a3f50;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.jarvis-assist-mic:hover:not(:disabled){background:#233a4a}.jarvis-assist-mic:disabled{opacity:.4;cursor:not-allowed}.jarvis-assist-mic.recording{color:#fff;background:#c0392b;border-color:#e74c3c;animation:1.2s infinite jarvisMicPulse;box-shadow:0 0 #e74c3c99}@keyframes jarvisMicPulse{0%{box-shadow:0 0 #e74c3c99}70%{box-shadow:0 0 0 8px #e74c3c00}to{box-shadow:0 0 #e74c3c00}}
