/* V2 public surfaces. Loaded after the legacy sheet; admin screens keep their styles. */
:root {
    --up-bg:#0b1117; --up-surface:#111b24; --up-raised:#17232e;
    --up-line:#2a3946; --up-text:#f0f5f8; --up-muted:#a6b7c5;
    --up-accent:#a9e6bd; --up-accent-ink:#0d2819; --up-live:#8de3ad;
    --up-gold:#e9cc8d; --up-focus:#badfff;
    --up-space-1:4px; --up-space-2:8px; --up-space-3:12px; --up-space-4:16px;
    --up-space-5:24px; --up-space-6:32px; --up-space-7:48px;
    --bg:var(--up-bg); --bg-card:var(--up-surface); --text:var(--up-text);
    --text-soft:var(--up-muted); --line:var(--up-line); --accent:var(--up-accent);
    --container-max:1320px; --radius-lg:16px; color-scheme:dark;
}
body { background:var(--up-bg); color:var(--up-text); -webkit-font-smoothing:antialiased; }
*,*::before,*::after { box-sizing:border-box; }
[hidden] { display:none!important; }
main { min-width:0; }
:is(a,button,summary,input,select):focus-visible { outline:3px solid var(--up-focus); outline-offset:3px; }
button,input,select { font:inherit; }
a,button { -webkit-tap-highlight-color:transparent; }
.v2-kicker { display:flex; align-items:center; gap:8px; color:var(--up-accent); font-size:.72rem; font-weight:750; letter-spacing:.1em; line-height:1.5; text-transform:uppercase; }
.v2-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:11px 18px; border:1px solid var(--up-accent); border-radius:9px; background:var(--up-accent); color:var(--up-accent-ink); font-weight:750; font-size:.9rem; text-decoration:none; }
.v2-button:hover { color:var(--up-accent-ink); background:#c7f4d4; border-color:#c7f4d4; }
.v2-button.is-secondary { background:transparent; color:var(--up-text); border-color:var(--up-line); }
.v2-button.is-secondary:hover { background:var(--up-raised); }
.v2-text-link { display:inline-flex; gap:8px; align-items:center; min-height:44px; color:var(--up-accent); font-size:.84rem; font-weight:650; }
.v2-text-link:hover { color:#d9f8e3; text-decoration:underline; text-underline-offset:4px; }
.v2-panel { min-width:0; border:1px solid var(--up-line); border-radius:14px; background:var(--up-surface); }
.v2-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; }
.v2-section-head h2 { margin:3px 0 0; color:var(--up-text); font-size:1.18rem; letter-spacing:-.025em; font-weight:750; }
.v2-section-head p { margin:6px 0 0; color:var(--up-muted); font-size:.84rem; }
.v2-section-head>a { flex:none; }
.v2-header { position:relative; z-index:50; background:#0d161e; border-bottom:1px solid var(--up-line); }
.v2-navbar { display:flex; align-items:center; gap:28px; min-height:82px; }
.v2-brand { display:flex; align-items:center; gap:11px; flex:none; color:var(--up-text); }
.v2-brand img { object-fit:contain; }
.v2-brand strong { display:block; font-size:1.38rem; line-height:1.1; letter-spacing:-.055em; font-weight:800; }
.v2-brand strong span { color:var(--up-accent); }
.v2-brand small { display:block; margin-top:6px; color:var(--up-muted); font-size:.55rem; letter-spacing:.09em; }
.v2-nav-actions { display:flex; align-items:center; gap:6px; order:3; margin-left:auto; }
.v2-icon-button,.v2-language { display:inline-flex; align-items:center; justify-content:center; width:44px; min-height:44px; border:1px solid var(--up-line); border-radius:9px; color:var(--up-text); background:transparent; font-size:.9rem; }
.v2-language { font-size:.75rem; font-weight:750; }
.v2-icon-button:hover,.v2-language:hover { background:var(--up-raised); }
.v2-main-nav { align-items:center; gap:22px; flex:1; }
.v2-nav-link,.v2-explore-menu>summary { display:flex; align-items:center; gap:7px; min-height:46px; color:#c0cdd7; font-size:.85rem; font-weight:650; white-space:nowrap; }
.v2-nav-link.is-active { color:var(--up-accent); box-shadow:inset 0 -2px var(--up-accent); }
.v2-nav-live .nav-live-dot { background:var(--up-live); width:6px; height:6px; animation:none; box-shadow:none; }
.v2-explore-menu { position:relative; }
.v2-explore-menu>summary { cursor:pointer; list-style:none; }
.v2-explore-menu>summary::-webkit-details-marker { display:none; }
.v2-explore-menu>summary>i { font-size:.6rem; }
.v2-explore-panel { position:absolute; top:calc(100% + 10px); right:0; width:310px; max-width:calc(100vw - 32px); padding:8px; border:1px solid var(--up-line); border-radius:12px; background:#14212c; box-shadow:0 16px 40px #0006; }
.v2-explore-panel>a { display:flex; align-items:center; gap:12px; min-height:46px; padding:10px 12px; border-radius:7px; color:#d5e0e9; font-size:.84rem; }
.v2-explore-panel>a:hover,.v2-explore-panel>a[aria-current] { background:#233747; color:#fff; }
.v2-explore-panel>a>i { width:18px; color:var(--up-accent); }
.v2-nav-game { display:flex; align-items:center; gap:9px; min-height:44px; margin-left:auto; padding:9px 13px; border:1px solid #5c745b; border-radius:8px; color:#d5edcb; font-size:.8rem; font-weight:700; white-space:nowrap; }
.v2-nav-game>i:last-child { font-size:.58rem; color:#a6bc9f; }
.v2-nav-game:hover { background:#243827; color:#fff; }
.v2-menu-toggle,.v2-mobile-nav { display:none; }
.v2-store-links { display:flex; align-items:stretch; flex-wrap:wrap; gap:10px; }
.v2-store-links>a { display:flex; align-items:center; justify-content:center; gap:12px; min-width:145px; min-height:56px; padding:10px 16px; border:1px solid #526372; border-radius:9px; background:#17242e; color:#fff; }
.v2-store-links>a:hover { border-color:var(--up-accent); background:#20343a; }
.v2-store-links i { width:23px; font-size:1.5rem; text-align:center; }
.v2-store-links small,.v2-store-links strong { display:block; line-height:1.35; }
.v2-store-links small { color:#b8c8d3; font-size:.68rem; }
.v2-store-links strong { font-size:.91rem; font-weight:700; }
.up3-footer-wrap { background:#0d161e; border-top:1px solid var(--up-line); }
.up3-footer { max-width:var(--container-max); }
.up3-footer-spotlight,.up3-footer-grid { background:none; box-shadow:none; }
.up3-footer :is(a,button) { min-height:36px; }
.up3-footer p { color:var(--up-muted); }
.site-ad-slot { display:none; }
/* The existing loader adds this class only when the AdSense script is present. */
html.up-ads-enabled .site-ad-slot:not(.is-unavailable):not(:has(ins[data-ad-status="unfilled"])) { display:block; min-height:130px; margin:24px 0; padding:10px 0; overflow:hidden; border-block:1px solid var(--up-line); background:#0d161e; }
.site-ad-slot ins { min-height:100px; max-width:100%; }
.site-ad-label { display:block; margin-bottom:6px; color:var(--up-muted); font-size:.65rem; letter-spacing:.1em; text-align:center; text-transform:uppercase; }
@media(min-width:1200px) { .v2-main-nav.collapse { display:flex; } }
@media(max-width:1199.98px) {
    .v2-navbar { flex-wrap:wrap; gap:0; min-height:72px; padding-block:12px; }
    .v2-brand { margin-right:auto; }
    .v2-nav-actions { order:0; margin-left:8px; }
    .v2-menu-toggle { display:inline-flex; }
    .v2-main-nav { flex:0 0 100%; padding-top:12px; }
    .v2-main-nav.show { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 14px; }
    .v2-nav-link,.v2-explore-menu>summary { min-height:46px; padding:8px 10px; border-radius:7px; background:var(--up-surface); white-space:normal; }
    .v2-explore-menu { grid-column:1/-1; grid-row:3; }
    .v2-explore-panel { position:static; width:100%; max-width:none; box-shadow:none; margin-top:6px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .v2-nav-game { margin:0; justify-content:center; white-space:normal; }
    .v2-mobile-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding-block:0; }
    .v2-mobile-nav>a { display:flex; justify-content:center; align-items:center; gap:7px; min-height:46px; color:#becdd8; font-size:.78rem; font-weight:650; }
    .v2-mobile-nav>a.v2-mobile-game { color:var(--up-accent); }
}
@media(max-width:575.98px) {
    .v2-navbar { min-height:66px; padding-block:9px; }
    .v2-brand { gap:6px; }
    .v2-brand img { width:30px; height:30px; }
    .v2-brand strong { font-size:1.17rem; }
    .v2-brand small { font-size:.43rem; margin-top:4px; letter-spacing:.035em; }
    .v2-nav-actions { gap:3px; margin-left:3px; }
    .v2-language { width:30px; border-color:transparent; }
    .v2-icon-button { width:36px; }
    .v2-mobile-nav>a { gap:5px; font-size:.7rem; }
    .v2-explore-panel { grid-template-columns:1fr; }
    .v2-section-head { padding:16px; gap:10px; }
    .v2-section-head h2 { font-size:1.08rem; }
    .v2-store-links>a { min-width:0; flex:1 1 120px; padding:10px 12px; }
    html.up-ads-enabled .site-ad-slot:not(.is-unavailable):not(:has(ins[data-ad-status="unfilled"])) { min-height:130px; }
}
@media(prefers-reduced-motion:reduce) {
    html,html:focus-within { scroll-behavior:auto; }
    *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* Card and store actions use their full surface as the affordance. */
main .v2-store-links>a[href],main .v2-explore-grid>a[href] { color:var(--up-text); text-decoration:none; }
main .v2-following-chips>a[href] { color:#d8efde; text-decoration:none; }
