/**
 * Unified VNLR frontend theme.
 * Palette follows familiar Vietnamese lottery result pages while using
 * translucent glass surfaces and card-based interaction.
 */

:where(.vnlr-browser, .vnlr-game-guide, .vnlr-portal) {
	--vnlr-ui-red: #df332f;
	--vnlr-ui-red-dark: #a70b17;
	--vnlr-ui-yellow: #ffeca6;
	--vnlr-ui-yellow-strong: #f3c94e;
	--vnlr-ui-blue: #0739b7;
	--vnlr-ui-ink: #111317;
	--vnlr-ui-muted: #625e61;
	--vnlr-ui-line: rgba(112, 126, 138, .25);
	--vnlr-ui-row: rgba(232, 243, 250, .78);
	--vnlr-ui-glass: rgba(255, 255, 255, .76);
	--vnlr-ui-glass-solid: #fff;
	--vnlr-ui-shadow: 0 16px 38px rgba(41, 48, 54, .14);
	--vnlr-ui-shadow-hover: 0 22px 48px rgba(41, 48, 54, .2);
	backdrop-filter: blur(20px) saturate(135%);
	-webkit-backdrop-filter: blur(20px) saturate(135%);
	background:
		radial-gradient(circle at 8% 0%, rgba(255, 236, 166, .58), transparent 25rem),
		radial-gradient(circle at 100% 18%, rgba(223, 51, 47, .12), transparent 28rem),
		rgba(249, 251, 252, .82);
	border: 1px solid rgba(255, 255, 255, .8);
	border-radius: 22px;
	box-shadow: 0 24px 60px rgba(43, 49, 54, .18), inset 0 1px rgba(255, 255, 255, .95);
	color: var(--vnlr-ui-ink);
	overflow: hidden;
}

:where(.vnlr-browser, .vnlr-game-guide, .vnlr-portal)::before {
	background: linear-gradient(90deg, var(--vnlr-ui-red-dark), var(--vnlr-ui-red) 45%, var(--vnlr-ui-yellow-strong));
	height: 5px;
}

:where(.vnlr-browser, .vnlr-game-guide, .vnlr-portal) :where(a, button, input, select, summary) {
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

:where(.vnlr-browser, .vnlr-game-guide, .vnlr-portal) :where(a, button, input, select, summary):focus-visible {
	outline: 3px solid rgba(7, 57, 183, .42);
	outline-offset: 3px;
}

/* Shared hero. */
.vnlr-browser .vnlr-browser__intro,
.vnlr-game-guide .vnlr-guide__header,
.vnlr-portal .vnlr-portal__header {
	background:
		radial-gradient(circle at 88% 10%, rgba(255, 236, 166, .3), transparent 18rem),
		linear-gradient(120deg, rgba(151, 3, 19, .96), rgba(223, 51, 47, .93));
	border-bottom: 1px solid rgba(125, 0, 14, .35);
	color: #fff;
}

.vnlr-browser .vnlr-browser__intro::after,
.vnlr-game-guide .vnlr-guide__header::after,
.vnlr-portal .vnlr-portal__header::after {
	border-color: rgba(255, 236, 166, .55);
	box-shadow: 0 0 0 18px rgba(255, 236, 166, .08);
}

.vnlr-browser .vnlr-browser__eyebrow,
.vnlr-game-guide .vnlr-guide__eyebrow,
.vnlr-portal .vnlr-portal__header p {
	color: #fff0ad;
}

.vnlr-browser .vnlr-browser__intro h2,
.vnlr-game-guide .vnlr-guide__header h2,
.vnlr-portal .vnlr-portal__header h2 {
	color: #fff;
}

.vnlr-browser .vnlr-browser__description,
.vnlr-game-guide .vnlr-guide__header p:last-child,
.vnlr-portal .vnlr-portal__header div {
	color: #fff5ef;
}

/* Tabs, filters and actions. */
.vnlr-browser .vnlr-region-tabs {
	background: var(--vnlr-ui-glass);
	border-bottom: 1px solid var(--vnlr-ui-line);
	box-shadow: 0 8px 22px rgba(41, 48, 54, .09);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 0;
}

.vnlr-browser .vnlr-region-tabs a {
	border-bottom: 4px solid transparent;
	border-right: 1px solid var(--vnlr-ui-line);
	color: var(--vnlr-ui-blue);
	font-weight: 800;
	padding: 16px 12px;
	text-align: center;
}

.vnlr-browser .vnlr-region-tabs a:last-child { border-right: 0; }
.vnlr-browser .vnlr-region-tabs a:hover { background: rgba(255, 236, 166, .48); }
.vnlr-browser .vnlr-region-tabs a.is-active { background: var(--vnlr-ui-red); border-bottom-color: var(--vnlr-ui-red-dark); color: #fff; }

.vnlr-browser .vnlr-filters,
.vnlr-portal .vnlr-portal__filters {
	background: rgba(255, 236, 166, .6);
	border-bottom: 1px solid rgba(184, 143, 42, .3);
}

:where(.vnlr-browser .vnlr-filters, .vnlr-portal .vnlr-portal__filters) label > span,
.vnlr-portal .vnlr-portal__filters > label > span {
	color: #3b292b;
	font-weight: 800;
}

:where(.vnlr-browser .vnlr-filters, .vnlr-portal .vnlr-portal__filters) :where(input, select) {
	background: rgba(255, 255, 255, .9);
	border: 1px solid rgba(88, 102, 113, .42);
	box-shadow: inset 0 1px rgba(255, 255, 255, .95);
	color: var(--vnlr-ui-ink);
}

:where(.vnlr-browser .vnlr-filters, .vnlr-portal .vnlr-portal__filters) select option {
	background: #fff;
	color: var(--vnlr-ui-ink);
}

:where(.vnlr-browser .vnlr-filters, .vnlr-portal .vnlr-portal__filters) :where(input, select):focus {
	border-color: var(--vnlr-ui-blue);
	box-shadow: 0 0 0 4px rgba(7, 57, 183, .13);
}

.vnlr-browser .vnlr-filters button,
.vnlr-portal .vnlr-portal__filters button,
.vnlr-portal.vnlr-portal--analysis .vnlr-portal__filters button {
	background: linear-gradient(135deg, var(--vnlr-ui-red-dark), var(--vnlr-ui-red));
	border-color: rgba(118, 0, 13, .55);
	box-shadow: 0 9px 22px rgba(167, 11, 23, .22), inset 0 1px rgba(255, 255, 255, .22);
	color: #fff;
}

:where(.vnlr-browser .vnlr-filters button, .vnlr-portal .vnlr-portal__filters button):hover {
	background: var(--vnlr-ui-red-dark);
	box-shadow: 0 12px 28px rgba(167, 11, 23, .3);
	transform: translateY(-2px);
}

/* Result browser controls and boards. */
.vnlr-browser .vnlr-toolbar {
	background: rgba(255, 255, 255, .68);
	border-bottom: 1px solid var(--vnlr-ui-line);
}

.vnlr-browser .vnlr-date-nav strong { color: var(--vnlr-ui-ink); }

.vnlr-browser :where(.vnlr-date-nav a, .vnlr-reading-tools button, .vnlr-regional__switch button),
.vnlr-game-guide .vnlr-guide__language a {
	background: rgba(255, 255, 255, .78);
	border: 1px solid rgba(88, 102, 113, .3);
	box-shadow: 0 5px 14px rgba(41, 48, 54, .08);
	color: var(--vnlr-ui-blue);
}

.vnlr-browser :where(.vnlr-date-nav a, .vnlr-reading-tools button, .vnlr-regional__switch button):hover,
.vnlr-game-guide .vnlr-guide__language a:hover {
	background: rgba(255, 236, 166, .72);
	border-color: rgba(184, 143, 42, .55);
	transform: translateY(-1px);
}

.vnlr-browser :where(.vnlr-reading-tools button[aria-pressed="true"], .vnlr-regional__switch button[aria-pressed="true"]),
.vnlr-game-guide .vnlr-guide__language a[aria-current="page"] {
	background: var(--vnlr-ui-red);
	border-color: var(--vnlr-ui-red-dark);
	color: #fff;
}

.vnlr-browser .vnlr-regional { background: transparent; padding: 22px; }
.vnlr-browser .vnlr-regional__switch { background: transparent; margin-bottom: 16px; }

.vnlr-browser .vnlr-board {
	backdrop-filter: blur(14px) saturate(125%);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
	background: rgba(255, 255, 255, .82);
	border: 1px solid rgba(255, 255, 255, .95);
	border-radius: 16px;
	box-shadow: var(--vnlr-ui-shadow), inset 0 1px rgba(255, 255, 255, 1);
	overflow: hidden;
}

.vnlr-browser .vnlr-board:hover { box-shadow: var(--vnlr-ui-shadow-hover); transform: translateY(-3px); }

.vnlr-browser .vnlr-board__header {
	background: rgba(255, 236, 166, .86);
	border-bottom: 1px solid rgba(184, 143, 42, .36);
	border-left: 7px solid var(--vnlr-ui-red);
}

.vnlr-browser .vnlr-board__header p { color: #725100; }
.vnlr-browser .vnlr-board__header h3 { color: #8e0014; }

.vnlr-browser :where(.vnlr-table, .vnlr-compare-table) { background: rgba(255, 255, 255, .72); color: var(--vnlr-ui-ink); }

.vnlr-browser :where(.vnlr-table, .vnlr-compare-table) :where(th, td) {
	border-bottom: 1px solid var(--vnlr-ui-line);
	color: var(--vnlr-ui-ink);
}

.vnlr-browser .vnlr-table th { border-right: 1px solid var(--vnlr-ui-line); color: #222; }
.vnlr-browser .vnlr-prize:nth-child(odd),
.vnlr-browser .vnlr-compare-table tbody tr:nth-child(odd) { background: var(--vnlr-ui-row); }
.vnlr-browser .vnlr-prize:nth-child(even),
.vnlr-browser .vnlr-compare-table tbody tr:nth-child(even) { background: rgba(255, 255, 255, .72); }

.vnlr-browser :where(.vnlr-number-grid span, .vnlr-cell-numbers span) { color: #050505; font-weight: 850; text-shadow: none; }
.vnlr-browser .vnlr-prize--special .vnlr-number-grid span,
.vnlr-browser .vnlr-prize--eighth .vnlr-number-grid span,
.vnlr-browser .vnlr-compare-table .is-special .vnlr-cell-numbers span { color: var(--vnlr-ui-red); }

.vnlr-browser .vnlr-compare-table thead th { background: var(--vnlr-ui-red-dark); color: #fff; }
.vnlr-browser .vnlr-compare-table tbody th { background: rgba(255, 236, 166, .75); color: #70000f; }
.vnlr-browser .vnlr-board__updated { background: rgba(247, 250, 252, .8); border-top: 1px solid var(--vnlr-ui-line); color: var(--vnlr-ui-muted); }
.vnlr-browser .vnlr-browser__footer { background: rgba(255, 236, 166, .55); border-top: 1px solid rgba(184, 143, 42, .3); color: #493a3c; }
.vnlr-browser .vnlr-browser__footer a { color: var(--vnlr-ui-blue); font-weight: 750; }
.vnlr-browser .vnlr-browser__footer a[aria-current="true"] { color: var(--vnlr-ui-red-dark); text-decoration: underline; }

/* Portal cards, tables and analysis. */
.vnlr-portal :where(.vnlr-portal__metrics > div, .vnlr-portal__links a, .vnlr-analysis__method, .vnlr-analysis__summary > div, .vnlr-frequency__row, .vnlr-portal__history-cards > .vnlr-portal__table > tbody > tr) {
	backdrop-filter: blur(14px) saturate(125%);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
	background: var(--vnlr-ui-glass);
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 16px;
	box-shadow: var(--vnlr-ui-shadow), inset 0 1px rgba(255, 255, 255, .95);
}

.vnlr-portal :where(.vnlr-portal__metrics > div, .vnlr-portal__links a, .vnlr-analysis__summary > div, .vnlr-frequency__row, .vnlr-portal__history-cards > .vnlr-portal__table > tbody > tr):hover {
	border-color: rgba(223, 51, 47, .45);
	box-shadow: var(--vnlr-ui-shadow-hover);
	transform: translateY(-3px);
}

.vnlr-portal .vnlr-portal__links strong,
.vnlr-portal .vnlr-portal__number,
.vnlr-portal .vnlr-analysis__summary strong,
.vnlr-portal .vnlr-frequency__row > strong { color: var(--vnlr-ui-red-dark); }

.vnlr-portal .vnlr-portal__links a { color: var(--vnlr-ui-blue); }
.vnlr-portal .vnlr-analysis__method { background: rgba(255, 236, 166, .68); border-left: 6px solid var(--vnlr-ui-red); }
.vnlr-portal .vnlr-analysis__badge,
.vnlr-portal .vnlr-frequency__row > b { background: var(--vnlr-ui-red); color: #fff; }
.vnlr-portal .vnlr-analysis__notice { background: rgba(255, 236, 166, .68); border-color: rgba(184, 143, 42, .45); color: #3d3020; }
.vnlr-portal .vnlr-frequency__row > em { background: rgba(255, 236, 166, .8); border-color: rgba(184, 143, 42, .45); color: #6d3c00; }
.vnlr-portal .vnlr-frequency__row > span { background: rgba(203, 215, 223, .7); }
.vnlr-portal .vnlr-frequency__row i { background: linear-gradient(90deg, var(--vnlr-ui-red-dark), var(--vnlr-ui-red)); }

.vnlr-portal .vnlr-portal__table { background: rgba(255, 255, 255, .7); }
.vnlr-portal .vnlr-portal__table th { background: var(--vnlr-ui-red-dark); color: #fff; }
.vnlr-portal .vnlr-portal__table td { border-bottom-color: var(--vnlr-ui-line); color: var(--vnlr-ui-ink); }
.vnlr-portal .vnlr-portal__status { background: #e5f5e9; border-color: #82ae8a; color: #185a29; }
.vnlr-portal .vnlr-portal__history-cards > .vnlr-portal__table > tbody > tr > td:nth-child(2) { background: rgba(255, 236, 166, .78); border-color: rgba(184, 143, 42, .45); color: #704000; }
.vnlr-portal .vnlr-portal__prizes summary { color: var(--vnlr-ui-blue); }
.vnlr-portal .vnlr-portal__prizes > div,
.vnlr-portal .vnlr-portal__empty { background: rgba(255, 255, 255, .7); border-color: var(--vnlr-ui-line); color: var(--vnlr-ui-ink); }

/* Game guide cards. */
.vnlr-game-guide :where(.vnlr-guide__notice, .vnlr-guide__formula, .vnlr-guide__schedule, .vnlr-guide__region, .vnlr-guide__number-list span) {
	backdrop-filter: blur(14px) saturate(125%);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
	background: var(--vnlr-ui-glass);
	border: 1px solid rgba(255, 255, 255, .9);
	border-radius: 16px;
	box-shadow: var(--vnlr-ui-shadow), inset 0 1px rgba(255, 255, 255, .95);
}

.vnlr-game-guide :where(.vnlr-guide__formula, .vnlr-guide__region, .vnlr-guide__number-list span):hover {
	border-color: rgba(223, 51, 47, .45);
	box-shadow: var(--vnlr-ui-shadow-hover);
	transform: translateY(-2px);
}

.vnlr-game-guide :where(.vnlr-guide__formula h3, .vnlr-guide__region h3, .vnlr-guide__region h4, .vnlr-guide__examples h3) { color: var(--vnlr-ui-red-dark); }
.vnlr-game-guide .vnlr-guide__schedule summary { color: var(--vnlr-ui-blue); }
.vnlr-game-guide .vnlr-guide__table { background: rgba(255, 255, 255, .72); }
.vnlr-game-guide .vnlr-guide__table thead th { background: var(--vnlr-ui-red-dark); color: #fff; }
.vnlr-game-guide .vnlr-guide__table :where(th, td) { border-color: var(--vnlr-ui-line); color: var(--vnlr-ui-ink); }
.vnlr-game-guide .vnlr-guide__table tbody tr:nth-child(even) { background: var(--vnlr-ui-row); }
.vnlr-game-guide .vnlr-guide__examples { background: rgba(255, 236, 166, .35); border-top-color: rgba(184, 143, 42, .3); }
.vnlr-game-guide .vnlr-guide__number-list strong { color: var(--vnlr-ui-red-dark); }

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	:where(.vnlr-browser, .vnlr-game-guide, .vnlr-portal) { background: #f7f9fa; }
	.vnlr-browser .vnlr-board,
	.vnlr-portal :where(.vnlr-portal__metrics > div, .vnlr-portal__links a, .vnlr-analysis__summary > div, .vnlr-frequency__row),
	.vnlr-game-guide :where(.vnlr-guide__notice, .vnlr-guide__formula, .vnlr-guide__schedule, .vnlr-guide__region) { background: #fff; }
}

@media (max-width: 900px) {
	.vnlr-portal--analysis .vnlr-analysis__overview { grid-template-columns: 1fr; }
	.vnlr-portal--analysis .vnlr-frequency { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	:where(.vnlr-browser, .vnlr-game-guide, .vnlr-portal) { border-radius: 16px; }
	.vnlr-browser .vnlr-region-tabs a { padding: 13px 7px; }
	.vnlr-browser .vnlr-regional { padding: 14px; }
	.vnlr-portal--analysis .vnlr-analysis__summary,
	.vnlr-portal--analysis .vnlr-frequency { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	:where(.vnlr-browser, .vnlr-game-guide, .vnlr-portal) *,
	:where(.vnlr-browser, .vnlr-game-guide, .vnlr-portal) *::before,
	:where(.vnlr-browser, .vnlr-game-guide, .vnlr-portal) *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* Version 3.3 draw analysis. */
.vnlr-draw-analysis .vnlr-analysis-form {
	background: rgba(255, 255, 255, .82);
	border: 1px solid var(--vnlr-ui-line);
	border-radius: 18px;
	box-shadow: var(--vnlr-ui-shadow);
	margin: 24px 0;
	padding: 20px;
}

.vnlr-draw-analysis .vnlr-analysis-form__fields {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vnlr-draw-analysis .vnlr-analysis-form label { display: grid; gap: 7px; }
.vnlr-draw-analysis .vnlr-analysis-form label > span { color: var(--vnlr-ui-muted); font-size: 13px; font-weight: 700; }
.vnlr-draw-analysis .vnlr-analysis-form select {
	background: #fff;
	border: 1px solid var(--vnlr-ui-line);
	border-radius: 10px;
	color: var(--vnlr-ui-ink);
	min-height: 46px;
	padding: 8px 12px;
	width: 100%;
}

.vnlr-draw-analysis .vnlr-analysis-form button {
	background: var(--vnlr-ui-red-dark);
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: block;
	font-weight: 800;
	margin: 18px auto 0;
	min-width: 180px;
	padding: 13px 24px;
}

.vnlr-draw-analysis .vnlr-analysis-meta {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 20px 0 30px;
}

.vnlr-draw-analysis .vnlr-analysis-meta > div {
	background: rgba(255, 255, 255, .7);
	border: 1px solid var(--vnlr-ui-line);
	border-radius: 14px;
	padding: 14px;
}

.vnlr-draw-analysis .vnlr-analysis-meta small { color: var(--vnlr-ui-muted); display: block; margin-bottom: 5px; }
.vnlr-draw-analysis .vnlr-analysis-meta strong { color: var(--vnlr-ui-ink); display: block; font-size: 15px; }
.vnlr-draw-analysis .vnlr-prediction-podium { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 20px 0 28px; }

.vnlr-draw-analysis .vnlr-prediction-card {
	background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(245,248,250,.78));
	border: 1px solid var(--vnlr-ui-line);
	border-radius: 22px;
	box-shadow: var(--vnlr-ui-shadow);
	padding: 24px 20px;
	text-align: center;
}

.vnlr-draw-analysis .vnlr-prediction-card--1 { border-color: #d6a928; box-shadow: 0 16px 38px rgba(169, 126, 16, .18); transform: translateY(-7px); }
.vnlr-draw-analysis .vnlr-prediction-card__rank { background: #eef2f5; border-radius: 999px; color: var(--vnlr-ui-muted); display: inline-block; font-size: 13px; font-weight: 800; padding: 5px 12px; }
.vnlr-draw-analysis .vnlr-prediction-card--1 .vnlr-prediction-card__rank { background: #fff1b8; color: #765400; }
.vnlr-draw-analysis .vnlr-prediction-card > strong { color: var(--vnlr-ui-red-dark); display: block; font-size: clamp(52px, 7vw, 78px); line-height: 1; margin: 18px 0 10px; }
.vnlr-draw-analysis .vnlr-prediction-card > b { color: var(--vnlr-ui-blue); font-size: 18px; }
.vnlr-draw-analysis .vnlr-prediction-card ul { border-top: 1px solid var(--vnlr-ui-line); color: var(--vnlr-ui-muted); list-style: none; margin: 16px 0 0; padding: 14px 0 0; }
.vnlr-draw-analysis .vnlr-prediction-card li { font-size: 13px; margin: 5px 0; }
.vnlr-draw-analysis .vnlr-analysis-details { background: rgba(255,255,255,.75); border: 1px solid var(--vnlr-ui-line); border-radius: 16px; margin: 20px 0; overflow: hidden; }
.vnlr-draw-analysis .vnlr-analysis-details summary { color: var(--vnlr-ui-blue); cursor: pointer; font-weight: 800; padding: 17px 20px; }
.vnlr-draw-analysis .vnlr-analysis-details__body { border-top: 1px solid var(--vnlr-ui-line); padding: 18px 20px; }
.vnlr-draw-analysis .vnlr-analysis-table-wrap { overflow-x: auto; }
.vnlr-draw-analysis .vnlr-analysis-details table { border-collapse: collapse; min-width: 720px; width: 100%; }
.vnlr-draw-analysis .vnlr-analysis-details :where(th, td) { border-bottom: 1px solid var(--vnlr-ui-line); padding: 10px 8px; text-align: center; }
.vnlr-draw-analysis .vnlr-analysis-details thead th { background: var(--vnlr-ui-red-dark); color: #fff; }

@media (max-width: 900px) {
	.vnlr-draw-analysis .vnlr-analysis-form__fields,
	.vnlr-draw-analysis .vnlr-analysis-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.vnlr-draw-analysis .vnlr-analysis-form__fields,
	.vnlr-draw-analysis .vnlr-analysis-meta,
	.vnlr-draw-analysis .vnlr-prediction-podium { grid-template-columns: 1fr; }
	.vnlr-draw-analysis .vnlr-prediction-card--1 { transform: none; }
	.vnlr-draw-analysis .vnlr-prediction-card { padding: 20px 16px; }
}

.vnlr-browser .vnlr-regional__cards {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
}

.vnlr-browser .vnlr-board,
.vnlr-browser .vnlr-table,
.vnlr-browser .vnlr-table td,
.vnlr-browser .vnlr-number-grid {
	min-width: 0;
}

.vnlr-browser .vnlr-number-grid {
	gap: 8px 6px;
}

.vnlr-browser .vnlr-number-grid span {
	font-size: clamp(18px, 2vw, 28px);
}

.vnlr-browser .vnlr-prize--special .vnlr-number-grid span {
	font-size: clamp(28px, 3.2vw, 42px);
}

.vnlr-browser .vnlr-table-scroll {
	border: 1px solid var(--vnlr-ui-line);
	border-radius: 12px;
	scrollbar-color: var(--vnlr-ui-red) #eef1f4;
}

.vnlr-browser .vnlr-compare-table th:first-child {
	left: 0;
	position: sticky;
	z-index: 2;
}

.vnlr-browser .vnlr-compare-table thead th:first-child { z-index: 3; }

@media (max-width: 700px) {
	.vnlr-browser .vnlr-browser__intro { padding: 24px 18px; }

	.vnlr-browser .vnlr-filters {
		gap: 12px;
		padding-bottom: 16px;
		padding-top: 16px;
	}

	.vnlr-browser .vnlr-toolbar { gap: 12px; }

	.vnlr-browser .vnlr-reading-tools {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		overflow: visible;
	}

	.vnlr-browser .vnlr-reading-tools button { padding: 8px 4px; }

	.vnlr-browser .vnlr-regional { padding: 14px 10px 18px; }

	.vnlr-browser .vnlr-regional__switch {
		padding: 0 4px 12px;
	}

	.vnlr-browser .vnlr-regional__switch button {
		flex: 1;
		min-height: 42px;
	}

	.vnlr-browser .vnlr-regional__cards { padding: 0 4px 16px; }

	.vnlr-browser .vnlr-regional__cards .vnlr-board {
		margin-left: 0;
		margin-right: 0;
	}

	.vnlr-browser .vnlr-table th {
		font-size: 14px;
		padding-left: 4px;
		padding-right: 4px;
		width: 46px;
	}

	.vnlr-browser .vnlr-table td {
		padding-left: 3px;
		padding-right: 3px;
	}

	.vnlr-browser .vnlr-number-grid { gap: 8px 2px; }

	.vnlr-browser .vnlr-number-grid span {
		font-size: clamp(17px, 5vw, 20px);
	}

	.vnlr-browser .vnlr-prize--special .vnlr-number-grid span {
		font-size: clamp(28px, 8vw, 34px);
	}

	.vnlr-browser .vnlr-table-scroll {
		margin-left: 4px;
		margin-right: 4px;
	}

	.vnlr-browser .vnlr-browser__footer {
		padding-left: 18px;
		padding-right: 18px;
	}
}

/* Keep the complete history result matrix inside each responsive card. */
.vnlr-portal .vnlr-portal__history-cards .vnlr-vietnam-results {
	max-width: 100%;
	overflow-x: visible;
}

.vnlr-portal .vnlr-portal__history-cards .vnlr-vietnam-results table {
	min-width: 0;
	width: 100%;
}

.vnlr-portal .vnlr-portal__history-cards .vnlr-vietnam-results th { width: 48px; }

.vnlr-portal .vnlr-portal__history-cards .vnlr-vietnam-results__numbers {
	gap: 8px;
	min-width: 0;
}

.vnlr-portal .vnlr-portal__history-cards .vnlr-vietnam-results__numbers strong {
	font-size: clamp(18px, 2.2vw, 28px);
	min-width: 0;
}

.vnlr-portal .vnlr-portal__history-cards .vnlr-vietnam-results__row--special .vnlr-vietnam-results__numbers strong {
	font-size: clamp(28px, 3.2vw, 42px);
}

@media (max-width: 700px) {
	.vnlr-portal .vnlr-portal__history-cards { padding: 12px; }
	.vnlr-portal .vnlr-portal__history-cards > .vnlr-portal__table > tbody > tr { padding: 16px; }
	.vnlr-portal .vnlr-portal__history-cards .vnlr-portal__prizes > div { padding: 0; }

	.vnlr-portal .vnlr-portal__history-cards .vnlr-portal__table .vnlr-vietnam-results th,
	.vnlr-portal .vnlr-portal__history-cards .vnlr-portal__table .vnlr-vietnam-results td {
		padding: 8px 4px;
	}

	.vnlr-portal .vnlr-portal__history-cards .vnlr-vietnam-results th {
		font-size: 16px;
		width: 42px;
	}

	.vnlr-portal .vnlr-portal__history-cards .vnlr-vietnam-results__numbers { gap: 8px 4px; }

	.vnlr-portal .vnlr-portal__history-cards .vnlr-vietnam-results__numbers strong {
		font-size: clamp(17px, 5.2vw, 21px);
	}

	.vnlr-portal .vnlr-portal__history-cards .vnlr-vietnam-results__row--special .vnlr-vietnam-results__numbers strong {
		font-size: clamp(28px, 8vw, 34px);
	}
}

/* Eye-comfort palette for all public plugin interfaces. */
:where(.vnlr-browser, .vnlr-portal, .vnlr-game-guide, .vnlr-draw-analysis) {
	--vnlr-comfort-bg: #e1e8ee;
	--vnlr-comfort-panel: #edf2f5;
	--vnlr-comfort-field: #e7edf2;
	background-color: var(--vnlr-comfort-bg);
}

:where(.vnlr-browser, .vnlr-portal, .vnlr-game-guide, .vnlr-draw-analysis)
:where(.vnlr-region-tabs, .vnlr-regional, .vnlr-board, .vnlr-table, .vnlr-compare-table, .vnlr-portal__filters, .vnlr-portal__table-wrap, .vnlr-portal__history-cards, .vnlr-portal__metrics > div, .vnlr-guide__region, .vnlr-guide__formula, .vnlr-guide__schedule, .vnlr-guide__table-wrap, .vnlr-analysis__overview, .vnlr-frequency) {
	background-color: var(--vnlr-comfort-panel);
}

:where(.vnlr-browser, .vnlr-portal, .vnlr-game-guide, .vnlr-draw-analysis)
:where(input, select, textarea, .vnlr-prize:nth-child(even), .vnlr-compare-table tbody tr:nth-child(even), .vnlr-date-nav a, .vnlr-reading-tools button, .vnlr-regional__switch button) {
	background-color: var(--vnlr-comfort-field);
}

:where(.vnlr-browser, .vnlr-portal, .vnlr-game-guide, .vnlr-draw-analysis)
:where(.vnlr-card, .vnlr-date-picker, .vnlr-result-card, .vnlr-guide__notice, .vnlr-analysis-details, .vnlr-portal__section, tbody tr) {
	background-color: var(--vnlr-comfort-panel);
}

.vnlr-elementor-article {
	background: #e9eef3;
	color: #172033;
}

.vnlr-elementor-article > .elementor-element:first-child .elementor-heading-title {
	font-size: clamp(30px, 5vw, 52px);
	line-height: 1.18;
}

.vnlr-elementor-article > .elementor-element:nth-child(2) {
	font-size: clamp(16px, 2vw, 19px);
	line-height: 1.7;
	max-width: 76ch;
}

/* Canonical responsive editorial card contract. Keep this final. */
.vnlr-analysis-article--editorial {
	--vnlr-card-bg: #fff;
	--vnlr-card-border: #d9e2ec;
	--vnlr-card-shadow: 0 12px 30px rgba(15, 23, 42, .07);
	--vnlr-article-indigo: #4338ca;
	--vnlr-article-ink: #172033;
	--vnlr-article-muted: #526178;
	--vnlr-article-orange: #c2410c;
	background: #f6f4ef;
	box-sizing: border-box;
	color: var(--vnlr-article-ink);
	container-name: vnlr-article;
	container-type: inline-size;
	display: grid;
	gap: clamp(20px, 3cqi, 34px);
	max-width: 1120px;
	width: 100%;
}
.vnlr-analysis-article--editorial *, .vnlr-analysis-article--editorial *::before, .vnlr-analysis-article--editorial *::after { box-sizing: border-box; }
.vnlr-analysis-article--editorial :where(h2, h3, h4, p, dl, dd, ol) { margin-block-start: 0; }
.vnlr-analysis-article--editorial :where(p, li, dd) { color: var(--vnlr-article-muted); font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.vnlr-analysis-article--editorial :where(h2, h3, h4, strong) { color: var(--vnlr-article-ink); }
.vnlr-analysis-article--editorial .vnlr-article-hero { background: radial-gradient(circle at 85% 15%, rgba(99, 102, 241, .38), transparent 20rem), linear-gradient(135deg, #172554, #3730a3 65%, #4f46e5); border-radius: 24px; box-shadow: 0 18px 44px rgba(30, 41, 99, .22); color: #fff; margin: 0; padding: clamp(28px, 6cqi, 64px); }
.vnlr-analysis-article--editorial .vnlr-article-hero h2 { color: #fff; font-size: clamp(32px, 5cqi, 54px); line-height: 1.08; margin: 12px 0 16px; }
.vnlr-analysis-article--editorial .vnlr-article-hero p { color: #e0e7ff; margin-bottom: 0; }
.vnlr-analysis-article--editorial .vnlr-article-lead { font-size: clamp(16px, 2cqi, 20px); max-width: 72ch; }
.vnlr-analysis-article--editorial .vnlr-article-eyebrow { color: #fde68a; font-size: 12px; font-weight: 800; letter-spacing: .12em; margin-bottom: 0; text-transform: uppercase; }
.vnlr-analysis-article--editorial :where(.vnlr-prediction-section, .vnlr-insight-section, .vnlr-faq-panel, .vnlr-caution-panel, .vnlr-analysis-disclaimer) { border: 1px solid var(--vnlr-card-border); border-radius: 20px; box-shadow: var(--vnlr-card-shadow); margin: 0; padding: clamp(20px, 3.2cqi, 34px); }
.vnlr-analysis-article--editorial :where(.vnlr-prediction-section, .vnlr-insight-section, .vnlr-faq-panel) { background: var(--vnlr-card-bg); }
.vnlr-analysis-article--editorial .vnlr-section-heading { margin: 0 0 18px; }
.vnlr-analysis-article--editorial .vnlr-article-meta { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 24px 0 0; width: 100%; }
.vnlr-analysis-article--editorial .vnlr-article-meta > div { background: rgba(255, 255, 255, .11); border: 1px solid rgba(255, 255, 255, .2); border-radius: 12px; display: grid; gap: 3px; min-width: 0; padding: 10px 12px; }
.vnlr-analysis-article--editorial .vnlr-article-meta dt { color: #c7d2fe; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.vnlr-analysis-article--editorial .vnlr-article-meta dd { color: #fff; font-size: 13px; font-weight: 700; margin: 0; overflow-wrap: anywhere; }
.vnlr-analysis-article--editorial .vnlr-section-kicker { color: var(--vnlr-article-indigo); font-size: 12px; font-weight: 800; letter-spacing: .1em; margin-bottom: 5px; text-transform: uppercase; }
.vnlr-analysis-article--editorial .vnlr-section-heading h3, .vnlr-analysis-article--editorial :where(.vnlr-caution-panel, .vnlr-faq-panel) h3 { color: var(--vnlr-article-ink); font-size: clamp(23px, 3.4cqi, 34px); line-height: 1.25; margin: 0; }
.vnlr-analysis-article--editorial .vnlr-featured-pick { align-items: stretch; background: linear-gradient(120deg, #fff7ed, #ffedd5); border: 1px solid #fdba74; border-radius: 20px; display: grid; gap: 24px; grid-template-columns: minmax(180px, .72fr) minmax(0, 1.28fr); margin-bottom: 16px; padding: clamp(22px, 3cqi, 34px); }
.vnlr-analysis-article--editorial .vnlr-featured-pick > div { display: flex; flex-direction: column; justify-content: center; min-width: 0; text-align: left; }
.vnlr-analysis-article--editorial .vnlr-featured-pick .vnlr-pick-rank { align-self: flex-start; background: #ffedd5; border-radius: 999px; color: #9a3412; font-size: 16px; font-weight: 800; padding: 8px 12px; }
.vnlr-analysis-article--editorial .vnlr-featured-pick .vnlr-pick-label { color: #9a3412; font-size: 14px; font-weight: 800; margin-top: 10px; text-transform: uppercase; }
.vnlr-analysis-article--editorial .vnlr-featured-pick strong { color: var(--vnlr-article-orange); font-size: clamp(62px, 9cqi, 96px); letter-spacing: -.05em; line-height: .95; margin-top: 10px; }
.vnlr-analysis-article--editorial .vnlr-pick-copy h4 { color: #7c2d12; font-size: 18px; margin: 0 0 8px; }
.vnlr-analysis-article--editorial .vnlr-featured-pick p { color: #7c2d12; font-size: clamp(16px, 1.7cqi, 18px); margin: 0; }
.vnlr-analysis-article--editorial .vnlr-secondary-picks { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; }
.vnlr-analysis-article--editorial .vnlr-pick-card { background: #fff; border: 1px solid var(--vnlr-card-border); border-radius: 18px; box-shadow: var(--vnlr-card-shadow); display: flex; flex-direction: column; gap: 16px; min-width: 0; padding: 20px; text-align: left; }
.vnlr-analysis-article--editorial .vnlr-pick-card__heading { align-items: center; display: flex; gap: 16px; justify-content: space-between; min-width: 0; width: 100%; }
.vnlr-analysis-article--editorial .vnlr-pick-card .vnlr-pick-rank { background: #eef2ff; border-radius: 999px; color: #4338ca; display: inline-flex; font-size: 14px; font-weight: 800; line-height: 1.25; margin: 0; max-width: calc(100% - 76px); padding: 9px 14px; text-align: left; }
.vnlr-analysis-article--editorial .vnlr-pick-card strong { color: #1e3a8a; flex: 0 0 auto; font-size: clamp(38px, 5cqi, 52px); letter-spacing: -.04em; line-height: 1; margin: 0; min-width: 2.2ch; text-align: right; white-space: nowrap; }
.vnlr-analysis-article--editorial .vnlr-pick-card p { border-top: 1px solid #e2e8f0; font-size: 16px; line-height: 1.65; margin: 0; padding-top: 14px; }
.vnlr-analysis-article--editorial .vnlr-insight-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.vnlr-analysis-article--editorial .vnlr-insight-grid > article { background: #f8fafc; border: 1px solid var(--vnlr-card-border); border-radius: 16px; box-shadow: none; min-width: 0; padding: clamp(20px, 2.5cqi, 28px); }
.vnlr-analysis-article--editorial .vnlr-insight-grid > article:first-child { background: #eef2ff; border-color: #c7d2fe; }
.vnlr-analysis-article--editorial .vnlr-insight-grid h4 { font-size: 19px; margin: 0 0 9px; }
.vnlr-analysis-article--editorial .vnlr-insight-grid p { margin-bottom: 0; }
.vnlr-analysis-article--editorial .vnlr-caution-panel { background: #fffbea; border-color: #fde68a; }
.vnlr-analysis-article--editorial .vnlr-caution-panel p:last-child { margin-bottom: 0; }
.vnlr-analysis-article--editorial .vnlr-faq-panel details { background: #f7f8fa; border: 1px solid var(--vnlr-card-border); border-radius: 12px; margin: 10px 0; overflow: hidden; }
.vnlr-analysis-article--editorial .vnlr-faq-panel summary { align-items: center; color: var(--vnlr-article-ink); cursor: pointer; display: flex; font-weight: 750; gap: 12px; justify-content: space-between; min-height: 54px; padding: 15px 18px; }
.vnlr-analysis-article--editorial .vnlr-faq-panel summary::after { color: var(--vnlr-article-indigo); content: "+"; flex: 0 0 auto; font-size: 22px; font-weight: 800; }
.vnlr-analysis-article--editorial .vnlr-faq-panel details[open] summary::after { content: "−"; }
.vnlr-analysis-article--editorial .vnlr-faq-answer p { margin: 0; padding: 4px 18px 18px; }
.vnlr-analysis-article--editorial .vnlr-analysis-disclaimer { align-items: flex-start; background: #fff7ed; border-color: #fed7aa; color: #9a3412; display: flex; flex-direction: column; gap: 5px; }
.vnlr-analysis-article--editorial .vnlr-analysis-disclaimer :where(strong, span) { color: #7c2d12; }
@container vnlr-article (max-width: 760px) {
	.vnlr-analysis-article--editorial { gap: 22px; padding: 8px; }
	.vnlr-analysis-article--editorial .vnlr-article-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vnlr-analysis-article--editorial .vnlr-featured-pick { grid-template-columns: minmax(0, 1fr); }
	.vnlr-analysis-article--editorial .vnlr-secondary-picks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vnlr-analysis-article--editorial .vnlr-insight-grid { grid-template-columns: minmax(0, 1fr); }
}
@container vnlr-article (max-width: 520px) {
	.vnlr-analysis-article--editorial { font-size: 16px; gap: 18px; padding: 4px; }
	.vnlr-analysis-article--editorial :where(p, li) { font-size: 16px; line-height: 1.7; }
	.vnlr-analysis-article--editorial :where(.vnlr-prediction-section, .vnlr-insight-section, .vnlr-faq-panel, .vnlr-caution-panel, .vnlr-analysis-disclaimer) { border-radius: 16px; padding: 18px; }
	.vnlr-analysis-article--editorial .vnlr-article-meta, .vnlr-analysis-article--editorial .vnlr-secondary-picks, .vnlr-analysis-article--editorial .vnlr-insight-grid { grid-template-columns: minmax(0, 1fr); }
	.vnlr-analysis-article--editorial .vnlr-featured-pick { gap: 18px; grid-template-columns: minmax(0, 1fr); padding: 18px; }
	.vnlr-analysis-article--editorial .vnlr-featured-pick strong { font-size: 58px; }
	.vnlr-analysis-article--editorial .vnlr-pick-card { gap: 14px; padding: 18px; }
	.vnlr-analysis-article--editorial .vnlr-pick-card .vnlr-pick-rank { font-size: 13px; }
	.vnlr-analysis-article--editorial .vnlr-pick-card strong { font-size: 42px; }
	.vnlr-analysis-article--editorial .vnlr-pick-card p { font-size: 16px; }
}

@supports not (container-type: inline-size) {
	@media (max-width: 760px) {
		.vnlr-analysis-article--editorial .vnlr-article-meta, .vnlr-analysis-article--editorial .vnlr-secondary-picks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		.vnlr-analysis-article--editorial .vnlr-featured-pick, .vnlr-analysis-article--editorial .vnlr-insight-grid { grid-template-columns: minmax(0, 1fr); }
	}
	@media (max-width: 520px) {
		.vnlr-analysis-article--editorial .vnlr-article-meta, .vnlr-analysis-article--editorial .vnlr-secondary-picks { grid-template-columns: minmax(0, 1fr); }
	}
}

/* Manually approved presentation enhancements. */
.vnlr-analysis-article--editorial.vnlr-presentation-summary-card .vnlr-article-lead { background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .2); border-radius: 14px; padding: 16px 18px; }
.vnlr-analysis-article--editorial.vnlr-presentation-highlight-card .vnlr-featured-pick { box-shadow: 0 16px 36px rgba(194, 65, 12, .14); }
.vnlr-analysis-article--editorial.vnlr-presentation-caution-panel .vnlr-caution-panel { border-left: 6px solid #eab308; }
.vnlr-analysis-article--editorial.vnlr-presentation-faq-accordion .vnlr-faq-panel details[open] { border-color: #818cf8; box-shadow: 0 8px 20px rgba(79, 70, 229, .08); }
.vnlr-analysis-article--editorial.vnlr-presentation-section-dividers > :where(section, aside, footer) + :where(section, aside, footer) { position: relative; }
.vnlr-analysis-article--editorial.vnlr-presentation-section-dividers > :where(section, aside, footer) + :where(section, aside, footer)::before { background: #cbd5e1; content: ""; height: 1px; left: 8%; position: absolute; right: 8%; top: calc(clamp(20px, 3cqi, 34px) / -2); }
@media (prefers-reduced-motion: no-preference) {
	.vnlr-analysis-article--editorial.vnlr-presentation-subtle-reveal > :where(section, aside, footer) { animation: vnlr-card-reveal .35s ease both; }
}
@keyframes vnlr-card-reveal { from { opacity: .01; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
