/* ============================================================
   02-base.less
   Base typography, links, scrollbars, utilities
   ============================================================ */
body {
  font-family: var(--font-ui);
  font-size: var(--fs-14);
  line-height: var(--lh-base);
  background: var(--c-surface);
  color: var(--c-text);
  overflow: hidden;
}
/* Default text styles */
.small {
  font-size: var(--fs-12);
  color: var(--c-text-2);
}
.muted {
  color: var(--c-text-3);
}
/* Links (Workspace style = subtle) */
a.link {
  color: var(--c-primary);
  text-decoration: none;
  font-weight: var(--fw-500);
}
a.link:hover {
  text-decoration: underline;
}
/* Focus ring helper (for custom components) */
.u-focus-ring:focus-visible {
  box-shadow: var(--focus-ring);
}
/* Scrollbars: light touch (Chromium/WebKit only) */
*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 10px;
  border: 2px solid transparent;
  background-clip: content-box;
}
*::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.26);
  background-clip: content-box;
}
*::-webkit-scrollbar-track {
  background: transparent;
}
/* Selection */
::selection {
  background: rgba(11, 87, 208, 0.18);
}
/* Utility: visually hidden (for a11y) */
.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Utility: container */
.u-container {
  width: min(100%, var(--content-max));
  margin-inline: auto;
}
/* Utility: subtle divider */
.u-divider {
  height: 1px;
  background: var(--c-divider);
}
.sidebar-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.spinner {
  width: 28px;
  height: 28px;
  border: 3px solid rgba(0, 0, 0, 0.15);
  border-top-color: #000;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
