:root{--bg: #0e1116;--panel: #13181f;--panel-raised: #1a212b;--border: #232a35;--border-active: #3a4556;--text: #c9d1d9;--text-bright: #e6edf3;--dim: #768390;--accent: #539bf5;--accent-dim: #2d4a70;--ok: #57ab5a;--warn: #c69026;--err: #e5534b;--radius: 8px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.55 -apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior-x:none}.shell{display:flex;flex-direction:column;height:100%}header{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel);-webkit-app-region:drag;user-select:none}@media(display-mode:standalone),(display-mode:window-controls-overlay){header{padding-left:max(84px,env(titlebar-area-x,84px));padding-top:max(10px,env(titlebar-area-y,10px));min-height:max(44px,env(titlebar-area-height,44px))}}header button,header input,header select,header a,header [role=button],.interactive,button,input,select,textarea{-webkit-app-region:no-drag}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#78879b47;border-radius:99px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#78879b7a;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}.drag-drop-overlay{position:fixed;inset:0;z-index:99999;background:#0e1116d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;pointer-events:none;border:3px dashed var(--accent)}.drag-drop-card{text-align:center;background:var(--panel-raised);border:1px solid var(--border-active);border-radius:12px;padding:36px 52px;box-shadow:0 20px 50px #0009;pointer-events:auto}.drag-drop-icon{font-size:48px;margin-bottom:12px}.drag-drop-card h3{margin:0 0 8px;color:var(--text-bright);font-size:16px;font-weight:600}.drag-drop-card p{margin:0;color:var(--dim);font-size:13px}header h1{font-size:13px;margin:0;color:var(--text-bright);font-weight:600;letter-spacing:-.02em}header .ws{color:var(--dim);font-size:12px}button{font:inherit;font-size:12px;padding:6px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-raised);color:var(--text);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,opacity .15s ease}button:hover{border-color:var(--border-active);background:#222b38}button:active{transform:scale(.98)}button:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}button:disabled{opacity:.5;cursor:not-allowed}button.mini{padding:4px 10px;font-size:11px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}button.primary:hover{background:#4493e8}.main{display:flex;flex:1;min-height:0}.sidebar{width:260px;overflow-y:auto;border-right:1px solid var(--border);background:var(--panel);padding:8px 0;flex-shrink:0;display:flex;flex-direction:column}.sidebar .dir{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:8px 14px 4px}.sidebar .file{display:block;width:calc(100% - 8px);margin:0 4px;text-align:left;background:none;border:none;padding:5px 10px;cursor:pointer;color:var(--text);border-radius:6px;font-size:12.5px;transition:background-color .1s ease}.sidebar .file:hover{background:var(--panel-raised)}.sidebar .file.active{background:var(--accent-dim);color:var(--text-bright);font-weight:500}.sidebar .search{width:calc(100% - 20px);margin:4px 10px 10px;padding:7px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12.5px;transition:border-color .15s ease}.sidebar .search::placeholder{color:var(--dim)}.sidebar .search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #539bf526}.sidebar .result{white-space:normal}.sidebar .result .snippet{color:var(--dim);font-size:11px;overflow-wrap:anywhere;padding-left:24px}.sidebar .result .snippet b{color:var(--accent);font-weight:500}.editor-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.cm-host{flex:1;min-height:0;overflow:hidden}.cm-editor{height:100%;font-family:ui-monospace,SF Mono,Monaco,Menlo,Consolas,Liberation Mono,monospace}.cm-editor.cm-focused{outline:none}.cm-ghost{opacity:.4;font-style:italic}.tabstrip{display:flex;gap:1px;padding:0 4px;overflow-x:auto;border-bottom:1px solid var(--border);background:var(--panel);scrollbar-width:thin}.editortab{font-size:12px;padding:8px 16px 7px;border:none;border-radius:0;border-bottom:2px solid transparent;background:transparent;color:var(--dim);cursor:pointer;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.editortab:hover{color:var(--text);background:var(--panel-raised)}.editortab.active{color:var(--text-bright);background:var(--bg);font-weight:500;border-bottom-color:var(--accent)}.dirty-dot{color:var(--warn);font-size:8px;vertical-align:super;margin-left:2px}.statusbar{display:flex;gap:20px;align-items:center;padding:5px 16px;border-top:1px solid var(--border);background:var(--panel);font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}.statusbar .saved-yes{color:var(--ok)}.statusbar .saved-no{color:var(--warn)}.placeholder{flex:1;display:grid;place-content:center;color:var(--dim);text-align:center}.degraded{margin:16px 24px;padding:12px 18px;border:1px solid var(--warn);border-radius:var(--radius);background:#c6902614;color:var(--warn);max-width:60ch;font-size:12.5px}aside.chat{width:380px;flex-shrink:0;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}.capstrip{padding:20px 16px;color:var(--dim);display:grid;gap:12px;justify-items:start;font-size:12.5px;line-height:1.6}.capstrip .title{color:var(--text-bright);font-weight:600;font-size:13px}.msgs{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}.msgs::-webkit-scrollbar{width:4px}.msgs::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.msg{padding:10px 14px;border-radius:var(--radius);max-width:92%;line-height:1.6;font-size:13px;word-break:break-word;animation:msg-in .2s ease-out}@keyframes msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.msg.user{align-self:flex-end;background:linear-gradient(135deg,#1d3557,#17304d);color:#dbeafe;border:1px solid rgba(83,155,245,.25)}.msg.assistant{align-self:stretch;background:transparent;border-left:2px solid var(--accent-dim);padding-left:12px}.msg.error{align-self:stretch;background:#e5534b14;border-left:2px solid var(--err);color:#f0a9a4;font-size:12.5px}.streaming-cursor:after{content:"▊";animation:blink .7s step-end infinite;color:var(--accent);margin-left:1px}@keyframes blink{50%{opacity:0}}.msg pre{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin:8px 0;overflow-x:auto;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.msg code{background:var(--panel-raised);padding:2px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.msg pre code{background:none;padding:0}.composer{padding:10px 14px 14px;border-top:1px solid var(--border);background:var(--panel)}.composer-inner{display:flex;gap:8px;align-items:flex-end}.composer textarea{flex:1;resize:none;font:inherit;font-size:13px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:9px 14px;min-height:40px;max-height:120px;transition:border-color .15s ease,box-shadow .15s ease}.composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #539bf51f}.composer button.send-btn{padding:8px 14px;border-radius:8px;font-weight:500;background:var(--accent);border-color:var(--accent);color:#fff;display:flex;align-items:center;gap:4px}.composer button.send-btn:hover{background:#4493e8}.composer button.send-btn:disabled{opacity:.4}.agent-toggle{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:99px;border:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;transition:all .15s ease}.agent-toggle.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text-bright)}.diffbox{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:11.5px;margin:8px 0}.diffhead{display:flex;gap:10px;align-items:center;padding:7px 12px;background:var(--panel-raised);border-bottom:1px solid var(--border);font-size:11px;color:var(--dim)}.drow{display:flex;gap:8px;padding:2px 10px;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,monospace}.drow .sign{width:12px;flex-shrink:0;text-align:center}.drow.add{background:#57ab5a1f;color:#85d185}.drow.del{background:#e5534b1f;color:#f0a9a4}.drow.ctx{color:var(--dim)}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 12px}.chat-suggestions button{font-size:11px;padding:4px 10px;border-radius:99px;background:var(--panel-raised);border:1px solid var(--border);color:var(--dim)}.chat-suggestions button:hover{border-color:var(--accent);color:var(--text)}.composer{padding:8px 12px 12px;border-top:1px solid var(--border);background:var(--panel)}.composer-inner{display:flex;gap:6px;align-items:flex-end}.composer textarea{flex:1;resize:none;font:inherit;font-size:13px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:9px 12px;min-height:38px;max-height:120px;overflow-y:auto;line-height:1.5}.composer textarea::placeholder{color:var(--dim)}.composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #539bf51a}.send-btn{width:36px;height:36px;border-radius:10px;background:var(--accent);border-color:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:background .15s ease,transform .1s ease}.send-btn:hover{background:#4493e8}.send-btn:active{transform:scale(.95)}.send-btn:disabled{opacity:.35;cursor:not-allowed}.agent-toggle{font-size:11px;padding:6px 10px;border-radius:99px;border:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s ease}.agent-toggle:hover{border-color:var(--border-active);color:var(--text)}.agent-toggle.active{background:#539bf526;border-color:var(--accent);color:var(--text-bright)}.settings-overlay{position:fixed;inset:0;z-index:100;background:#00000080;backdrop-filter:blur(2px);display:grid;place-content:center}.settings-panel{background:var(--panel);border:1px solid var(--border-active);border-radius:12px;padding:24px;width:320px;box-shadow:0 8px 32px #0006}.settings-panel h2{font-size:14px;color:var(--text-bright);margin:0 0 16px;font-weight:600}.settings-panel label{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13px;color:var(--text)}.settings-panel input[type=range]{flex:1;accent-color:var(--accent)}.settings-panel label span{min-width:40px;text-align:right;font-variant-numeric:tabular-nums;color:var(--dim);font-size:12px}.settings-panel button.primary{width:100%;margin-top:8px}header .mini[title=Settings]{margin-left:auto;font-size:16px;padding:4px 8px;line-height:1;opacity:.6;transition:opacity .15s ease}header .mini[title=Settings]:hover{opacity:1}.py-output{max-height:200px;overflow-y:auto;padding:8px 12px;border-top:1px solid var(--border);background:var(--bg)}.py-output pre{margin:0;font-size:12px;white-space:pre-wrap;color:var(--text)}.py-output{animation:slide-down .18s ease-out}@keyframes slide-down{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:200px;padding-top:8px;padding-bottom:8px}}button.primary[disabled]{position:relative;overflow:hidden}button.primary[disabled]:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.editortab{transition:color .12s ease,border-color .12s ease,background .12s ease}.settings-overlay{animation:fade-in .15s ease-out}.settings-panel{animation:scale-up .18s cubic-bezier(.2,0,.2,1);transform-origin:center}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-up{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.toast-enter{animation:toast-slide .25s ease-out}@keyframes toast-slide{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.sidebar .file.active{transition:background-color .15s ease,color .15s ease}.cm-host:focus-within{box-shadow:inset 0 -2px 0 var(--accent-dim);transition:box-shadow .2s ease}aside.chat{animation:panel-slide-left .18s ease-out}@keyframes panel-slide-left{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.statusbar span{transition:color .3s ease}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--dim)}.cm-lineNumbers .cm-gutterElement,.cm-gutters{background:var(--panel)!important;color:var(--dim)!important;border-right:1px solid var(--border)!important}.cm-activeLineGutter{background:var(--panel-raised)!important;color:var(--text)!important}.cm-activeLine{background:#8080800f!important}:root{--syn-keyword: #c678dd;--syn-control: #c678dd;--syn-type: #e5c07b;--syn-func: #61afef;--syn-string: #98c379;--syn-number: #d19a66;--syn-comment: #5c6370;--syn-operator: #56b6c2;--syn-variable: #abb2bf;--syn-property: #e06c75;--syn-bool: #d19a66;--syn-class: #e5c07b}[data-theme=tokyo-night]{--syn-keyword: #bb9af7;--syn-control: #89ddff;--syn-type: #2ac3de;--syn-func: #7aa2f7;--syn-string: #9ece6a;--syn-number: #ff9e64;--syn-comment: #565f89;--syn-operator: #89ddff;--syn-variable: #c0caf5;--syn-property: #73daca;--syn-bool: #ff9e64;--syn-class: #2ac3de}[data-theme=github-light]{--syn-keyword: #cf222e;--syn-control: #cf222e;--syn-type: #0550ae;--syn-func: #8250df;--syn-string: #0a3069;--syn-number: #0550ae;--syn-comment: #6e7781;--syn-operator: #0550ae;--syn-variable: #24292f;--syn-property: #953800;--syn-bool: #0550ae;--syn-class: #0550ae}[data-theme=solarized-light]{--syn-keyword: #859900;--syn-control: #cb4b16;--syn-type: #268bd2;--syn-func: #268bd2;--syn-string: #2aa198;--syn-number: #d33682;--syn-comment: #93a1a1;--syn-operator: #586e75;--syn-variable: #586e75;--syn-property: #b58900;--syn-bool: #d33682;--syn-class: #268bd2}[data-theme=synthwave-84]{--syn-keyword: #fede5d;--syn-control: #ff7edb;--syn-type: #36f9f6;--syn-func: #36f9f6;--syn-string: #ff7edb;--syn-number: #f97e72;--syn-comment: #848bbd;--syn-operator: #fe4450;--syn-variable: #f8f8f2;--syn-property: #72f1b8;--syn-bool: #f97e72;--syn-class: #36f9f6}.tok-keyword,.tok-control,.tok-module{color:var(--syn-keyword);font-style:italic}.tok-type,.tok-class{color:var(--syn-type)}.tok-func,.tok-method{color:var(--syn-func)}.tok-string,.tok-special-string{color:var(--syn-string)}.tok-number,.tok-bool,.tok-null,.tok-atom{color:var(--syn-number)}.tok-comment{color:var(--syn-comment);font-style:italic}.tok-operator{color:var(--syn-operator)}.tok-variable,.tok-name,.tok-def{color:var(--syn-variable)}.tok-property{color:var(--syn-property)}.pair-overlay{position:fixed;inset:0;z-index:100;background:#00000080;backdrop-filter:blur(2px);display:grid;place-content:center;animation:fade-in .15s ease-out}.pair-container{background:var(--panel);border:1px solid var(--border-active);border-radius:12px;padding:20px;width:400px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0006}.pair-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.pair-header h2{font-size:14px;color:var(--text-bright);margin:0;font-weight:600}.inline-edit-overlay{position:fixed;inset:0;z-index:90;display:grid;place-content:center}.inline-edit-box{background:var(--panel);border:1px solid var(--accent);border-radius:12px;padding:14px;width:420px;box-shadow:0 4px 20px #539bf533,0 8px 32px #0000004d}.inline-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px}.inline-edit-box textarea{width:100%;resize:none;font:inherit;font-size:13px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin-bottom:8px}.inline-edit-box textarea:focus{outline:none;border-color:var(--accent)}.command-palette-overlay{position:fixed;inset:0;z-index:110;display:grid;place-content:center}.command-palette{background:var(--panel);border:1px solid var(--border-active);border-radius:12px;padding:0;width:400px;max-height:400px;overflow-y:auto;box-shadow:0 8px 32px #0006}.command-palette input{width:100%;padding:10px 14px;font-size:13px;background:var(--bg);border:none;border-bottom:1px solid var(--border);color:var(--text);outline:none}.cmd-item{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;cursor:pointer;color:var(--text)}.cmd-item:hover,.cmd-item.selected{background:var(--accent-dim)}.cmd-item .shortcut{color:var(--dim);font-size:11px}.sidebar-section{border-top:1px solid var(--border);margin-top:8px;padding-top:4px}.landing{max-width:480px;text-align:center}.landing h2{font-size:22px;color:var(--text-bright);margin:0 0 8px;font-weight:700}.landing p{color:var(--dim);margin:0 0 20px;line-height:1.6}.landing-actions{margin-bottom:20px}.landing-features{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;font-size:11px;color:var(--dim)}.landing-features span{padding:4px 10px;border-radius:99px;background:var(--panel-raised)}.mini[title*=suggestion]{font-size:12px;padding:4px 8px;opacity:.6}.mini[title*=suggestion]:hover{opacity:1}.git-dashboard{display:flex;flex-direction:column;height:100%;padding:10px 12px;gap:12px;overflow-y:auto;font-size:12px}.git-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--border)}.git-branch-badge{display:flex;align-items:center;gap:6px;background:var(--panel-raised);padding:3px 8px;border-radius:6px;border:1px solid var(--border);font-weight:600;color:var(--text-bright)}.pulse-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:pulse-glow 2s infinite ease-in-out}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.git-stat-pills{display:flex;gap:4px}.pill-badge{font-size:11px;padding:2px 7px;border-radius:99px;font-weight:500}.pill-badge.modified{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}.git-commit-box{display:flex;flex-direction:column;gap:6px;background:var(--panel-raised);border:1px solid var(--border);border-radius:8px;padding:8px}.commit-tags-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.tag-chip{background:var(--panel);border:1px solid var(--border);color:var(--dim);font-size:10px;padding:2px 6px;border-radius:4px;cursor:pointer;transition:all .15s ease}.tag-chip:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.ai-summarize-btn{margin-left:auto;background:linear-gradient(135deg,#6366f133,#a855f733);border:1px solid rgba(168,85,247,.4);color:#c084fc;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s ease}.ai-summarize-btn:hover:not(:disabled){background:linear-gradient(135deg,#6366f159,#a855f759);box-shadow:0 0 10px #a855f74d}.ai-summarize-btn:disabled{opacity:.5;cursor:not-allowed}.commit-input{background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--text-bright);font-family:inherit;font-size:12px;padding:6px 8px;resize:vertical;min-height:50px;outline:none;transition:border-color .15s ease}.commit-input:focus{border-color:var(--accent)}.primary-commit-btn{width:100%;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.primary-commit-btn:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 12px var(--accent-dim)}.primary-commit-btn:disabled{opacity:.4;cursor:not-allowed}.kbd-hint{font-size:10px;opacity:.7}.staging-group{display:flex;flex-direction:column;gap:2px;margin-top:6px}.staging-group-header{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--dim)}.staging-group-header .count-badge{font-size:10px;padding:1px 5px;border-radius:99px;margin-left:6px}.count-badge.green{background:#22c55e33;color:#22c55e}.count-badge.amber{background:#eab30833;color:#eab308}.count-badge.blue{background:#38bdf833;color:#38bdf8}.mini-action{background:transparent;border:none;color:var(--dim);font-size:11px;cursor:pointer;padding:2px 4px}.mini-action:hover{color:var(--text-bright)}.staging-row{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;cursor:pointer;transition:background .15s ease}.staging-row:hover{background:var(--panel-raised)}.status-tag{font-size:10px;font-weight:700;width:14px;text-align:center}.status-tag.staged{color:#22c55e}.status-tag.modified{color:#eab308}.status-tag.untracked{color:#38bdf8}.file-path{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.hover-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.staging-row:hover .hover-actions{opacity:1}.icon-btn{background:var(--panel);border:1px solid var(--border);color:var(--dim);border-radius:4px;padding:2px 6px;font-size:11px;cursor:pointer}.icon-btn:hover{color:var(--text-bright);border-color:var(--dim)}.empty-hint{padding:6px 8px;font-size:11px;color:var(--dim);font-style:italic}.git-history-section{border-top:1px solid var(--border);padding-top:8px;margin-top:auto}.history-header{font-size:11px;font-weight:700;color:var(--dim);margin-bottom:6px}.history-timeline{display:flex;flex-direction:column;gap:6px}.history-item{display:flex;align-items:flex-start;gap:8px}.commit-graph-node{display:flex;flex-direction:column;align-items:center;margin-top:4px}.node-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.node-line{width:1px;height:20px;background:var(--border)}.commit-info{flex:1;overflow:hidden}.commit-msg{font-size:11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-meta{display:flex;gap:8px;font-size:10px;color:var(--dim)}.commit-hash{font-family:monospace;color:var(--accent)}.diff-modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.diff-modal-container{width:90vw;max-width:1200px;height:85vh;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 40px #00000080;display:flex;flex-direction:column;overflow:hidden}.diff-modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--panel-raised);border-bottom:1px solid var(--border)}.diff-modal-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.diff-path{color:var(--text-bright);font-family:monospace}.badge-add{color:#22c55e;font-size:11px;font-weight:700}.badge-del{color:#ef4444;font-size:11px;font-weight:700}.diff-modal-actions{display:flex;align-items:center;gap:10px}.mode-toggle{display:flex;background:var(--panel);border-radius:6px;padding:2px;border:1px solid var(--border)}.mode-toggle button{background:transparent;border:none;color:var(--dim);font-size:11px;padding:2px 8px;border-radius:4px;cursor:pointer}.mode-toggle button.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.close-btn{background:transparent;border:none;color:var(--dim);font-size:16px;cursor:pointer;padding:2px 6px}.close-btn:hover{color:var(--text-bright)}.diff-modal-body{flex:1;overflow:auto;padding:12px;font-family:monospace;font-size:12px}.diff-hunk{margin-bottom:16px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.hunk-header{background:#6366f11a;color:#818cf8;padding:4px 10px;font-size:11px;border-bottom:1px solid var(--border)}.diff-split-table,.diff-unified-table{display:flex;flex-direction:column}.diff-split-row{display:flex;border-bottom:1px solid rgba(128,128,128,.06)}.diff-split-cell{flex:1;display:flex;gap:8px;padding:2px 8px}.diff-split-cell.old{border-right:1px solid var(--border)}.diff-split-row.del .diff-split-cell.old{background:#ef44441f}.diff-split-row.add .diff-split-cell.new{background:#22c55e1f}.diff-unified-row{display:flex;gap:8px;padding:2px 8px}.diff-unified-row.del{background:#ef44441f}.diff-unified-row.add{background:#22c55e1f}.line-num{width:35px;color:var(--dim);text-align:right;user-select:none;font-size:11px}.diff-marker{width:12px;font-weight:700}.diff-unified-row.del .diff-marker{color:#ef4444}.diff-unified-row.add .diff-marker{color:#22c55e}.word-del{background:#ef444459;color:#fca5a5;border-radius:2px}.word-add{background:#22c55e59;color:#86efac;border-radius:2px}.quickfix-menu-popup{background:var(--panel-raised);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 25px #0006;min-width:260px;max-width:380px;overflow:hidden;font-family:system-ui,-apple-system,sans-serif;animation:quickfix-fadein .15s ease-out}@keyframes quickfix-fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.quickfix-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text-bright)}.quickfix-header .mini-close{background:transparent;border:none;color:var(--dim);font-size:12px;cursor:pointer}.quickfix-diag-msg{padding:8px 10px;font-size:11px;color:#f87171;background:#ef444414;border-bottom:1px solid var(--border);line-height:1.4;word-break:break-word}.quickfix-action-list{display:flex;flex-direction:column;padding:4px 0}.quickfix-item{display:flex;align-items:center;gap:8px;padding:6px 12px;background:transparent;border:none;color:var(--text);font-size:12px;text-align:left;cursor:pointer;width:100%;transition:background .1s ease}.quickfix-item:hover{background:var(--accent-dim);color:var(--accent)}.quickfix-item.ai-item{color:#c084fc;font-weight:500}.quickfix-item.ai-item:hover{background:#a855f726;color:#d8b4fe}.editor-split-container{display:flex;flex:1;height:100%;overflow:hidden}.editor-split-container.horizontal{flex-direction:row}.editor-split-container.vertical{flex-direction:column}.editor-pane-group{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;position:relative;border:1px solid transparent;transition:border-color .15s ease}.editor-pane-group.active-pane{border-top-color:var(--accent)}.pane-divider{background:var(--border);flex-shrink:0;transition:background .15s ease}.editor-split-container.horizontal>.pane-divider{width:2px;cursor:col-resize}.editor-split-container.vertical>.pane-divider{height:2px;cursor:row-resize}.pane-divider:hover{background:var(--accent)}.tabstrip-split-actions{margin-left:auto;display:flex;gap:4px;align-items:center;padding-right:6px}.split-action-btn{background:transparent;border:1px solid transparent;color:var(--dim);cursor:pointer;padding:2px 6px;border-radius:4px;font-size:11px;display:flex;align-items:center;gap:4px;transition:all .15s ease}.split-action-btn:hover{color:var(--text-bright);background:var(--panel-raised);border-color:var(--border)}.preview-panel-container{display:flex;flex-direction:column;height:100%;width:100%;background:var(--panel);overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--panel-raised);border-bottom:1px solid var(--border);font-size:12px;gap:8px}.preview-title{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--text-bright);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-viewport-controls{display:flex;gap:4px;background:var(--panel);padding:2px;border-radius:6px;border:1px solid var(--border)}.device-btn{background:transparent;border:none;color:var(--dim);padding:2px 8px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s ease}.device-btn:hover{color:var(--text-bright)}.device-btn.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.preview-actions{display:flex;align-items:center;gap:6px}.preview-body{flex:1;overflow:auto;display:flex;position:relative}.preview-iframe-wrapper{display:flex;flex:1;width:100%;height:100%;background:#09090b}.preview-iframe{border:none;height:100%;transition:width .2s ease;background:#fff;box-shadow:0 0 20px #00000080}.markdown-preview-body{flex:1;padding:24px 32px;color:var(--text);line-height:1.6;max-width:850px;margin:0 auto;overflow-y:auto}.markdown-preview-body h1,.markdown-preview-body h2,.markdown-preview-body h3,.markdown-preview-body h4{color:var(--text-bright);margin-top:1.4em;margin-bottom:.5em;font-weight:700}.markdown-preview-body pre{background:var(--panel-raised);border:1px solid var(--border);border-radius:6px;padding:12px;overflow-x:auto;font-family:monospace;font-size:12px}.markdown-preview-body code{background:var(--panel-raised);padding:2px 6px;border-radius:4px;font-size:12px}.markdown-preview-body blockquote{border-left:3px solid var(--accent);margin:12px 0;padding-left:12px;color:var(--dim)}.preview-table{border-collapse:collapse;width:100%;margin:12px 0}.preview-table th,.preview-table td{border:1px solid var(--border);padding:6px 10px;text-align:left}.preview-table th{background:var(--panel-raised);color:var(--text-bright)}.task-list{list-style:none;padding-left:4px}.task-item{display:flex;align-items:center;gap:6px}.preview-console-drawer{border-top:1px solid var(--border);background:var(--panel-raised);max-height:140px;display:flex;flex-direction:column;font-family:monospace;font-size:11px}.console-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-bottom:1px solid var(--border);color:var(--dim)}.console-drawer-body{overflow-y:auto;padding:4px 8px;display:flex;flex-direction:column;gap:2px}.console-log-row{display:flex;gap:8px}.console-log-row .log-time{color:var(--dim)}.console-log-row.error .log-text{color:#f87171}.console-log-row.warn .log-text{color:#fbbf24}.ctx-backdrop{position:fixed;inset:0;z-index:250}.ctx-menu{position:fixed;z-index:251;min-width:180px;padding:4px;background:var(--panel-raised);border:1px solid var(--border-active);border-radius:8px;box-shadow:0 8px 28px #00000073;display:flex;flex-direction:column;gap:2px}.ctx-item{text-align:left;background:transparent;color:var(--text);border:0;border-radius:5px;padding:6px 10px;font-size:12px;cursor:pointer}.ctx-item:hover{background:var(--panel)}.ctx-item.danger{color:var(--err)}.ctx-sep{height:1px;background:var(--border);margin:3px 4px}
