/* Scene videos + character gallery (2026-10-13) */
.fx-ov{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.8);animation:fxIn .25s ease-out;cursor:pointer}
.fx-ov.out{animation:fxOut .3s ease-in forwards}
.fx-card{position:relative;width:min(640px,100%);border-radius:14px;overflow:hidden;background:#0b0906;border:1px solid #d4a73a55;box-shadow:0 20px 60px rgba(0,0,0,.7);animation:fxPop .4s cubic-bezier(.2,1.3,.4,1)}
.fx-media{position:relative;aspect-ratio:16/9;background:#000}
.fx-vid{display:block;width:100%;height:100%;object-fit:cover}
.fx-badge{position:absolute;bottom:10px;right:10px;display:flex;align-items:center;gap:8px;background:#000b;border:1px solid #d4a73a88;border-radius:30px;padding:3px 12px 3px 3px;color:#f6d36b;font-weight:700;font-size:14px;max-width:70%}
.fx-badge img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #d4a73a}
.fx-badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-title{padding:12px 14px 4px;text-align:center;font-size:clamp(18px,5vw,24px);font-weight:800;color:#f6d36b;text-shadow:0 2px 0 #000}
.fx-hint{display:block;text-align:center;color:#9a8f7a;font-size:12px;padding:0 0 12px}
.fx-mute{position:absolute;top:8px;left:8px;width:42px;height:42px;border-radius:50%;border:1px solid #ffffff44;background:#000a;color:#fff;font-size:18px;cursor:pointer;line-height:1}
.fx-tap{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#f6d36b;border-radius:30px;padding:12px 20px;font-size:16px;font-weight:700;border:1px solid #d4a73a;cursor:pointer;animation:fxPulse 1s ease-in-out infinite alternate}
@keyframes fxIn{from{opacity:0}to{opacity:1}}
@keyframes fxOut{to{opacity:0}}
@keyframes fxPop{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes fxPulse{to{box-shadow:0 0 18px #d4a73a99}}
@media (prefers-reduced-motion:reduce){.fx-ov,.fx-card,.fx-tap{animation:none}}

/* character gallery page */
.ch-top{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:14px}
.ch-me{position:relative;border-radius:14px;overflow:hidden;border:1px solid #d4a73a88;background:#000}
.ch-me img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.ch-me b{position:absolute;bottom:0;left:0;right:0;padding:22px 10px 8px;background:linear-gradient(transparent,#000d);color:#f6d36b;text-align:center;font-size:18px}
.ch-filters{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.ch-chip{border:1px solid var(--line,#3a3022);background:#16120c;color:inherit;border-radius:18px;padding:6px 12px;font-size:13px;cursor:pointer;min-height:36px}
.ch-chip.on{border-color:#d4a73a;background:#d4a73a22;color:#f6d36b;font-weight:700}
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.ch-card{position:relative;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#000;cursor:pointer;color:inherit}
.ch-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .25s}
.ch-card:hover img{transform:scale(1.04)}
.ch-card span{position:absolute;bottom:0;left:0;right:0;padding:18px 6px 6px;background:linear-gradient(transparent,#000e);color:#eee;font-size:13px;font-weight:700;text-align:center}
.ch-card.on{border-color:#f6d36b;box-shadow:0 0 0 2px #0b0906 inset,0 0 16px #d4a73a66}
.ch-card.on::after{content:'✓';position:absolute;top:6px;left:6px;width:26px;height:26px;border-radius:50%;background:#d4a73a;color:#000;font-weight:900;display:flex;align-items:center;justify-content:center}
.ch-card[hidden]{display:none}
.ch-scenes{display:flex;flex-wrap:wrap;gap:8px}
.ch-wrap input[type=checkbox]{display:inline-block;width:auto;min-height:0;margin:0 4px;vertical-align:middle}
.ch-wrap label{display:inline;font-weight:400}
@media (max-width:640px){.ch-top{grid-template-columns:1fr}.ch-me{max-width:220px;margin:0 auto}.ch-grid{grid-template-columns:repeat(3,1fr);gap:6px}.ch-card span{font-size:11px}}

/* header: territories icon next to the clock (2026-10-13) */
.langbtn{white-space:nowrap}
.zicon{text-decoration:none}
@media (max-width:440px){header.top .where .mailicon{margin-inline-end:14px}header.top .where .zicon{font-size:16px}.langbtn{font-size:11px;padding:2px 5px}}
@media (max-width:360px){header.top .where .mailicon{margin-inline-end:10px}}

/* side menu (2026-10-13): short groups with icons, one open at a time */
.mgrp summary>span{display:flex;align-items:center;gap:8px}
.mgrp .mico{font-style:normal;width:22px;text-align:center}
.mgrp .mcnt{font-size:11px;color:var(--muted,#9a8f7a);background:#ffffff0d;border-radius:10px;padding:1px 7px;margin-inline-start:auto;margin-inline-end:6px;font-weight:400}
.mgrp[open] .mcnt{display:none}
.mfoot{display:flex;gap:6px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line,#3a3022)}
.mfoot a{flex:1;text-align:center}

/* notification invite bar (2026-10-13) */
.pushbar{display:flex;align-items:center;gap:10px;margin:8px auto;max-width:1200px;padding:10px 12px;border:1px solid #d4a73a88;border-radius:12px;background:linear-gradient(90deg,#2a1f08ee,#15110bee);color:#f1e3bd;font-size:14px}
.pushbar span{flex:1}
.pushbar .btn{white-space:nowrap;min-height:38px}
.pushbar .x{background:none;border:0;color:#b9ad95;font-size:22px;cursor:pointer;padding:0 4px;line-height:1}
@media (max-width:560px){.pushbar{margin:8px 10px;flex-wrap:wrap;font-size:13px}.pushbar span{flex:1 1 calc(100% - 34px)}.pushbar .btn{flex:1 1 100%;order:3}}
#pushBox p{margin:.3em 0 .6em}
