/* Voxidub — базовый слой. Минимум: сброс, фон приложения, дефолты текста и ссылок,
   утилиты, которые нужны везде (скроллбар, выделение, фокус). */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg-app);color:var(--text-1);font:var(--type-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);letter-spacing:var(--tracking-tight)}
p{margin:0;text-wrap:pretty}
a:where(:not(.vx-btn)){color:var(--text-accent);text-decoration:none;border-bottom:1px solid rgba(255,195,114,.28);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
a:where(:not(.vx-btn)):hover{color:var(--amber-200);border-bottom-color:var(--amber-200)}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--accent-soft-hover);color:var(--text-1)}
:focus-visible{outline:none;box-shadow:var(--ring)}
/* Отличие от исходника в design-system/tokens/: элемент с tabindex="-1" получает
   фокус только программно — например, FocusOnNavigate (Routes.razor) переводит
   фокус на <h1> новой страницы, чтобы экранный диктор объявил её смену. Клавишей
   Tab до такого элемента дойти нельзя, поэтому кольцо фокуса ему не нужно и
   выглядит как случайная рамка вокруг заголовка. Общее правило выше не трогаем. */
[tabindex="-1"]:focus-visible{box-shadow:none}
.vx-label{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-3)}
.vx-mono{font:var(--type-mono);font-variant-numeric:tabular-nums}
.vx-app-bg{background:var(--bg-app);background-image:var(--bg-app-glow);background-repeat:no-repeat}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:var(--warm-750);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}
*::-webkit-scrollbar-thumb:hover{background:var(--warm-700);background-clip:content-box}
.vx-icon{display:inline-flex;flex:0 0 auto;vertical-align:middle}
