/* Lớp chủ đề Máy Thời Gian: ánh xạ biến --hv-* (/game/_shared/themes.json) sang giao diện game.
   Chỉ áp khi html[data-hv-theme] (chủ đề khác "Nguyên bản"); logic game không đổi. */
html[data-hv-theme]{--paper:var(--hv-bg);--paper2:var(--hv-bg2);--ink:var(--hv-ink);--brown:var(--hv-line);--gold:var(--hv-accent-2);--gold2:var(--hv-accent);--red:var(--hv-accent);--dark:var(--hv-top)}
html[data-hv-theme] body{background-image:none}
html[data-hv-theme] .top{color:var(--hv-top-ink)}
html[data-hv-theme] .top .brand b{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] .hero p,html[data-hv-theme] .muted,html[data-hv-theme] .note,html[data-hv-theme] .mode p,html[data-hv-theme] .card p{color:var(--hv-muted)}
html[data-hv-theme] .rank,html[data-hv-theme] .mode,html[data-hv-theme] .stage{background:var(--hv-surface);box-shadow:var(--hv-shadow)}
html[data-hv-theme] .rank{border-color:var(--hv-line)}
html[data-hv-theme] .mode{border-color:var(--hv-line);border-radius:14px}
html[data-hv-theme] .mode:hover{box-shadow:var(--hv-shadow);border-color:var(--hv-accent)}
html[data-hv-theme] .mode.on{background:var(--hv-top);color:var(--hv-top-ink);border-color:var(--hv-accent);box-shadow:inset 0 -4px 0 var(--hv-accent)}
html[data-hv-theme] .mode.on p{color:color-mix(in srgb,var(--hv-top-ink) 78%,transparent)}
html[data-hv-theme] .stage{border:1.5px solid var(--hv-line);border-radius:18px}
html[data-hv-theme] .bar{background:var(--hv-line)}
html[data-hv-theme] .btn{background:var(--hv-accent);color:var(--hv-accent-ink);border-radius:12px;box-shadow:0 4px 0 color-mix(in srgb,var(--hv-accent) 60%,#000)}
html[data-hv-theme] .btn.alt{background:var(--hv-surface2);color:var(--hv-ink);box-shadow:0 4px 0 var(--hv-line)}
html[data-hv-theme] .btn.gold{background:var(--hv-accent-2);color:var(--hv-bg);box-shadow:0 4px 0 color-mix(in srgb,var(--hv-accent-2) 60%,#000)}
html[data-hv-theme] .ev,html[data-hv-theme] .opt,html[data-hv-theme] .clue,html[data-hv-theme] .card{background:var(--hv-surface2);border-color:var(--hv-line);color:var(--hv-ink)}
html[data-hv-theme] .ev.picked{background:var(--hv-accent-soft);border-color:var(--hv-accent)}
html[data-hv-theme] .ev.picked .n{background:var(--hv-accent);color:var(--hv-accent-ink)}
html[data-hv-theme] .ev.ok,html[data-hv-theme] .opt.ok{background:var(--hv-ok-bg);border-color:var(--hv-ok)}
html[data-hv-theme] .ev.bad,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);border-left-color:var(--hv-accent)}
html[data-hv-theme] .scene{background:var(--hv-top);color:var(--hv-top-ink)}
html[data-hv-theme] .toast{background:var(--hv-top);color:var(--hv-top-ink)}

/* 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:#2a1a0d;--gp-bg2:#3b2713;--gp-ink:#f4e9cc;--gp-mut:#cdb98a;--gp-line:rgba(224,184,74,.3);--gp-acc:#e0b84a;--gp-soft:rgba(224,184,74,.16)}
