/* White, black and red landing page. Game pages retain their own themes. */
body:has(.hero){--bg:#f5f5f3;--surface:#fff;--elev:#f0efed;--border:#d8d8d5;--text:#18191d;--muted:#575b64;--faint:#656a74;--accent:#e83d33;background:#f5f5f3;color:#18191d}
body:has(.hero) .zp-header{background:#111216;color:#fff;border-color:#303137}
body:has(.hero) .zp-nav a{color:#c6c9d0}body:has(.hero) .zp-nav a[aria-current=page]{color:#fff}
body:has(.hero) .zp-search{background:#24252c;border-color:#40424c}body:has(.hero) .zp-search input{color:#fff}
body:has(.hero) .zp-logo b{color:#fff}body:has(.hero) .btn-ghost{color:#e2e4e9;border-color:#454750}
.hero{background:#171a22;border-color:#373b45;color:#fff}.hslide-title{color:#fff}
.sec-title,.card-title,.card-title-sm{color:#18191d}.sec-sub{color:#575b64}.sec-rule{background:#d5d5d1}.sec-viewall{color:#555a64}
.card{background:#fff;border-color:#d6d7da;box-shadow:none}.card:hover{background:#fff;border-color:#9a9da4;box-shadow:0 14px 25px -20px #16192355}
.card:hover .card-title,.card:hover .card-title-sm{color:#c92f27}.card-desc,.card-desc-sm{color:#575b64}.card-meta,.card-meta-sm{color:#626873}
.card-body{background:#fff}.art{border-bottom-color:#e0e0dd}.art-new{background:#fff0ed;border:1px solid #e7a59d;color:#a72f26}.art-rank{background:#e83d33;color:#fff}
.art-tag{background:#151921ee;color:#fff;border-color:#757d8a}
.card-play{background:#18191d;border-color:#18191d;color:#fff}.card:hover .card-play{background:#e83d33;border-color:#e83d33;color:#fff}
.chip{background:#fff;border-color:#c8cbd0;color:#3e434c}.chip:hover{background:#f0efed;border-color:#8b8e95}.chip[aria-pressed=true]{background:#e83d33;color:#fff;border-color:#e83d33}
.count-pill{background:#fff;border-color:#cfd1d5;color:#555b65}
.quick{background:#191b21;border-color:#191b21;color:#fff}.quick h2{color:#fff}.quick p{color:#c6cad3}
.lb{background:#fff;border-color:#d6d7da}.lb-row{border-color:#e1e2e5}.lb-row:nth-child(odd){background:#f0f0ee}.lb-row:hover{background:#ffece8}.lb-name{color:#202127}.lb-game,.lb-rank{color:#626873}.lb-score{color:#a9322b}.lb-row:first-child .lb-rank{color:#c52d25}
.zp-footer{background:#111216;color:#f6f6f4;border-color:#303137}.foot-col a,.foot-brand p{color:#bdc2cd}.foot-bottom{color:#aeb5c1;border-color:#383c45}
.card.is-coming,.card.is-coming:hover{background:#eeefed;border-color:#d6d7da}.card.is-coming .card-go{background:#d6d8dd;color:#626873}
.empty{background:#fff;border-color:#b9bdc5}.empty p{color:#555b65}
