:root{--bg-topbar: #150d1a;--bg-editor: #0c0510;--bg-sidebar: #150d1a;--bg-activity: #0c0510;--bg-tabs: #150d1a;--bg-terminal: #07020a;--bg-footer: #ff2a85;--border-color: #24122d;--text-active: #ffffff;--text-muted: #9076a0;--text-accent: #ff79c6;--token-keyword: #ff79c6;--token-string: #f1fa8c;--token-property: #ff79c6;--token-variable: #f8f8f2;--token-number: #bd93f9;--token-comment: #6272a4;--token-class: #8be9fd;--token-function: #50fa7b;--token-operator: #ff79c6;--token-bracket: #f8f8f2;--font-display: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Inconsolata", monospace}*{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;height:100%;overflow:hidden;background-color:var(--bg-editor);color:var(--text-active);font-family:var(--font-display)}.ide-wrapper{display:flex;flex-direction:column;width:100vw;height:100vh}.ide-header{height:35px;background-color:var(--bg-topbar);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 10px;border-bottom:1px solid var(--border-color);font-size:.8rem;color:#ffb8d1;-webkit-user-select:none;user-select:none}.header-left{display:flex;align-items:center;gap:15px;overflow:hidden}.header-right{display:flex;justify-content:flex-end}.window-controls{display:flex;gap:8px;flex-shrink:0}.control-dot{width:12px;height:12px;border-radius:50%;cursor:pointer}.control-dot.close{background-color:#ff79c6}.control-dot.minimize{background-color:#ffb8d1}.control-dot.expand{background-color:#8be9fd}.ide-menu{display:flex;gap:15px;flex-shrink:0}.ide-menu span{cursor:pointer;padding:4px 6px;border-radius:4px;transition:background-color .2s,color .2s}.ide-menu span:hover{background-color:#ff79c61a;color:#fff}.project-title{font-weight:500;color:var(--text-muted);font-family:var(--font-mono);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px}.window-layout-controls{display:flex;gap:4px;align-items:center}.layout-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:background-color .15s,color .15s}.layout-btn:hover{background-color:#ffffff14;color:var(--text-active)}body.theme-light-mode .layout-btn:hover{background-color:#0000000d}@media (max-width: 1000px){.project-title{display:none}.ide-header{grid-template-columns:1fr auto}}.ide-main{display:flex;flex:1;overflow:hidden}.activity-bar{width:48px;background-color:var(--bg-activity);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:12px 0;border-right:1px solid var(--border-color);z-index:10}.top-icons,.bottom-icons{display:flex;flex-direction:column;gap:18px;align-items:center;width:100%}.activity-icon{width:48px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;position:relative;transition:color .2s}.activity-icon:hover,.activity-icon.active{color:var(--text-accent)}.activity-icon.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background-color:var(--text-accent)}.sidebar{width:220px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;transition:width .3s cubic-bezier(.2,.8,.2,1);flex-shrink:0}.sidebar.collapsed{width:0px;overflow:hidden;border-right:none}.sidebar-header{padding:10px 14px;font-size:.72rem;font-weight:700;color:var(--text-muted);letter-spacing:.05em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.02)}.collapse-sidebar{cursor:pointer;font-size:.8rem;transition:transform .2s}.collapse-sidebar:hover{color:var(--text-accent)}.file-tree{padding:8px 0;font-size:.85rem;font-family:var(--font-mono)}.tree-node{display:flex;align-items:center;padding:6px 16px;cursor:pointer;gap:8px;color:var(--text-active);-webkit-user-select:none;user-select:none}.tree-node:hover{background-color:#ff79c60f}.tree-node.active{background-color:#ff79c626;color:#fff;font-weight:500;border-left:2px solid var(--text-accent)}.chevron{font-size:.6rem;width:10px;color:var(--text-muted)}.folder-icon{font-size:.95rem}.file-icon{font-family:var(--font-mono);font-size:.65rem;width:18px;height:16px;border-radius:3px;display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;font-weight:700;white-space:nowrap;line-height:1}.json-icon{color:#ff79c6}.js-icon{color:#f1fa8c}.py-icon{color:#8be9fd}.md-icon{color:#ffb8d1}.tree-children{padding-left:12px}.editor-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-editor)}.tabs-bar{height:35px;background-color:var(--bg-tabs);display:flex;overflow-x:auto;border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none}.tabs-bar::-webkit-scrollbar{display:none}.tab{display:flex;align-items:center;gap:8px;padding:0 16px;height:100%;background-color:var(--bg-tabs);border-right:1px solid var(--border-color);font-size:.8rem;color:var(--text-muted);cursor:pointer;position:relative;font-family:var(--font-mono);transition:background-color .2s,color .2s}.tab:hover{background-color:#ff79c60d;color:var(--text-active)}.tab.active{background-color:var(--bg-editor);color:#fff;font-weight:500}.tab.active:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background-color:var(--text-accent)}.tab-close{font-size:.9rem;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.tab-close:hover{background-color:#ff79c626}.breadcrumbs{height:22px;background-color:var(--bg-editor);font-size:.72rem;color:var(--text-muted);display:flex;align-items:center;padding:0 16px;gap:6px;font-family:var(--font-mono);border-bottom:1px solid rgba(255,255,255,.02)}.code-area{flex:1;display:flex;overflow:hidden;position:relative}.line-numbers{width:50px;font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);text-align:right;padding:16px 12px 16px 0;-webkit-user-select:none;user-select:none;background-color:var(--bg-editor);border-right:1px solid rgba(255,255,255,.02)}.line-numbers div{line-height:1.5;height:1.5rem}.code-viewport{flex:1;overflow:auto;padding:16px;position:relative}.code-content{display:none;font-family:var(--font-mono);font-size:.9rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:break-word}.code-content.active{display:block}.code-content code{font-family:var(--font-mono)}.token-bracket{color:var(--token-bracket)}.token-property{color:var(--token-property)}.token-operator{color:var(--token-operator)}.token-string{color:var(--token-string)}.token-comma{color:var(--token-operator)}.token-keyword{color:var(--token-keyword)}.token-variable{color:var(--token-variable)}.token-class{color:var(--token-class)}.token-function{color:var(--token-function)}.token-number{color:var(--token-number)}.token-comment{color:var(--token-comment);font-style:italic}.token-heading{color:var(--text-accent);font-weight:700}.token-text{color:var(--text-active)}.token-bullet{color:var(--token-keyword);font-weight:700}.token-italic{color:var(--token-keyword);font-style:italic}.token-colon{color:var(--token-operator)}.token-tag{color:var(--token-function)}.token-attr{color:var(--token-keyword)}.token-val{color:var(--token-string)}.token-doctype{color:var(--token-comment)}.editor-link{color:var(--token-string);text-decoration:underline;cursor:pointer}.editor-link:hover{color:var(--text-accent)}.editor-footer-status{height:22px;background-color:var(--bg-footer);display:flex;justify-content:space-between;align-items:center;padding:0 10px;font-size:.72rem;color:#fff;-webkit-user-select:none;user-select:none}.footer-left,.footer-right{display:flex;align-items:center;gap:15px}.branch-indicator,.diagnostic-indicator{display:inline-flex;align-items:center;gap:4px}.git-branch-icon,.diag-icon{font-size:.85rem}.sync-status{font-size:.95rem;animation:spin 3s linear infinite;display:inline-block;cursor:pointer}@keyframes spin{to{transform:rotate(360deg)}}.ide-terminal{height:190px;background-color:var(--bg-terminal);border-top:1px solid var(--border-color);display:flex;flex-direction:column}.terminal-tabs{height:30px;background-color:var(--bg-terminal);display:flex;align-items:center;padding:0 16px;gap:16px;font-size:.75rem;border-bottom:1px solid rgba(255,255,255,.03);-webkit-user-select:none;user-select:none}.term-tab{color:var(--text-muted);cursor:pointer;padding-bottom:3px;border-bottom:1.5px solid transparent}.term-tab.active{color:var(--text-active);font-weight:600;border-bottom-color:var(--text-accent)}.terminal-body{flex:1;padding:12px 16px;font-family:var(--font-mono);font-size:.85rem;overflow-y:auto;color:var(--text-active);line-height:1.5}.terminal-log-output div{margin-bottom:4px}.code-highlight{color:var(--text-accent);font-weight:700}.terminal-input-line{display:flex;align-items:center;gap:8px}.terminal-prompt{color:var(--text-accent);font-weight:700;white-space:nowrap}#cli-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-active);font-family:var(--font-mono);font-size:.85rem}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#ff79c61f;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ff79c640}@media (max-width: 768px){.sidebar{position:absolute;left:48px;top:35px;bottom:0;z-index:99;width:220px;box-shadow:10px 0 30px #0009;border-right:1px solid var(--border-color);transform:translate(-105%);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s ease}.sidebar:not(.collapsed){transform:translate(0);opacity:1;pointer-events:all}.ide-menu{display:none}.project-title{font-size:.75rem}.ide-terminal{height:300px}.code-viewport{padding:10px}.line-numbers{width:40px;padding-right:8px}.code-content{font-size:.82rem}.terminated-box{padding:24px;width:95%}.footer-right span:not(#lang-indicator){display:none}}.terminal-pane{display:none}.terminal-pane.active{display:block}.terminated-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0c0510d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:center;z-index:99999;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.25,1,.5,1);font-family:var(--font-display)}.terminated-overlay.active{opacity:1;pointer-events:all}.terminated-box{background-color:#170b20;border:1px solid var(--border-color);box-shadow:0 20px 50px #0009,0 0 30px #ff79c626;border-radius:16px;padding:32px 48px;text-align:center;max-width:400px;width:90%;transform:translateY(20px);transition:transform .3s cubic-bezier(.25,1,.5,1)}.terminated-overlay.active .terminated-box{transform:translateY(0)}.terminated-box h3{font-size:1.5rem;margin-bottom:8px;color:var(--text-accent)}.terminated-box p{color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.btn-restore{background-color:var(--bg-footer);color:#fff;border:none;padding:12px 24px;font-family:var(--font-display);font-weight:600;font-size:.9rem;border-radius:8px;cursor:pointer;transition:all .2s}.btn-restore:hover{transform:translateY(-2px);box-shadow:0 5px 15px #ff2a854d}.btn-restore:active{transform:translateY(0)}body.theme-dracula-black{--bg-topbar: #0c0c0c;--bg-editor: #000000;--bg-sidebar: #0a0a0a;--bg-activity: #000000;--bg-tabs: #0a0a0a;--bg-terminal: #000000;--border-color: #1a1a1a;--bg-footer: #e91e63}body.theme-light-mode{--bg-topbar: #f3f3f3;--bg-editor: #ffffff;--bg-sidebar: #f3f3f3;--bg-activity: #2c2c2c;--bg-tabs: #ececec;--bg-terminal: #f8f8f8;--bg-footer: #007acc;--border-color: #e4e4e4;--text-active: #333333;--text-muted: #717171;--text-accent: #007acc;--token-keyword: #0000ff;--token-string: #a31515;--token-property: #0451a5;--token-variable: #000000;--token-number: #098658;--token-comment: #008000;--token-class: #267f99;--token-function: #795e26;--token-operator: #000000;--token-bracket: #000000}.ide-wrapper{transition:transform .4s cubic-bezier(.25,1,.5,1),opacity .4s ease}.ide-wrapper.minimized{transform:scale(.05) translate(-1000px,1000px);opacity:0;pointer-events:none}#minimized-dock{position:fixed;bottom:20px;right:20px;background-color:var(--bg-sidebar);border:1px solid var(--border-color);padding:12px 20px;border-radius:10px;box-shadow:0 10px 30px #0009,0 0 20px #ff79c61a;display:flex;align-items:center;gap:12px;z-index:999999;cursor:pointer;transform:translateY(100px);opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.25,1,.5,1);color:var(--text-active);font-family:var(--font-display);font-size:.85rem}#minimized-dock.active{transform:translateY(0);opacity:1;pointer-events:all}#minimized-dock:hover{border-color:var(--text-accent);box-shadow:0 12px 35px #000000b3,0 0 25px #ff79c633}.dock-restore-btn{font-size:1.1rem;color:var(--text-accent)}body.theme-light-mode .tree-node:hover{background-color:#0000000d}body.theme-light-mode .tree-node.active{background-color:#007acc1a;color:#007acc;border-left-color:#007acc}body.theme-light-mode .tab:hover{background-color:#00000008}body.theme-light-mode .tab.active{background-color:var(--bg-editor);color:#000}body.theme-light-mode .chevron{color:var(--text-muted)}body.theme-light-mode .terminal-prompt{color:#007acc}body.theme-light-mode .problems-view{color:#098658!important}body.theme-light-mode .ide-header{color:#333}body.theme-light-mode .project-title,body.theme-light-mode .layout-btn,body.theme-light-mode .window-layout-controls{color:#616161}body.theme-light-mode ::-webkit-scrollbar-thumb{background:#00000026}body.theme-light-mode ::-webkit-scrollbar-thumb:hover{background:#00000040}body.theme-light-mode ::-webkit-scrollbar-track{background:#00000005}.debug-view{color:#8be9fd;font-family:var(--font-mono)}body.theme-light-mode .debug-view{color:#0451a5}.run-compiler{color:#ff79c6}.run-stdout{color:#50fa7b}body.theme-light-mode .run-compiler{color:#a31515}body.theme-light-mode .run-stdout{color:#098658}.git-branch-info{color:#6a9955}body.theme-light-mode .git-branch-info{color:#098658}body.theme-light-mode .line-numbers{border-right:1px solid var(--border-color)}body.theme-light-mode .terminal-tabs{border-bottom:1px solid var(--border-color)}body.theme-light-mode .editor-link{color:#06c}body.theme-light-mode .output-view{color:#5c3e6b!important}
