*{box-sizing:border-box}

:root{
  --bg:#0d0a17;
  --bg-raised:#171025;
  --bg-sunken:#08060f;
  --ink:#f8f5ff;
  --ink-dim:#eee7ffb8;
  --ink-faint:#eee7ff80;
  --line:#ad74ff3d;
  --line-strong:#d38dff7a;
  --purple:#7b2ff7;
  --magenta:#c239b3;
  --pink:#ff3d9a;
  --cyan:#4bdcff;
  --gold:#ffd84a;
  --success:#48ed83;
  --error:#ff7cae;
  --brand:#6d3fd6;
  --brand-hover:#7f52e6;
  --radius-sm:8px;
  --radius-md:16px;
  --radius-lg:24px;
  --shadow-sm:0 12px 28px #06040e66;
  --shadow-md:0 22px 50px #06040e80;
  --glass-bg:linear-gradient(165deg,#ffffff1c,#ffffff06 40%,#ffffff0c 100%),#140e22b3;
  --glass-border:1px solid #ffffff33;
  --glass-blur:blur(24px) saturate(1.6);
  --glass-sheen:inset 0 1.5px 0 #ffffff55,inset 0 0 0 1px #ffffff0d,inset 0 -12px 24px -12px #ffffff14;
  --title-gradient:linear-gradient(100deg,#fff 0%,#e8d9ff 18%,var(--cyan) 42%,var(--magenta) 62%,var(--pink) 82%,#fff 100%);
  --font-display:"Space Grotesk","Arial Black",sans-serif;
  --font-body:"Manrope",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;
  color-scheme:dark;
}

html{scroll-behavior:smooth}
html::-webkit-scrollbar{width:10px}
html::-webkit-scrollbar-track{background:var(--bg-sunken)}
html::-webkit-scrollbar-thumb{border:2px solid var(--bg-sunken);border-radius:999px;background:linear-gradient(180deg,var(--purple),var(--magenta),var(--pink))}

body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;overflow-x:clip}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
a,button{-webkit-tap-highlight-color:transparent}
button{font-family:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px}

.skip-link{position:fixed;top:8px;left:8px;z-index:300;background:var(--pink);color:#fff;font:600 14px var(--font-body);padding:10px 16px;border-radius:var(--radius-sm);transform:translateY(-200%);transition:transform .2s}
.skip-link:focus-visible{transform:translateY(0)}

/* ===== Header ===== */
.topbar{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:100;display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;width:min(1280px,92vw);height:72px;padding:0 28px;border-radius:999px;
  background:linear-gradient(165deg,#ffffff22,#ffffff05 45%,#ffffff0a 100%),#140e2559;
  backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);
  border:1px solid #ffffff2e;
  box-shadow:inset 0 1.5px 0 #ffffff60,inset 0 -1px 0 #ffffff12,0 12px 40px #06040e66}
.topbar::before{content:"";position:absolute;top:0;left:14%;right:14%;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,#ffffffa0,transparent);pointer-events:none}
.nav-group{display:flex;align-items:center;gap:36px;font-size:15px;font-weight:600}
.nav-group a{color:var(--ink-dim);transition:color .2s}
.nav-group a:hover{color:#fff}
.nav-left{justify-self:end;margin-right:40px}
.nav-right{justify-self:start;margin-left:40px;margin-right:32px}
.brand{display:flex;align-items:center;gap:10px;grid-column:2;justify-self:center}
.brand img{width:40px;height:40px;filter:drop-shadow(0 0 12px #9a57ff66)}
.brand span{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:.01em;color:#fff}
.nav-discord-link{display:inline-flex;align-items:center;gap:8px}
.nav-shop-link{padding:8px 18px;border-radius:999px;background:linear-gradient(165deg,#ffffff2e,#ffffff08 50%),var(--brand);border:1px solid #ffffff33;box-shadow:inset 0 1px 0 #ffffff50;color:#fff!important;font-weight:700;transition:all .2s}
.nav-shop-link:hover{background:linear-gradient(165deg,#ffffff38,#ffffff0c 50%),var(--brand-hover);transform:translateY(-1px)}

.account-actions{grid-column:4;display:flex;align-items:center;justify-self:end}
.account-capsule{display:flex;align-items:center;gap:8px;padding:4px;border-radius:999px;border:var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-sheen);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}
.capsule-login,.capsule-cart{display:flex;align-items:center;border-radius:999px;background:none;border:0;color:#fff;cursor:pointer;gap:8px;font-size:14px;font-weight:600;transition:background .15s,color .15s}
.capsule-login{padding:9px 16px 9px 10px}
.capsule-cart{gap:10px;padding:9px 16px 9px 14px}
.capsule-login:hover,.capsule-cart:hover{background:#ffffff12}
.capsule-icon{width:26px;height:26px;border-radius:50%;background:#2a1f45;border:1px solid #a98bff66;display:grid;place-items:center;overflow:hidden;flex:0 0 26px}
.capsule-icon img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:pixelated}
.capsule-icon-glyph{width:16px;height:16px;color:#a98bff}
.capsule-divider{width:1px;height:26px;background:linear-gradient(180deg,transparent,#ffffff3d,transparent)}
.header-cart-wrap{position:relative}
.login-wrap{position:relative}
.login-dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:160px;z-index:50;padding:6px;border-radius:var(--radius-sm);border:var(--glass-border);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-sheen),var(--shadow-sm)}
.login-dropdown[hidden]{display:none}
.login-dropdown button{width:100%;padding:10px 14px;border-radius:calc(var(--radius-sm) - 2px);background:none;border:0;color:var(--error);font:600 13px var(--font-body);text-align:left;cursor:pointer;transition:background .15s}
.login-dropdown button:hover{background:#ff7cae1a}
@media (hover:hover){
  .login-wrap.is-logged-in:hover .login-dropdown[hidden]{display:block}
}
.capsule-cart-total{color:var(--ink-dim);font-variant-numeric:tabular-nums}
.capsule-cart-badge{background:var(--brand);color:#fff;border-radius:999px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:800}
.capsule-cart-badge.is-empty{display:none}
.header-cart-owner{color:var(--ink-faint);font-size:13px;margin:12px 0 0;padding-bottom:10px;border-bottom:1px solid var(--line)}
.header-cart-owner strong{color:#fff;font-weight:700}

.header-cart-panel{position:absolute;top:56px;right:0;z-index:120;width:340px;max-height:70vh;overflow-y:auto;border:var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-sheen),var(--shadow-md);padding:20px}
.header-cart-panel[hidden]{display:none}
.header-cart-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;font-size:16px}
.header-cart-title button{background:none;border:0;color:var(--ink-faint);font-size:22px;cursor:pointer}
.header-cart-title button:hover{color:var(--pink)}
.header-cart-items{display:grid}
.cart-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover;background:var(--bg-sunken)}
.cart-item-info{flex:1;min-width:0;display:grid;gap:2px}
.cart-item-info strong{font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-info span{font-size:12px;color:var(--ink-faint)}
.cart-item-remove{background:none;border:0;color:var(--ink-faint);cursor:pointer;font-size:18px;padding:4px}
.cart-item-remove:hover{color:var(--error)}
.header-cart-empty{text-align:center;color:var(--ink-faint);font-size:13px;padding:22px 0}
.header-cart-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:14px;font-size:13px;color:var(--ink-dim)}
.header-cart-total strong{color:#fff;font-family:var(--font-display);font-size:22px}
.checkout-button{width:100%;min-height:48px;margin-top:14px;border:1px solid #ffffff33;border-radius:var(--radius-sm);background:linear-gradient(165deg,#ffffff2e,#ffffff08 50%),var(--brand);box-shadow:inset 0 1px 0 #ffffff50;color:#fff;font:700 14px var(--font-body);cursor:pointer;transition:all .2s}
.checkout-button:hover{background:linear-gradient(165deg,#ffffff38,#ffffff0c 50%),var(--brand-hover)}
.checkout-button:disabled{opacity:.5;cursor:not-allowed}

.menu-toggle{display:none}

/* ===== Mobile nav ===== */
.mobile-menu{display:none}
@media (max-width:900px){
  .topbar{justify-content:space-between;height:70px;padding:0 20px}
  .nav-group,.account-actions{display:none}
  .brand{grid-column:auto;justify-self:start}
  .brand span{display:none}
  .menu-toggle{display:grid;place-items:center;gap:5px;width:40px;height:40px;background:#140e25;border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer}
  .menu-toggle span{width:20px;height:2px;background:#fff;display:block;transition:all .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{display:grid;position:fixed;top:98px;left:14px;right:14px;z-index:95;gap:6px;padding:18px;border-radius:var(--radius-md);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-sheen);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .25s}
  .mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0)}
  .mobile-menu a{padding:12px 10px;border-bottom:1px solid #ffffff0f;color:var(--ink-dim);font-weight:600}
}

/* ===== Hero ===== */
.hero{position:relative;min-height:96vh;display:flex;align-items:center;overflow:hidden;padding-top:84px}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(1.1)}
.hero-overlay{position:absolute;inset:0;background:
  linear-gradient(180deg,transparent 60%,var(--bg) 100%),
  linear-gradient(90deg,#08060fad 0,#08060f70 32%,transparent 60%),
  linear-gradient(115deg,#7b2ff750 0,#c239b330 24%,transparent 46%,#ff3d9a35 68%,#4bdcff2a 88%,#7b2ff73d 100%)}
.hero-inner{position:relative;z-index:2;max-width:1360px;width:100%;margin:0 auto;padding:40px 5vw 90px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;align-items:center}
.hero-copy{max-width:560px}
.eyebrow{font-family:var(--font-mono);color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:600;margin:0 0 14px;text-shadow:0 2px 10px #000000cc}
.hero h1{font-family:var(--font-display);font-size:clamp(44px,6vw,76px);font-weight:700;margin:0;line-height:1;
  background:var(--title-gradient);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 24px #8952ff80) drop-shadow(0 2px 18px #000000e0);
  animation:title-shimmer 7s ease-in-out infinite}
@keyframes title-shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hero-desc{margin:22px 0 0;color:#ffffff;font-size:18px;font-weight:500;line-height:1.75;text-shadow:0 2px 14px #000000f0,0 1px 4px #000000f5}
.hero-actions{display:flex;flex-direction:column;gap:14px;margin-top:30px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:var(--radius-sm);font-size:14px;font-weight:700;transition:all .2s;cursor:pointer}
.btn-primary{background:linear-gradient(165deg,#ffffff2e,#ffffff08 50%),var(--brand);color:#fff;border:1px solid #ffffff33;box-shadow:inset 0 1px 0 #ffffff50}
.btn-primary:hover{background:linear-gradient(165deg,#ffffff38,#ffffff0c 50%),var(--brand-hover);transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff60,0 10px 26px #6d3fd659}
.btn-outline{background:var(--glass-bg);color:var(--ink);border:var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-sheen)}
.btn-outline:hover{border-color:#deb3ffbf;box-shadow:0 0 18px #7c55ff38;transform:translateY(-2px)}

.hero-image-btn{display:block;width:240px;min-width:220px;height:60px;padding:0;background:none;border:0;box-shadow:none;position:relative;overflow:hidden;transition:transform .25s}
.hero-image-btn img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .25s,filter .25s}
.hero-image-btn:hover{transform:translateY(-3px) scale(1.035)}
.hero-image-btn:hover img{filter:brightness(1.15) saturate(1.1);transform:scale(1.04)}

.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:18px 16px;max-width:460px;margin-top:34px}
.stat{display:flex;align-items:center;gap:11px;min-width:0;padding-right:10px}
.stat:not(:last-child){border-right:1px solid var(--line)}
.stat-icon{flex:0 0 auto;filter:drop-shadow(0 0 9px #ffffff40)}
.stat-icon img{width:26px;height:26px;object-fit:contain;display:block}
.stat strong{display:block;font-family:var(--font-display);font-size:17px;font-weight:700;color:#fff;text-shadow:0 2px 8px #000000cc}
.stat span{display:flex;align-items:center;gap:5px;margin-top:3px;color:#d9d2f0e6;font-size:11px;text-shadow:0 1px 6px #000000b3}
.online-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 9px #48ed83e6;display:inline-block;animation:pulse 1.4s ease-out infinite}
@keyframes pulse{70%{box-shadow:0 0 0 7px #48ed8300}to{box-shadow:0 0 #48ed8300}}

.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;background:none;border:1px solid var(--line-strong);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;color:var(--ink);cursor:pointer;animation:bob 2s ease-in-out infinite;backdrop-filter:blur(8px)}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* ===== Game grid (hero) ===== */
.game-grid{display:grid;gap:22px;width:100%}
.game-card{position:relative;border-radius:var(--radius-md);overflow:hidden;border:var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-sheen),var(--shadow-sm);min-height:150px;transition:all .3s}
.game-card:hover{border-color:#c676ffb3;transform:translateY(-4px);box-shadow:inset 0 1px 0 #ffffff45,0 20px 40px #14082d80,0 0 24px #ae53ff40}
.game-image{position:absolute;inset:0;overflow:hidden;background:var(--bg-sunken)}
.game-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.game-card:hover .game-image img{transform:scale(1.04)}
.game-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070c1aef 32%,transparent 85%)}
.game-body{position:relative;z-index:1;padding:22px 24px;min-height:150px;display:flex;flex-direction:column;justify-content:center;max-width:280px}
.game-body h3{font-family:var(--font-display);color:#fff;font-size:19px;margin:0 0 6px}
.game-body p{color:var(--ink-dim);font-size:13px;line-height:1.5;margin:0}

@media (min-width:901px){
  .game-grid{grid-template-columns:1fr}
}

/* ===== Server meta row (IP + version) ===== */
.server-meta-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:28px;margin-top:18px}
.server-address{display:flex;align-items:center;gap:10px}
.server-address-main{display:grid;gap:4px;justify-items:start;text-align:left;background:none;border:0;cursor:pointer;padding:0}
.server-address-label{display:block;color:var(--cyan);font-size:12px;font-weight:700;white-space:nowrap;text-shadow:0 2px 8px #000000cc}
.server-address strong{color:#fff;font-family:var(--font-mono);font-size:19px;font-weight:500;text-shadow:0 0 18px #8952ffad,0 0 32px #ce5dff61,0 2px 10px #000000e0;transition:all .2s}
.server-address-main:hover strong{color:#fff;text-shadow:0 0 16px #4bdcffd9}
.copy-status{width:28px;height:28px;display:grid;place-items:center;color:var(--cyan);background:#120c22;border:1px solid var(--line-strong);border-radius:50%;cursor:pointer;padding:0;transition:all .2s}
.copy-status:hover{border-color:var(--cyan);box-shadow:0 0 14px #4bdcff40}
.copy-status.copied{color:var(--success);border-color:var(--success)}
.server-version{display:grid;gap:4px}
.server-version span{color:var(--cyan);font-size:12px;font-weight:700;text-shadow:0 2px 8px #000000cc}
.server-version strong{color:#fff;font-family:var(--font-mono);font-size:16px;font-weight:500;text-shadow:0 0 14px #8952ff80,0 2px 10px #000000e0}

/* ===== Account connect ===== */
.account-connect{padding:100px 6vw;background:var(--bg)}

.account-connect-card{position:relative;max-width:720px;margin:44px auto 0;display:flex;align-items:center;gap:28px;padding:28px 36px;border-radius:var(--radius-lg);border:var(--glass-border);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-sheen),var(--shadow-md);overflow:hidden}
.account-connect-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle 240px at 0% 0%,#4bdcff22,transparent 70%);pointer-events:none}
.account-connect-card img{position:relative;flex:0 0 auto;border-radius:var(--radius-sm);image-rendering:pixelated;background:var(--bg-sunken)}
.account-connect-card-body{position:relative;flex:1;min-width:0}
.account-connect-card-body strong{display:block;color:#fff;font-family:var(--font-display);font-size:17px;margin-bottom:12px}
.account-connect-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.account-connect-list li{position:relative;padding-left:22px;color:var(--ink-dim);font-size:13px;line-height:1.5}
.account-connect-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--success);font-weight:700}
.account-connect-card .btn{position:relative;flex:0 0 auto;white-space:nowrap}

@media (max-width:700px){
  .account-connect-card{flex-direction:column;text-align:center;padding:32px 24px}
  .account-connect-list{text-align:left}
}

/* ===== Voting section ===== */
.voting-section{padding:120px 6vw;position:relative;overflow:hidden}
.voting-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.65) saturate(1.1)}
.voting-overlay{position:absolute;inset:0;background:
    linear-gradient(180deg,var(--bg) 0,transparent 16%,transparent 84%,var(--bg) 100%),
    radial-gradient(ellipse 900px 600px at 50% 45%,#0d0a1766,transparent 70%)}

.voting-section .section-head,
.voting-sites,
.vote-leaderboard{position:relative;z-index:1}

.voting-sites{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

/* Liquid-glass card: frosted panel, soft top sheen, colored inner glow */
.voting-site-card{--site-accent:#4bdcff;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:36px 28px 28px;border-radius:var(--radius-lg);
  background:linear-gradient(165deg,#ffffff1e,#ffffff05 45%,#ffffff0a 100%),#ffffff08;
  backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);
  border:1px solid #ffffff2e;
  box-shadow:
    inset 0 1.5px 0 #ffffff65,
    inset 0 -14px 28px -16px #ffffff1c,
    inset 0 0 40px color-mix(in srgb,var(--site-accent) 6%,transparent),
    0 18px 36px #06040e4d;
  transition:all .3s;overflow:hidden}
.voting-site-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:1;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--site-accent) 70%,transparent),transparent)}
.voting-site-card::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:
    radial-gradient(ellipse 260px 180px at 50% -20%,color-mix(in srgb,var(--site-accent) 22%,transparent),transparent 72%),
    linear-gradient(115deg,#ffffff00 42%,#ffffff20 49%,#ffffff34 50%,#ffffff20 51%,#ffffff00 58%)}
.voting-site-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--site-accent) 45%,#ffffff30);
  box-shadow:
    inset 0 1.5px 0 #ffffff80,
    inset 0 -14px 28px -16px #ffffff26,
    inset 0 0 50px color-mix(in srgb,var(--site-accent) 10%,transparent),
    0 24px 48px #06040e66,0 0 30px color-mix(in srgb,var(--site-accent) 22%,transparent)}
.voting-site-icon{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--site-accent) 28%,transparent),color-mix(in srgb,var(--site-accent) 8%,transparent) 70%);
  border:1px solid color-mix(in srgb,var(--site-accent) 40%,#ffffff30);color:#fff;
  box-shadow:0 0 0 6px color-mix(in srgb,var(--site-accent) 6%,transparent),0 4px 16px color-mix(in srgb,var(--site-accent) 25%,transparent)}
.voting-site-name{position:relative;z-index:1;font-family:var(--font-display);color:#fff;font-size:19px;font-weight:700;margin-top:4px}
.voting-site-desc{position:relative;z-index:1;margin:0;color:var(--ink-dim);font-size:13px;line-height:1.55;flex:1}
.voting-site-btn{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin-top:8px;padding:0 20px;border-radius:999px;
  background:linear-gradient(165deg,#ffffff20,#ffffff05 60%),color-mix(in srgb,var(--site-accent) 20%,#140e2299);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid color-mix(in srgb,var(--site-accent) 45%,#ffffff30);
  color:#fff;font-size:13.5px;font-weight:700;
  box-shadow:inset 0 1px 0 #ffffff40,0 4px 14px color-mix(in srgb,var(--site-accent) 16%,transparent);
  transition:all .2s}
.voting-site-btn:hover{transform:translateY(-2px);background:linear-gradient(165deg,#ffffff2c,#ffffff08 60%),color-mix(in srgb,var(--site-accent) 32%,#140e2299);box-shadow:inset 0 1px 0 #ffffff55,0 8px 20px color-mix(in srgb,var(--site-accent) 28%,transparent)}
.voting-site-btn:hover svg{transform:translateX(3px)}
.voting-site-btn svg{transition:transform .2s}

.vote-leaderboard{max-width:1080px;margin:64px auto 0}
.vote-leaderboard-title{font-family:var(--font-display);color:#fff;font-size:16px;font-weight:700;margin:0 0 16px;text-align:left}
.vote-leaderboard-placeholder{border:1px dashed var(--line-strong);border-radius:var(--radius-md);padding:36px 24px;color:var(--ink-faint);font-size:14px;text-align:center}

@media (max-width:860px){
  .voting-sites{grid-template-columns:1fr;max-width:420px}
}

/* ===== Sections ===== */
.section-head{max-width:720px;margin:0 auto 40px;text-align:center;padding:0 24px}
.section-head h2{font-family:var(--font-display);font-size:clamp(32px,4.4vw,52px);font-weight:700;margin:10px 0 16px;line-height:1.1;
  background:var(--title-gradient);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 20px #0000009e);
  animation:title-shimmer 7s ease-in-out infinite}
.section-sub{color:#ffffff;font-size:17px;font-weight:500;line-height:1.75;margin:0;text-shadow:0 2px 14px #000000f0,0 1px 4px #000000f5}

.features{position:relative;overflow:hidden;padding:110px 6vw}
.features-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(1.05)}
.features-overlay{position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0,transparent 14%,transparent 86%,var(--bg) 100%),linear-gradient(90deg,#08060fcc 0,transparent 45%)}
.features-inner{position:relative;z-index:1;max-width:1240px;margin:0 auto}

.server-features{min-width:0;margin-top:48px}
.feature-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.feature-marquee-track{display:flex;gap:16px;width:max-content;animation:feature-marquee 32s linear infinite}
.feature-marquee:hover .feature-marquee-track{animation-play-state:paused}
@keyframes feature-marquee{to{transform:translateX(calc(-50% - 8px))}}
.feature-banner{position:relative;flex:0 0 clamp(240px,20vw,290px);border-radius:var(--radius-md);overflow:hidden;border:var(--glass-border);box-shadow:var(--glass-sheen),var(--shadow-sm);transition:all .25s}
.feature-banner:hover{border-color:#ff3d9ab3;transform:translateY(-4px);box-shadow:inset 0 1px 0 #ffffff45,0 0 30px #7b2ff759,0 0 46px #ff3d9a33}
.feature-banner img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .4s}
.feature-banner:hover img{transform:scale(1.04)}
.feature-banner-body{position:absolute;left:0;right:0;bottom:0;padding:16px 16px 18px;background:linear-gradient(180deg,transparent,#0a0712f0 55%)}
.feature-banner-body h3{font-family:var(--font-display);color:#fff;font-size:15px;font-weight:700;margin:0 0 5px;line-height:1.2;text-shadow:0 2px 8px #000000cc}
.feature-banner-body p{color:#e9e2ffd9;font-size:11.5px;line-height:1.4;margin:0;text-shadow:0 1px 6px #000000b3}
.feature-caption{max-width:700px;margin:28px 0 0;color:#f2eeffe6;font-size:16px;font-weight:500;line-height:1.75;text-shadow:0 2px 12px #000000d9,0 1px 4px #000000f0}

@media (max-width:560px){.features{padding:90px 6vw}}

.server-cta{max-width:560px;margin:64px auto 0;padding:0 24px}
.rating-card{border:var(--glass-border);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-sheen);border-radius:var(--radius-md);padding:24px}
.rating-card-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:16px;gap:12px}
.rating-score{display:flex;align-items:baseline;gap:10px}
.rating-score strong{font-family:var(--font-display);font-size:26px;color:#fff}
.rating-stars{color:#b9a6ff;font-size:14px}
.rating-card-label{color:var(--ink-faint);font-size:13px}
.rating-quotes{display:grid;gap:14px;padding-top:16px}
.rating-quote{border-top:1px solid var(--line);padding-top:14px}
.rating-quote:first-child{border-top:0;padding-top:0}
.rating-quote p{margin:0;font-size:14px;color:var(--ink);line-height:1.55}
.rating-quote span{display:block;margin-top:8px;font-size:12px;font-weight:700;color:#b9a6ff}
.vote-button{display:grid;gap:12px;justify-items:start;background:linear-gradient(165deg,#ffffff2e,#ffffff08 50%),var(--brand);color:#fff;border:1px solid #ffffff33;border-radius:var(--radius-md);padding:24px;min-width:200px;box-shadow:inset 0 1px 0 #ffffff50,0 8px 18px #00000059;transition:all .15s}
.vote-button:hover{background:linear-gradient(165deg,#ffffff38,#ffffff0c 50%),var(--brand-hover);transform:translateY(-2px)}
.vote-button span:first-child{font-weight:800;font-size:15px}
.vote-reward{font-family:var(--font-mono);background:#00000052;border-radius:6px;padding:6px 12px;font-size:12px}

/* ===== Shop ===== */
.shop-section{position:relative;overflow:hidden;padding:120px 6vw 140px;background:#0d0a17}
.shop-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:brightness(.7) saturate(1.1)}
.shop-overlay{position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,transparent 34%,transparent 78%,var(--bg) 100%),radial-gradient(circle at 78% 20%,#ff3d9a14,transparent 34%),radial-gradient(circle at 18% 70%,#4bdcff10,transparent 30%)}
.shop-inner{position:relative;z-index:1}
.shop-status{text-align:center;color:var(--ink-faint);font-size:14px;padding:40px 0}
.shop-categories{max-width:1200px;margin:0 auto;display:grid;gap:64px}
.shop-category-head{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}
.shop-category-head h3{font-family:var(--font-display);color:#fff;font-size:26px;margin:0;text-shadow:0 0 20px #8952ff4d}
.shop-category-head .count{color:var(--ink-faint);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:999px;background:#ffffff0f;border:1px solid #ffffff1a}
.shop-category-blurb{margin:0 0 24px;color:#ffffff;font-size:15px;font-weight:500;line-height:1.6;max-width:640px;text-shadow:0 2px 10px #000000d9}
.shop-category-showcase{display:inline-block;margin:0 0 28px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid #ffffff22;background:linear-gradient(165deg,#ffffff14,#ffffff04 60%),#140e25b3;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-sheen),0 8px 20px #06040e4d}
.shop-category-showcase img{display:block;max-width:100%;height:auto;border-radius:4px;filter:contrast(1.05) saturate(.85) brightness(.75)}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.shop-grid-pairs{grid-template-columns:repeat(2,minmax(220px,1fr));max-width:660px;margin:0}
.shop-grid-pairs .shop-card{flex-direction:row;align-items:center;gap:14px;padding:14px}
.shop-grid-pairs .shop-card-image{height:64px;width:64px;flex:0 0 64px;border-radius:var(--radius-sm)}
.shop-grid-pairs .shop-card-image img{width:70%;height:70%;margin:15% auto 0}
.shop-grid-pairs .shop-card-content{padding:0;margin-top:0;min-width:0;flex:1}
.shop-grid-pairs .shop-card h4{font-size:13.5px;margin-bottom:4px;line-height:1.25;white-space:normal}
.shop-grid-pairs .shop-card p{display:none}
.shop-grid-pairs .product-bottom{margin-top:8px;padding-top:0;border-top:0}
.shop-grid-pairs .product-bottom strong{font-size:15px}
.shop-grid-pairs .buy-button{min-height:30px;padding:0 14px;font-size:11.5px}

.shop-grid-row{grid-template-columns:repeat(5,minmax(0,1fr))}
.shop-grid-row .shop-card{cursor:pointer}
.shop-grid-row .shop-card-image{height:170px}
.shop-grid-row .shop-card-image img{width:62%;height:62%;margin:19% auto 0}
.shop-grid-row .shop-card-content{padding:16px 16px 18px}
.shop-grid-row .shop-card h4{font-size:14.5px;margin-bottom:6px;line-height:1.3}
.shop-grid-row .shop-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px}
.shop-grid-row .product-bottom{margin-top:12px;padding-top:12px;flex-direction:column;align-items:stretch;gap:9px}
.shop-grid-row .product-bottom strong{font-size:17px;text-align:center}
.shop-grid-row .buy-button{min-height:34px;padding:0 10px;font-size:12px;flex:1}
@media (max-width:900px){.shop-grid-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.shop-grid-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.shop-card{position:relative;border:1px solid #ffffff2a;border-radius:var(--radius-md);
  background:linear-gradient(165deg,#ffffff20,#ffffff06 40%,#ffffff0c 100%),#140e25c7;
  backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
  box-shadow:inset 0 1.5px 0 #ffffff60,inset 0 -14px 26px -16px #ffffff1c,0 10px 24px #06040e4d,0 0 0 #c239b300;
  overflow:hidden;transition:all .35s cubic-bezier(.2,.8,.3,1);display:flex;flex-direction:column;animation:shop-card-idle 4.5s ease-in-out infinite}
.shop-card:nth-child(2n){animation-delay:-1.5s}
.shop-card:nth-child(3n){animation-delay:-3s}
@keyframes shop-card-idle{0%,100%{box-shadow:inset 0 1.5px 0 #ffffff60,inset 0 -14px 26px -16px #ffffff1c,0 10px 24px #06040e4d,0 0 0 #c239b300}50%{box-shadow:inset 0 1.5px 0 #ffffff60,inset 0 -14px 26px -16px #ffffff1c,0 10px 24px #06040e4d,0 0 22px #c239b326}}
.shop-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:2;
  background:linear-gradient(90deg,transparent,var(--pink),transparent);opacity:0;transition:opacity .3s}
.shop-card::after{content:"";position:absolute;top:-60%;left:-20%;width:70%;height:140%;z-index:1;pointer-events:none;
  background:linear-gradient(115deg,#ffffff00 40%,#ffffff22 48%,#ffffff38 50%,#ffffff22 52%,#ffffff00 60%);
  transform:rotate(8deg);opacity:.6}
.shop-card:hover{animation-play-state:paused;border-color:#ff3d9a99;transform:translateY(-10px) scale(1.015);
  box-shadow:inset 0 1.5px 0 #ffffff80,inset 0 -14px 26px -16px #ffffff26,0 28px 52px #0000006b,0 0 48px #c239b359,0 0 90px #7b2ff733}
.shop-card:hover::before{opacity:1}
.shop-card-image{position:relative;height:190px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#2a1d4d,#140e25 75%)}
.shop-card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#140e25f0 100%)}
.shop-card-image img{position:relative;z-index:1;width:72%;height:72%;margin:14% auto 0;display:block;object-fit:contain;filter:drop-shadow(0 8px 24px #00000080);transition:transform .4s}
.shop-card:hover .shop-card-image img{transform:scale(1.1) translateY(-4px)}
.shop-card-bonus{position:absolute;top:10px;right:10px;z-index:1;display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;
  background:linear-gradient(135deg,var(--gold),#ff9d3d);color:#1a1206;font-size:11px;font-weight:800;
  box-shadow:0 3px 10px #ffb34a80,inset 0 1px 0 #ffffff80;letter-spacing:.01em}
.shop-card-content{position:relative;padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;margin-top:-24px}
.shop-card h4{font-family:var(--font-display);color:#fff;font-size:18px;margin:0 0 8px;line-height:1.25;text-shadow:0 2px 10px #000000b3}
.shop-card p{color:#ffffffa8;font-size:12.5px;line-height:1.6;margin:0;flex:1}
.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #ffffff16}
.product-bottom strong{color:#fff;font-family:var(--font-display);font-size:19px;letter-spacing:-.01em}
.buy-button{min-height:40px;padding:0 20px;border-radius:999px;color:#fff;font:700 13px var(--font-body);cursor:pointer;
  background:linear-gradient(165deg,#ffffff2e,#ffffff08 50%),var(--brand);border:1px solid #ffffff33;
  box-shadow:inset 0 1px 0 #ffffff50,0 4px 12px #6d3fd640;transition:all .2s}
.buy-button:hover{transform:translateY(-2px);background:linear-gradient(165deg,#ffffff38,#ffffff0c 50%),var(--brand-hover);box-shadow:inset 0 1px 0 #ffffff60,0 6px 18px #6d3fd659}
.buy-button.added{background:linear-gradient(165deg,#ffffff2e,#ffffff08 50%),var(--success);border-color:#ffffff40}
.product-bottom-actions{display:flex;align-items:center;gap:8px}
.cart-add-button{flex:0 0 auto;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;cursor:pointer;color:#fff;
  background:var(--glass-bg);border:var(--glass-border);box-shadow:var(--glass-sheen);transition:all .2s}
.cart-add-button:hover{border-color:#deb3ffbf;box-shadow:0 0 14px #7c55ff38;transform:translateY(-2px)}
.cart-add-button.added{background:linear-gradient(165deg,#ffffff2e,#ffffff08 50%),var(--success);border-color:#ffffff40}
.shop-grid-pairs .product-bottom-actions{gap:6px}
.shop-grid-pairs .cart-add-button{width:30px;height:30px}
.shop-grid-pairs .cart-add-button svg{width:13px;height:13px}
.shop-grid-row .product-bottom-actions{width:100%}
.shop-grid-row .cart-add-button{width:34px;height:34px;flex:0 0 34px}

/* ===== Footer ===== */
.site-footer{border-top:1px solid var(--line);background:linear-gradient(#0d0a17e0,#080611),radial-gradient(circle at 78% 12%,#7b2ff72e,transparent 34%);padding:64px 6vw 0}
.footer-main{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.1fr;gap:36px;padding-bottom:48px}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-brand img{width:40px;height:40px}
.footer-brand p{color:#d774ff;font-size:14px;font-weight:700;margin:4px 0 0}
.footer-brand span{color:#ffffff94;font-size:12px}
.footer-column{display:grid;align-content:start;gap:12px}
.footer-column strong{color:#c5a8ff;font-size:13px;margin-bottom:4px}
.footer-column a{color:#ffffff94;font-size:12px;transition:all .2s}
.footer-column a:hover{color:#fff;transform:translateX(3px)}
.footer-server{display:grid;align-content:start;gap:10px}
.footer-server>span{color:#c5a8ff;font-size:13px;font-weight:700}
.footer-server strong{color:#fff;font-family:var(--font-mono);font-size:15px;text-shadow:0 0 14px #8952ff99}
.footer-copy-ip{display:inline-flex;align-items:center;gap:8px;width:fit-content;min-height:34px;padding:0 12px;border-radius:var(--radius-sm);color:var(--cyan);font:700 11px var(--font-body);background:none;border:1px solid #4bdcff6b;cursor:pointer;transition:all .2s}
.footer-copy-ip:hover{color:#fff;border-color:#d774ff}
.footer-copy-ip.copied{color:var(--success);border-color:var(--success)}
.footer-bottom{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff1a;padding:18px 0 24px;color:#ffffff61;font-size:11px}

/* ===== Social rail ===== */

/* ===== Login modal ===== */
.login-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:#05030eb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow-y:auto}
.login-modal[hidden]{display:none}
.login-dialog{position:relative;display:grid;grid-template-columns:minmax(180px,280px) 1fr;width:min(780px,100%);border-radius:var(--radius-md);border:var(--glass-border);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-sheen),var(--shadow-md);overflow:hidden}
.login-preview{position:relative;display:flex;align-items:center;justify-content:center;padding:24px;border-right:1px solid var(--line);background:repeating-linear-gradient(135deg,#ffffff09 0 10px,transparent 0 20px),#150f26}
.login-preview-img{max-width:100%;max-height:280px;object-fit:contain;image-rendering:pixelated}
.login-preview-name{position:absolute;bottom:18px;left:20px;color:#fff;font-size:18px;font-weight:700}
.login-form{position:relative;padding:34px;min-width:0}
.login-close{position:absolute;top:14px;right:16px;background:none;border:0;color:var(--ink-faint);font-size:26px;cursor:pointer}
.login-close:hover{color:var(--ink)}
.login-dialog h2{font-family:var(--font-display);color:#fff;margin:0 0 8px;font-size:28px;font-weight:700}
.login-intro{color:var(--ink-dim);margin:0;font-size:13px;line-height:1.6}
.nickname-field{display:grid;gap:8px;margin-top:18px;color:var(--ink-dim);font-size:12px;font-weight:700}
.nickname-field input{width:100%;height:48px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:#070611b8;color:#fff;font:500 14px var(--font-body)}
.nickname-field input:focus-visible{border-color:var(--cyan);box-shadow:0 0 16px #4bdcff38}
.login-error{color:var(--error);margin:10px 0 0;font-size:12px}
.login-submit{width:100%;height:48px;margin-top:18px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--brand);color:#fff;font:700 13px var(--font-body);cursor:pointer;transition:all .2s}
.login-submit:hover{background:var(--brand-hover)}
@media (max-width:640px){
  .login-dialog{grid-template-columns:1fr}
  .login-preview{border-right:0;border-bottom:1px solid var(--line);min-height:120px;padding:18px}
  .login-preview-img{max-height:160px}
}

/* ===== Product modal ===== */
.product-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:#05030eb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow-y:auto}
.product-modal[hidden]{display:none}
.product-dialog{position:relative;display:grid;grid-template-columns:minmax(200px,320px) 1fr;width:min(820px,100%);border-radius:var(--radius-md);border:var(--glass-border);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-sheen),var(--shadow-md);overflow:hidden}
.product-preview{position:relative;display:flex;align-items:center;justify-content:center;padding:28px;border-right:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#2a1d4d,#140e25 75%)}
.product-preview img{max-width:100%;max-height:260px;object-fit:contain;filter:drop-shadow(0 10px 30px #00000080)}
.product-body{position:relative;padding:34px;min-width:0;display:flex;flex-direction:column}
.product-close{position:absolute;top:14px;right:16px;background:none;border:0;color:var(--ink-faint);font-size:26px;cursor:pointer;z-index:1}
.product-close:hover{color:var(--ink)}
.product-dialog h2{font-family:var(--font-display);color:#fff;margin:0 0 14px;font-size:24px;font-weight:700;line-height:1.3;padding-right:24px}
.product-desc{color:var(--ink-dim);margin:0;font-size:14px;line-height:1.7;flex:1}
.product-desc p{margin:0 0 10px}
.product-modal-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.product-modal-bottom strong{font-family:var(--font-display);color:#fff;font-size:24px}
@media (max-width:640px){
  .product-dialog{grid-template-columns:1fr}
  .product-preview{border-right:0;border-bottom:1px solid var(--line);min-height:140px;padding:20px}
  .product-preview img{max-height:180px}
  .product-body{padding:26px}
}

/* ===== Toast ===== */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:200;background:var(--glass-bg);border:var(--glass-border);border-radius:var(--radius-sm);padding:12px 20px;font-size:13px;font-weight:600;color:#fff;box-shadow:var(--glass-sheen),var(--shadow-md);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}
.toast[hidden]{display:none}

@media (max-width:900px){
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .server-cta{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr 1fr;gap:32px}
  .hero-inner{grid-template-columns:1fr;gap:40px;padding-top:20px}
  .hero-copy{max-width:100%}
  .shop-grid-pairs{grid-template-columns:1fr;max-width:420px}
}
@media (max-width:640px){
  .feature-grid{grid-template-columns:1fr}
  .shop-grid,.shop-grid-pairs{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  .stat{padding:0 18px;border-right:1px solid var(--line)}
  .stat:last-child{border-right:0}
  .hero-image-btn{width:100%;min-width:0}
  .hero-actions{width:100%}
}
