/* VayLand brand tokens — shared accents + scrollbar (shop, cabinet, news, auth) */
:root {
    --vl-green: #11aa01;
    --vl-green-light: #14cf00;
    --vl-green-dark: #0a8000;
    --vl-accent-soft: #a8ff60;
    --vl-accent-rgb: 17, 170, 1;
    --vl-accent-light-rgb: 20, 207, 0;
    --vl-accent-soft-rgb: 168, 255, 96;
    --vl-green-glow: rgba(var(--vl-accent-rgb), 0.35);
    --vl-font: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --vl-font-weight: 400;
    --vl-font-weight-medium: 500;
    --vl-font-weight-semibold: 600;
    --vl-font-weight-bold: 700;
    --vl-chrome-bg: rgba(8, 12, 10, 0.92);
    --vl-chrome-h: 4.25rem;
}

html {
    font-family: var(--vl-font);
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--vl-accent-light-rgb), 0.55) rgba(0, 0, 0, 0.35);
    scrollbar-gutter: stable;
}

body {
    font-family: var(--vl-font);
    font-weight: var(--vl-font-weight);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--vl-font);
    font-weight: var(--vl-font-weight-semibold);
    letter-spacing: -0.015em;
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.32);
    border-radius: 999px;
}

*::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(var(--vl-accent-light-rgb), 0.75), rgba(var(--vl-accent-rgb), 0.55));
    border-radius: 999px;
    border: 2px solid rgba(0, 0, 0, 0.35);
    background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(var(--vl-accent-soft-rgb), 0.9), rgba(var(--vl-accent-light-rgb), 0.75));
    border: 2px solid rgba(0, 0, 0, 0.28);
    background-clip: padding-box;
}

*::-webkit-scrollbar-corner {
    background: transparent;
}

*::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}

/* No browser / Bootstrap white focus rings anywhere */
*:focus,
*:focus-visible,
*:active,
.btn:focus,
.btn:focus-visible,
.btn:active,
.btn.focus,
.btn-primary:focus,
.btn-primary:active:focus,
.btn-success:focus,
.btn-success:active:focus,
button:focus,
button:focus-visible,
button:active,
a:focus,
a:focus-visible,
input:focus,
input:focus-visible,
select:focus,
textarea:focus,
summary:focus,
[tabindex]:focus,
[tabindex]:focus-visible {
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
}

.btn:focus,
.btn:focus-visible,
.btn:active,
.btn.focus,
.btn-primary:not(:disabled):not(.disabled):focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-success:not(:disabled):not(.disabled):focus,
.btn-success:not(:disabled):not(.disabled):active:focus,
.btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus,
.show > .btn-success.dropdown-toggle:focus,
button:focus,
button:focus-visible,
button:active {
    box-shadow: none !important;
}
