/* Lớp chủ đề Sa Hình: ánh xạ --hv-* sang giao diện game. Đèn giao thông, mặt đường, biển báo giữ màu thật. */
html[data-hv-theme]{--asp:var(--hv-bg);--asp2:var(--hv-surface);--w:var(--hv-ink);--mute:var(--hv-muted);--yel:var(--hv-accent);--grn:var(--hv-ok);--red:var(--hv-bad)}
html[data-hv-theme] body{background-image:none}
html[data-hv-theme] .top{background:var(--hv-top);color:var(--hv-top-ink);border-bottom-color:var(--hv-accent)}
html[data-hv-theme] .stat span{background:color-mix(in srgb,var(--hv-top-ink) 12%,transparent)}
html[data-hv-theme] .mode,html[data-hv-theme] .stage{border-color:var(--hv-line);box-shadow:var(--hv-shadow)}
html[data-hv-theme] .mode.on{background:var(--hv-accent-soft)}
html[data-hv-theme] .seg,html[data-hv-theme] .timer{background:var(--hv-bg2)}
html[data-hv-theme] .seg button.on,html[data-hv-theme] .btn{color:var(--hv-accent-ink)}
html[data-hv-theme] .btn{box-shadow:0 5px 0 color-mix(in srgb,var(--hv-accent) 60%,#000)}
html[data-hv-theme] .btn:active{box-shadow:0 1px 0 color-mix(in srgb,var(--hv-accent) 60%,#000)}
html[data-hv-theme] .btn.g{color:#fff;box-shadow:0 5px 0 color-mix(in srgb,var(--hv-ok) 60%,#000)}
html[data-hv-theme] .btn.r{box-shadow:0 5px 0 color-mix(in srgb,var(--hv-bad) 60%,#000)}
html[data-hv-theme] .btn.o{background:var(--hv-surface2);color:var(--hv-ink);box-shadow:0 5px 0 var(--hv-line)}
html[data-hv-theme] .opt{background:var(--hv-surface2);border-color:var(--hv-line)}
html[data-hv-theme] .opt.ok{background:var(--hv-ok-bg);border-color:var(--hv-ok)}
html[data-hv-theme] .opt.no{background:var(--hv-bad-bg);border-color:var(--hv-bad)}
html[data-hv-theme] .fb{background:var(--hv-accent-soft)}
html[data-hv-theme] .signbox{background:var(--hv-bg2)}
html[data-hv-theme] #msg b{color:var(--hv-ink)}html[data-hv-theme] #msg b.c-ok{color:var(--hv-ok)}html[data-hv-theme] #msg b.c-bad{color:var(--hv-bad)}
html[data-hv-theme] .lives i.x{background:var(--hv-line)}
html[data-hv-theme] .over h2{color:var(--hv-accent)}
/* giữ màu thật: mặt đường, làn xe, đèn tín hiệu */
html[data-hv-theme] .road,html[data-hv-theme] .lane,html[data-hv-theme] .light{background:#0c0e13;border-color:#2b3345;color:#f4f6fb}
html[data-hv-theme] .road::before{background:repeating-linear-gradient(90deg,#ffd21f 0 40px,transparent 40px 80px)}
html[data-hv-theme] .light i{background:#2b3345}
html[data-hv-theme] .light i.r.on{background:#ff4a4a;box-shadow:0 0 24px #ff4a4a}html[data-hv-theme] .light i.y.on{background:#ffd21f;box-shadow:0 0 24px #ffd21f}html[data-hv-theme] .light i.g.on{background:#2ee59d;box-shadow:0 0 24px #2ee59d}
html[data-hv-theme] .lane .lbl{color:#97a1b8}

/* tông bảng điều khiển khi để "Nguyên bản": theo màu game, không nền trắng chói */
:root{--gp-bg:#1d222d;--gp-bg2:#2a3142;--gp-ink:#f4f6fb;--gp-mut:#97a1b8;--gp-line:#38425a;--gp-acc:#ffd21f;--gp-soft:rgba(255,210,31,.14)}
