@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{--bg:#0d0d0d;--surface:#141414;--surface-2:#1c1c1c;--surface-3:#242424;--border:#2a2a2a;--border-bright:#3a3a3a;--text:#e8e8e8;--text-muted:#888;--text-dim:#555;--accent:#a3e635;--accent-dim:#4a6618;--accent-glow:#a3e63514;--red:#f87171;--yellow:#fbbf24;--blue:#60a5fa;--purple:#a78bfa;--cyan:#34d399;--font-mono:"IBM Plex Mono", "Fira Code", monospace;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--r:4px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.setup-screen{background:radial-gradient(ellipse at 30% 20%, #a3e6350a 0%, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.setup-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:28px;width:100%;max-width:560px;padding:40px;display:flex}.setup-logo{align-items:center;gap:16px;display:flex}.logo-icon{color:var(--accent);flex-shrink:0;font-size:32px;line-height:1}.setup-logo h1{letter-spacing:-.02em;font-size:22px;font-weight:600}.setup-logo p{color:var(--text-muted);margin-top:2px;font-size:13px}.setup-logo code{font-family:var(--font-mono);color:var(--accent);font-size:12px}.setup-features{flex-direction:column;gap:12px;display:flex}.feature{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);gap:12px;padding:12px;display:flex}.feature>span{flex-shrink:0;font-size:20px}.feature strong{margin-bottom:2px;font-size:13px;display:block}.feature p{color:var(--text-muted);font-size:12px}.setup-form{flex-direction:column;gap:10px;display:flex}.setup-form label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.setup-form input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);width:100%;color:var(--text);font-family:var(--font-mono);outline:none;padding:10px 12px;font-size:13px;transition:border-color .15s}.setup-form input:focus{border-color:var(--accent)}.setup-footer{color:var(--text-dim);justify-content:center;gap:8px;font-size:12px;display:flex}.app{flex-direction:column;height:100vh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:16px;height:52px;padding:0 20px;display:flex}.header-left{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.logo-text{font-family:var(--font-mono)}.tab-nav{flex:1;gap:2px;display:flex;overflow-x:auto}.tab-btn{border-radius:var(--r);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.tab-btn:hover{color:var(--text);background:var(--surface-2)}.tab-btn.active{color:var(--accent);background:var(--accent-glow);border-color:var(--accent-dim)}.tab-icon{font-size:14px}.header-btn{white-space:nowrap;margin-left:auto}.app-main{flex:1;padding:24px;overflow-y:auto}.tab-content{flex-direction:column;gap:24px;max-width:1100px;display:flex}.hook-header{border-bottom:1px solid var(--border);padding-bottom:16px}.hook-header h2{font-size:20px;font-weight:600;font-family:var(--font-mono);color:var(--accent);letter-spacing:-.02em;margin:6px 0 4px}.hook-header p{color:var(--text-muted);font-size:13px}.hook-badge{background:var(--accent-glow);border:1px solid var(--accent-dim);font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border-radius:2px;padding:2px 8px;display:inline-block}.hook-badge--multi{color:var(--blue);background:#60a5fa14;border-color:#60a5fa4d}.panel-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.panel-grid--3{grid-template-columns:1fr 1fr 1fr}@media (width<=800px){.panel-grid,.panel-grid--3{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:14px;padding:20px;display:flex}.panel h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.field-group{flex-direction:column;gap:6px;display:flex}.field-group label{color:var(--text-muted);letter-spacing:.02em;font-size:12px;font-weight:500}.field-group input,.field-group textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-family:var(--font-sans);resize:vertical;outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s}.field-group input:focus,.field-group textarea:focus{border-color:var(--accent)}.field-group input[type=range]{cursor:pointer;accent-color:var(--accent);background:0 0;border:none;padding:0}.btn-primary{background:var(--accent);color:#0d0d0d;border-radius:var(--r);font-size:13px;font-weight:600;font-family:var(--font-mono);cursor:pointer;letter-spacing:.02em;border:none;padding:9px 18px;transition:opacity .15s}.btn-primary:hover:not(:disabled){opacity:.88}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-primary.btn-large{width:100%;padding:12px 24px;font-size:14px}.btn-ghost{border:1px solid var(--border);border-radius:var(--r);color:var(--text-muted);cursor:pointer;background:0 0;padding:6px 12px;font-size:12px;transition:all .15s}.btn-ghost:hover{color:var(--text);border-color:var(--border-bright)}.btn-job{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r);color:var(--text);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:5px 14px;font-size:12px;transition:all .15s}.btn-job:hover:not(:disabled){border-color:var(--accent-dim);color:var(--accent)}.btn-job:disabled{opacity:.4;cursor:not-allowed}.btn-danger{color:var(--red);border-radius:var(--r);cursor:pointer;background:0 0;border:1px solid #f8717166;padding:9px 18px;font-size:13px;font-weight:500;transition:all .15s}.btn-danger:hover:not(:disabled){background:#f8717114}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.pill-select{flex-wrap:wrap;gap:6px;display:flex}.pill{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font-mono);border-radius:100px;padding:4px 10px;transition:all .15s}.pill:hover{color:var(--text);border-color:var(--border-bright)}.pill.active{background:var(--accent-glow);border-color:var(--accent-dim);color:var(--accent)}.status{border-radius:var(--r);font-size:12px;font-family:var(--font-mono);padding:8px 12px}.status.ok{color:var(--cyan);background:#34d39914;border:1px solid #34d39940}.status.error{color:var(--red);background:#f8717114;border:1px solid #f8717140}.status.warn{color:var(--yellow);background:#fbbf2414;border:1px solid #fbbf2440}.status.pending{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.fact-list{flex-direction:column;gap:8px;display:flex}.fact-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);border-left:3px solid var(--border);padding:12px}.fact-card.conf-certain{border-left-color:var(--cyan)}.fact-card.conf-inferred{border-left-color:var(--blue)}.fact-card.conf-tentative{border-left-color:var(--text-dim)}.fact-title{margin-bottom:4px;font-size:13px;font-weight:600}.fact-body{color:var(--text-muted);margin-bottom:8px;font-size:13px}.fact-meta{align-items:center;gap:8px;display:flex}.confidence{font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:2px 7px}.confidence.certain{color:var(--cyan);background:#34d3991a}.confidence.inferred{color:var(--blue);background:#60a5fa1a}.confidence.tentative{color:var(--text-dim);background:#5553}.tags{color:var(--text-dim);font-size:11px;font-family:var(--font-mono)}.result-summary{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.counts{gap:8px;display:flex}.count-badge{font-size:12px;font-family:var(--font-mono);border-radius:100px;padding:3px 10px}.count-badge.fact{color:var(--accent);background:#a3e6351a}.count-badge.task{color:var(--blue);background:#60a5fa1a}.count-badge.event{color:var(--purple);background:#a78bfa1a}.log-list{flex-direction:column;gap:4px;display:flex}.log-entry{background:var(--surface-2);border-radius:var(--r);font-size:12px;font-family:var(--font-mono);border-left:2px solid;gap:10px;padding:6px 8px;display:flex}.log-entry.ok{border-left-color:var(--cyan)}.log-entry.err{border-left-color:var(--red)}.log-time{color:var(--text-dim);flex-shrink:0}.log-msg{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-inserts{flex-direction:column;gap:6px;display:flex}.code-block{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.code-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=700px){.code-pair{grid-template-columns:1fr}}.code-header{background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.code-label{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.copy-btn{border:1px solid var(--border);font-size:11px;font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;padding:3px 10px;transition:all .15s}.copy-btn:hover{color:var(--accent);border-color:var(--accent-dim)}.code-body{font-family:var(--font-mono);color:#c9d1d9;padding:16px;font-size:12.5px;line-height:1.7;overflow-x:auto}.code-body code{color:inherit}.hint{color:var(--text-dim);font-size:11px}.empty{color:var(--text-dim);font-size:13px;font-style:italic}.optional{color:var(--text-dim);font-size:11px;font-weight:400}.provider-tabs{gap:6px;display:flex}.provider-tab{border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);cursor:pointer;border-radius:6px;flex:1;padding:8px 12px;font-size:13px;transition:border-color .15s,color .15s}.provider-tab:hover{border-color:var(--accent);color:var(--text)}.provider-tab.active{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.result-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;gap:8px;padding:14px;display:flex}.result-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.result-row:last-of-type{border-bottom:none}.result-row span{color:var(--text-muted)}.info-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:14px}.info-box h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.info-box ol{padding-left:16px}.info-box li{color:var(--text-muted);margin-bottom:4px;font-size:12px}.info-box code{font-family:var(--font-mono);color:var(--accent);font-size:11px}.job-list{flex-direction:column;gap:8px;display:flex}.job-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.job-info strong{margin-bottom:2px;font-size:13px;display:block}.job-info p{color:var(--text-muted);font-size:12px}.view-toggle{gap:4px;margin-left:auto;display:flex}.dump-summary{flex-direction:column;gap:12px;max-height:400px;display:flex;overflow-y:auto}.dump-entity{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.dump-entity-header{background:var(--surface-3);font-family:var(--font-mono);color:var(--accent);padding:8px 12px;font-size:12px;font-weight:600}.dump-section{border-top:1px solid var(--border);padding:10px 12px}.dump-section strong{color:var(--text-muted);margin-bottom:6px;font-size:11px;display:block}.dump-fact{align-items:center;gap:8px;margin-bottom:3px;font-size:12px;display:flex}.dump-fact-title{color:var(--text-muted)}.dump-task{color:var(--text-muted);padding:3px 0;font-size:12px}.json-view{max-height:420px;font-family:var(--font-mono);color:var(--text-muted);background:var(--surface-2);border-radius:var(--r);white-space:pre;padding:12px;font-size:11px;line-height:1.6;overflow:auto}
