:root{color-scheme:dark;--bg:#101318;--nav:#151a20;--nav-hover:#222933;--panel:#1a2028;--surface:#1c222b;--edge:#2b343d;--fg:#e8e9e7;--muted:#8995a0;--accent:#65e6c6;--accent-bg:#153a32;--danger:#f3a5a1;--shadow:0 15px 60px #0007;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{padding:0;margin:0;height:100%;background:var(--bg);color:var(--fg);font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{height:100dvh;display:flex}.sidebar{width:290px;flex-shrink:0;background:var(--nav);border-right:1px solid var(--edge);display:flex;flex-direction:column;padding:18px 12px 9px}.brand-row{display:flex;gap:12px;align-items:center;padding:1px 10px 24px}.logo{width:33px;height:33px;display:grid;place-items:center;border-radius:11px;background:var(--accent);color:#122320;font-weight:900;font-size:21px;box-shadow:0 0 35px #65e6c618}.logo.big{height:56px;width:56px;font-size:34px;margin:auto;border-radius:18px}.brand{font-size:19px;font-weight:800;letter-spacing:-.6px}.micro{color:var(--muted);font-size:11px;padding-top:2px}.primary{border:1px solid #88f9dc1c;background:var(--accent);color:#0b2720;font-weight:750;border-radius:12px;padding:11px 14px}.primary:hover{background:#8ff5da}.wide{width:100%}.nav-line{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:0;background:none;color:#b7c1c9;padding:11px 13px;border-radius:9px;min-height:39px}.nav-line:hover,.tree-btn:hover,.icon-btn:hover{background:var(--nav-hover)}.nav-line span{flex:1}.nav-line kbd{font:11px ui-monospace;color:#71808c}.section-bar{display:flex;align-items:center;justify-content:space-between;color:#778491;font-size:10px;font-weight:800;letter-spacing:1.5px;padding:27px 10px 7px}.icon-btn{background:transparent;border:0;color:#a5b2bc;border-radius:8px;width:32px;height:32px;font-size:20px;display:inline-grid;place-items:center;flex-shrink:0}.tree{overflow:auto;min-height:0;flex:1;padding:3px 0 10px;scrollbar-color:#3a4750 transparent}.tree-entry{margin:2px 0}.tree-header{display:flex;align-items:center;gap:3px;min-height:32px;border-radius:9px}.tree-btn{border:0;background:transparent;color:#b5bdc5;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;min-height:30px;display:block;flex:1;padding:6px 2px}.tree-header .tree-btn.active{background:#273b37;color:#a1fae2;font-weight:650}.tree-toggle{border:0;background:transparent;color:#778491;font-size:12px;width:19px;flex-shrink:0}.tree-plus{font-size:15px;opacity:0}.tree-header:hover .tree-plus{opacity:1}.tree-children{margin-left:15px;border-left:1px solid #2c343c;padding-left:6px}.tree-header[data-level="3"] .tree-btn{font-size:12px}.tree-symbol{margin-right:5px;opacity:.7}.sidebar-bottom{border-top:1px solid var(--edge);padding-top:8px}.workspace{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:66px;min-height:66px;border-bottom:1px solid #222a32;display:flex;align-items:center;justify-content:space-between;padding:0 23px}.breadcrumb{font-size:13px;color:#c9d1d4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.top-actions{display:flex;align-items:center;gap:13px}.model-pill{font-size:11px;color:#abb6bb;background:#20272f;border:1px solid var(--edge);border-radius:30px;padding:6px 11px;white-space:nowrap}.model-pill.ok{color:#8ae4ba}.model-pill.error{color:#e4ab9f}.main{flex:1;overflow:auto;display:flex;flex-direction:column;min-height:0}.welcome{margin:auto;text-align:center;max-width:730px;padding:35px 24px;animation:appear .4s ease both}.welcome-mark{margin:auto auto 25px;width:64px;height:64px;border-radius:22px;background:#1b3a35;color:var(--accent);font-size:40px;display:grid;place-items:center;font-weight:800}.welcome h1{font-size:30px;line-height:1.18;letter-spacing:-1.1px;font-weight:650;margin:0}.welcome p{color:var(--muted);line-height:1.6}.suggestions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:30px}.suggestions button{border:1px solid var(--edge);background:var(--panel);color:#d0d9df;border-radius:12px;padding:13px}.suggestions button:hover{border-color:#4b625b}.messages{width:100%;max-width:850px;margin:0 auto;padding:35px 30px 55px;display:flex;flex-direction:column;gap:30px;overflow:visible}.message{display:flex;gap:14px;align-items:flex-start;max-width:100%}.message.user{justify-content:flex-end}.message .avatar{width:29px;height:29px;flex-shrink:0;border-radius:9px;background:#264d44;color:var(--accent);font-weight:800;display:grid;place-items:center}.message-body{min-width:0;max-width:100%;line-height:1.75;font-size:14.5px;white-space:pre-wrap;overflow-wrap:anywhere}.message.user .message-body{max-width:min(100%,630px);background:#242d36;border-radius:17px;padding:12px 18px;line-height:1.6}.source-chip{font-size:10px;letter-spacing:.2px;color:#96a9ae;border:1px solid var(--edge);display:inline-block;border-radius:6px;padding:2px 6px;margin-bottom:7px}.composer-dock{padding:3px 18px 17px;background:linear-gradient(0deg,#101318 80%,#10131800);z-index:1}.composer{max-width:830px;margin:auto;border:1px solid #34414a;background:#1d242c;border-radius:18px;padding:9px 13px;box-shadow:0 14px 25px #0001}.composer:focus-within{border-color:#5b8d83}.composer textarea{resize:none;border:0;outline:none!important;background:none;color:var(--fg);width:100%;min-height:47px;max-height:180px;padding:11px 7px 4px;font-size:14.5px;line-height:1.55}.composer textarea::placeholder{color:#7f8e99}.compose-bottom{display:flex;align-items:center;justify-content:space-between;padding:2px 1px 0}.compose-left{display:flex;align-items:center;gap:7px}.hint{font-size:11px;color:#778891}.send-btn{background:var(--accent);border:0;border-radius:11px;color:#112d27;height:32px;width:35px;font-weight:800;font-size:16px}.disclaimer{max-width:830px;margin:8px auto 0;text-align:center;color:#6d7b84;font-size:11px}.modal-backdrop{position:fixed;inset:0;background:#030607b9;display:grid;place-items:center;z-index:20;padding:17px}.modal-card{background:#1b232b;border:1px solid #3a474f;border-radius:18px;box-shadow:var(--shadow);width:min(95vw,620px);max-height:87vh;overflow:auto;padding:24px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-header h2{font-size:21px;margin:0}.modal-card p{color:#a6b3bd;line-height:1.55}.modal-card input:not([type=file]),.modal-card select,.modal-card textarea{width:100%;border:1px solid #445059;background:#11171e;color:#e9ebeb;border-radius:9px;padding:12px;margin:8px 0 15px}.modal-card label{color:#adbac3;font-size:12px}.modal-card button{margin:5px 5px 5px 0}.modal-card .secondary{color:#c4cdd3;border:1px solid #44515a;background:#252e37;border-radius:9px;padding:10px 13px}.modal-card .primary{border-radius:9px}.modal-card .danger{background:#4a282c;color:#ffd9da;border:1px solid #7d4145;padding:10px 13px;border-radius:9px}.modal-card pre{overflow:auto;max-height:250px;font-size:12px;border:1px solid var(--edge);border-radius:9px;background:#10151c;color:#b7d9d1;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere}.note{font-size:12px;color:#9aabb4}.error{color:var(--danger)!important}.success{color:#8ee6c4!important}.auth-screen{height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 50% 28%,#1a3934 0,#11171c 36%,#101318 80%)}.auth-card{width:min(390px,100%);text-align:center;background:#181f26;border:1px solid #384941;padding:30px 31px 35px;border-radius:21px;box-shadow:var(--shadow)}.auth-card h1{margin:25px 0 8px;font-size:27px;letter-spacing:-.6px}.auth-card p{color:var(--muted);line-height:1.6}.auth-card form{text-align:left;margin-top:31px}.auth-card form label{display:block;font-size:12px;color:#acbcc2;margin-bottom:8px}.auth-card form input{width:100%;padding:13px;background:#10161b;border:1px solid #425149;border-radius:10px;color:white;margin-bottom:16px}.mobile-only{display:none}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:850px){.sidebar{position:absolute;inset:0 auto 0 0;z-index:10;transform:translateX(-100%);transition:transform .18s;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.mobile-only{display:inline-grid}.brand-row .mobile-only{margin-left:auto}.topbar{padding:0 13px}.breadcrumb{font-size:12px}.model-pill{max-width:135px;overflow:hidden;text-overflow:ellipsis}.messages{padding:24px 15px 40px;gap:20px}.composer-dock{padding:8px 10px 12px}.disclaimer{font-size:10px}.welcome h1{font-size:24px}.welcome{padding:15px}.suggestions{gap:7px}}

.research-toggle{border:1px solid var(--edge);background:#26323a;color:#b3c2cc;padding:7px 10px;border-radius:9px;font-size:11px}.research-toggle.active{background:#154c3d;border-color:#65e6c6;color:#c8fbe9}.message-body a{color:#90e8d0;text-decoration:underline;text-underline-offset:2px}

/* v0.1.5 Intent & Execution Router */
.route-choice{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted,#aab7bd);white-space:nowrap}
.route-choice select{max-width:165px;min-width:110px;border:1px solid #45605c;background:#18262b;color:#e4f4f1;border-radius:8px;padding:6px 8px;font-size:12px}
.route-hint{color:#a1b8b5;font-size:11px;line-height:1.4;margin:3px 0 2px;text-align:center}
@media(max-width:560px){.route-choice{font-size:11px}.route-choice select{max-width:135px;padding:5px}.route-hint{font-size:10px}}

/* v0.1.6 opt-in capability manager */
.capability-card{border:1px solid var(--edge);border-radius:12px;padding:13px;margin:10px 0;background:#141c23}
.capability-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.capability-state{font-size:11px;color:#9ad9c8;background:#24352f;border-radius:8px;padding:4px 7px}
.capability-card p{margin:9px 0;color:#c5d0d1;font-size:13px}
.capability-card small{display:block;color:#94a4ad;line-height:1.6}
.capability-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:9px}
.capability-perms{overflow-wrap:anywhere}
/* v0.2 real workspaces, project libraries and document-aware composer */
.overview{width:min(1060px,100%);margin:0 auto;padding:28px 36px 90px;display:flex;flex-direction:column;gap:23px}
.overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.overview-eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase}
.overview h1{font-size:27px;letter-spacing:-.8px;margin:7px 0 8px}
.overview .subtext{color:var(--muted);font-size:13px;line-height:1.6}
.overview-tabs{display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid var(--edge);padding-bottom:10px}
.overview-tabs button,.secondary.small{border:1px solid var(--edge);background:var(--panel);color:#cbd7da;border-radius:9px;padding:7px 11px;font-size:12px}
.overview-tabs button.active{background:#21453d;color:#aef5df;border-color:#386557}
.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:15px}
.overview-card{background:#192128;border:1px solid #344047;border-radius:14px;padding:18px;min-width:0}
.overview-card h3{margin:0 0 12px;font-size:16px}
.overview-card p{font-size:13px;color:var(--muted);line-height:1.6}
.overview-card .nav-line{padding:8px}
.overview-section{min-height:180px}
.document-drop{border:1px dashed #517267;border-radius:12px;padding:22px;text-align:center;margin:13px 0;color:#b1c6c0;cursor:pointer}
.document-drop:hover,.document-drop.drag-over{background:#173b34;border-color:var(--accent)}
.doc-list{display:flex;flex-direction:column;gap:9px}
.doc-row,.doc-chip{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border-radius:10px;border:1px solid var(--edge);background:#171f26}
.doc-row .doc-main{flex:1;min-width:0}.doc-row strong,.doc-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-row small,.doc-chip small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.document-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 5px}
.doc-chip{background:#253d37;padding:5px 8px;border-color:#3f685b;font-size:11px}
.doc-chip button{border:0;background:transparent;color:#d9f9ea;cursor:pointer}
.message-body{white-space:normal}
.message-body p{white-space:pre-wrap;margin:0 0 10px}
.message-body h2,.message-body h3,.message-body h4,.message-body h5{margin:15px 0 9px;line-height:1.35}
.message-body ul,.message-body ol{padding-left:21px;margin:8px 0}
.message-body li{margin:5px 0}
.message-body code{background:#202c35;padding:2px 5px;border-radius:5px;font:12px ui-monospace,monospace}
.md-code{border:1px solid #3c4a55;border-radius:11px;overflow:hidden;margin:10px 0 14px}
.md-code-head{background:#222d36;padding:7px 10px;display:flex;justify-content:space-between;align-items:center;font:11px ui-monospace}
.md-code pre{margin:0;padding:15px;background:#11181e;overflow:auto;white-space:pre;max-width:100%;font:12px ui-monospace}
.md-code pre code{background:none;padding:0}
.message-body table{border-collapse:collapse;display:block;overflow:auto;margin:13px 0;max-width:100%}
.message-body th,.message-body td{border:1px solid #46535b;padding:7px 10px;text-align:left;white-space:nowrap}
.message-body blockquote{border-left:3px solid var(--accent);margin:9px 0;padding-left:12px;color:#b6cecb}
.message-files{font-size:11px;color:#82daba;margin:6px 0;display:flex;flex-wrap:wrap;gap:7px}
.message-files span{border:1px solid #386b55;border-radius:7px;padding:3px 6px}
.tree-header .tree-plus:focus-visible{opacity:1}
@media(max-width:850px){.overview{padding:20px 14px 65px}.overview-header{flex-wrap:wrap}.overview h1{font-size:23px}.doc-row{flex-wrap:wrap}.doc-row .doc-main{min-width:160px}}
.overview-section input,.overview-section textarea{width:100%;display:block;border:1px solid #445059;background:#11171e;color:#e9ebeb;border-radius:10px;padding:11px;margin:9px 0 17px;font:inherit}
.overview-section label{font-size:12px;color:#a9bcc0}
.composer-dock.drag-over .composer{border-color:#76ecc8;background:#18362f}


/* Tasa interactive chat bubbles — progressive UI improvement, no database changes. */
.workspace{position:relative}
.message{gap:12px;align-items:flex-start}
.message-shell{display:flex;flex-direction:column;min-width:0;max-width:calc(100% - 42px);flex:1}
.message.user .message-shell{flex:0 1 auto;max-width:min(100%,690px);align-items:flex-end}
.message.assistant .message-shell{align-items:flex-start}
.message-bubble{max-width:100%;min-width:0;padding:14px 18px;border:1px solid #34414b;border-radius:19px;background:#1b242c;box-shadow:0 3px 10px #00000014}
.message.user .message-bubble{background:#263831;border-color:#365a4c;border-radius:19px 19px 6px 19px}
.message.assistant .message-bubble{border-radius:6px 19px 19px 19px;width:100%}
.message.user .message-body{max-width:none;background:transparent;border-radius:0;padding:0;white-space:pre-wrap;overflow-wrap:anywhere}
.message.assistant .message-body{width:100%}
.message-actions{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:5px 4px 0;opacity:.65;transition:opacity .15s}
.message.user .message-actions{justify-content:flex-end}
.message:hover .message-actions,.message:focus-within .message-actions{opacity:1}
.message-action{background:transparent;border:1px solid transparent;color:#9aaeb6;font-size:11px;line-height:1.2;padding:6px 9px;border-radius:8px;min-height:30px}
.message-action:hover,.message-action:focus-visible{color:#baf2e1;border-color:#3d5d53;background:#223b34}
.message-action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.jump-latest{position:absolute;right:clamp(18px,6vw,110px);bottom:175px;z-index:4;border:1px solid #3f5f54;background:#203b34;color:#d9f9ef;box-shadow:0 7px 22px #0007;padding:9px 15px;border-radius:99px;font-size:12px;font-weight:650}
.jump-latest:hover{background:#2a5245}
@media(hover:none){.message-actions{opacity:1}}
@media(max-width:850px){.message-bubble{padding:11px 13px}.message-shell{max-width:calc(100% - 36px)}.message.user .message-shell{max-width:95%}.jump-latest{right:17px;bottom:165px}.message-actions{opacity:1}}
@media(prefers-reduced-motion:reduce){.message-actions{transition:none}}


/* Tasa chat readability v2: assistant prose + copyable snippets */
.messages{max-width:930px;gap:29px;padding:32px clamp(18px,4vw,55px) 84px}
.message{align-items:flex-start;gap:13px}
.message.assistant .avatar{width:30px;height:30px;border-radius:50%;margin-top:2px}
.message.assistant .message-shell{flex:1 1 auto;width:calc(100% - 43px);max-width:calc(100% - 43px);align-items:stretch}
.message.assistant .message-bubble{width:100%;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.message.assistant .message-body{font-size:14.5px;line-height:1.72;min-width:0;overflow-wrap:anywhere}
.message.assistant .message-body p{margin:0 0 12px;white-space:normal}
.message.assistant .message-body p:last-child{margin-bottom:0}
.message.assistant .message-body li{margin:7px 0;line-height:1.7}
.message.user .message-shell{flex:0 1 auto;max-width:min(78%,670px);align-items:flex-end}
.message.user .message-bubble{padding:13px 17px;background:#293c35;border:1px solid #3c5a4c;box-shadow:none;border-radius:20px 20px 6px 20px}
.message.user .message-body{font-size:14px;line-height:1.6}
.message-actions{opacity:1;gap:5px;margin:7px 0 0;align-items:center}
.message.assistant .message-actions{justify-content:flex-start;margin-left:-4px}
.message.user .message-actions{justify-content:flex-end}
.message-action{color:#b0bec5;background:transparent;border:1px solid transparent;font-size:12px;font-weight:550;line-height:1.25;min-height:34px;padding:8px 11px;border-radius:9px}
.message-action:hover,.message-action:focus-visible{background:#24332f;border-color:#42675b;color:#d4fff0}
.message-body .md-code{border:1px solid #3b4c55;border-radius:12px;overflow:hidden;background:#111920;margin:15px 0 18px;max-width:100%}
.message-body .md-code-head{background:#27323c;color:#d0dfe3;padding:9px 13px;min-height:42px;font-size:12px}
.message-body .md-code-head button{color:#d5f6eb;border:1px solid #52655f;background:#31413d;border-radius:8px;padding:7px 12px;min-width:71px;font-weight:650}
.message-body .md-code-head button:hover{background:#405950}
.message-body .md-code pre{background:#10171e;margin:0;overflow:auto;padding:15px;line-height:1.6;white-space:pre}
.message-body .md-code pre code{font:12.5px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:none;color:#e3eee9}
.message-body code.tasa-inline-copy{cursor:copy;color:#d3f5e7;background:#27383a;border:1px solid transparent;transition:background .12s}
.message-body code.tasa-inline-copy:hover,.message-body code.tasa-inline-copy:focus-visible{background:#34574b;border-color:#5a8d79;outline:none}
.message-body code.tasa-inline-copy[data-copied="true"]::after{content:'  ✓ copied';font:10px ui-sans-serif;color:#a3f7d7}
.message-body table{max-width:100%;font-size:13px}
.jump-latest{z-index:5}
@media(max-width:850px){.messages{padding:20px 15px 50px;gap:23px}.message.user .message-shell{max-width:88%}.message.assistant .message-shell{max-width:calc(100% - 41px)}.message-action{min-height:34px;padding:8px 9px}}
@media(max-width:520px){.message.assistant .avatar{width:26px;height:26px}.message.assistant{gap:9px}.message.assistant .message-shell{max-width:calc(100% - 35px)}.message.user .message-shell{max-width:93%}.message-body .md-code pre{padding:11px}}

/* Agent mode approval controls */
#agentToggle{margin-left:8px;border:1px solid #486157;color:#d0e0d9;min-height:30px}
#agentToggle.agent-enabled{border-color:#6be2bd;background:#1d5143;color:#e5fff7}
#pendingCommand,#agentResult{white-space:pre-wrap;overflow-wrap:anywhere;max-height:35vh;overflow:auto;background:#111b24;padding:12px;border-radius:9px}

.agent-observation{max-width:720px;margin:0 0 12px 45px;border:1px solid #314b45;border-radius:9px;padding:9px;color:#b4d5c9;font-size:12px}
.agent-observation summary{cursor:pointer}
.agent-observation pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto}

/* Tasa Chat UI Final Pass v1 */

.tasa-message-file {
 display:inline-flex;
 align-items:center;
 max-width:100%;
 border:1px solid #386b55;
 border-radius:8px;
 padding:5px 9px;
 background:#233d35;
 color:#d4faec;
 font:inherit;
 cursor:pointer;
 overflow-wrap:anywhere;
 text-align:left;
}

.tasa-message-file:hover,
.tasa-message-file:focus-visible {
 background:#33574b;
 border-color:#70c7a7;
}

.tasa-modal-actions {
 display:flex;
 justify-content:flex-end;
 gap:10px;
 flex-wrap:wrap;
 margin-top:15px;
}

.tasa-edit-area {
 width:100%;
 min-height:160px;
 max-height:55vh;
 resize:vertical;
 display:block;
 margin-top:10px;
 background:#111b21;
 color:#effaf6;
 border:1px solid #536860;
 border-radius:12px;
 padding:13px;
 line-height:1.65;
 font-family:inherit;
}

.tasa-file-preview,
.tasa-revision pre {
 max-height:45vh;
 overflow:auto;
 white-space:pre-wrap;
 overflow-wrap:anywhere;
 background:#10191f;
 border:1px solid #35444b;
 border-radius:10px;
 padding:13px;
 font:12px/1.6 ui-monospace,monospace;
}

.tasa-revision {
 border:1px solid #35444b;
 border-radius:10px;
 padding:11px;
 margin:8px 0;
}

.tasa-revision summary {
 cursor:pointer;
 color:#cde8db;
}

.tasa-revision pre {
 margin:11px 0;
}

.tasa-download {
 display:inline-block;
 padding:9px 13px;
 border-radius:9px;
 background:#294e42;
 color:#ddfff1;
 text-decoration:none;
}

.tasa-download:hover {
 background:#376452;
}

.message-action {
 min-height:36px;
}

.message-body .md-code pre {
 -webkit-overflow-scrolling:touch;
}

@media(max-width:680px) {
 .message-actions {
  flex-wrap:wrap;
 }

 .message-action {
  min-height:40px;
 }

 .tasa-modal-actions > * {
  flex:1;
 }

 .tasa-edit-area {
  min-height:220px;
 }
}

@media(prefers-reduced-motion:reduce) {
 .message-action,
 .tasa-message-file {
  transition:none;
 }
}

/* TASA_HOST_SUPERVISED_PLAIN_V1 */
#fileBtn {
 white-space:nowrap;
}
.tasa-routing-more {
 position:relative;
}
.tasa-routing-more>summary {
 cursor:pointer;
 color:#c4e4d7;
 padding:7px;
}
.tasa-routing-more>label {
 position:absolute;
 z-index:8;
 right:0;
 bottom:40px;
 background:#192b28;
 border:1px solid #436658;
 border-radius:10px;
 padding:12px;
 min-width:190px;
}
#rootsShown>div {
 display:flex;
 gap:10px;
 align-items:center;
 justify-content:space-between;
 margin:8px 0;
 overflow-wrap:anywhere;
}

/* TASA_STOP_STATUS_V1 */
.tasa-generation-status {
 font-size:12px;
 color:#a7b7bf;
 margin-left:auto;
 margin-right:8px;
 max-width:205px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}

.tasa-generation-status[data-state="working"] {
 color:#9cebd2;
}

.tasa-generation-status[data-state="working"]::before {
 content:"● ";
 animation:tasa-pulse 1.2s infinite;
}

.tasa-generation-status[data-state="complete"] {
 color:#89e6bc;
}

.tasa-generation-status[data-state="error"] {
 color:#ffacae;
}

.tasa-generation-status[data-state="stopped"] {
 color:#dfc7aa;
}

.tasa-generation-status[data-state="approval"] {
 color:#edc985;
}

.tasa-stop-btn {
 background:#f1f4f6;
 color:#19232a;
 border:0;
 border-radius:11px;
 height:32px;
 width:35px;
 display:inline-grid;
 place-items:center;
 font-size:16px;
 font-weight:800;
}

.tasa-stop-btn:hover {
 background:white;
}

@keyframes tasa-pulse {
 50% { opacity:.4 }
}

@media(prefers-reduced-motion:reduce){
 .tasa-generation-status[data-state="working"]::before {
  animation:none;
 }
}

@media(max-width:700px){
 .tasa-generation-status {
  max-width:110px;
  font-size:11px;
 }
}

/* Collapsed activity summary for agent operations */
.tasa-activity-panel { margin-top:8px; }
.tasa-activity-log {
  max-height:320px;
  overflow:auto;
  padding:8px 0;
}
.tasa-activity-item {
  padding:6px 4px;
  border-bottom:1px solid #314b45;
  overflow-wrap:anywhere;
}
.tasa-activity-item:last-child { border-bottom:0; }

/* TASA_TASK_DASHBOARD_V1 */
.tasa-tasks-overlay{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:18px}
.tasa-tasks-panel{background:#14252a;color:#e6f5f2;border:1px solid #41635c;border-radius:16px;padding:20px;width:min(780px,95vw);max-height:88vh;overflow:auto;box-shadow:0 12px 50px #0009}
.tasa-tasks-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tasa-tasks-head h2{margin:0;font-size:21px}
.tasa-tasks-head button{padding:7px 15px;border-radius:8px;cursor:pointer}
.tasa-task-help,.tasa-task-time{color:#b1c7c1;font-size:12px}
.tasa-task-card{border:1px solid #37544f;border-radius:10px;margin:10px 0;padding:12px;background:#1b3135}
.tasa-task-card summary{cursor:pointer;overflow-wrap:anywhere;line-height:1.6}
.tasa-task-state{font-weight:700;text-transform:capitalize;padding:3px 8px;border-radius:999px;background:#3b484d;margin-right:7px;font-size:11px}
.tasa-task-state[data-state="completed"]{background:#225844;color:#b9f8d3}
.tasa-task-state[data-state="failed"],.tasa-task-state[data-state="interrupted"]{background:#673438;color:#ffd2d2}
.tasa-task-state[data-state="awaiting_approval"]{background:#62502a;color:#ffe0a0}
.tasa-task-progress{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.tasa-task-events{border-top:1px solid #37544f;margin-top:12px;padding-top:6px}
.tasa-task-event{padding:7px 0;border-bottom:1px solid #2c4642;font-size:12px;overflow-wrap:anywhere}
.tasa-task-event:last-child{border:0}
@media(max-width:600px){.tasa-tasks-panel{padding:12px}.tasa-tasks-overlay{padding:6px}}


/* TASA_UI_REFRESH_V1: visual polish and keyboard navigation */
:root{--tasa-accent:#57dfc5;--tasa-focus:#9af1e1;--tasa-ui-radius:13px;--tasa-ui-edge:#344c4a}
html{scroll-behavior:smooth}
button,input,textarea,select{font:inherit}
button{transition:background-color .16s ease,border-color .16s ease,transform .16s ease}
button:active{transform:translateY(1px)}
:where(button,input,textarea,select,summary,[role="button"]):focus-visible{outline:2px solid var(--tasa-focus);outline-offset:3px}
#messages{scrollbar-color:#3b5754 transparent;scrollbar-width:thin}
#messages :where(pre,table){max-width:100%;overflow-x:auto}
#messages :where(p,li){overflow-wrap:anywhere}
#messages table{display:block;max-width:100%;overflow-x:auto}
#messages :where(pre,blockquote){border-radius:var(--tasa-ui-radius)}
#prompt{line-height:1.5}
#routeHint{opacity:.82}
.tasa-task-snapshot{display:inline-flex;align-items:center;font-size:11px;color:#a7c5bd;padding:3px 8px;border:1px solid var(--tasa-ui-edge);border-radius:999px;cursor:pointer;white-space:nowrap}
.tasa-task-snapshot[data-active="yes"]{color:#f0d69f;border-color:#75603d}
.tasa-quick-button{white-space:nowrap}
.tasa-quick-overlay{position:fixed;inset:0;z-index:2500;background:rgba(3,9,13,.76);display:flex;align-items:flex-start;justify-content:center;padding:clamp(20px,14vh,125px) 14px 20px;backdrop-filter:blur(5px)}
.tasa-quick-dialog{width:min(560px,100%);background:#162528;color:#e9f8f4;border:1px solid #41625d;border-radius:17px;box-shadow:0 22px 80px #000b;padding:16px;max-height:80vh;overflow:auto}
.tasa-quick-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;font-size:16px}
.tasa-quick-close{border:1px solid #45605c;border-radius:8px;background:transparent;color:inherit;padding:5px 11px;cursor:pointer}
.tasa-quick-input{box-sizing:border-box;width:100%;color:#f2fffc;background:#101c21;border:1px solid #44605d;border-radius:10px;padding:11px 12px;margin:0 0 8px}
.tasa-quick-list{display:grid;gap:5px}
.tasa-quick-action{display:flex;align-items:center;gap:13px;background:transparent;border:1px solid transparent;border-radius:10px;color:inherit;text-align:left;cursor:pointer;padding:10px}
.tasa-quick-action:hover,.tasa-quick-action:focus-visible{background:#28423f;border-color:#527970}
.tasa-quick-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:9px;background:#2a4a46;color:#8cedd9;font-weight:700;font-size:18px}
.tasa-quick-labels{display:grid;gap:3px}.tasa-quick-labels strong{font-size:13px}.tasa-quick-labels small{font-size:11px;color:#adc7c0}
.tasa-quick-empty{font-size:13px;color:#adc7c0;padding:10px}
.tasa-tasks-panel{width:min(900px,96vw);border-radius:18px}
.tasa-task-card{transition:border-color .16s ease,background-color .16s ease}
.tasa-task-card[open]{border-color:#598b7e;background:#203b3d}
.tasa-task-event{line-height:1.55}
.tasa-activity-panel{border-radius:12px}
.tasa-activity-panel summary{font-weight:600;letter-spacing:.01em}
.tasa-compact #messages{font-size:93%}
.tasa-compact .tasa-task-card{padding:8px;margin:6px 0}
.tasa-compact .tasa-task-event{padding:4px 0}
@media(max-width:850px){.tasa-task-snapshot{display:none}.tasa-quick-button{font-size:11px;padding:6px}}
@media(max-width:520px){.tasa-quick-dialog{padding:12px}.tasa-quick-overlay{padding-top:40px}.tasa-quick-button{font-size:0}.tasa-quick-button::after{content:'⌘';font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button{transition:none}}


/* TASA_STUDIO_REDESIGN_V2 — neutral, editorial three-pane desktop UI */
:root{
 color-scheme:dark; --bg:#111217; --nav:#17181e; --nav-hover:#282932;
 --panel:#1c1d24; --surface:#22232b; --edge:#31323b;
 --fg:#ecebf1; --muted:#9999a7; --accent:#c4b5fd; --accent-bg:#332c49;
 --danger:#f5a5a9; --shadow:0 22px 70px #0009;
 --tasa-accent:#c4b5fd; --tasa-focus:#d5caff; --tasa-ui-edge:#41404d;
 font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html,body{background:var(--bg);color:var(--fg)}
.shell{background:var(--bg)}
.sidebar{width:272px;background:#17181e;border-right:1px solid #292932;padding:18px 10px 12px;transition:width .2s ease}
.brand-row{padding:4px 12px 21px;gap:12px}
.logo{background:#c4b5fd;color:#211b30;box-shadow:none;border-radius:12px}
.brand{letter-spacing:-.7px;font-size:18px}.micro{font-size:11px;color:#9d9ca9}
.sidebar #quickChat{background:#292934;color:#edeaf5;border:1px solid #3c3a48;box-shadow:none;border-radius:11px;min-height:41px;font-weight:600}
.sidebar #quickChat:hover{background:#363542;border-color:#666073}
.nav-line{color:#a8a8b6;min-height:37px;padding:9px 12px;border-radius:9px}
.nav-line:hover,.tree-btn:hover,.icon-btn:hover{background:#2b2b34;color:#f2f0f8}
.section-bar{color:#858492;letter-spacing:1.2px;font-size:10px;padding-top:25px}
.tree{scrollbar-color:#3a3945 transparent}
.tree-btn{color:#b6b5c3}
.tree-header .tree-btn.active{background:#373044;color:#e1d3ff}
.tree-children{border-left-color:#36343e}
.sidebar-bottom{border-top-color:#30303a}
.workspace{min-width:0;background:#111217}
.topbar{height:62px;min-height:62px;border-bottom:1px solid #282830;padding:0 24px;background:#15161b}
.breadcrumb{font-size:12px;color:#c8c6d1;font-weight:500;letter-spacing:.01em}
.top-actions{gap:7px}.model-pill{background:#202229;border-color:#343541;color:#c0c0cd;font-size:11px}
.model-pill.ok{color:#c3efca}.model-pill.error{color:#f4b4ab}
.icon-btn{color:#afadbb}
.main{background:#111217}
.messages{max-width:930px;padding:44px 40px 85px;gap:32px}
.message{gap:15px}
.message .avatar{background:#332c48;color:#d6c4ff;border-radius:11px}
.message-body{font-size:15px;line-height:1.8;color:#e5e4ec}
.message.user .message-body{max-width:min(100%,660px);background:#24252d;border:1px solid #30313b;border-radius:20px;padding:14px 19px;color:#f2f0f6}
.message.assistant .message-body{color:#e4e3ec}
.message-body a{color:#cfc0ff}
.message-body .md-code pre{background:#191a21;border:1px solid #32323e}
.message-action{color:#a7a5b3}
.welcome{max-width:780px;padding:45px 24px}.welcome-mark{background:#2d273b;color:#cbb9ff;border-radius:22px}
.welcome h1{font-size:clamp(28px,3vw,38px);font-weight:620;letter-spacing:-1.45px}
.welcome p{font-size:15px;color:#9997a6}
.suggestions button{border:1px solid #343441;background:#1a1b22;color:#cac9d4;padding:14px 17px;border-radius:14px}
.suggestions button:hover{background:#292832;border-color:#777087}
.composer-dock{background:linear-gradient(0deg,#111217 80%,#11121700);padding:12px 24px 14px}
.composer{max-width:900px;background:#21222b;border:1px solid #464450;border-radius:20px;padding:9px 14px;box-shadow:0 15px 40px #0003}
.composer:focus-within{border-color:#82719c;box-shadow:0 0 0 2px #b5a1f616,0 15px 40px #0003}
.composer textarea{font-size:15px;color:#f5f3fa;min-height:51px}
.composer textarea::placeholder{color:#898694}
.compose-bottom{gap:10px}.compose-left{gap:6px}
.send-btn{background:#e2d9ff;color:#211a32;border-radius:12px;width:37px;height:35px}
.send-btn:hover{background:#f0eaff}
.route-choice select{background:#2a2934;color:#e1dfec;border:1px solid #484452}
.route-hint{color:#8e8c9a}.disclaimer{color:#777682}
.tasa-generation-status[data-state="working"],.tasa-generation-status[data-state="complete"]{color:#b7e8c5}
#fileBtn,.secondary.small{background:#2b2a35;color:#ddd9e9;border:1px solid #42414c;border-radius:10px;padding:7px 11px}
#fileBtn:hover,.secondary.small:hover{background:#373540}
.tasa-activity-panel{background:#1c1d25;border:1px solid #363541;color:#cfcdd9;border-radius:14px}
.tasa-activity-item{border-bottom-color:#30303b}
.modal-backdrop{background:#090910ba;backdrop-filter:blur(7px)}
.modal-card,.auth-card{background:#20212a;border-color:#444250;border-radius:20px}
.modal-card input:not([type=file]),.modal-card select,.modal-card textarea{background:#15161c;border-color:#484652}
.auth-screen{background:radial-gradient(ellipse at 50% 20%,#282137 0,#14141c 45%,#111217 85%)}
.auth-card form input{background:#15151d;border-color:#454050}
.tasa-tasks-overlay,.tasa-quick-overlay{background:#090910c4;backdrop-filter:blur(8px)}
.tasa-tasks-panel,.tasa-quick-dialog{background:#22222d;color:#eeeaf6;border:1px solid #4b485b;box-shadow:0 30px 90px #000a}
.tasa-task-card{background:#2a2935;border-color:#42404e}.tasa-task-card[open]{background:#302e3d;border-color:#736587}
.tasa-task-events{border-top-color:#474454}.tasa-task-event{border-bottom-color:#3b3948}
.tasa-quick-input{background:#17171e;color:#f4efff;border-color:#4b465b}
.tasa-quick-action:hover,.tasa-quick-action:focus-visible{background:#353143;border-color:#635977}
.tasa-quick-icon{background:#3c3253;color:#d8c5ff}
.tasa-quick-labels small{color:#a6a2b2}
.tasa-task-snapshot{color:#b7b2c6;border-color:#464251}
/* Workspace inspector — real, optional third panel */
.inspector{width:300px;flex:0 0 300px;background:#191a21;border-left:1px solid #30303b;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.inspector[hidden]{display:none!important}
.inspector-header{min-height:93px;padding:24px 20px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.inspector-header strong{font-size:18px;letter-spacing:-.45px;font-weight:650}
.inspector-eyebrow{font-size:10px;font-weight:720;letter-spacing:1.8px;color:#858292;margin-bottom:7px}
.inspector-tabs{display:flex;gap:4px;margin:0 14px;padding:4px;border-radius:11px;background:#24242d}
.inspector-tabs button{flex:1;border:0;background:none;color:#9d9ba9;font-size:12px;padding:9px 4px;border-radius:8px}
.inspector-tabs button.selected{background:#393441;color:#f4effe;box-shadow:0 2px 8px #0003}
.inspector-content{padding:19px 16px;overflow-y:auto;min-height:0;flex:1;scrollbar-color:#44404f transparent}
.inspector-title{font-size:11px;text-transform:uppercase;letter-spacing:1.1px;color:#888695;margin:5px 0 14px;font-weight:730}
.inspector-item{padding:12px 13px;margin:0 0 9px;background:#23242d;border:1px solid #33333f;border-radius:12px;overflow-wrap:anywhere}
.inspector-item strong{font-size:12px;line-height:1.5;display:block;font-weight:600;color:#e8e5f0}
.inspector-item small{display:block;font-size:11px;line-height:1.6;color:#9b98aa;margin-top:6px}
.inspector-empty{font-size:13px;color:#aaa7b5;line-height:1.7;padding:8px 3px}
.inspector-state{display:inline-block;font-size:10px;letter-spacing:.2px;margin:0 0 8px;padding:3px 8px;border-radius:20px;background:#40364d;color:#e1d0fc}
.inspector-state[data-state="completed"]{background:#2a4436;color:#bde3c7}
.inspector-state[data-state="failed"],.inspector-state[data-state="interrupted"]{background:#513039;color:#ffc7c7}
.inspector-state[data-state="awaiting_approval"]{background:#54442c;color:#ffe2ae}
.inspector-actions{display:grid;gap:9px}
.inspector-actions button{border:1px solid #44414f;background:#282832;color:#eeeaf3;padding:12px 13px;text-align:left;border-radius:11px;font-size:13px}
.inspector-actions button:hover{background:#36313f;border-color:#71677f}
.inspector-bottom{border-top:1px solid #30303a;padding:16px 18px;font-size:11px;color:#9390a1}
.inspector-dot{display:inline-block;width:7px;height:7px;background:#9ac7ae;border-radius:50%;margin-right:7px}
.inspector-toggle{font-size:20px}.inspector-toggle[aria-expanded="true"]{background:#373043;color:#e7d7ff}
@media(min-width:1700px){.sidebar{width:292px}.inspector{width:324px;flex-basis:324px}.messages{max-width:980px}}
@media(max-width:1150px){.inspector{position:fixed;right:0;top:0;height:100dvh;z-index:12;box-shadow:-20px 0 50px #0008;width:min(340px,91vw);flex-basis:auto}}
@media(max-width:850px){.sidebar{position:absolute;width:min(290px,85vw);z-index:15}.topbar{padding:0 15px}.messages{padding:28px 16px 48px}.composer-dock{padding:8px 9px 12px}.welcome{padding:22px}.message-body{font-size:14px}}
@media(max-width:580px){.model-pill{max-width:100px}.topbar{min-height:56px;height:56px}.inspector-content{padding:14px}.compose-left .hint{display:none}.composer{border-radius:17px}.tasa-generation-status{display:none}.route-choice select{max-width:115px}}
@media(prefers-reduced-motion:reduce){.sidebar,button{transition:none!important}}


/* TASA_STUDIO_V3_STRUCTURE — desktop layout, rail, main canvas, and inspector */
:root{--bg:#0e0f13;--nav:#16171c;--nav-hover:#252630;--panel:#1b1c23;--surface:#202129;--edge:#34353e;--fg:#ececf1;--muted:#999ca9;--accent:#b8a6ed;--accent-bg:#302a43;--shadow:0 22px 65px #0009}
body{letter-spacing:-.005em}
.shell.studio-v3{display:grid;grid-template-columns:254px minmax(0,1fr) auto;overflow:hidden;background:var(--bg)}
.studio-v3 .sidebar{width:254px;min-width:0;padding:24px 11px 14px;background:#15161b;border-right:1px solid #2a2b34}
.studio-v3 .brand-row{padding:0 11px 24px;gap:11px}
.studio-v3 .logo{background:linear-gradient(135deg,#d2c4ff,#9384c8);color:#191621;border-radius:12px;box-shadow:none}
.brand-suffix{font-size:10px;color:#a8a5b4;letter-spacing:1.8px;font-weight:750;margin-left:3px;vertical-align:middle}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#87d6ac;margin-right:5px;vertical-align:middle}
.studio-v3 .primary{background:#c2b4ee;color:#18151e;border-radius:10px;border:0}
.studio-v3 .primary:hover{background:#d6ccf8}
.studio-v3 .sidebar-action-group{margin-bottom:11px}
.studio-v3 #quickChat{display:flex;align-items:center;gap:9px;justify-content:flex-start;text-align:left;padding:12px 14px;font-weight:700}
.action-glyph{font-size:21px;line-height:1}.action-shortcut{font-size:10px;font-weight:500;color:#534a65;margin-left:auto}
.studio-v3 .section-bar{padding:28px 13px 8px;color:#838490;font-size:10px;letter-spacing:1.3px}
.studio-v3 .tree{padding-top:6px}.studio-v3 .tree-header .tree-btn.active{background:#322d40;color:#f3efff}
.studio-v3 .nav-line{border-radius:9px;font-size:12.5px;padding:10px 12px}
.sidebar-footer-title{padding:12px 12px 7px;color:#80818c;font-size:10px;letter-spacing:1.3px;font-weight:750}
.studio-v3 .sidebar-bottom{padding-top:6px;border-top:1px solid #30313a}
.studio-v3 .workspace{display:flex;flex-direction:column;min-width:0;height:100dvh;background:#111217;overflow:hidden}
.studio-v3 .topbar{height:76px;min-height:76px;padding:0 29px;border-bottom:1px solid #2a2b33;background:#14151a}
.topbar-primary,.location-stack{display:flex;min-width:0}.topbar-primary{align-items:center;gap:12px}.location-stack{flex-direction:column;gap:5px}
.location-eyebrow{font-size:9px;font-weight:800;color:#898a96;letter-spacing:1.55px}
.studio-v3 .breadcrumb{font-size:14px;color:#eeedf3;font-weight:650;max-width:min(45vw,650px)}
.studio-v3 .model-pill{background:#23242c;border:1px solid #3a3b47;padding:8px 12px;font-size:11px}
.studio-v3 .studio-viewbar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:52px;min-height:52px;border-bottom:1px solid #292a32;background:#17181e;padding:0 24px;gap:12px}
.studio-view-tabs{display:flex;align-items:center;height:100%;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:none}
.studio-view{border:0;border-bottom:2px solid transparent;background:transparent;color:#9293a1;min-height:52px;padding:0 14px;font-size:12px;font-weight:650;white-space:nowrap}
.studio-view span{font-size:15px;margin-right:7px}.studio-view:hover{color:#e4e2ea;background:#22232b}
.studio-view.active{color:#ebe5ff;border-bottom-color:#bda9ee;background:linear-gradient(0deg,#2f293d9c,transparent)}
.viewbar-shortcut{font-size:10px;color:#777987;white-space:nowrap}
.studio-center-surface{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;position:relative;background:radial-gradient(ellipse at 50% 20%,#1b1a24 0%,#111217 63%)}
.studio-v3 .main{flex:1;min-height:0;overflow-y:auto;scrollbar-color:#484654 transparent}
.studio-v3 .messages{max-width:880px;margin:0 auto;width:100%;padding:40px 30px 80px;gap:29px}
.studio-v3 .message.assistant .message-body{line-height:1.78;font-size:14.5px;color:#e6e6ed}
.studio-v3 .message.user .message-bubble{background:#292831;border:1px solid #41404b;border-radius:19px 19px 6px 19px}
.studio-v3 .message.assistant .avatar{background:#373045;color:#d2c0ff}
.studio-v3 .composer-dock{flex-shrink:0;width:100%;margin:0 auto;padding:8px clamp(16px,5vw,70px) 12px;background:linear-gradient(transparent,#111217 18%);border:0}
.studio-v3 .composer{max-width:875px;margin:0 auto;background:#25252e;border:1px solid #4a4955;border-radius:19px;box-shadow:0 12px 40px #0004;padding:13px 16px 10px}
.studio-v3 .composer:focus-within{border-color:#9182b6;box-shadow:0 0 0 2px #a996de20,0 12px 40px #0004}
.studio-v3 #prompt{min-height:48px;font-size:14px;line-height:1.65}
.studio-v3 .send-btn{background:#c2b4ee;color:#17151d}
.studio-v3 .route-hint,.studio-v3 .disclaimer{max-width:875px;width:100%;margin-left:auto;margin-right:auto}
.studio-v3 .route-hint{padding-top:8px;color:#898b99}.studio-v3 .disclaimer{font-size:10px;color:#777987;text-align:center}
.dock-separator{margin:0 4px;color:#5c5c68}
.studio-v3 .welcome{max-width:760px;padding:32px}
.studio-v3 .welcome-mark{background:#2c2639;color:#cdbcf8;border:1px solid #514563;border-radius:20px;box-shadow:0 13px 50px #9e86e319}
.studio-v3 .welcome h1{font-weight:650;font-size:34px;letter-spacing:-1.35px}
.studio-v3 .welcome p{max-width:500px;margin:15px auto;color:#a1a1ad}
.studio-v3 .suggestions button{background:#22222b;border:1px solid #3d3c48;border-radius:13px;padding:15px 18px}
.studio-v3 .suggestions button:hover{background:#302c3c;border-color:#81749d}
.studio-v3 .inspector{width:320px;flex:unset;min-width:0;background:#191920;border-left:1px solid #34343e}
.studio-v3 .inspector[hidden]{display:none!important}
.studio-v3 .inspector-header{padding:27px 18px 17px}
.studio-v3 .inspector-tabs{padding:0 11px}.studio-v3 .inspector-content{padding:18px 14px}
.studio-v3 .inspector-item{background:#24242d;border:1px solid #3a3a45;border-radius:12px}
.studio-v3 .tasa-activity-panel{max-width:100%;background:#1d1e25;border:1px solid #383842;border-radius:12px}
.studio-v3 .modal-card{background:#22222a;border:1px solid #484552;border-radius:18px}
@media(max-width:1250px){.shell.studio-v3{grid-template-columns:226px minmax(0,1fr) auto}.studio-v3 .sidebar{width:226px}.studio-v3 .inspector{width:280px}.viewbar-shortcut{display:none}}
@media(max-width:850px){.shell.studio-v3{display:flex}.studio-v3 .sidebar{position:absolute;top:0;bottom:0;left:0;z-index:15;width:270px;transform:translateX(-100%)}.studio-v3 .sidebar.open{transform:translateX(0)}.studio-v3 .workspace{width:100%;flex:1}.studio-v3 .topbar{min-height:62px;height:62px;padding:0 13px}.studio-v3 .studio-viewbar{padding:0 8px}.studio-view{padding:0 11px;font-size:11px}.studio-v3 .inspector{position:absolute;right:0;top:0;bottom:0;z-index:14;width:min(360px,94vw);box-shadow:-10px 0 40px #0008}.studio-v3 .messages{padding:22px 14px 45px}.studio-v3 .composer-dock{padding:8px 10px 10px}.location-eyebrow{display:none}.studio-v3 .breadcrumb{max-width:42vw}.studio-v3 .model-pill{max-width:105px}}
@media(max-width:550px){.studio-v3 .studio-viewbar{height:47px;min-height:47px}.studio-view{min-height:47px;padding:0 10px}.studio-view span{display:none}.studio-v3 .topbar{gap:6px}.studio-v3 .model-pill{display:none}.studio-v3 .welcome h1{font-size:27px}.studio-v3 .composer{padding:10px}.studio-v3 .disclaimer{font-size:9px}}
@media(prefers-reduced-motion:reduce){.studio-v3 *, .studio-v3 *:before,.studio-v3 *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* TASA_STUDIO_V3_1_NAVIGATION — full-size workspace modes */
.studio-v3 .studio-page{flex:1;min-height:0;overflow-y:auto;padding:clamp(24px,4vw,52px) clamp(18px,5vw,70px);scrollbar-color:#454453 transparent}
.studio-v3 .studio-page[hidden],.studio-v3 .studio-suppressed{display:none!important}
.studio-page-heading{max-width:850px;margin:0 auto 26px;border-bottom:1px solid #34333f;padding-bottom:22px}
.studio-page-heading h1{margin:0 0 8px;font-size:29px;letter-spacing:-.8px;font-weight:670}
.studio-page-heading p{margin:0;color:#a3a1b0;line-height:1.6;font-size:13px}
.studio-page-actions,.studio-page-cards{width:100%;max-width:850px;margin:0 auto 20px}
.studio-page-actions{display:flex;flex-wrap:wrap;gap:9px}
.studio-page-actions button,.studio-page-card button{background:#35313f;color:#e7def9;border:1px solid #554c69;border-radius:9px;padding:10px 14px;margin:8px 8px 0 0}
.studio-page-actions button:hover,.studio-page-card button:hover{background:#454056}
.studio-page-cards{display:grid;gap:13px}
.studio-page-card,.studio-task{background:#1e1f27;border:1px solid #393945;border-radius:15px;padding:20px}
.studio-page-card h3{margin:0;font-size:16px}.studio-page-card p,.studio-task-body p{color:#b9b7c5;line-height:1.65;overflow-wrap:anywhere}
.studio-page-empty,.studio-page-alert{max-width:850px;margin:20px auto;padding:24px;background:#202129;border:1px dashed #494553;border-radius:13px;color:#b3b0be}
.studio-page-alert{padding:13px 18px;margin-bottom:15px}
.studio-task summary{display:flex;align-items:center;gap:15px;cursor:pointer;overflow-wrap:anywhere;line-height:1.5}
.studio-task summary strong{font-size:13px;font-weight:600;min-width:0}
.studio-task-status{flex-shrink:0;text-transform:capitalize;border-radius:20px;padding:5px 10px;background:#3e364b;color:#e5d4fb;font-size:11px}
.studio-task-status[data-state=completed]{background:#294236;color:#bce9cd}
.studio-task-status[data-state=failed],.studio-task-status[data-state=interrupted]{background:#513237;color:#ffc5c8}
.studio-task-body{padding:12px 3px 0 20px;border-top:1px solid #34333c;margin-top:14px}
.studio-task-body small{color:#888b98}.studio-task-history{margin-top:16px;display:grid;gap:8px}
.studio-task-event{border-left:2px solid #8978b5;padding:7px 12px;background:#282731;display:flex;gap:12px;flex-wrap:wrap}
.studio-task-event b{font-size:12px}.studio-task-event small{font-size:11px;overflow-wrap:anywhere}
.studio-page-activity{color:#c5c2d0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.studio-view[aria-pressed=true]{border-bottom-color:#c3aefa;color:#f2eaff}
@media(max-width:600px){.studio-page-heading h1{font-size:24px}.studio-task{padding:14px}.studio-task summary{align-items:flex-start;flex-direction:column;gap:8px}}

/* TASA_CLEAN_SIDEBAR_TREE_V1 */
/* Clean indentation without folder connector lines. */
.sidebar .tree-children {
    border-left: none !important;
    border-inline-start: none !important;
    padding-left: 8px;
}
.sidebar .tree-children::before,
.sidebar .tree-children::after {
    content: none !important;
    border: none !important;
}

/* TASA_TECHNICAL_ICONS_V1 */
:root[data-tasa-icon-accent="lavender"]{--tasa-icon-accent:#bba6f6}
:root[data-tasa-icon-accent="blue"]{--tasa-icon-accent:#8aaeff}
:root[data-tasa-icon-accent="teal"]{--tasa-icon-accent:#65ceb9}
:root[data-tasa-icon-accent="mono"]{--tasa-icon-accent:#b7bac5}
.tasa-tech-icon{display:inline-block;flex:0 0 auto;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
:root[data-tasa-icon-style="technical"] .tasa-tech-icon{stroke-width:1.65;width:16px;height:16px}
:root[data-tasa-icon-style="minimal"] .tasa-tech-icon{stroke-width:1.25}
:root[data-tasa-icon-style="rounded"] .tasa-tech-icon{stroke-width:2.3;stroke-linecap:round;width:19px;height:19px}
#sidebar .tree-btn{display:flex;align-items:center;gap:9px}
#sidebar .tree-btn .tasa-tech-icon{color:#9e9caa}
#sidebar .tree-btn.active .tasa-tech-icon,#sidebar .tree-btn:hover .tasa-tech-icon{color:var(--tasa-icon-accent)}
#sidebar .nav-line{gap:10px}
#sidebar .nav-line .tasa-tech-icon{color:#aba9b8}
#sidebar .nav-line:hover .tasa-tech-icon{color:var(--tasa-icon-accent)}
#sidebar .tree-children{border-left:0!important;border-inline-start:0!important}
#sidebar .tree-children:before,#sidebar .tree-children:after{border:0!important;content:none!important}
#quickChat .tasa-tech-icon,#send .tasa-tech-icon{color:inherit}
#quickChat{display:flex;align-items:center;justify-content:center;gap:8px}
#send{display:inline-flex;align-items:center;justify-content:center}
.tasa-icon-settings{margin-left:auto;order:4;color:var(--tasa-icon-accent);width:32px;height:32px}
.tasa-icon-preferences{margin:0 8px 10px;padding:13px;border-radius:12px;background:#24242e;border:1px solid #484456;color:#e7e4f1;display:flex;flex-direction:column;gap:9px;font-size:12px}
.tasa-icon-preferences strong{font-size:13px}
.tasa-icon-preferences p{margin:0;color:#a9a5b8;line-height:1.5}
.tasa-icon-preferences select{background:#181820;color:#e5e3ee;border:1px solid #494557;border-radius:7px;padding:8px;width:100%}
.tasa-icon-preferences button{align-self:flex-end}
#sidebar .tree-toggle{color:#9894a6}
#sidebar .tree-plus{color:var(--tasa-icon-accent)}


/* TASA_WORKSPACE_V10 — isolated chat file manager */
.tasa-workspace-ui .tw-location{font-size:13px;font-family:monospace;overflow-wrap:anywhere;color:#d5d0e0;padding:9px 11px;background:#171820;border:1px solid #434353;border-radius:9px;margin:12px 0}
.tasa-workspace-ui .tw-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0}
.tasa-workspace-ui .tw-actions button{margin:0}
.tasa-workspace-ui .tw-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;max-height:min(45vh,380px);overflow:auto}
.tasa-workspace-ui .tw-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid #393a49;border-radius:10px;padding:9px 11px;background:#191b25}
.tasa-workspace-ui .tw-name{overflow-wrap:anywhere;flex:1;min-width:100px;font-size:13px}
.tasa-workspace-ui .tw-size{font-size:11px;color:#a9a5b7;white-space:nowrap}
.tasa-workspace-ui .tw-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.tasa-workspace-ui .tw-row-actions button{margin:0;padding:7px 10px;font-size:12px}
.tasa-workspace-ui .tw-download{display:inline-flex;align-items:center;justify-content:center;color:#ddd5ec;border:1px solid #554c69;border-radius:9px;background:#35313f;padding:10px 13px;text-decoration:none;font-size:12px}
.tasa-workspace-ui .tw-download:hover{background:#454056}
.tasa-workspace-ui .tw-editor{display:block;width:100%;min-height:260px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre;tab-size:4}
.tasa-workspace-ui .tw-editor[readonly]{opacity:.78}
