html {
  scroll-behavior: smooth;
}
html.no-smooth {
  scroll-behavior: auto !important;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: none !important;
}

body {
  position: relative;
  background-color: var(--bg-main);
  background-image: linear-gradient(var(--grid-color) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);
  background-size: 40px 40px;
  color: var(--text-primary);
  font-family: var(--font-ui);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

body.lock-scroll {
  overflow: hidden !important;
  touch-action: none;
  scroll-anchoring: none; 
}


html.transition-lock, 
html.transition-lock body {
  overflow: hidden !important;
  height: 100% !important;
  scroll-anchoring: none !important;
}

body.lock-pane-scroll .pane-left,
body.lock-pane-scroll .pane-right,
body.lock-pane-scroll .workspace {
  overflow: hidden !important;
  scroll-anchoring: none !important;
}

body.app-active {
  overflow-y: auto !important;
  height: auto !important;
  display: block;
}

body.app-active #app-container {
  flex: none;
  height: auto;
  overflow: visible;
}


.glass-panel {
  background: #0e0e0e;
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-subtle);
}
