:root{--text:#24262b;--text-muted:#6b6375;--bg:#fff;--bg-alt:#f4f3ec;--border:#e5e4e7;--accent:#aa3bff;--accent-bg:#aa3bff1a;--error:#d1242f;--warning:#9a6700;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#e5e7eb;--text-muted:#9ca3af;--bg:#16171d;--bg-alt:#1f2028;--border:#2e303a;--accent:#c084fc;--accent-bg:#c084fc26;--error:#ff7b72;--warning:#d29922}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:14px/1.45 var(--sans);color:var(--text);background:var(--bg)}button{font:inherit}.editor-container{height:100%;overflow:hidden}.editor-container .cm-editor{height:100%}.toolbar{border-bottom:1px solid var(--border);background:var(--bg-alt);flex-shrink:0;align-items:center;gap:12px;height:44px;padding:0 12px;display:flex}.toolbar-title{font-weight:600}.toolbar-project-name{color:var(--text-muted);font-size:13px}.toolbar-spacer{flex:1}.toolbar-settings-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:15px;line-height:1}.toolbar-settings-btn:hover{color:var(--text)}.toolbar-compile-btn{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);cursor:pointer;border-radius:4px;padding:6px 14px}.toolbar-compile-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-auto-compile{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:12px;display:flex}.toolbar-auto-compile input{accent-color:var(--accent);margin:0}.resize-handle{z-index:5;background:var(--border);touch-action:none;flex-shrink:0;position:relative}.resize-handle-vertical{cursor:col-resize;width:1px}.resize-handle-horizontal{cursor:row-resize;height:1px}.resize-handle:after{content:"";position:absolute}.resize-handle-vertical:after{inset:0 -4px}.resize-handle-horizontal:after{inset:-4px 0}.resize-handle:hover,.resize-handle:active{background:var(--accent)}body.resizing-vertical,body.resizing-vertical *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}body.resizing-horizontal,body.resizing-horizontal *{-webkit-user-select:none;user-select:none;cursor:row-resize!important}.split-pane{flex:1;grid-template-columns:220px auto 1fr auto 1fr;min-height:0;display:grid}.split-pane-left,.split-pane-right{min-width:0;overflow:auto}.split-pane-center{min-width:0;overflow:hidden}.pane-placeholder{color:var(--text-muted);padding:16px;font-size:13px}.file-tree{padding:8px 0;font-size:13px}.file-tree-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;padding:0 8px 6px;font-size:11px;display:flex}.file-tree-header-actions{gap:4px;display:flex}.file-tree-button{text-transform:none;letter-spacing:normal;border:1px solid var(--border);background:var(--bg);color:inherit;cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:12px}.file-tree-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.file-tree-button:disabled,.file-tree-icon:disabled{cursor:default;opacity:.6}.file-tree-create,.file-tree-rename{flex:1;min-width:0;margin:0}.file-tree-create{padding:0 8px 6px}.file-tree-input{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--accent);background:var(--bg);color:inherit;border-radius:3px;padding:2px 4px;font-size:13px}.file-tree-notice{color:var(--text-muted);padding:4px 8px 6px;font-size:12px}.file-tree-row{white-space:nowrap;align-items:center;gap:4px;padding:3px 8px;display:flex}.file-tree-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.file-tree-folder{color:var(--text-muted)}.file-tree-file{cursor:pointer}.file-tree-row:hover{background:var(--accent-bg)}.file-tree-file.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.file-tree-row-actions{opacity:0;gap:2px;display:flex}.file-tree-row:hover .file-tree-row-actions,.file-tree-row-actions:focus-within{opacity:1}.file-tree-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:12px;font-weight:400;line-height:1}.file-tree-icon:hover:not(:disabled){background:var(--bg);color:var(--accent)}.file-tree-icon.danger{color:#d93025}.file-tree-confirm{color:var(--text-muted);align-items:center;gap:2px;font-size:12px;font-weight:400;display:flex}.pdf-preview{background:var(--bg-alt);flex-direction:column;height:100%;display:flex}.pdf-preview-toolbar{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:flex}.pdf-preview-toolbar button{border:1px solid var(--border);background:var(--bg);color:inherit;font:inherit;cursor:pointer;border-radius:4px;padding:2px 8px}.pdf-preview-toolbar button:hover,.pdf-preview-toolbar button.active{border-color:var(--accent);color:var(--accent)}.pdf-preview-zoom{text-align:center;min-width:42px;color:var(--text-muted);font-variant-numeric:tabular-nums}.pdf-preview-spacer{flex:1}.pdf-preview-scroll{flex:1;min-height:0;overflow:auto}.pdf-preview-pages{box-sizing:border-box;flex-direction:column;align-items:center;gap:12px;width:max-content;min-width:100%;padding:16px;display:flex}.pdf-preview-page{background:#fff;flex-shrink:0;box-shadow:0 1px 4px #00000026}.log-panel{flex-direction:column;height:100%;font-size:13px;display:flex}.log-panel-tabs{border-bottom:1px solid var(--border);background:var(--bg-alt);flex-shrink:0;gap:2px;padding:0 8px;display:flex}.log-panel-tabs button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:flex}.log-panel-tabs button.active{border-bottom-color:var(--accent);color:var(--text)}.log-panel-tabs button:disabled{cursor:default;opacity:.5}.log-badge{text-align:center;color:#fff;border-radius:8px;min-width:16px;padding:0 5px;font-size:11px;line-height:16px}.log-badge-error{background:var(--error)}.log-badge-warning{background:var(--warning)}.log-panel-body{min-height:0;font-family:var(--mono);flex:1;overflow:auto}.log-raw{white-space:pre-wrap;word-break:break-word;margin:0;padding:8px 12px;font-size:12px}.log-entry{cursor:pointer;border-bottom:1px solid var(--border);align-items:baseline;gap:10px;padding:4px 12px;display:flex}.log-entry:hover{background:var(--bg-alt)}.log-entry-level{text-transform:uppercase;flex-shrink:0;font-size:11px;font-weight:600}.log-entry-error .log-entry-level{color:var(--error)}.log-entry-warning .log-entry-level{color:var(--warning)}.log-entry-location{color:var(--text-muted);flex-shrink:0}.log-entry-message{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-tree-preview{font-size:12px;font-family:var(--mono);background:var(--bg-alt);border-radius:4px;max-height:160px;padding:8px;overflow:auto}.file-tree-preview-folder{color:var(--text-muted);padding:1px 0}.file-tree-preview-file{padding:1px 0}.ai-chat-pane{flex-direction:column;height:100%;display:flex}.ai-chat-transcript{flex:1;min-height:120px;max-height:320px;padding:4px 2px;overflow:auto}.ai-chat-empty{color:var(--text-muted);margin:8px 0;font-size:13px}.ai-chat-entry{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.ai-chat-bubble{border-radius:8px;max-width:90%;padding:8px 12px;font-size:13px}.ai-chat-bubble-user{background:var(--accent-bg);color:var(--accent);align-self:flex-end}.ai-chat-bubble-assistant{background:var(--bg-alt);box-sizing:border-box;align-self:flex-start;width:100%}.ai-chat-loading{color:var(--text-muted);font-style:italic}.ai-chat-error{color:var(--error)}.ai-chat-error-message{margin:0 0 8px}.ai-chat-retry-btn{border:1px solid var(--error);color:var(--error);cursor:pointer;background:0 0;border-radius:4px;padding:5px 12px;font-size:12px}.ai-chat-retry-btn:disabled{opacity:.5;cursor:not-allowed}.ai-chat-summary{margin:0 0 8px}.ai-chat-memory-note{color:var(--text-muted);margin:0 0 8px;font-size:12px;font-style:italic}.ai-chat-open-btn{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);cursor:pointer;border-radius:4px;margin-top:8px;padding:6px 14px}.ai-chat-open-btn:disabled{opacity:.5;cursor:not-allowed}.ai-chat-input-row{border-top:1px solid var(--border);gap:8px;padding-top:10px;display:flex}.ai-chat-input-row input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;flex:1;padding:8px 10px;font-size:13px}.ai-chat-input-row button{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:4px;padding:8px 16px}.ai-chat-input-row button:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--border);border-radius:8px;width:320px;padding:20px;box-shadow:0 8px 24px #0003}.modal h2{margin:0 0 16px;font-size:16px}.modal-field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.modal-field input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:6px 8px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.modal-actions button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:4px;padding:6px 14px}.modal-actions .modal-primary{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.new-project-modal{width:440px}.new-project-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.new-project-tab{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 12px;font-size:13px}.new-project-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.new-project-ai-locked{color:var(--text-muted);padding:16px 0;font-size:13px}.project-switcher{position:relative}.project-switcher-trigger{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:13px}.project-switcher-trigger:hover{background:var(--bg-alt)}.project-switcher-caret{font-size:10px}.project-switcher-menu{background:var(--bg);border:1px solid var(--border);z-index:100;border-radius:6px;min-width:200px;margin-top:4px;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.project-switcher-item{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:8px 12px;font-size:13px;overflow:hidden}.project-switcher-item:hover{background:var(--bg-alt)}.project-switcher-item.active{color:var(--accent);font-weight:600}.project-switcher-new{border-top:1px solid var(--border);color:var(--accent)}.project-switcher-menu{min-width:260px;max-width:360px}.project-switcher-item:not(.project-switcher-new){align-items:center;gap:6px;display:flex}.project-switcher-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.project-switcher-actions{opacity:0;gap:2px;display:flex}.project-switcher-item:hover .project-switcher-actions,.project-switcher-actions:focus-within{opacity:1}.project-switcher-actions button,.project-switcher-confirm button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 5px;font-size:12px;font-weight:400}.project-switcher-actions button:hover,.project-switcher-confirm button:hover{background:var(--bg);color:var(--accent)}.project-switcher-confirm{color:var(--text-muted);align-items:center;gap:2px;font-size:12px;font-weight:400;display:flex}.project-switcher-confirm button.danger{color:var(--error)}.project-switcher-rename{flex:1;margin:0}.project-switcher-rename input{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--accent);background:var(--bg);color:inherit;border-radius:3px;padding:2px 4px}.project-switcher-footer{color:var(--text-muted)}.project-switcher-notice{border-top:1px solid var(--border);color:var(--text-muted);white-space:normal;padding:6px 12px;font-size:12px}.api-key-field{border-bottom:1px solid var(--border);padding:12px 0}.api-key-field:last-child{border-bottom:none}.api-key-field-header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.api-key-field-label{font-size:13px;font-weight:600}.api-key-field-link{color:var(--accent);font-size:12px}.api-key-field-row{align-items:center;gap:8px;display:flex}.api-key-field-row input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;flex:1;padding:6px 8px}.api-key-field-row button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:4px;padding:6px 10px;font-size:13px}.api-key-field-row button:disabled{opacity:.5;cursor:not-allowed}.api-key-field-masked{font-family:var(--mono);color:var(--text-muted);flex:1;font-size:13px}.api-key-status{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:12px}.api-key-status-testing{color:var(--text-muted)}.api-key-status-valid{color:#16a34a;background:#22c55e26}.api-key-status-invalid{color:var(--error);background:#ef444426}.api-key-field-notice{color:var(--text-muted);margin:8px 0 0;font-size:12px;line-height:1.4}.settings-modal{width:420px;max-height:80vh;overflow:auto}.settings-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 8px;font-size:12px}.settings-debug{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.settings-debug textarea{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;box-sizing:border-box;border-radius:4px;padding:6px 8px;font-size:13px}.settings-debug button{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);cursor:pointer;border-radius:4px;margin-top:8px;padding:6px 14px}.settings-debug button:disabled{opacity:.5;cursor:not-allowed}.settings-debug-result{background:var(--bg-alt);white-space:pre-wrap;border-radius:4px;max-height:150px;margin-top:8px;padding:8px;font-size:12px;overflow:auto}.binary-preview{box-sizing:border-box;flex-direction:column;gap:10px;height:100%;padding:16px;font-size:13px;display:flex;overflow:auto}.binary-preview-meta{color:var(--text-muted)}.binary-preview-snippet{background:var(--bg-alt);-webkit-user-select:all;user-select:all;border-radius:4px;align-self:flex-start;padding:4px 8px}.binary-preview-image{object-fit:contain;border:1px solid var(--border);background:#fff;align-self:flex-start;max-width:100%;max-height:70vh}.binary-preview-note{color:var(--text-muted)}.app{flex-direction:column;height:100%;display:flex}.log-panel-container{flex-shrink:0;overflow:hidden}
