html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden}.app{--app-bg:#1e1e1e;--panel-bg:#252526;--panel-alt-bg:#2d2d30;--surface-bg:#1e1e1e;--surface-subtle-bg:#1f1f1f;--diagnostics-bg:#181818;--diagnostics-header-bg:#202020;--terminal-bg:#000;--control-bg:#303030;--control-hover-bg:#3a3a3a;--border-color:#333;--border-strong-color:#555;--text-color:#fff;--text-strong-color:#f2f2f2;--text-muted-color:#aaa;--text-soft-color:#d5d5d5;--overlay-bg:#0000006b;--modal-overlay-bg:#0000008c;--shadow-color:#00000080;--resize-color:#777;--resize-hover-color:#b8b8b8;background:var(--app-bg);height:100vh;color:var(--text-color);flex-direction:column;display:flex}.theme-soft{--app-bg:#eef1f4;--panel-bg:#f7f8fa;--panel-alt-bg:#eef1f4;--surface-bg:#fff;--surface-subtle-bg:#f3f5f7;--diagnostics-bg:#fbfbfc;--diagnostics-header-bg:#f0f2f5;--terminal-bg:#f7f8fa;--control-bg:#fff;--control-hover-bg:#edf1f5;--border-color:#d5dbe3;--border-strong-color:#aeb8c5;--text-color:#1f2933;--text-strong-color:#111827;--text-muted-color:#5d6878;--text-soft-color:#334155;--overlay-bg:#1924332e;--modal-overlay-bg:#19243352;--shadow-color:#25344633;--resize-color:#7b8794;--resize-hover-color:#3d4a5c}.theme-charcoal{--app-bg:#2a2d32;--panel-bg:#32363d;--panel-alt-bg:#3a3f47;--surface-bg:#2f333a;--surface-subtle-bg:#343941;--diagnostics-bg:#292d33;--diagnostics-header-bg:#343941;--terminal-bg:#252932;--control-bg:#3b4048;--control-hover-bg:#464c56;--border-color:#4a505a;--border-strong-color:#626a76;--text-color:#f2f4f7;--text-strong-color:#fff;--text-muted-color:#b8c0cc;--text-soft-color:#d8dee7;--overlay-bg:#15191f57;--modal-overlay-bg:#15191f75;--shadow-color:#0c101657;--resize-color:#8d97a6;--resize-hover-color:#c2c9d3}.theme-light{--app-bg:#fff;--panel-bg:#fff;--panel-alt-bg:#f5f5f5;--surface-bg:#fff;--surface-subtle-bg:#fafafa;--diagnostics-bg:#fff;--diagnostics-header-bg:#f7f7f7;--terminal-bg:#fff;--control-bg:#fff;--control-hover-bg:#f1f1f1;--border-color:#ddd;--border-strong-color:#b8b8b8;--text-color:#202124;--text-strong-color:#111;--text-muted-color:#666;--text-soft-color:#333;--overlay-bg:#0000001f;--modal-overlay-bg:#0000003d;--shadow-color:#0000002e;--resize-color:#8a8a8a;--resize-hover-color:#444}.topBar{background:var(--panel-bg);border-bottom:1px solid var(--border-color);align-items:center;height:40px;display:flex}.topTitle{border-right:1px solid var(--border-color);height:100%;color:var(--text-strong-color);align-items:center;padding:0 14px;font-size:14px;font-weight:600;display:flex}.status{color:var(--text-muted-color);margin-left:auto;padding:0 16px;font-size:14px}.downloadButton,.settingsButton{border:1px solid var(--border-strong-color);background:var(--control-bg);height:28px;color:var(--text-strong-color);cursor:pointer;border-radius:4px;margin-right:8px;padding:0 12px}.downloadButton:hover,.settingsButton:hover{background:var(--control-hover-bg)}.mainArea{flex:1;min-height:0;position:relative}.terminalView,.terminal{width:100%;height:100%}.terminal{background:var(--terminal-bg)}.editorOverlay{z-index:5;background:var(--overlay-bg);padding:28px;position:absolute;inset:0}.editorWindow{border:1px solid var(--border-color);background:var(--surface-bg);width:min(980px,100%);height:min(720px,100%);min-height:360px;box-shadow:0 22px 70px var(--shadow-color);resize:none;border-radius:8px;flex-direction:column;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.editorWindow[style]{transform:none}.editorWindowHeader{background:var(--panel-bg);border-bottom:1px solid var(--border-color);cursor:move;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;height:40px;padding:0 8px 0 14px;display:flex}.editorWindowTitle{min-width:0;color:var(--text-strong-color);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.fileSelect{border:1px solid var(--border-strong-color);background:var(--control-bg);max-width:min(260px,42vw);height:28px;color:var(--text-strong-color);cursor:default;border-radius:4px}.windowCloseButton{width:30px;height:28px;color:var(--text-muted-color);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;font-size:16px}.windowCloseButton:hover{border-color:var(--border-strong-color);background:var(--control-hover-bg);color:var(--text-strong-color)}.editorToolbar{background:var(--surface-subtle-bg);border-bottom:1px solid var(--border-color);align-items:center;gap:12px;height:38px;padding:0 12px;display:flex}.saveButton{border:1px solid var(--border-strong-color);background:var(--control-bg);height:26px;color:var(--text-strong-color);cursor:pointer;border-radius:4px;padding:0 12px}.saveButton:hover:not(:disabled){background:var(--control-hover-bg)}.saveButton:disabled{color:var(--text-muted-color);cursor:default}.saveState{color:var(--text-muted-color);font-size:13px}.editorArea{flex:1;min-height:0}.diagnosticsPanel{border-top:1px solid var(--border-color);background:var(--diagnostics-bg);max-height:190px;color:var(--text-soft-color);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;overflow:auto}.diagnosticsHeader{z-index:1;border-bottom:1px solid var(--border-color);background:var(--diagnostics-header-bg);color:var(--text-soft-color);justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:600;display:flex;position:sticky;top:0}.diagnosticsFileName{min-width:0;color:var(--text-muted-color);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.diagnosticItem{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-left:3px solid #777;grid-template-columns:64px 64px minmax(0,1fr);gap:8px;padding:8px 10px;display:grid}.diagnosticItem+.diagnosticItem{border-top:1px solid var(--border-color)}.diagnosticItem:hover,.diagnosticItem:focus-visible{background:var(--control-hover-bg);outline:none}.diagnosticItem.error{border-left-color:#e35b5b}.diagnosticItem.warning{border-left-color:#d6a943}.diagnosticItem.note{border-left-color:#6f9ee8}.diagnosticLocation,.diagnosticSeverity{color:var(--text-muted-color)}.diagnosticMessage{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.diagnosticSnippet{min-width:0;color:var(--text-soft-color);grid-column:3;gap:2px;display:grid}.diagnosticSourceLine,.diagnosticCaretLine{text-overflow:ellipsis;white-space:pre;min-width:0;overflow:hidden}.diagnosticCaretLine{color:#e35b5b;font-weight:700}.resizeHandle{background:linear-gradient(135deg, transparent 0 45%, var(--resize-color) 46% 52%, transparent 53% 62%, var(--resize-color) 63% 69%, transparent 70%);cursor:nwse-resize;border:0;width:18px;height:18px;position:absolute;bottom:0;right:0}.resizeHandle:hover,.resizeHandle:focus-visible{background:linear-gradient(135deg, transparent 0 45%, var(--resize-hover-color) 46% 52%, transparent 53% 62%, var(--resize-hover-color) 63% 69%, transparent 70%);outline:none}.modalOverlay{z-index:10;background:var(--modal-overlay-bg);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.settingsOverlay{z-index:20;background:var(--modal-overlay-bg);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.settingsWindow{border:1px solid var(--border-strong-color);background:var(--panel-bg);width:min(460px,100% - 32px);box-shadow:0 18px 48px var(--shadow-color);border-radius:6px;padding:0;overflow:hidden}.settingsHeader{border-bottom:1px solid var(--border-color);background:var(--panel-alt-bg);align-items:center;gap:12px;height:42px;padding:0 10px 0 16px;display:flex}.settingsHeader h2{flex:1;margin:0;font-size:16px;font-weight:600}.settingRow{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.settingLabel,.settingDescription{display:block}.settingLabel{color:var(--text-strong-color);font-size:14px;font-weight:600}.settingDescription{color:var(--text-muted-color);margin-top:4px;font-size:12px;line-height:1.4}.settingsSelect{border:1px solid var(--border-strong-color);background:var(--control-bg);min-width:130px;height:30px;color:var(--text-strong-color);border-radius:4px}.modalWindow{border:1px solid var(--border-strong-color);background:var(--panel-bg);width:min(420px,100% - 32px);box-shadow:0 18px 48px var(--shadow-color);border-radius:6px;padding:20px}.modalWindow h2{margin:0 0 10px;font-size:18px;font-weight:600}.modalWindow p{color:var(--text-soft-color);margin:0;line-height:1.5}.modalActions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.dangerButton,.secondaryButton{border:1px solid var(--border-strong-color);height:28px;color:var(--text-strong-color);cursor:pointer;border-radius:4px;padding:0 12px}.dangerButton{background:#4a2525;border-color:#744}.dangerButton:hover{background:#5a2b2b}.secondaryButton{background:var(--control-bg)}.secondaryButton:hover{background:var(--control-hover-bg)}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
