:root{--bg:#1e1e1e;--title:#181818;--side:#252526;--activity:#181818;--panel:#181818;--line:#2b2b2b;--line2:#333;--text:#cccccc;--muted:#858585;--blue:#007acc;--blue2:#0e639c;--green:#89d185;--red:#f14c4c;--yellow:#cca700;--hover:#2a2d2e;--select:#37373d;--input:#3c3c3c;--tab:#1e1e1e;--tabOff:#2d2d2d;--status:#007acc;--shadow:0 12px 40px rgba(0,0,0,.35)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:13px;overflow:hidden}button,input,textarea{font:inherit}.ide{height:100vh;display:flex;flex-direction:column}.titlebar{height:35px;background:var(--title);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #111;user-select:none}.title-left,.title-actions{display:flex;align-items:center;height:100%}.title-left{padding-left:10px;gap:14px}.app-icon{width:22px;height:22px;border-radius:4px;background:#2d2d30;color:#d7d7d7;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;letter-spacing:-.5px}.title-left nav{display:flex;height:100%;align-items:center;gap:2px}.title-left nav span,.title-actions>a{padding:6px 8px;color:#c8c8c8;text-decoration:none;border-radius:4px;font-size:12px}.title-left nav span:hover,.title-actions>a:hover{background:#2a2d2e}.window-name{font-size:12px;color:#b5b5b5;white-space:nowrap}.title-actions{justify-self:end;padding-right:8px;gap:8px}.state-dot{display:flex;align-items:center;gap:6px;color:#999;font-size:11px}.state-dot i{width:8px;height:8px;border-radius:50%;background:#777}.state-dot.online i{background:#73c991;box-shadow:0 0 0 2px rgba(115,201,145,.12)}.state-dot.offline i{background:#f14c4c}.ide-body{min-height:0;flex:1;display:grid;grid-template-columns:48px 260px minmax(0,1fr)}.activitybar{background:var(--activity);border-right:1px solid #111;display:flex;flex-direction:column;align-items:center}.activity{width:48px;height:48px;border:0;background:transparent;color:#8c8c8c;font-size:21px;cursor:pointer;border-left:2px solid transparent}.activity:hover{color:#eee}.activity.active{color:#fff;border-left-color:#fff}.activity-spacer{flex:1}.explorer{background:var(--side);display:flex;flex-direction:column;min-width:0;border-right:1px solid #111}.explorer-title{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 16px;font-size:11px;color:#bbb}.mini-actions{display:flex;align-items:center;gap:1px}.mini-actions button,.mini-actions label{border:0;background:transparent;color:#bdbdbd;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer}.mini-actions button:hover,.mini-actions label:hover{background:#37373d}.mini-actions input{display:none}.project-title{height:24px;display:flex;align-items:center;gap:5px;padding:0 8px;background:#252526;color:#d4d4d4;font-size:11px}.breadcrumbs{display:flex;align-items:center;gap:4px;overflow:auto;padding:5px 8px 4px;font-size:10px;white-space:nowrap;border-top:1px solid #2a2a2a}.breadcrumbs a{color:#969696;text-decoration:none}.breadcrumbs a:hover{color:#fff}.breadcrumbs span{color:#555}.filter{padding:6px 8px}.filter input,.modal-card input,.auth-card input{width:100%;height:28px;border:1px solid #3f3f46;background:#3c3c3c;color:#fff;outline:none;padding:0 8px}.filter input:focus,.modal-card input:focus,.auth-card input:focus{border-color:#007acc}.file-tree{flex:1;overflow:auto;padding:2px 0}.tree-row{height:23px;display:flex;align-items:center;text-decoration:none;color:#ccc;padding:0 7px 0 10px;gap:6px;white-space:nowrap}.tree-row:hover{background:#2a2d2e}.tree-row.selected{background:#37373d;color:#fff}.file-type{width:27px;flex:0 0 27px;text-align:center;color:#b8b8b8;font-size:10px;font-weight:700}.folder .file-type{font-size:12px;color:#c09553}.tree-name{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.tree-size{color:#666;font-size:9px;margin-left:auto}.chev{width:27px;text-align:center}.explorer-bottom{height:23px;border-top:1px solid #333;padding:4px 10px;color:#777;font-size:10px}.editor-shell{min-width:0;min-height:0;display:grid;grid-template-rows:42px auto 35px minmax(0,1fr) 185px 22px;background:var(--bg)}.commandbar{display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid #292929;background:#202020}.bot-name{display:flex;align-items:center;gap:8px}.service-icon{color:#75beff;font-size:10px}.bot-name div{display:flex;flex-direction:column}.bot-name b{font-size:12px;font-weight:500;color:#ddd}.bot-name small{font-size:10px;color:#8f8f8f}.service-actions{display:flex;gap:5px}.btn,.toolbar-link{border:1px solid #3e3e42;background:#2d2d30;color:#d8d8d8;min-height:27px;padding:4px 10px;border-radius:2px;cursor:pointer;text-decoration:none;font-size:11px;display:inline-flex;align-items:center;justify-content:center}.btn:hover,.toolbar-link:hover{background:#3a3a3d}.btn.primary,.btn.restart{background:#0e639c;border-color:#0e639c;color:#fff}.btn.primary:hover,.btn.restart:hover{background:#1177bb}.btn.run{color:#c7efc4}.btn.stop{color:#ff9b9b}.btn.danger{background:#a1260d;border-color:#a1260d;color:#fff}.btn.wide{width:100%;margin-top:8px;height:32px}.notice{padding:7px 10px;border-bottom:1px solid #333;background:#1f3b25;color:#bfe7c3;font-size:11px}.notice.error{background:#5a1d1d;color:#ffd0d0}.tabs{height:35px;background:#181818;display:flex;border-bottom:1px solid #252525}.tab{height:35px;min-width:150px;max-width:260px;background:#1e1e1e;border-right:1px solid #252525;border-top:1px solid #007acc;padding:0 12px;display:flex;align-items:center;gap:8px;color:#fff}.tab-file{overflow:hidden;text-overflow:ellipsis}.dirty{margin-left:auto;width:7px;height:7px;border-radius:50%;background:transparent}.dirty.show{background:#fff}.editor-area{min-height:0;display:flex;flex-direction:column;background:#1e1e1e}.editor-toolbar{height:29px;flex:0 0 29px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #252525;padding:0 8px}.pathline{font-size:10px;color:#858585;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-actions{display:flex;gap:5px}.toolbar-link{border:0;background:transparent;min-height:23px;padding:2px 7px}.danger-text{color:#f48771}.code-form,.code-wrap{flex:1;min-height:0}.code-wrap{display:grid;grid-template-columns:58px minmax(0,1fr);background:#1e1e1e}.code-wrap pre{margin:0;padding:12px 12px 30px 0;background:#1e1e1e;color:#858585;text-align:right;overflow:hidden;user-select:none;font:13px/20px Consolas,"Courier New",monospace;border-right:1px solid #252525}.code-wrap textarea{width:100%;height:100%;resize:none;border:0;outline:0;background:#1e1e1e;color:#d4d4d4;padding:12px 18px 30px;overflow:auto;white-space:pre;tab-size:2;font:13px/20px Consolas,"Courier New",monospace;caret-color:#fff}.panel{min-height:0;background:#181818;border-top:1px solid #333;display:flex;flex-direction:column}.panel-tabs{height:35px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid #2d2d2d}.panel-tabs button{height:35px;border:0;border-bottom:1px solid #fff;background:transparent;color:#ddd;font-size:11px}.panel-tabs span{margin-left:auto;font-size:9px;color:#73c991}.panel pre{margin:0;padding:8px 12px;overflow:auto;white-space:pre-wrap;color:#c5c5c5;background:#181818;font:11px/17px Consolas,"Courier New",monospace}.statusbar{height:22px;background:var(--status);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 8px;font-size:10px}.statusbar div{display:flex;gap:13px}.welcome{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;text-align:center;padding:30px}.welcome-logo{width:72px;height:72px;border:2px solid #3c3c3c;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#888;margin-bottom:14px}.welcome h1,.welcome h2{font-weight:400;color:#ccc;margin:5px 0}.welcome p{max-width:500px;color:#858585;line-height:1.6}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:18px}.shortcut-grid span{display:flex;align-items:center;gap:5px;color:#777}.shortcut-grid b{font-weight:400;margin-left:8px}.shortcut-grid kbd{background:#2d2d30;border:1px solid #444;padding:2px 5px;border-radius:3px;color:#bbb}.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:flex-start;justify-content:center;padding-top:90px;z-index:20}.modal.open{display:flex}.modal-card{width:min(460px,calc(100% - 30px));background:#252526;border:1px solid #454545;box-shadow:var(--shadow);padding:18px}.modal-card h3{margin:0 0 12px;font-weight:500;color:#eee}.modal-card p{color:#ddd;word-break:break-word}.modal-muted{font-size:11px;color:#858585!important}.modal-card form>div:last-child{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}.toast{position:fixed;right:18px;bottom:35px;z-index:40;min-width:220px;max-width:400px;background:#252526;color:#ddd;border:1px solid #444;box-shadow:var(--shadow);padding:10px 12px;transform:translateY(18px);opacity:0;pointer-events:none;transition:.18s}.toast.show{transform:translateY(0);opacity:1}.toast.error{border-color:#f14c4c}.auth-body{overflow:auto;background:#1e1e1e;display:grid;place-items:center;min-height:100vh}.auth-shell{width:min(470px,calc(100% - 32px));border:1px solid #333;background:#181818;box-shadow:var(--shadow)}.window-title{height:34px;border-bottom:1px solid #333;display:flex;align-items:center;gap:9px;padding:0 10px;color:#bbb;font-size:12px}.auth-card{padding:28px}.auth-card h1{margin:0 0 5px;color:#eee;font-size:20px;font-weight:400}.auth-card p{color:#858585;margin:0 0 22px}.auth-card label{display:block;color:#bbb;font-size:11px;margin:12px 0 5px}.auth-card input{height:32px}.login-note{display:block;margin-top:14px;color:#666;font-size:10px}.auth-card .notice{border:1px solid #7f1d1d;margin-bottom:12px}.save-flash{animation:savePulse .35s ease}@keyframes savePulse{0%{background:#0e639c}100%{background:var(--status)}}@media(max-width:900px){.ide-body{grid-template-columns:42px 220px minmax(0,1fr)}.activity,.activitybar{width:42px}.title-left nav{display:none}.window-name{display:none}.service-actions .btn{padding:4px 6px}.editor-shell{grid-template-rows:42px auto 35px minmax(0,1fr) 150px 22px}}@media(max-width:680px){body{overflow:auto}.ide{min-height:100vh}.ide-body{display:block}.activitybar{display:none}.explorer{height:270px;border-bottom:1px solid #111}.editor-shell{height:calc(100vh - 305px);min-height:500px}.commandbar{overflow-x:auto}.bot-name{display:none}.shortcut-grid{grid-template-columns:1fr}.titlebar{grid-template-columns:1fr 1fr}.title-actions{justify-content:flex-end}}
