.editor-page{min-height:100vh;height:100vh;background:#0b1220;color:#d7e1ee;display:flex;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.editor-centered-state{display:flex;align-items:center;justify-content:center}.editor-error-box,.editor-loading-box{background:#111827;border:1px solid #263449;border-radius:12px;padding:36px 42px;text-align:center;max-width:480px;box-shadow:0 10px 30px rgba(0,0,0,.4)}.editor-error-box h2,.editor-loading-box h2{color:#60a5fa;margin:16px 0 8px;font-size:20px}.editor-error-box p,.editor-loading-box p{color:#94a3b8;font-size:14px;line-height:1.5}.editor-spinner{width:40px;height:40px;border:3px solid #263449;border-top-color:#60a5fa;border-radius:50%;margin:0 auto;animation:spin .9s linear infinite}.error-icon{font-size:42px;color:#ef4444}.error-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.editor-btn-primary{background:#2563ab;color:#ffffff;border:none;border-radius:6px;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background .15s ease}.editor-btn-primary:hover{background:#3175c0}.editor-btn-secondary{background:#172337;color:#60a5fa;border:1px solid #263449;border-radius:6px;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background .15s ease}.editor-btn-secondary:hover{background:#1e304b}.editor-topbar{height:56px;min-height:56px;background:#111827;border-bottom:1px solid #263449;justify-content:space-between;padding:0 18px;z-index:10}.editor-brand,.editor-topbar{display:flex;align-items:center}.editor-brand{gap:10px;min-width:200px}.editor-logo{width:32px;height:32px;background:#2563ab;color:#ffffff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;letter-spacing:-.5px}.editor-brand h2{margin:0;color:#60a5fa;font-size:16px;font-weight:700;line-height:1.2}.editor-brand span{color:#94a3b8;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.editor-project-info{display:flex;align-items:center;gap:12px}.back-to-projects-btn{background:#172337;border:1px solid #263449;color:#94a3b8;border-radius:6px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s ease}.back-to-projects-btn:hover{color:#60a5fa;background:#1f2f47}.project-title-wrapper{display:flex;flex-direction:column;align-items:center}.project-label{font-size:9px;color:#94a3b8;letter-spacing:1px;font-weight:700}.project-name{font-size:14px;color:#d7e1ee;font-weight:600}.project-badge{background:#172337;color:#60a5fa;border:1px solid #263449;font-size:11px;padding:3px 8px;border-radius:4px;font-weight:600}.editor-actions{display:flex;align-items:center;gap:10px;min-width:200px;justify-content:flex-end}.editor-action-btn{border-radius:6px;padding:7px 14px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.15s ease;border:1px solid transparent}.preview-btn{background:#172337;color:#60a5fa;border-color:#263449}.preview-btn:hover{background:#1f314d}.liveserver-btn{background:#064e3b;color:#34d399;border-color:#059669}.liveserver-btn:hover{background:#047857;color:#ffffff}.save-btn{background:#172337;color:#94a3b8;border-color:#263449}.save-btn:hover{background:#1d2d45;color:#d7e1ee}.save-btn.has-unsaved{background:#1e3557;color:#60a5fa;border-color:#2563ab}.run-btn{background:#2563ab;color:#ffffff;border-color:#2563ab;box-shadow:0 2px 8px rgba(37,99,171,.35)}.run-btn:hover{background:#3175c0}.run-btn:disabled,.save-btn:disabled{opacity:.65;cursor:not-allowed}.btn-spinner{width:12px;height:12px;border:2px solid #ffffff;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.editor-body{flex:1 1;min-height:0;display:flex}.editor-sidebar{width:240px;min-width:240px;background:#111827;border-right:1px solid #263449;display:flex;flex-direction:column;overflow-y:auto}.sidebar-heading{height:40px;min-height:40px;padding:0 12px 0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #263449}.sidebar-heading span{font-size:11px;font-weight:700;letter-spacing:1px;color:#94a3b8}.sidebar-add-file-btn{background:transparent;border:none;color:#94a3b8;font-size:15px;cursor:pointer;width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:.15s ease}.sidebar-add-file-btn:hover{color:#60a5fa;background:#1f2f47}.project-folder{padding:8px 0}.folder-title{height:30px;padding:0 14px;gap:8px;color:#cbd5e1;font-size:11px;font-weight:700;letter-spacing:.5px}.folder-icon,.folder-title{display:flex;align-items:center}.folder-icon{color:#60a5fa}.folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list{padding:4px 6px;display:flex;flex-direction:column;gap:2px}.file-item{height:34px;border-radius:6px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#94a3b8;font-size:13px;cursor:pointer;transition:.15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.file-item:hover{background:#182438;color:#d7e1ee}.file-item.active-file{background:#172f4c;color:#60a5fa;font-weight:600}.file-name-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-unsaved-dot{color:#fb923c;font-size:10px}.file-item-actions{display:none;align-items:center;gap:4px}.file-item:hover .file-item-actions{display:flex}.file-action-btn{background:transparent;border:none;color:#94a3b8;font-size:13px;cursor:pointer;padding:3px;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:.15s ease}.file-action-btn:hover{color:#60a5fa;background:#24354e}.file-action-btn.file-delete-btn:hover{color:#ef4444}.file-badge-icon,.tab-icon-badge{font-size:9px;font-weight:800;min-width:24px;height:18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:-.3px;flex-shrink:0}.badge-js{background:#4a421e;color:#facc15}.badge-html{background:#49271e;color:#fb8b62}.badge-css{background:#1c3857;color:#60a5fa}.badge-py{background:#1e3a47;color:#38bdf8}.badge-c,.badge-cpp{background:#2e264f;color:#a78bfa}.badge-java{background:#4c1d24;color:#f87171}.badge-ts{background:#1e3a5f;color:#38bdf8}.badge-json{background:#2b3b24;color:#a3e635}.badge-php{background:#3b2257;color:#c084fc}.badge-rb{background:#471923;color:#f43f5e}.badge-go{background:#143e4f;color:#06b6d4}.badge-rs{background:#482c16;color:#fb923c}.badge-txt{background:#263449;color:#94a3b8}.editor-main{flex:1 1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#0b1220}.editor-tabs{min-height:38px;border-bottom:1px solid #263449;align-items:flex-end;overflow-x:auto;overflow-y:hidden}.editor-tab,.editor-tabs{height:38px;background:#111827;display:flex}.editor-tab{min-width:130px;max-width:220px;padding:0 12px;align-items:center;gap:8px;border-right:1px solid #263449;color:#94a3b8;font-size:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:.15s ease}.editor-tab:hover{color:#d7e1ee;background:#151e30}.editor-tab.active-tab{color:#d7e1ee;background:#0b1220;border-top:2px solid #2563ab;font-weight:600}.tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.tab-unsaved-dot{color:#fb923c;font-size:9px}.tab-close-btn{background:transparent;border:none;color:#64748b;font-size:13px;cursor:pointer;border-radius:3px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;transition:.15s ease}.tab-close-btn:hover{color:#d7e1ee;background:#263449}.code-editor-wrapper{flex:1 1;min-height:180px;position:relative;background:#0b1220;overflow:hidden}.no-file-open{height:100%;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:14px}.bottom-panel{height:220px;min-height:160px;max-height:50vh;background:#111827;border-top:1px solid #263449;display:flex;flex-direction:column}.bottom-panel-header{height:36px;min-height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #263449;background:#111827}.panel-tabs{gap:4px}.panel-tab,.panel-tabs{display:flex;align-items:center;height:100%}.panel-tab{background:transparent;color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.6px;padding:0 12px;cursor:pointer;gap:6px;border:none;border-bottom:2px solid transparent;transition:.15s ease}.panel-tab:hover{color:#d7e1ee}.panel-tab.active-panel-tab{color:#60a5fa;border-bottom-color:#2563ab}.status-pill{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:600;text-transform:uppercase}.status-pill.success{background:#143525;color:#4ade80}.status-pill.error{background:#451b22;color:#f87171}.problems-count{background:#ef4444;color:#ffffff;font-size:10px;border-radius:10px;padding:0 6px;font-weight:700}.panel-actions{display:flex;align-items:center;gap:12px}.stat-badge{background:#172337;padding:2px 7px;border-radius:4px}.panel-action-btn,.stat-badge{font-size:11px;color:#94a3b8;border:1px solid #263449}.panel-action-btn{background:transparent;font-weight:600;padding:4px 9px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:.15s ease}.panel-action-btn:hover{color:#60a5fa;background:#172337}.bottom-panel-body{flex:1 1;min-height:0;overflow:hidden;position:relative;background:#0b1220}.panel-output-content{height:100%;padding:12px 16px;overflow-y:auto;font-family:Consolas,Courier New,monospace;font-size:13px;line-height:1.5}.terminal-output{margin:0;white-space:pre-wrap;word-break:break-word;color:#d7e1ee}.panel-placeholder{color:#4f6077;font-style:italic;font-size:13px}.panel-input-content,.stdin-textarea{height:100%;padding:10px 14px}.stdin-textarea{width:100%;background:#0b1220;border:1px solid #263449;border-radius:6px;color:#d7e1ee;font-family:Consolas,Courier New,monospace;font-size:13px;resize:none;outline:none}.stdin-textarea:focus{border-color:#2563ab}.panel-preview-content,.preview-iframe{width:100%;height:100%;background:#ffffff}.preview-iframe{border:none}.panel-problems-content{height:100%;padding:12px 16px;overflow-y:auto}.problems-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.problem-item{display:flex;gap:10px;align-items:flex-start;background:#251820;border-left:3px solid #ef4444;padding:8px 12px;border-radius:4px}.problem-icon{color:#ef4444;font-size:16px;margin-top:2px;flex-shrink:0}.problem-item pre{margin:0;color:#fca5a5;font-size:12px;white-space:pre-wrap;font-family:Consolas,monospace}.no-problems{display:flex;align-items:center;gap:8px;color:#4ade80;font-size:13px}.check-icon{font-size:16px}.editor-statusbar{height:26px;min-height:26px;background:#111827;border-top:1px solid #263449;color:#94a3b8;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:11px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.status-left,.status-right{display:flex;align-items:center;gap:18px}.status-item{display:flex;align-items:center;gap:6px}.status-item.save-status-saved{color:#4ade80}.status-item.save-status-unsaved{color:#fb923c}.status-item.save-status-saving{color:#60a5fa}.status-item.save-status-failed{color:#ef4444}.language-tag{color:#60a5fa;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-dialog{background:#111827;border:1px solid #263449;border-radius:10px;width:90%;max-width:440px;box-shadow:0 15px 35px rgba(0,0,0,.6);overflow:hidden;animation:modalIn .15s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #263449}.modal-header h3{margin:0;color:#d7e1ee;font-size:15px;font-weight:600}.modal-close-btn{background:transparent;border:none;color:#94a3b8;font-size:16px;cursor:pointer;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{color:#d7e1ee;background:#263449}.modal-body{padding:18px;display:flex;flex-direction:column;gap:10px}.modal-body label{font-size:12px;font-weight:600;color:#94a3b8}.modal-input{background:#0b1220;border:1px solid #263449;border-radius:6px;height:38px;padding:0 12px;color:#d7e1ee;font-size:13px;outline:none}.modal-input:focus{border-color:#2563ab}.modal-error-text{color:#ef4444;font-size:12px;margin:0}.modal-hint{color:#64748b;font-size:11px;line-height:1.4}.delete-warning{color:#f87171;font-size:12px;margin-top:6px}.modal-footer{height:52px;padding:0 18px;border-top:1px solid #263449;display:flex;align-items:center;justify-content:flex-end;gap:10px;background:#0f1626}.btn-modal-cancel{background:transparent;border:1px solid #263449;color:#94a3b8;padding:7px 14px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:.15s ease}.btn-modal-cancel:hover{background:#172337;color:#d7e1ee}.btn-modal-confirm{background:#2563ab;border:1px solid #2563ab;color:#ffffff;padding:7px 16px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:.15s ease}.btn-modal-confirm:hover{background:#3175c0}.btn-modal-danger{background:#dc2626;border:1px solid #dc2626;color:#ffffff;padding:7px 16px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:.15s ease}.btn-modal-danger:hover{background:#b91c1c}.editor-page ::-webkit-scrollbar{width:8px;height:8px}.editor-page ::-webkit-scrollbar-track{background:#0b1220}.editor-page ::-webkit-scrollbar-thumb{background:#263449;border-radius:4px}.editor-page ::-webkit-scrollbar-thumb:hover{background:#354966}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.editor-sidebar{width:190px;min-width:190px}.editor-brand{min-width:auto}.editor-brand span,.project-label{display:none}.bottom-panel{height:180px}}@media (max-width:580px){.editor-topbar{padding:0 10px}.editor-brand h2{display:none}.editor-sidebar{width:56px;min-width:56px}.file-item-actions,.file-name-text,.folder-title span:last-child,.sidebar-heading span{display:none}.file-item,.folder-title{justify-content:center;padding:0}.status-right{display:none}}