:root{color-scheme:dark;--bg:#0b0f17;--panel:#111827;--panel2:#151d2c;--line:#263043;--text:#eef2ff;--muted:#9aa6ba;--accent:#8b5cf6;--accent2:#6d28d9;--error:#ff5d68;--warn:#f7bd4b;--info:#4ea1ff;--ok:#3ed17b}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#090d14,#0c121c);color:var(--text);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#0c111a;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:11px}.logo{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#4f46e5);font-size:18px}.brand strong{font-size:24px}.brand span{margin-left:9px;color:var(--muted);font-size:12px}.topbar nav{display:flex;gap:8px}.topbar button,.tabs button,.filters button,.editor-actions button,.results-head button,.modal button{border:0;background:transparent;color:#cbd5e1;padding:11px 16px;border-radius:7px;cursor:pointer}.topbar nav .active,.tabs .active,.filters .active{color:#c4b5fd;background:#171d2a;border-bottom:2px solid var(--accent)}.user{width:34px;height:34px;border-radius:9px;background:#27376a;display:grid;place-items:center}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{border-right:1px solid var(--line);padding:18px 14px;background:#0d131d;min-width:0}.section-title{font-size:11px;color:#8390a5;margin:10px 6px 8px}.nav-item{width:100%;text-align:left;border:0;background:transparent;color:#d3daea;padding:10px;border-radius:6px;margin-bottom:4px}.nav-item.active{background:linear-gradient(90deg,#281b54,#33206a);color:#fff}.tools-title{display:flex;align-items:center;justify-content:space-between}.tool-actions{display:flex;gap:5px}.tool-actions button{border:0;background:transparent;color:#8fa0b8;font-size:10px;padding:2px 4px;cursor:pointer}.tool-select{display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-areas:'check name' '. state';align-items:start;column-gap:8px;row-gap:2px;padding:8px 6px;border-radius:6px;cursor:pointer;color:#e3e8f3;min-width:0}.tool-select:hover{background:#121a27}.tool-select input{grid-area:check;margin-top:2px;accent-color:var(--accent);width:15px;height:15px}.tool-select>span{grid-area:name;display:block;min-width:0}.tool-select strong{display:block;font-size:12px;font-weight:600;line-height:1.35}.tool-select small{display:block;font-size:10px;color:#718097;margin-top:1px}.tool-state{grid-area:state;font-style:normal;font-size:10px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;margin-top:1px;color:#718097;min-width:0}.tool-state.running{color:#a78bfa;font-weight:700}.tool-state.running:before{content:'◌ ';display:inline-block;animation:spin 1s linear infinite}.tool-state.complete{color:var(--ok);font-weight:700}.tool-state.warning{color:var(--warn);font-weight:700}.tool-state.error{color:var(--error);font-weight:700}.tool-state.idle{color:#718097}@keyframes spin{to{transform:rotate(360deg)}}.intent-tool{margin-top:4px;border-top:1px solid #1d2736;padding-top:10px}.scope{margin:20px 4px;padding:14px;border:1px solid #202a3a;border-radius:8px;background:#141c29;color:#ccd5e4}.scope strong{font-size:11px;color:#a991ff}.scope p{font-size:12px;color:#c5cedd;margin-bottom:0}.workspace{display:grid;grid-template-columns:minmax(430px,40%) minmax(520px,60%);gap:10px;padding:10px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.18)}.tabs{padding:10px 10px 0;border-bottom:1px solid var(--line);display:flex;gap:8px}.upload-label{padding:10px 16px;border-radius:7px;cursor:pointer;background:#0c1119}.upload-label input{display:none}.controls{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;padding:12px}.controls label{font-size:12px;color:#9ea9bd}.controls select{display:block;width:100%;margin-top:5px;background:#101725;color:#ecf0f8;border:1px solid var(--line);border-radius:6px;padding:9px}.detection-box{margin:0 10px 12px;padding:11px 12px;border:1px solid #263043;border-radius:7px;background:#0e1520}.detection-box>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.detection-box strong{font-size:12px}.detection-box span{font-size:10px;color:#8fa0b8;text-align:right}.detection-box small{display:block;margin-top:5px;color:#718097;line-height:1.4}.detection-box.high{border-color:#23583a;background:#101c17}.detection-box.medium{border-color:#594820;background:#1a170f}.detection-box.low{border-color:#334155}.detection-box.running{border-color:#5b45a1;background:#151226}.detection-box.running strong{color:#c4b5fd}.detection-box.override{border-color:#8a6523;background:#21190d}.detection-box.override strong{color:var(--warn)}.filebar{padding:0 10px}.filebar input{width:100%;background:#0e1520;color:#e8edf7;border:1px solid var(--line);border-radius:6px 6px 0 0;padding:10px 12px}textarea{display:block;width:calc(100% - 20px);height:520px;margin:0 10px;background:#0d141e;color:#d7e2ff;border:1px solid var(--line);border-top:0;resize:vertical;padding:14px 18px;font:13px/1.6 "SFMono-Regular",Consolas,"Liberation Mono",monospace;tab-size:4;outline:none}.editor-actions{display:flex;gap:10px;padding:12px 10px}.editor-actions button{background:#182131;border:1px solid #263148}.editor-actions .primary,.modal .primary{background:linear-gradient(90deg,var(--accent2),var(--accent));color:white;border:1px solid #7c3aed}.editor-actions button:disabled,.tool-actions button:disabled{opacity:.55;cursor:not-allowed}.status{margin:0 10px 12px;padding:10px 12px;border:1px solid #202a3a;border-radius:6px;background:#0e1520;color:#9aa7b8}.results-head{height:58px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 14px}.results-head h2{font-size:16px;margin:0}.results-head span{font-size:11px;color:#9aa5b7;margin-left:8px}.results-head>div{display:flex;align-items:center}.results-head button{background:#182131;border:1px solid #263148}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px}.card{background:linear-gradient(180deg,#182131,#141c29);border:1px solid #222c3e;border-radius:7px;padding:12px}.card span{display:block;color:#dbe1ec;font-size:12px}.card strong{display:block;font-size:25px;margin:3px 0}.card small{color:#8b98ab}.card.error strong{color:var(--error)}.card.warning strong{color:var(--warn)}.card.info strong{color:var(--info)}.filters{display:flex;gap:10px;padding:4px 14px 0}.table-wrap{margin:0 10px 12px;border:1px solid var(--line);border-radius:6px;overflow:auto;max-height:500px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #222c3b}th{font-size:11px;color:#b5c0d2;background:#151e2c;position:sticky;top:0}td{font-size:12px;color:#d7deea}.sev{font-weight:600}.sev.error{color:var(--error)}.sev.warning{color:var(--warn)}.sev.info{color:var(--info)}.empty{text-align:center;color:#8190a6;padding:36px}.intent-card{margin:10px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#121a27,#0e1520);overflow:hidden}.intent-card.disabled{opacity:.62}.intent-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid #232e40}.intent-head h3{margin:0;font-size:14px}.intent-head>div>span{display:block;margin-top:2px;color:#78869b;font-size:11px}.confidence{font-size:10px;font-weight:700;letter-spacing:.08em;padding:5px 8px;border-radius:999px;background:#202939;color:#97a6ba}.confidence.high{color:#6ee7a2;background:#153324}.confidence.medium{color:#f7cf72;background:#3a2f16}.confidence.low{color:#aab7ca;background:#202939}.intent-overview{padding:13px 14px;margin:0;color:#dce4f1;border-bottom:1px solid #202a39}.intent-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}.intent-grid h4{margin:0 0 8px;font-size:12px;color:#aab6c8}.intent-list{display:grid;gap:8px}.intent-item{border:1px solid #222d3e;background:#111925;border-radius:7px;padding:10px}.intent-item strong{display:block;font-size:12px;color:#f0f4fb}.intent-item span{display:block;margin-top:3px;color:#b7c2d3;font-size:12px}.intent-item small{display:block;margin-top:5px;color:#78869b;font-size:10px}.intent-item.mismatch{border-color:#4d3d22;background:#19160f}.intent-item.mismatch strong{color:#f6cf78}.intent-empty{padding:12px;border:1px dashed #293548;border-radius:7px;color:#7f8da2;font-size:12px}.intent-note{margin:0;padding:0 14px 13px;color:#77869a;font-size:11px}.raw{margin:10px;border:1px solid var(--line);border-radius:6px;background:#0d141e}.raw summary{padding:12px;cursor:pointer}.raw pre{white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto;padding:0 12px 12px;color:#aeb9c9;font-size:11px}.modal-backdrop{position:fixed;inset:0;background:rgba(3,7,18,.78);display:grid;place-items:center;padding:20px;z-index:50}.modal-backdrop[hidden]{display:none}.modal{width:min(520px,100%);background:#111827;border:1px solid #334155;border-radius:12px;box-shadow:0 24px 70px rgba(0,0,0,.5);padding:22px}.modal h3{margin:0 0 12px;font-size:20px}.modal p{color:#cbd5e1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.modal-actions button{background:#182131;border:1px solid #334155}.mismatch-modal{border-color:#6b5223}.mismatch-modal h3{color:var(--warn)}.warning-copy{padding:10px 12px;background:#21190d;border:1px solid #5c461e;border-radius:7px}.mismatch-evidence{font-size:12px;color:#9aa7b8;background:#0e1520;border:1px solid #263043;border-radius:7px;padding:10px 12px;line-height:1.5}@media(max-width:1050px){.shell{grid-template-columns:1fr}.sidebar{display:none}.workspace{grid-template-columns:1fr}.topbar nav{display:none}}@media(max-width:760px){.intent-grid{grid-template-columns:1fr}.detection-box>div{display:block}.detection-box span{display:block;text-align:left;margin-top:3px}}@media(max-width:650px){.brand span{display:none}.workspace{padding:6px}.controls{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.results-head{height:auto;padding:10px}.results-head button{padding:8px 10px}textarea{height:380px}}