/* VS Code "Dark+" inspired theme over Bootstrap 5. Default dark; desktop web.
   Palette as CSS variables → mapped onto Bootstrap dark tokens, plus the IDE shell chrome. */

:root,
[data-bs-theme="dark"] {
  --vsc-editor-bg:#1e1e1e;
  --vsc-sidebar-bg:#252526;
  --vsc-activitybar-bg:#333333;
  --vsc-titlebar-bg:#323233;
  --vsc-tabbar-bg:#252526;
  --vsc-tab-active-bg:#1e1e1e;
  --vsc-tab-inactive-bg:#2d2d2d;
  --vsc-statusbar-bg:#007acc;
  --vsc-fg:#cccccc;
  --vsc-fg-muted:#858585;
  --vsc-border:#1b1b1b;
  --vsc-panel-border:#3c3c3c;
  --vsc-list-hover:#2a2d2e;
  --vsc-list-active:#37373d;
  --vsc-accent:#0e639c;
  --vsc-accent-hover:#1177bb;
  --vsc-focus:#007acc;
}

/* Map Bootstrap dark tokens onto the VS Code palette */
[data-bs-theme="dark"] {
  --bs-body-bg:#1e1e1e;
  --bs-body-color:#cccccc;
  --bs-border-color:#3c3c3c;
  --bs-body-font-family:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  --bs-body-font-size:0.95rem;
  --bs-primary:#0e639c;
  --bs-primary-rgb:14,99,156;
  --bs-link-color:#3794ff;
  --bs-link-color-rgb:55,148,255;
  --bs-link-hover-color:#5aa7ff;
}

/* Buttons → VS Code accent */
[data-bs-theme="dark"] .btn-primary{
  --bs-btn-bg:var(--vsc-accent);
  --bs-btn-border-color:var(--vsc-accent);
  --bs-btn-hover-bg:var(--vsc-accent-hover);
  --bs-btn-hover-border-color:var(--vsc-accent-hover);
  --bs-btn-active-bg:var(--vsc-accent-hover);
  --bs-btn-focus-shadow-rgb:0,122,204;
}

/* Cards a touch lighter than the editor */
[data-bs-theme="dark"] .card{
  --bs-card-bg:#252526;
  --bs-card-border-color:#3c3c3c;
}

/* Thin VS Code-style scrollbars */
*::-webkit-scrollbar{width:10px;height:10px;}
*::-webkit-scrollbar-thumb{background:#424242;border:2px solid transparent;background-clip:content-box;border-radius:6px;}
*::-webkit-scrollbar-thumb:hover{background:#4f4f4f;background-clip:content-box;}
*::-webkit-scrollbar-track{background:transparent;}

/* ---------- Public / marketing / auth pages ---------- */
.vsc-public{background:var(--vsc-editor-bg);}

/* ---------- IDE application shell ---------- */
.vsc-body{overflow:hidden;}
.vsc-shell{display:flex;flex-direction:column;height:100vh;background:var(--vsc-editor-bg);color:var(--vsc-fg);}

.vsc-titlebar{height:30px;flex:0 0 30px;background:var(--vsc-titlebar-bg);display:flex;align-items:center;
  justify-content:space-between;font-size:13px;padding:0 10px;border-bottom:1px solid var(--vsc-border);}
.vsc-titlebar .vsc-menu{display:flex;gap:14px;color:var(--vsc-fg-muted);}
.vsc-titlebar .vsc-menu .brand{color:#fff;font-weight:600;}
.vsc-titlebar .vsc-title{color:var(--vsc-fg-muted);}

.vsc-main{flex:1 1 auto;display:flex;min-height:0;}

.vsc-activitybar{width:48px;flex:0 0 48px;background:var(--vsc-activitybar-bg);display:flex;flex-direction:column;align-items:center;padding-top:6px;}
.vsc-act{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--vsc-fg-muted);
  font-size:22px;border-left:2px solid transparent;text-decoration:none;}
.vsc-act:hover{color:#fff;}
.vsc-act.active{color:#fff;border-left-color:#fff;}
.vsc-act-spacer{margin-top:auto;}

.vsc-sidebar{width:250px;flex:0 0 250px;background:var(--vsc-sidebar-bg);border-right:1px solid var(--vsc-border);overflow-y:auto;}
.vsc-sidebar-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--vsc-fg-muted);padding:12px 18px 6px;}
.vsc-item{display:flex;align-items:center;padding:5px 18px;color:var(--vsc-fg);text-decoration:none;font-size:13px;white-space:nowrap;}
.vsc-item:hover{background:var(--vsc-list-hover);color:var(--vsc-fg);}
.vsc-item.active{background:var(--vsc-list-active);color:#fff;}

.vsc-editor{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;}
.vsc-tabbar{height:35px;flex:0 0 35px;background:var(--vsc-tabbar-bg);display:flex;align-items:stretch;border-bottom:1px solid var(--vsc-border);}
.vsc-tab{display:flex;align-items:center;padding:0 14px;font-size:13px;color:var(--vsc-fg-muted);
  background:var(--vsc-tab-inactive-bg);border-right:1px solid var(--vsc-border);}
.vsc-tab.active{background:var(--vsc-tab-active-bg);color:#fff;border-top:1px solid var(--vsc-focus);}
.vsc-tab-close{opacity:.5;}
.vsc-content{flex:1 1 auto;overflow:auto;padding:24px 28px;}

.vsc-statusbar{height:22px;flex:0 0 22px;background:var(--vsc-statusbar-bg);color:#fff;display:flex;align-items:center;font-size:12px;padding:0 12px;}
.vsc-statusbar a{color:#fff;text-decoration:none;}
.vsc-statusbar .vsc-status-right{margin-left:auto;}

.vsc-app-card{transition:border-color .15s ease;}
.vsc-app-card:hover{border-color:var(--vsc-focus)!important;}
