html { background: hsl(var(--background)); color: hsl(var(--foreground)); font-family: var(--font-sans); text-size-adjust: 100%; }
body { min-height: 100vh; background: hsl(var(--background)); color: hsl(var(--foreground)); font-family: inherit; }
button, input, optgroup, select, textarea { font: inherit; }
button, [role="button"] { cursor: pointer; }
button:disabled, [aria-disabled="true"] { cursor: not-allowed; }
*, *::before, *::after { border-color: hsl(var(--border)); }
:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
::selection { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
::-webkit-scrollbar { width: .65rem; height: .65rem; }
::-webkit-scrollbar-thumb { background: hsl(var(--muted-foreground) / .35); border: 2px solid hsl(var(--background)); border-radius: 999px; }
::-webkit-scrollbar-track { background: transparent; }
.ui-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; }
.ui-icon { width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
