/* AirContent Update Repository — base reset and typography */

*, *::before, *::after { box-sizing: border-box; }

html, body { height: 100%; margin: 0; padding: 0; }

html {
  font-family: var(--ac-font-family);
  font-size: calc(var(--ac-font-size) * var(--ac-font-scale));
  color: var(--ac-brush);
  background: var(--ac-paint);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  background: var(--ac-paint);
  color: var(--ac-brush);
  line-height: 1.45;
  overflow-x: hidden;
}

input, textarea, select, button { font: inherit; color: inherit; }
a { color: var(--ac-link); text-decoration: none; }
a:hover { text-decoration: underline; }
button { cursor: pointer; }
button:disabled { cursor: default; }
code, pre, .ac-mono { font-family: var(--ac-font-mono); font-size: 0.92em; }
h1, h2, h3, h4 { margin: 0 0 0.5em; line-height: 1.25; font-weight: 600; }
h1 { font-size: 22px; }
h2 { font-size: 18px; }
h3 { font-size: 15px; }
p { margin: 0 0 0.8em; }

:focus-visible { outline: var(--ac-focus-ring); outline-offset: var(--ac-focus-offset); }

.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

* { scrollbar-width: thin; scrollbar-color: var(--ac-brush-major) transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: var(--ac-brush-major); border: 2px solid transparent; background-clip: padding-box; border-radius: 6px; }
*::-webkit-scrollbar-track { background: transparent; }

#app { min-height: 100%; width: 100%; }
.view { min-height: 100vh; width: 100%; }

.ac-icon { width: 16px; height: 16px; display: inline-block; vertical-align: middle; fill: currentColor; flex: 0 0 auto; }
.ac-icon-sm { width: 12px; height: 12px; }
.ac-icon-lg { width: 24px; height: 24px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
