:root{color-scheme:dark;--bg:#111115;--surface:#18181e;--elevated:#202027;--line:#303039;--text:#f1eff8;--muted:#9895a8;--accent:#a995ff;--accent-strong:#8868f0;--green:#79d6a3;--danger:#ff939f;--sidebar:258px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled,input:disabled,textarea:disabled{opacity:.48;cursor:not-allowed}button{transition:background .15s,border-color .15s,transform .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,pre:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{border:0}button:hover:not(:disabled){filter:brightness(1.1)}input,select,textarea{color:var(--text);background:#15151b;border:1px solid var(--line);border-radius:9px;padding:12px 14px;max-width:100%}input::placeholder,textarea::placeholder{color:#797586}label{display:block}h1,h2,p{margin-top:0}h1{font-size:28px;line-height:1.25;font-weight:650;letter-spacing:-.8px}h2{font-size:22px;letter-spacing:-.4px}p{color:var(--muted)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.primary,.secondary,.subtle-button,.new-chat{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;font-weight:600;padding:11px 17px}.primary{background:var(--accent);color:#21163f}.secondary{border:1px solid #3c394a;background:#24222d;color:#e4dff4;white-space:nowrap}.subtle-button{background:transparent;color:var(--muted);padding:7px 9px;font-weight:500}.text-button{background:transparent;color:var(--muted);padding:4px 0;text-align:left}.icon-button{background:transparent;color:var(--muted);font-size:23px;line-height:1;width:30px;height:30px;border-radius:5px}.icon-button:hover{background:var(--elevated)}.muted{color:var(--muted)}.wide{width:100%}.center{text-align:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--accent);margin-bottom:14px}.help{font-size:12px;margin:10px 0 18px;color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;flex-shrink:0}.form-error{color:var(--danger);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.form-error:empty{display:none}.brand-mark{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#b9a6ff,#7552d8);color:#21173b;font-size:31px;font-weight:750;letter-spacing:-4px;box-shadow:0 8px 30px #7b5eda1c}.brand-mark span{color:#fcfaff;margin-left:1px}.brand-mark.small{width:36px;height:36px;border-radius:10px;font-size:24px;letter-spacing:-3px;flex-shrink:0}.login-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 20px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 15%,#4835672e,transparent 65%)}.login-orbit{position:absolute;pointer-events:none;width:770px;height:770px;border:1px solid #a995ff0c;border-radius:50%;transform:translateY(-75px)}.login-orbit:after{content:"";display:block;position:absolute;inset:65px;border:1px solid #a995ff0b;border-radius:50%}.login-card{position:relative;width:398px;max-width:100%}.login-card .brand-mark{margin-bottom:32px}.login-card h1{font-size:44px;letter-spacing:-2px;margin-bottom:16px}.login-intro{font-size:17px;line-height:1.7;margin-bottom:35px}.login-card label{font-size:12px;color:#d3cfdf;margin-bottom:8px}.login-card input{width:100%}.login-card .primary{margin-top:7px}.privacy-note{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:24px;font-size:11px;color:#a5a1b1}.app-shell{display:flex;height:100dvh;min-height:500px;overflow:hidden}.sidebar{width:var(--sidebar);flex-shrink:0;background:#15151a;border-right:1px solid #27262f;display:flex;flex-direction:column;padding:26px 20px 17px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#f1eff8;font-size:19px;letter-spacing:-.6px;margin-bottom:36px}.brand strong{font-weight:650}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:.1px;margin-top:0}.section-caption{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:var(--muted);font-weight:650}.section-caption .icon-button{font-size:21px}select{width:100%;padding:10px;font-size:12px}.project-path{font-size:10px;margin:10px 0 23px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:15px}.new-chat{justify-content:flex-start;width:100%;color:#e1d8ff;background:#342948;border:1px solid #514069;font-size:12px;padding:10px 13px;gap:9px}.new-chat span{font-size:19px;line-height:1}.history-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:var(--muted);margin-top:27px;margin-bottom:8px}.history-heading .icon-button{font-size:17px}.conversation-list{flex:1;min-height:40px;overflow:auto;margin:0 -8px;padding:0 4px}.conversation-item{width:100%;display:block;text-align:left;background:transparent;padding:10px;border-radius:7px;color:#b9b5c8;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item.active{color:#e4d9ff;background:#26212f}.conversation-item:hover{background:#24222c}.side-empty{font-size:11px;line-height:1.7;padding:8px}.sidebar-bottom{padding-top:18px;margin-top:10px;border-top:1px solid #2a2833}.engine-label{display:flex;align-items:center;gap:9px}.engine-label strong{font-size:11px;font-weight:500;color:#cec9dc}.engine-label small{display:block;font-size:10px;color:#878192;overflow-wrap:anywhere;margin-top:1px}.sidebar-bottom>.text-button{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:11px;margin-top:19px}.workspace{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #24232b;gap:12px}.workspace-heading{display:flex;align-items:center;gap:16px;min-width:0;font-size:13px}.workspace-heading strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb{display:flex;gap:16px;align-items:center;color:#787384}.breadcrumb span{color:#4e485a}.local-badge{display:flex;gap:7px;align-items:center;white-space:nowrap;border:1px solid #334439;color:#a6c2b0;border-radius:5px;font-size:10px;padding:4px 8px;background:#25352b29}.tabs{display:flex;gap:25px;padding:0 32px;border-bottom:1px solid #29262f;flex-shrink:0;overflow-x:auto}.tab{height:50px;flex-shrink:0;white-space:nowrap;background:transparent;color:#9690a5;padding:0;font-size:12px;border-bottom:2px solid transparent}.tab.active{color:#d7c8ff;border-color:var(--accent)}.count{font-size:9px;background:#29252f;color:#b7aeca;min-width:17px;border-radius:4px;padding:1px 5px;margin-left:4px}.main-content{flex:1;min-height:0;position:relative;overflow:hidden}.panel{height:100%;padding:30px 32px;display:flex;flex-direction:column;min-height:0}.scroll-panel{overflow:auto}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:24px;flex-shrink:0}.panel-heading h1{font-size:24px;margin-bottom:9px}.panel-heading p:not(.eyebrow){font-size:12px;margin-bottom:0;max-width:700px}.panel-heading .eyebrow{margin-bottom:8px}.panel-heading>.secondary{font-size:11px;padding:8px 13px}.chat-panel{padding:0;position:relative}.messages{flex:1;min-height:0;overflow:auto;scroll-behavior:smooth;padding:30px max(32px,calc((100% - 850px) / 2)) 25px}.welcome{max-width:660px;margin:clamp(15px,6vh,85px) auto 30px}.welcome .welcome-glyph{font-size:31px;color:var(--accent);margin-bottom:22px;display:block}.welcome h1{font-size:34px;letter-spacing:-1.2px;line-height:1.25;margin-bottom:16px}.welcome h1 span{color:var(--accent)}.welcome p{line-height:1.8;font-size:13px;max-width:520px}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:27px}.suggestion{padding:18px;text-align:left;color:#d8d2e4;background:linear-gradient(140deg,#24212d,#1d1b23);border:1px solid #3a3249;border-radius:10px;font-size:12px;line-height:1.6}.suggestion span{display:block;color:var(--accent);font-size:18px;margin-bottom:8px}.message{max-width:800px;margin:0 auto 29px;overflow-wrap:anywhere}.message-label{display:flex;align-items:center;gap:9px;margin-bottom:11px;font-size:11px;color:#aaa2b9}.message-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:#342a45;color:#c5b3ef;font-size:12px}.message.user .message-avatar{background:#293034;color:#b9d1ce}.message-body{white-space:pre-wrap;line-height:1.85;font-size:13px;color:#d4cedf;padding-left:33px;font-family:inherit}.message.user .message-body{color:#ece7f6}.message.system .message-body{color:#b6a3db;font-size:12px}.thinking{display:flex;gap:8px;align-items:center;color:var(--accent);font-size:12px;padding:9px 0 22px 33px}.thinking:before{content:"";width:12px;height:12px;border:2px solid #a995ff40;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.composer-wrap{padding:9px max(32px,calc((100% - 850px) / 2)) 20px;flex-shrink:0;background:var(--bg)}.composer{background:#1d1b24;border:1px solid #40364f;border-radius:12px;box-shadow:0 8px 35px #0002}.composer:focus-within{border-color:#786292}.composer textarea{display:block;width:100%;border:0;background:transparent;resize:vertical;min-height:74px;max-height:200px;border-radius:12px 12px 0 0;padding:17px 18px;font-size:13px;line-height:1.6}.composer textarea:focus-visible{outline:none}.composer-actions{display:flex;align-items:center;gap:12px;padding:0 12px 12px}.subtle-button{font-size:11px;gap:7px}.subtle-button>span:first-child{font-size:19px}.subtle-button #selectedCount{font-size:9px;color:#81768e}.toggle-label{display:flex;align-items:center;gap:6px;font-size:10px;color:#aba1b7;cursor:pointer}.toggle-label input{accent-color:var(--accent);padding:0;margin:0;width:12px;height:12px}.send-button{margin-left:auto;padding:8px 13px;font-size:11px;gap:15px}.send-button span{font-size:17px}.composer-footer{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#787083;margin-top:10px}.context-chips{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:8px}.context-chips:empty{display:none}.context-chip{display:flex;gap:8px;align-items:center;background:#2c2637;border:1px solid #473958;border-radius:5px;color:#c5b2dc;font-size:10px;padding:4px 8px;max-width:240px}.context-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-chip>button{background:transparent;color:#bca7d4;padding:0 2px}.statusbar{height:29px;flex-shrink:0;border-top:1px solid #29242e;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:#847b92}.statusbar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusbar .status-dot{width:5px;height:5px;margin-right:5px}.file-workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(230px,34%) 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden}.file-browser{padding:13px;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:#18161e}.file-browser>input{font-size:12px;padding:9px;width:100%;background:#121117}.selection-info{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);padding:10px 1px}.selection-info button{font-size:10px}.file-list{overflow:auto;flex:1;min-height:0}.file-row{display:flex;align-items:center;gap:8px;padding:6px 5px;border-radius:4px}.file-row:hover{background:#27212f}.file-row>input{accent-color:var(--accent);flex-shrink:0;width:13px;height:13px;margin:0}.file-row button{background:transparent;border:0;color:#c4bacf;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;font-family:Consolas,monospace;font-size:11px;padding:3px 0}.file-preview{display:flex;flex-direction:column;min-width:0;min-height:0}.preview-heading{height:43px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;border-bottom:1px solid var(--line);font-size:11px;color:#bdb3cc}.preview-heading>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.read-only-badge{color:#877f93;font-size:9px;border:1px solid #36303f;border-radius:3px;padding:1px 4px}.file-preview pre{margin:0;padding:16px;overflow:auto;font:12px/1.8 Consolas,"Cascadia Code",monospace;color:#c9bfd9;flex:1;tab-size:4}.empty-card{padding:42px 28px;text-align:center;border:1px dashed #3a3345;border-radius:12px;color:#a99dbd;background:#1a172029;max-width:730px;width:100%;margin:20px auto}.empty-card h2{color:#ddd3ec;font-size:18px}.empty-card p{font-size:12px;max-width:430px;margin:0 auto 18px;line-height:1.8}.proposal-summary{background:#24202d;border:1px solid #4b3b60;border-radius:10px;padding:22px;margin-bottom:20px}.proposal-summary p{white-space:pre-wrap;color:#d0c3e0;font-size:13px;margin-bottom:17px}.proposal-summary .applied{color:var(--green);margin:0}.change-card{border:1px solid #393141;border-radius:8px;overflow:hidden;margin-bottom:17px}.change-card summary{padding:12px 16px;cursor:pointer;font-family:Consolas,monospace;font-size:12px;background:#211c29;overflow-wrap:anywhere}.diff{margin:0;overflow:auto;padding:12px 0;font:11px/1.8 Consolas,"Cascadia Code",monospace;background:#151219}.diff-line{display:block;padding:0 14px;white-space:pre;min-height:19px;min-width:max-content}.diff-line.add{background:#29463450;color:#95d9ae}.diff-line.remove{background:#54263055;color:#e4a0ac}.diff-line.hunk{color:#b49fd7;background:#2f244944}.backup-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #38313f;background:#1c1822;padding:20px;border-radius:10px;margin-bottom:13px}.backup-card h2{font-size:13px;margin:0 0 6px;overflow-wrap:anywhere}.backup-card p{font-size:11px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.backup-card .secondary{font-size:11px}.terminal-panel .panel-heading p{max-width:790px}.terminal-window{flex:1;min-height:120px;display:flex;flex-direction:column;background:#0d0c10;border:1px solid #35303e;border-radius:9px;overflow:hidden}.terminal-bar{display:flex;gap:9px;align-items:center;background:#1c1822;padding:10px 13px;font-size:10px;color:#9e93ae;border-bottom:1px solid #2e2737}.terminal-bar>span:last-child{margin-left:auto}.terminal-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.terminal-window pre{flex:1;min-height:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;margin:0;font:12px/1.75 Consolas,"Cascadia Code",monospace;color:#c9c2d3}.terminal-form{display:flex;gap:11px;align-items:center;margin-top:14px}.terminal-form label{color:var(--accent);font-size:20px}.terminal-form input{flex:1;min-width:0;font-family:Consolas,monospace;font-size:12px}.terminal-form .primary{font-size:12px}.toast{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);padding:12px 20px;color:#eee5fb;border:1px solid #705780;border-radius:9px;background:#34283f;box-shadow:0 10px 40px #0007;z-index:20;max-width:min(640px,calc(100vw - 32px));font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.toast.error{background:#43262e;border-color:#975d6c}.modal{background:#201b28;color:var(--text);border:1px solid #5a426f;border-radius:14px;padding:30px;width:500px;max-width:calc(100vw - 32px);box-shadow:0 30px 120px #000a}.modal::backdrop{background:#08060bba;backdrop-filter:blur(4px)}.modal p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.modal label{font-size:12px;margin-bottom:7px;color:#cfc1df}.modal input{width:100%;font-family:Consolas,monospace;font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modal pre{padding:12px;background:#121016;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:200px;overflow:auto;font-size:12px}.menu-button{display:none}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:#43374f;border-radius:6px}::-webkit-scrollbar-track{background:transparent}
@media(min-width:1600px){:root{--sidebar:285px}.sidebar{padding:30px 25px}.topbar{height:80px;min-height:80px}.messages{padding-top:40px}.welcome{margin-top:10vh}}
@media(max-width:1100px){:root{--sidebar:220px}.sidebar{padding:22px 16px}.topbar{padding:0 22px}.tabs{padding:0 22px;gap:20px}.panel{padding:25px 22px}.chat-panel{padding:0}.messages{padding:25px 25px 15px}.composer-wrap{padding:10px 25px 18px}.shortcut{display:none}.welcome h1{font-size:29px}.composer-actions{gap:7px}.toggle-label{font-size:9px}.file-workspace{grid-template-columns:42% 58%}}
@media(max-width:760px){.app-shell{min-height:420px}.sidebar{position:fixed;z-index:10;inset:0 auto 0 0;width:260px;transform:translateX(-100%);transition:transform .2s;box-shadow:20px 0 70px #0008}.sidebar.open{transform:translateX(0)}.menu-button{display:block}.topbar{height:59px;min-height:59px;padding:0 16px;justify-content:flex-start}.workspace-heading{flex:1;font-size:12px;gap:8px}.breadcrumb{display:none}.local-badge{font-size:8px;padding:3px 5px;gap:5px}.tabs{padding:0 17px;gap:21px}.tab{font-size:11px;height:45px}.panel{padding:21px 17px}.chat-panel{padding:0}.messages{padding:22px 20px 8px}.welcome{margin-top:25px}.welcome h1{font-size:28px}.welcome p{font-size:12px}.welcome .welcome-glyph{margin-bottom:15px}.suggestions{gap:8px;margin-top:20px}.suggestion{padding:13px;font-size:10px}.composer-wrap{padding:9px 13px 13px}.composer textarea{font-size:12px;padding:14px 13px}.composer-actions{flex-wrap:wrap;padding:0 8px 9px;gap:4px}.subtle-button{font-size:10px;padding:6px}.toggle-label{font-size:9px}.send-button{font-size:10px;padding:7px 10px;gap:6px}.composer-footer{font-size:8px}.message-body{padding-left:0;font-size:12px}.statusbar{font-size:8px;padding:0 12px}.statusbar>span:last-child{max-width:45%}.panel-heading h1{font-size:21px}.panel-heading{gap:12px;margin-bottom:20px}.file-workspace{grid-template-columns:1fr;grid-template-rows:45% 55%}.file-browser{border-right:0;border-bottom:1px solid var(--line)}.file-preview pre{font-size:10px;padding:11px}.preview-heading{height:32px;font-size:10px}.backup-card{padding:16px;align-items:flex-start;flex-wrap:wrap}.backup-card .secondary{margin-left:auto}.terminal-panel .panel-heading p{font-size:10px}.terminal-window pre{font-size:10px}.terminal-form{gap:7px}.terminal-form .primary{padding:10px;font-size:10px}.terminal-form input{font-size:10px}.modal{padding:24px}.login-card h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Local model profiles and transparent proposal checks. */
select:disabled{opacity:.48;cursor:not-allowed}
.model-caption{font-size:10px;color:#aaa1b7;margin:13px 0 6px}
#modelProfile{font-size:11px;padding:9px 8px}
.model-hint{font-size:10px;line-height:1.6;margin:7px 0 0;color:#92879f}
.composer-actions{flex-wrap:wrap}
.message-metadata{margin:15px 0 0 33px;min-width:0}
.message-context,.validation-card{border:1px solid #393141;border-radius:8px;background:#1b1721;margin-bottom:10px;overflow:hidden}
.message-context>summary,.validation-card>summary{font-size:11px;color:#bfb0d2;padding:10px 12px;cursor:pointer;overflow-wrap:anywhere}
.context-detail,.verification-content{padding:0 13px 12px;font-size:11px}
.context-detail p,.verification-content p{font-size:11px;line-height:1.7;margin:0 0 9px;color:#ada0bc}
.context-file-list{padding-left:18px;margin:8px 0 12px;font-family:Consolas,"Cascadia Code",monospace;color:#c4b6d4;font-size:10px;overflow-wrap:anywhere}
.context-file-list li{margin-bottom:4px}
.context-detail .context-notice{border-left:2px solid #a68d56;padding-left:9px;color:#d2bd90;white-space:pre-wrap}
.validation-card.passed{border-color:#345141}
.validation-card.passed>summary{color:#9bd5af}
.validation-card.failed{border-color:#70434d}
.validation-card.failed>summary{color:var(--danger)}
.validation-card.partial{border-color:#625039}
.validation-card.partial>summary{color:#d8bd8b}
.verification-content .verification-scope{font-size:10px;color:#998aa9}
.verification-item{border-top:1px solid #342b3d;padding-top:9px;margin-top:9px}
.verification-heading{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.verification-heading code{font-size:10px;overflow-wrap:anywhere;min-width:0}
.verification-state{font-size:9px;white-space:nowrap;color:#a699b6;flex-shrink:0}
.verification-item.passed .verification-state{color:#91caa4}
.verification-item.failed .verification-state{color:var(--danger)}
.verification-detail{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;font:10px/1.7 Consolas,"Cascadia Code",monospace;color:#aa9cb9}
.generation-note{font-size:10px;color:#a693b7;margin:7px 0 0}
.proposal-summary .validation-card{margin:0 0 17px}
.proposal-summary .validation-blocked{color:var(--danger);font-size:12px;line-height:1.7}
@media(max-width:760px){.message-metadata{margin-left:0}.model-hint{font-size:10px}.composer-actions{gap:7px 10px}.composer-actions .toggle-label{min-height:25px}.composer-actions .send-button{margin-left:auto}.verification-heading{flex-wrap:wrap;gap:4px 10px}}
