@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/InterVariable-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/InterVariable-cyrillic-ext.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/InterVariable-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('../fonts/InterVariable-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/Rubik-SemiBold-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/Rubik-SemiBold-cyrillic-ext.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/Rubik-SemiBold-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/Rubik-ExtraBold-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/Rubik-ExtraBold-cyrillic-ext.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/Rubik-ExtraBold-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--vq-bg: #1b0e26;
	--vq-panel: #281837;
	--vq-panel-2: #2e243f;
	--vq-surf: rgba(188, 133, 255, .12);
	--vq-line: #3a254f;
	--vq-text: #e6e6e6;
	--vq-muted: #a79fb1;
	--vq-accent: #35ec90;
	--vq-green: #24a162;
	--vq-purple: #b633fe;
	--vq-lime: #9ee806;
	--vq-sans: 'Inter', Poppins, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--vq-head: 'Rubik', 'Inter', ui-sans-serif, system-ui, sans-serif;
	--vq-side-w: 272px;
	--vq-gap: 16px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; color-scheme: dark; }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--vq-bg); }
::-webkit-scrollbar-thumb { border: 3px solid var(--vq-bg); border-radius: 999px; background: var(--vq-line); }
body {
	margin: 0;
	min-height: 100vh;
	background: var(--vq-bg);
	color: var(--vq-text);
	font: 400 14px/20px var(--vq-sans);
	-webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3 { margin: 0; }

.vq-ico { width: 24px; height: 24px; flex: none; }
.vq-mask {
	display: block;
	flex: none;
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: var(--m) center / 24px 24px no-repeat;
	mask: var(--m) center / 24px 24px no-repeat;
}
.vq-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; padding: 8px 12px; border-radius: 8px; background: var(--vq-accent); color: #000; }
.vq-skip:focus { left: 8px; }
.vq-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #05bd7d; box-shadow: 0 0 0 3px rgba(5, 189, 125, .2); }

.vq-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--vq-lime);
	color: #000;
	font: 600 12px/16px var(--vq-sans);
	font-style: normal;
	letter-spacing: .01px;
}
.vq-badge--green { background: var(--vq-accent); }

.vq-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 0 20px;
	border-radius: 12px;
	font: 600 14px/20px var(--vq-sans);
	white-space: nowrap;
	transition: filter .15s, background-color .15s;
}
.vq-btn:hover { filter: brightness(1.12); }
.vq-btn--ghost { background: var(--vq-surf); color: var(--vq-text); }
.vq-btn--accent { background: var(--vq-accent); color: #000; }
.vq-btn--purple { height: 36px; padding: 0 16px; border-radius: 10px; background: var(--vq-purple); color: #fff; }
.vq-btn--glass { background: rgba(255, 255, 255, .2); color: #fff; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.vq-btn .vq-ico { width: 20px; height: 20px; }

/* ---------- sidebar ---------- */
.vq-side {
	position: fixed;
	z-index: 40;
	top: 12px;
	bottom: 8px;
	left: 8px;
	width: var(--vq-side-w);
	transition: width .2s;
}
.vq-side__panel {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 20px;
	background: var(--vq-panel);
	overflow: hidden;
}
.vq-side__online {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: none;
	height: 52px;
	margin: 0 12px;
	padding: 0 4px;
	border-bottom: 1px solid var(--vq-line);
	color: var(--vq-muted);
	white-space: nowrap;
}
.vq-side__online b { display: inline-flex; align-items: center; gap: 10px; color: var(--vq-text); font-weight: 600; }
.vq-side__scroll { flex: 1; min-height: 0; padding: 12px 12px 0; overflow-y: auto; scrollbar-width: none; }
.vq-side__scroll::-webkit-scrollbar { display: none; }
.vq-side__login {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 44px;
	color: var(--vq-text);
	font: 600 16px/22px var(--vq-sans);
	letter-spacing: -.12px;
}
.vq-side__ava { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--vq-surf); color: #8c61bf; }
.vq-side__ava .vq-ico { width: 22px; height: 22px; }
.vq-side__chev { margin-left: auto; width: 20px; height: 20px; color: var(--vq-muted); }
.vq-side__switch { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 13px; }
.vq-chip {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 40px;
	padding: 8px 16px;
	border-radius: 12px;
	background: var(--vq-surf);
	font-weight: 600;
	white-space: nowrap;
}
.vq-chip .vq-mask { width: 20px; height: 20px; -webkit-mask-size: 20px; mask-size: 20px; }
.vq-side__wheel {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 56px;
	margin-top: 16px;
	padding: 0 0 0 12px;
	border-radius: 12px;
	background: linear-gradient(90deg, rgb(48, 36, 71) 0%, rgba(48, 36, 71, .9) 64%, rgba(48, 36, 71, 0) 100%), var(--vq-surf);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06);
	font: 600 12px/16px var(--vq-sans);
	letter-spacing: .01px;
	overflow: hidden;
}
.vq-side__wheel img { width: 48px; height: 48px; margin-right: -6px; animation: vq-spin 12s linear infinite; }
@keyframes vq-spin { to { transform: rotate(360deg); } }
.vq-side__nav { margin-top: 13px; }
.vq-side__nav ul + ul { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--vq-line); }
.vq-side__nav a {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 40px;
	padding: 0 8px 0 10px;
	border-radius: 12px;
	color: var(--vq-text);
	transition: background-color .15s;
}
.vq-side__nav a:hover { background: var(--vq-surf); }
.vq-side__nav .vq-badge { margin-left: auto; }
.vq-side__foot { flex: none; padding: 12px; }
.vq-pwa {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 80px;
	padding: 0 12px 0 0;
	border-radius: 16px;
	background: linear-gradient(90deg, #8c09d4 0%, #a825f0 55%, #8302cd 100%);
	color: #fff;
	overflow: hidden;
}
.vq-pwa img { width: 74px; height: 74px; flex: none; margin-top: 6px; }
.vq-pwa__txt { display: flex; flex-direction: column; min-width: 0; }
.vq-pwa__txt b { font: 600 14px/20px var(--vq-sans); }
.vq-pwa__txt small { font: 400 12px/16px var(--vq-sans); }
.vq-pwa__btn { display: grid; place-items: center; flex: none; width: 36px; height: 36px; margin-left: auto; border-radius: 10px; background: rgba(255, 255, 255, .2); }
.vq-pwa__btn .vq-ico { width: 20px; height: 20px; }
.vq-side__row { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; }
.vq-social { display: flex; gap: 4px; }
.vq-social a { display: block; width: 36px; height: 36px; border-radius: 8px; overflow: hidden; }
.vq-social .vq-ico { width: 36px; height: 36px; }
.vq-lang {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 10px 0 8px;
	border-radius: 12px;
	background: var(--vq-surf);
	color: var(--vq-text);
}
.vq-lang img { width: 20px; height: 20px; }
.vq-lang .vq-ico { width: 16px; height: 16px; color: var(--vq-muted); }
.vq-side__help {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 36px;
	margin-top: 8px;
	padding: 0 8px 0 12px;
	border-radius: 12px;
	background: var(--vq-surf);
}
.vq-side__fold {
	position: absolute;
	top: 49px;
	right: -16px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--vq-panel-2);
	box-shadow: 0 0 0 3px var(--vq-bg);
	color: var(--vq-text);
}
.vq-side__fold .vq-ico { width: 18px; height: 18px; transform: rotate(180deg); transition: transform .2s; }
.vq-side__scrim { display: none; }

/* collapsed desktop rail: icons only */
.vq-folded .vq-side { width: 72px; }
.vq-folded .vq-side__lbl,
.vq-folded .vq-side__online,
.vq-folded .vq-side__chev,
.vq-folded .vq-pwa__txt,
.vq-folded .vq-pwa__btn,
.vq-folded .vq-lang,
.vq-folded .vq-side__nav .vq-badge,
.vq-folded .vq-side__help .vq-badge { display: none; }
.vq-folded .vq-side__switch { grid-template-columns: 1fr; }
.vq-folded .vq-chip { padding: 0; }
.vq-folded .vq-side__wheel { padding: 0; justify-content: center; }
.vq-folded .vq-side__wheel img { margin: 0; }
.vq-folded .vq-pwa { justify-content: center; padding: 0; }
.vq-folded .vq-pwa img { margin: 6px 0 0; }
.vq-folded .vq-side__row { flex-direction: column; gap: 4px; }
.vq-folded .vq-social { flex-direction: column; }
.vq-folded .vq-side__nav a { justify-content: center; padding: 0; }
.vq-folded .vq-side__fold .vq-ico { transform: none; }
.vq-folded .vq-side__help { justify-content: center; padding: 0; }
.vq-folded .vq-side__help::before { content: '?'; font-weight: 700; }
.vq-folded .vq-shell { margin-left: 104px; }

/* ---------- shell / header ---------- */
.vq-shell { margin-left: calc(var(--vq-side-w) + 32px); padding-right: 24px; transition: margin-left .2s; }
.vq-top { display: flex; align-items: center; justify-content: space-between; height: 84px; }
.vq-top__logo { display: block; }
.vq-top__wide { width: 190px; height: 44px; }
.vq-top__mark { display: none; width: 40px; height: 36px; }
.vq-top__auth { display: flex; gap: 12px; }
.vq-main { min-width: 0; }

/* ---------- promo slider ---------- */
.vq-promo { position: relative; }
.vq-promo__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 16px) / 3);
	gap: 8px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	border-radius: 20px;
	overscroll-behavior-x: contain;
}
.vq-promo__track::-webkit-scrollbar { display: none; }
.vq-slide {
	position: relative;
	aspect-ratio: 362 / 240;
	border-radius: 24px;
	overflow: hidden;
	scroll-snap-align: start;
	background: var(--vq-panel);
}
.vq-slide__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vq-slide__t {
	position: absolute;
	top: 22px;
	left: 24px;
	right: 30%;
	color: #fff;
	font: 800 28px/32px var(--vq-head);
	letter-spacing: -.6px;
	text-shadow: 0 2px 12px rgba(20, 0, 40, .35);
}
.vq-slide__cta {
	position: absolute;
	left: 24px;
	bottom: 24px;
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 20px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .2);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	color: #fff;
	font: 600 14px/20px var(--vq-sans);
	letter-spacing: .2px;
	transition: background-color .15s;
}
.vq-slide__cta:hover { background: rgba(255, 255, 255, .3); }
.vq-promo__dots {
	position: absolute;
	left: 50%;
	bottom: -6px;
	display: flex;
	gap: 5px;
	padding: 4px 6px;
	border-radius: 999px;
	background: var(--vq-bg);
	transform: translateX(-50%);
}
.vq-promo__dots i { display: block; width: 4px; height: 4px; border-radius: 50%; background: #605a70; transition: background-color .2s, width .2s; }
.vq-promo__dots i.is-on { background: #fff; }

/* ---------- categories ---------- */
.vq-cats { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--vq-gap); margin-top: 32px; }
.vq-cat {
	position: relative;
	height: 128px;
	padding: 16px;
	border-radius: 24px;
	background: var(--vq-surf);
	overflow: hidden;
	transition: background-color .15s;
}
.vq-cat:hover { background: rgba(188, 133, 255, .18); }
.vq-cat span { position: relative; z-index: 1; display: block; max-width: 128px; font: 600 20px/20px var(--vq-head); letter-spacing: -.32px; }
.vq-cat img { position: absolute; top: 0; right: 0; width: 128px; height: 128px; transition: transform .25s; }
.vq-cat:hover img { transform: scale(1.06); }

/* ---------- sections, rails ---------- */
.vq-sec { margin-top: 32px; }
.vq-shead { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; margin-bottom: 16px; }
.vq-shead__title { display: flex; align-items: center; gap: 8px; font: 600 20px/20px var(--vq-head); letter-spacing: -.32px; }
.vq-shead__icon { width: 34px; height: 34px; color: #d9d9d9; }
.vq-shead__tools { display: flex; align-items: center; gap: 4px; }
.vq-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 32px;
	margin-right: 28px;
	padding: 0 8px 0 12px;
	border-radius: 999px;
	background: var(--vq-surf);
	font-weight: 600;
	white-space: nowrap;
}
.vq-pill .vq-ico { width: 18px; height: 18px; }
.vq-shead__tools .vq-pill:last-child { margin-right: 0; }
.vq-arr {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: var(--vq-surf);
	color: var(--vq-text);
	transition: opacity .15s;
}
.vq-arr .vq-ico { width: 18px; height: 18px; }
.vq-arr:disabled { background: rgba(188, 133, 255, .05); color: #6c6078; cursor: default; }
.vq-rail {
	display: grid;
	grid-auto-flow: column;
	gap: var(--vq-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}
.vq-rail::-webkit-scrollbar { display: none; }
.vq-rail > * { scroll-snap-align: start; }
.vq-railbox { position: relative; }
.vq-arr--float { position: absolute; top: 50%; right: 0; transform: translateY(-50%); box-shadow: 0 0 24px 18px var(--vq-bg); background: var(--vq-panel-2); }
.vq-arr--float:disabled { display: none; }

.vq-games { grid-auto-columns: calc((100% - 6 * var(--vq-gap)) / 7); }
.vq-game { display: block; aspect-ratio: 3 / 4; border-radius: 12px; overflow: hidden; background: var(--vq-panel); }
.vq-game img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.vq-game:hover img { transform: scale(1.05); }

/* ---------- sports events ---------- */
.vq-events { grid-auto-columns: 328px; }
.vq-ev { border-radius: 16px; background: var(--vq-panel); overflow: hidden; }
.vq-ev__head { display: flex; align-items: center; gap: 12px; height: 48px; padding: 0 12px; background: var(--vq-panel-2); }
.vq-ev__badge { flex: none; width: 24px; height: 24px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #f2f2f2 0 30%, #8fa3c7 31% 55%, #3a4a7a 56%); }
.vq-ev__league { display: flex; flex-direction: column; min-width: 0; }
.vq-ev__league b { overflow: hidden; font: 600 14px/18px var(--vq-sans); text-overflow: ellipsis; white-space: nowrap; }
.vq-ev__league small { color: var(--vq-muted); font: 600 12px/14px var(--vq-sans); letter-spacing: .01px; }
.vq-ev__body { padding: 12px; }
.vq-ev__status {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 24px;
	margin-bottom: 10px;
	padding: 0 8px;
	border: 1px solid var(--vq-surf);
	border-radius: 999px;
	font: 600 12px/16px var(--vq-sans);
}
.vq-ev__status .vq-ico { width: 14px; height: 14px; }
.vq-ev__team { display: flex; align-items: center; justify-content: space-between; height: 22px; font-weight: 600; }
.vq-ev__team em { display: grid; place-items: center; min-width: 16px; height: 16px; border-radius: 4px; background: #3f2957; font: 600 12px/1 var(--vq-sans); font-style: normal; }
.vq-ev__market { display: block; margin: 8px 0 6px; color: var(--vq-muted); font-size: 12px; line-height: 16px; }
.vq-ev__odds { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; }
.vq-ev__odds a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 36px;
	padding: 0 8px;
	border-radius: 8px;
	background: var(--vq-line);
	transition: background-color .15s;
}
.vq-ev__odds a:hover { background: #4a3163; }
.vq-ev__odds span { color: var(--vq-muted); font-size: 12px; }
.vq-ev__odds b { font-weight: 600; }

/* ---------- recent wins ---------- */
.vq-online { display: inline-flex; align-items: center; gap: 6px; color: var(--vq-muted); font-size: 14px; white-space: nowrap; }
.vq-online .vq-dot { margin-right: 6px; }
.vq-online b { color: var(--vq-text); font-weight: 600; }
.vq-wins { grid-auto-columns: 220px; gap: 8px; padding-top: 10px; }
.vq-win {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	height: 88px;
	padding: 0 12px;
	border-radius: 16px;
	background: var(--vq-panel);
}
.vq-win img { flex: none; width: 66px; height: 88px; margin-top: -20px; border-radius: 8px; object-fit: cover; }
.vq-win__txt { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.vq-win__txt em {
	display: inline-flex;
	align-items: center;
	height: 22px;
	margin-bottom: 4px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--vq-green);
	color: #fff;
	font: 600 12px/16px var(--vq-sans);
	font-style: normal;
	white-space: nowrap;
}
.vq-win__txt b { max-width: 100%; overflow: hidden; font: 600 12px/16px var(--vq-sans); text-overflow: ellipsis; white-space: nowrap; }
.vq-win__txt small { max-width: 100%; overflow: hidden; color: var(--vq-muted); font-size: 12px; line-height: 16px; text-overflow: ellipsis; white-space: nowrap; }
.vq-win--hot { background: url('../img/misc/win-bg.webp') right center / auto 100% no-repeat, linear-gradient(90deg, #6a0bb8 0%, #e06f12 70%, #fc9d02 100%); }
.vq-win--hot .vq-win__txt em { background: #fff; color: #000; }
.vq-win--hot .vq-win__txt small { color: rgba(255, 255, 255, .8); }

/* ---------- sports, providers ---------- */
.vq-sports { grid-auto-columns: 170px; }
.vq-sport {
	position: relative;
	height: 112px;
	padding: 12px 16px;
	border-radius: 24px;
	background: var(--vq-surf);
	overflow: hidden;
	font: 600 16px/22px var(--vq-sans);
	letter-spacing: -.12px;
}
.vq-sport span { position: relative; z-index: 1; display: block; max-width: 70%; }
.vq-sport img { position: absolute; right: 0; bottom: 0; width: 86px; height: 80px; }
.vq-provs { grid-auto-columns: max-content; gap: 8px; }
.vq-prov {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 88px;
	height: 77px;
	padding: 12px 16px;
	border-radius: 16px;
	background: var(--vq-surf);
	font-weight: 600;
	white-space: nowrap;
}
.vq-prov img { width: auto; max-width: 56px; height: 20px; object-fit: contain; }

/* ---------- seo copy with read-more ---------- */
.vq-seo { margin-top: 48px; }
.vq-seo__body {
	max-height: 96px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(#000 40%, transparent);
	mask-image: linear-gradient(#000 40%, transparent);
}
.vq-seo.is-open .vq-seo__body { max-height: none; -webkit-mask-image: none; mask-image: none; }
.vq-seo__more { margin-top: 16px; }
.vq-seo__more .vq-ico { transition: transform .2s; }
.vq-seo.is-open .vq-seo__more .vq-ico { transform: rotate(180deg); }

.vq-copy { color: var(--vq-muted); font-size: 14px; line-height: 22px; overflow-wrap: anywhere; }
.vq-copy > :first-child { margin-top: 0; }
.vq-copy h1 { margin: 0 0 24px; color: var(--vq-text); font: 600 40px/40px var(--vq-head); letter-spacing: -.8px; }
.vq-copy h2 { margin: 32px 0 12px; color: var(--vq-text); font: 600 24px/28px var(--vq-head); letter-spacing: -.4px; }
.vq-copy h3 { margin: 24px 0 8px; color: var(--vq-text); font: 600 18px/24px var(--vq-head); }
.vq-copy p { margin: 0 0 12px; }
.vq-copy a { color: var(--vq-accent); text-decoration: underline; text-underline-offset: 2px; }
.vq-copy ul, .vq-copy ol { margin: 0 0 12px; padding-left: 20px; }
.vq-copy ul { list-style: disc; }
.vq-copy ol { list-style: decimal; }
.vq-copy li { margin-bottom: 4px; }
.vq-copy li::marker { color: var(--vq-accent); }
.vq-copy strong, .vq-copy b { color: var(--vq-text); font-weight: 600; }
.vq-copy img { height: auto; margin: 16px 0; border-radius: 16px; }
.vq-copy blockquote { margin: 16px 0; padding: 12px 16px; border-left: 3px solid var(--vq-purple); border-radius: 0 12px 12px 0; background: var(--vq-panel); }
.vq-copy table { display: block; width: 100%; margin: 16px 0; overflow-x: auto; border-collapse: collapse; font-size: 13px; }
.vq-copy th, .vq-copy td { padding: 10px 12px; border-bottom: 1px solid var(--vq-line); text-align: left; }
.vq-copy th { background: var(--vq-panel); color: var(--vq-text); font-weight: 600; }

/* ---------- non-home page types ---------- */
.vq-page { padding-top: 8px; }
.vq-page--narrow { max-width: 860px; }
.vq-card {
	display: grid;
	grid-template-columns: 220px 1fr auto;
	grid-template-areas: 'logo facts cta' 'score facts cta';
	gap: 12px 32px;
	align-items: center;
	margin-bottom: 32px;
	padding: 24px;
	border-radius: 24px;
	background: var(--vq-panel);
}
.vq-card__logo { grid-area: logo; display: grid; place-items: center; height: 96px; border-radius: 16px; background: var(--vq-surf); }
.vq-card__score { grid-area: score; text-align: center; }
.vq-card__score b { display: block; color: var(--vq-accent); font: 800 32px/36px var(--vq-head); }
.vq-card__score small { color: var(--vq-muted); font-size: 12px; }
.vq-card__facts { grid-area: facts; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 24px; margin: 0; }
.vq-card__facts div { padding: 8px 0; border-bottom: 1px solid var(--vq-line); }
.vq-card__facts dt { color: var(--vq-muted); font-size: 12px; line-height: 16px; }
.vq-card__facts dd { margin: 2px 0 0; font-weight: 600; }
.vq-card__cta { grid-area: cta; display: flex; flex-direction: column; gap: 8px; }

.vq-rank { display: grid; gap: 12px; margin-bottom: 32px; counter-reset: none; }
.vq-rank__row {
	display: grid;
	grid-template-columns: 40px 180px 1fr auto;
	gap: 20px;
	align-items: center;
	padding: 12px 20px 12px 12px;
	border-radius: 20px;
	background: var(--vq-panel);
}
.vq-rank__n { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--vq-surf); color: var(--vq-accent); font: 800 18px/1 var(--vq-head); }
.vq-rank__img { width: 180px; height: 120px; border-radius: 14px; object-fit: cover; }
.vq-rank__txt { display: flex; flex-direction: column; gap: 4px; }
.vq-rank__txt b { font: 600 20px/24px var(--vq-head); letter-spacing: -.32px; }
.vq-rank__txt small { color: var(--vq-muted); font-size: 14px; line-height: 20px; }

.vq-land { position: relative; aspect-ratio: 1101 / 400; min-height: 320px; border-radius: 24px; overflow: hidden; background: var(--vq-panel); }
.vq-land__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.vq-land__txt { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 28px; padding: 40px 48px; }
.vq-land__t { color: #fff; font: 800 48px/52px var(--vq-head); letter-spacing: -1px; text-shadow: 0 2px 16px rgba(20, 0, 40, .4); }
.vq-land__cta { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- footer ---------- */
.vq-foot { margin: 40px 0 24px; padding: 32px 32px 0; border-radius: 32px; background: var(--vq-panel); }
.vq-foot__grid { display: grid; grid-template-columns: 1fr 292px; gap: 40px; }
.vq-foot__bar { display: flex; align-items: center; gap: 16px; }
.vq-foot__logo img { width: 190px; height: 44px; }
.vq-foot__line { flex: 1; height: 1px; background: var(--vq-line); }
.vq-foot__up { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--vq-surf); }
.vq-foot__up .vq-ico { width: 20px; height: 20px; }
.vq-foot__cols { display: flex; gap: 0; margin-top: 36px; }
.vq-foot__cols > nav:first-child { width: 230px; }
.vq-foot__h { display: block; margin-bottom: 14px; font: 600 20px/20px var(--vq-head); letter-spacing: -.32px; }
.vq-foot__cols li { margin-bottom: 12px; line-height: 16px; }
.vq-foot__cols a { color: var(--vq-muted); font-size: 12px; line-height: 16px; letter-spacing: .01px; transition: color .15s; }
.vq-foot__cols a:hover { color: var(--vq-text); }
.vq-foot__pair { display: flex; gap: 40px; }
.vq-social--foot { gap: 8px; margin-top: 28px; }
.vq-help {
	position: relative;
	height: 188px;
	padding: 16px;
	border-radius: 16px;
	background: var(--vq-line);
	overflow: hidden;
}
.vq-help__glow { position: absolute; top: 0; right: 0; width: 266px; height: 188px; object-fit: cover; }
.vq-help__art { position: absolute; top: 0; right: 0; width: 141px; height: 188px; object-fit: cover; }
.vq-help > :not(img) { position: relative; z-index: 1; }
.vq-help__tag { display: inline-flex; align-items: center; height: 24px; padding: 0 8px; border-radius: 999px; background: rgba(255, 255, 255, .1); font: 600 12px/16px var(--vq-sans); font-style: normal; }
.vq-help__t { display: block; margin-top: 10px; font-weight: 600; }
.vq-help__p { width: 160px; margin: 6px 0 16px; color: var(--vq-muted); font-size: 12px; line-height: 16px; }
.vq-foot__mail { margin: 24px 0 0; }
.vq-foot__mail dt { color: var(--vq-muted); font-size: 12px; line-height: 16px; }
.vq-foot__mail dd { margin: 6px 0 18px; }
.vq-foot__mail a { color: var(--vq-text); }
.vq-app {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 152px;
	padding: 16px;
	border-radius: 24px;
	background: linear-gradient(90deg, #8201cc 0%, #a32ef0 60%, #c257f9 100%);
	color: #fff;
	overflow: hidden;
}
.vq-app img { position: absolute; right: 0; bottom: 0; height: 152px; width: auto; max-width: 60%; object-fit: contain; object-position: right bottom; }
.vq-app__txt { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 6px; }
.vq-app__txt b { font: 600 16px/22px var(--vq-sans); }
.vq-app__txt small { font-size: 12px; line-height: 16px; }
.vq-app__btn {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	align-self: flex-start;
	height: 36px;
	padding: 0 16px;
	border-radius: 10px;
	background: #fff;
	color: #000;
	font-weight: 600;
}
.vq-app__btn .vq-ico { width: 18px; height: 18px; color: #00a4ef; }
.vq-app--mobile .vq-app__btn { width: 320px; max-width: 100%; }
.vq-app--desk img { max-width: 75%; }
.vq-foot__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 40px;
	padding: 20px 0 24px;
	border-top: 1px solid var(--vq-line);
}
.vq-foot__bottom p { margin: 0; color: var(--vq-muted); font-size: 11px; line-height: 16px; }
.vq-foot__age { color: #757575; font: 800 24px/24px var(--vq-head); }

/* ---------- floating chat, mobile dock ---------- */
.vq-chat {
	position: fixed;
	z-index: 30;
	right: 24px;
	bottom: 40px;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--vq-purple);
	color: #fff;
	box-shadow: 0 8px 24px rgba(182, 51, 254, .35);
}
.vq-chat .vq-ico { width: 22px; height: 22px; }
.vq-dock { display: none; }

@media (max-width: 1280px) {
	.vq-games { grid-auto-columns: calc((100% - 5 * var(--vq-gap)) / 6); }
	.vq-promo__track { grid-auto-columns: calc((100% - 8px) / 2); }
}

@media (max-width: 1024px) {
	:root { --vq-gap: 10px; }
	body { padding-bottom: 96px; }
	.vq-side {
		top: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		pointer-events: none;
	}
	.vq-side__panel {
		position: relative;
		z-index: 2;
		width: min(300px, 86vw);
		border-radius: 0 20px 20px 0;
		transform: translateX(-105%);
		transition: transform .25s;
	}
	.vq-side__scrim { position: absolute; inset: 0; z-index: 1; display: block; background: rgba(10, 4, 16, .6); opacity: 0; transition: opacity .25s; }
	.vq-side__fold { display: none; }
	.vq-side-open .vq-side { pointer-events: auto; }
	.vq-side-open .vq-side__panel { transform: none; }
	.vq-side-open .vq-side__scrim { opacity: 1; }
	.vq-side-open { overflow: hidden; }
	.vq-shell, .vq-folded .vq-shell { margin-left: 0; padding: 0 16px; }
	.vq-top { height: 76px; }
	.vq-top__wide { display: none; }
	.vq-top__mark { display: block; }
	.vq-top__auth { gap: 8px; }
	.vq-promo { margin: 0 -16px; }
	.vq-promo__track { grid-auto-columns: calc(100% - 32px); gap: 8px; padding: 0 16px; scroll-padding: 0 16px; border-radius: 0; }
	.vq-slide { border-radius: 20px; }
	.vq-promo__dots { bottom: -8px; }
	.vq-cats { grid-template-columns: repeat(6, 1fr); gap: 6px; margin-top: 24px; }
	.vq-cat { grid-column: span 2; height: 64px; padding: 10px 8px; border-radius: 12px; }
	.vq-cat:nth-child(-n+2) { grid-column: span 3; }
	.vq-cat span { font-size: 16px; line-height: 16px; max-width: 58%; }
	.vq-cat img { top: auto; bottom: -6px; width: 72px; height: 72px; }
	.vq-sec { margin-top: 28px; }
	.vq-shead__tools .vq-arr { display: none; }
	.vq-pill { margin-right: 0; height: 32px; padding: 0 8px 0 12px; }
	.vq-rail { margin: 0 -16px; padding: 0 16px; scroll-padding: 0 16px; }
	.vq-wins { padding-top: 10px; }
	.vq-games { grid-auto-columns: calc((100% - 32px - 2 * var(--vq-gap)) / 3); }
	.vq-events { grid-auto-columns: calc(100% - 32px); }
	.vq-arr--float { display: none; }
	.vq-chat { right: 28px; bottom: 112px; }
	.vq-dock {
		position: fixed;
		z-index: 35;
		left: 12px;
		right: 12px;
		bottom: 8px;
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		align-items: end;
		height: 72px;
		padding: 0 4px 8px;
		border-radius: 20px;
		background: var(--vq-panel);
		box-shadow: 0 -8px 24px rgba(10, 4, 16, .4);
	}
	.vq-dock > * { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--vq-text); font-size: 11px; line-height: 14px; }
	.vq-dock span { color: var(--vq-muted); }
	.vq-dock__main b { display: grid; place-items: center; width: 52px; height: 52px; margin-top: -26px; border-radius: 50%; background: var(--vq-accent); color: #000; box-shadow: 0 0 0 6px var(--vq-bg); }
	.vq-foot { padding: 24px 16px 0; border-radius: 24px; }
	.vq-foot__grid { grid-template-columns: 1fr; gap: 24px; }
	.vq-card { grid-template-columns: 1fr; grid-template-areas: 'logo' 'score' 'facts' 'cta'; }
	.vq-rank__row { grid-template-columns: 32px 1fr; gap: 12px; }
	.vq-rank__n { width: 32px; height: 32px; }
	.vq-rank__img { grid-column: 1 / -1; grid-row: 1; width: 100%; height: auto; aspect-ratio: 3 / 2; }
	.vq-rank__row .vq-btn { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
	.vq-top__auth .vq-btn { padding: 0 18px; }
	.vq-slide__t { top: 18px; left: 20px; font-size: 24px; line-height: 28px; }
	.vq-slide__cta { left: 20px; bottom: 20px; }
	.vq-shead__title { font-size: 18px; }
	.vq-copy h1 { font-size: 28px; line-height: 30px; }
	.vq-foot__bar { flex-wrap: wrap; }
	.vq-foot__line { display: none; }
	.vq-foot__logo { flex: 1; }
	.vq-foot__cols { flex-direction: column; gap: 24px; }
	.vq-foot__cols > nav:first-child { width: auto; }
	.vq-app--mobile img { opacity: .45; max-width: 100%; }
	.vq-land { aspect-ratio: auto; min-height: 380px; }
	.vq-land__txt { padding: 24px; justify-content: flex-end; }
	.vq-land__t { font-size: 30px; line-height: 34px; }
	.vq-card__facts { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.vq-app--mobile { margin-right: -28px; }
@media (max-width: 1024px) { .vq-app--mobile { margin-right: 0; } }

.vq-appbar { display: none; }
@media (max-width: 1024px) {
	.vq-appbar {
		display: flex;
		align-items: center;
		gap: 8px;
		height: 92px;
		padding: 0 12px 0 8px;
		overflow: hidden;
		border-bottom: 1px solid var(--vq-line);
		background: var(--vq-panel);
	}
	.vq-appbar.is-hidden { display: none; }
	.vq-appbar__x { display: grid; place-items: center; width: 24px; height: 24px; color: var(--vq-muted); }
	.vq-appbar__x .vq-ico { width: 16px; height: 16px; }
	.vq-appbar__ico { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 12px; background: linear-gradient(135deg, #3d0a66, #1b0e26); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
	.vq-appbar__ico img { width: 32px; height: auto; }
	.vq-appbar__txt { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
	.vq-appbar__txt b { font: 600 15px/20px var(--vq-sans); }
	.vq-appbar__rate { display: flex; gap: 6px; font-size: 12px; line-height: 16px; }
	.vq-appbar__rate i { color: #ffc400; font-style: normal; letter-spacing: 1px; }
	.vq-appbar__pts { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 8px 0 4px; border-radius: 999px; background: var(--vq-surf); font: 600 11px/1 var(--vq-sans); white-space: nowrap; }
	.vq-appbar__pts img { width: 18px; height: 18px; }
	.vq-appbar__act { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-left: auto; }
	.vq-appbar__btn { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border-radius: 8px; background: var(--vq-purple); color: #fff; font: 600 14px/1 var(--vq-sans); }
	.vq-appbar__act small { color: var(--vq-muted); font-size: 11px; }
}
