@font-face {
    font-family: 'Benzin';
    src: local('Benzin Medium'), local('Benzin-Medium'),
        url('https://alexnotfril.scyle.xyz/fonts/Benzin/Benzin-Medium.woff2') format('woff2'),
        url('https://alexnotfril.scyle.xyz/fonts/Benzin/Benzin-Medium.woff') format('woff'),
        url('https://alexnotfril.scyle.xyz/fonts/Benzin/Benzin-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

body{
  background: transparent;
  font-family: Benzin;
}

:root{
  --bg-900: #040007;
  --bg-800: #0b0226;
  --purple-700: #6a0dad;
  --purple-500: #9b59ff;
  --accent: #bd7bff;
  --accent-2: #d5a8ff;
  --glass-bg: rgba(255,255,255,0.03);
  --glass-border: rgba(255,255,255,0.06);
  --glass-border-2: rgba(186,140,255,0.16);
  --text: #eef2ff;
  --muted: rgba(255,255,255,0.55);
  --card-radius: 16px;
  --glass-blur: 20px;
  --glass-contrast: 1.08;
}

html{
  min-height:100%;
  background:#040007;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;

  background:
    radial-gradient(800px 600px at 15% 20%, rgba(155,89,255,0.28), transparent 100%),
radial-gradient(800px 800px at 15% 20%, rgba(28, 0, 70, 0.28), transparent 100%),
radial-gradient(900px 900px at 85% 80%, rgba(90,40,255,0.22), transparent 100%),
radial-gradient(850px 850px at 50% 40%, rgba(127, 0, 253, 0.2), transparent 100%),
    linear-gradient(180deg,#040007 0%,#0b0226 60%,#050010 100%);

  background-size: 220% 220%;
  animation: bgDrift 28s ease-in-out infinite;
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-50;

  background:
    radial-gradient(600px 600px at 30% 70%, rgba(140,60,255,0.25), transparent 100%),
    radial-gradient(800px 600px at 75% 35%, rgba(200,120,255,0.25), transparent 100%);

  background-size: 250% 250%;
  animation: bgFloat 40s ease-in-out infinite;
  animation: softBreath 14s ease-in-out infinite;
}

@keyframes bgDrift{
  0%{
    background-position: 0% 0%;
  }
  25%{
    background-position: 60% 30%;
  }
  50%{
    background-position: 100% 100%;
  }
  75%{
    background-position: 40% 70%;
  }
  100%{
    background-position: 0% 0%;
  }
}

@keyframes bgFloat{
  0%{
    background-position: 100% 0%;
  }
  50%{
    background-position: 0% 100%;
  }
  100%{
    background-position: 100% 0%;
  }
}

@keyframes softBreath{
  0%{
    transform:scale(1);
  }
  50%{
    transform:scale(1.12);
  }
  100%{
    transform:scale(1);
  }
}

a{ color:inherit; text-decoration:none; }

/* layout */
.site{ min-height:100vh; display:flex; flex-direction:column; }
.wrap{ width:100%; max-width:1200px; margin:0 auto; padding:28px; }
.section-appear{ animation: appearUp .6s cubic-bezier(.2,.9,.2,1) both; }
@keyframes appearUp { from{ opacity:0; transform:translateY(12px)} to{ opacity:1; transform:none } }

/* glass util */
.glass{
  background: linear-gradient(180deg, rgba(255,255,255,0.028), rgba(255,255,255,0.012));
  border: 1px solid var(--glass-border);
  border-radius: var(--card-radius);
  backdrop-filter: blur(var(--glass-blur)) saturate(130%) contrast(var(--glass-contrast));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(130%) contrast(var(--glass-contrast));
  box-shadow: 0 18px 60px rgba(6,4,18,0.6), inset 0 1px 0 rgba(255,255,255,0.02);
  color:var(--text); overflow:hidden; position:relative;
}
.glass::after{
  content:""; position:absolute; left:-8%; top:-40%; width:116%; height:120%;
  background: linear-gradient(180deg, rgba(255,255,255,0.028), rgba(255,255,255,0));
  transform: rotate(-14deg); pointer-events:none; mix-blend-mode: overlay;
}
.glass-accent{ box-shadow: 0 24px 80px rgba(6,4,18,0.7), 0 0 36px rgba(155,89,255,0.06); border:1px solid rgba(255,255,255,0.02); }

/* ---------- header ---------- */
.site-header{ position:sticky; top:14px; z-index:1200; padding:6px 0; }
.site-header .header-inner{ display:flex; align-items:center; gap:20px; justify-content:space-between; background: linear-gradient(180deg, rgba(255,255,255,0.018), rgba(255,255,255,0.008)); border-radius:16px; padding:10px 18px; backdrop-filter: blur(10px); box-shadow: 0 8px 30px rgba(0,0,0,0.45); border:1px solid rgba(255,255,255,0.02); }
.brand{ font-weight:900; letter-spacing:1px; text-transform:uppercase; font-size:20px; color:var(--purple-500); padding:6px 10px; }
.brand:hover{ filter:brightness(1.05); }

/* nav */
.nav-list{ display:flex; gap:18px; list-style:none; align-items:center; }
.nav-list a{ padding:8px 10px; color:var(--muted); border-radius:10px; transition:all .18s ease; font-weight:700; font-size:14px; }
.nav-list a:hover{ color:var(--text); transform:translateY(-2px); }

/* mobile toggle */
.mobile-toggle{ display:none; background:none; border:0; cursor:pointer; width:44px; height:44px; position:relative; }
.mobile-toggle span{ display:block; height:3px; background:linear-gradient(90deg,var(--purple-700),var(--purple-500)); margin:6px 0; border-radius:3px; width:22px; transition:all .25s ease; margin-left:6px; }

/* ---------- hero ---------- */
.hero{ padding:34px 0 22px; }
.hero-grid{ display:grid; grid-template-columns: 1fr 420px; gap:28px; align-items:center; }
.card--hero{ padding:28px; border-radius:18px; }
.kicker{ color:var(--muted); font-size:14px; margin-bottom:8px; }
.hero-title{ font-size:44px; line-height:1; margin:6px 0 10px; color: #fff; text-shadow: 0 8px 48px rgba(106,13,173,0.12); }
.lead{ color:var(--muted); margin-bottom:18px; font-size:16px; }

/* buttons */
.btn{ display:inline-block; padding:10px 18px; border-radius:12px; cursor:pointer; font-weight:800; text-transform:uppercase; letter-spacing:.7px; font-size:13px; transition: all .2s ease; }
.btn-primary{ background: linear-gradient(90deg,var(--purple-700),var(--purple-500)); color:#fff; border:1px solid rgba(255,255,255,0.06); box-shadow: 0 12px 40px rgba(106,13,173,0.18); }
.btn-outline{ background:transparent; border:1px solid rgba(255,255,255,0.06); color:var(--text); }

/* artcard */
.artcard{ border-radius:16px; overflow:hidden; min-height:260px; position:relative; }
.artcard img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ---------- NEW: servers grid (no scrollbar) ---------- */
.servers-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); /* cards expand to fill row — no horizontal scroll */
  gap: 20px;
  align-items: stretch;
  padding: 8px 0 18px;
}
/* hero art card (right) */
.artcard{ position:relative; padding:0; border-radius:16px; overflow:hidden; }
.artcard img{ width:100%; height:100%; object-fit:cover; display:block; filter: saturate(120%); min-height: 280px; }
.artcard-overlay{ position:absolute; left:0; right:0; bottom:0; padding:16px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.badge{ background: linear-gradient(90deg,var(--accent),var(--purple-500)); color:#050007; padding:6px 12px; border-radius:999px; font-weight:800; font-size:12px; box-shadow: 0 6px 20px rgba(155,89,255,0.12); }
.stats{ display:flex; gap:12px; color:var(--muted); }
.stats strong{ display:block; color: #fff; font-size:18px; }

/* ---------- features / cards ---------- */
.features{ padding:20px 0 40px; }
.section-title h2{ font-size:20px; color:var(--purple-500); margin-bottom:6px; text-transform:uppercase; font-weight:900; }
.section-title p{ color:var(--muted); margin-bottom:18px; }

.cards{ display:grid; grid-template-columns: repeat(3, 1fr); gap:20px; margin-top:12px; }
.feature-card{ padding:20px; display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.feature-card img{ width:110px; height:110px; object-fit:contain; border-radius:10px; }

/* hover lift with neon outline */
.feature-card:hover{
  transform: translateY(-10px);
  box-shadow: 0 30px 80px rgba(106,13,173,0.16), 0 0 40px rgba(155,89,255,0.06);
  border: 1px solid rgba(155,89,255,0.12);
}

/* ---------- banner ---------- */
.banner{ padding:30px 0; }
.banner-card{ display:flex; flex-direction:column; gap:12px; padding:26px; align-items:flex-start; }
.banner-card h3{ font-size:22px; color:var(--purple-500); font-weight:900; }
.banner-actions{ display:flex; gap:12px; margin-top:8px; }

/* ---------- footer ---------- */
.site-footer{ margin-top:auto; padding:30px 0 50px; }
.footer-grid{ display:grid; grid-template-columns: 1fr 1fr 1fr; gap:20px; align-items:center; padding:28px; border-radius:12px; }
.footer-left p{ color:var(--muted); margin-top:6px; }
.footer-mid ul{ list-style:none; padding:0; margin:0; display:flex; gap:12px; flex-direction:column; }
.footer-mid a{ color:var(--muted); }
.footer-right .socials{ display:flex; gap:8px; margin-bottom:8px; }
.footer-right a{ display:inline-block; padding:8px; border-radius:8px; background:linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); border:1px solid rgba(255,255,255,0.03); }

/* server-card: rectangular, larger, compact layout */
.server-card{
  height: 180px; /* rectangular short-high card */
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap:8px;
  position:relative;
  background: linear-gradient(180deg, rgba(255,255,255,0.018), rgba(255,255,255,0.006));
  border:1px solid rgba(255,255,255,0.02);
  transition: transform .28s cubic-bezier(.2,.9,.2,1), box-shadow .28s ease;
  box-shadow: 0 18px 54px rgba(6,4,18,0.65);
  overflow: hidden;
}

/* sheen & rim */
.server-card::before{ content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow: 0 0 48px rgba(123,62,255,0.04); mix-blend-mode: screen; }
.server-card:hover{ transform: translateY(-8px); box-shadow: 0 28px 88px rgba(6,4,18,0.78), 0 0 46px rgba(155,89,255,0.06); }

/* inner content layout */
.server-card-inner{ display:flex; flex-direction:column; height:100%; gap:8px; justify-content:space-between; }

/* top row: name and players (compact) */
.top-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.name-block{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.name-main{ font-weight:900; font-size:18px; color:transparent; background:linear-gradient(90deg,var(--purple-500),var(--accent)); -webkit-background-clip:text; background-clip:text; }
.name-sub{ font-family: ui-monospace, "Roboto Mono", monospace; color:var(--muted); font-weight:700; font-size:13px; }

/* players block */
.players-block{ display:flex; align-items:center; gap:8px; }
.players-count{ font-weight:900; font-size:16px; color:var(--text); }

/* mid row: description/status text */
.mid-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.meta-title{ font-size:12px; color:var(--muted); font-weight:800; text-transform:uppercase; }
.meta-sub{ font-size:13px; color:var(--text); font-weight:700; margin-top:4px; }

/* bottom row: status + progress + button (inline) */
.bottom-row{ display:flex; align-items:center; gap:12px; }

.brand{
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
  font-size:20px;
  padding:6px 10px;
  display:flex;
  gap:6px;
}

.brand-red{
  background:linear-gradient(90deg,#ff2b2b,#ff6a6a);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 0 18px rgba(255,0,0,0.35);
}

.brand-white{
  color:#ffffff;
}

/* status capsule */
.status-capsule{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; font-weight:800; font-size:12px; background: linear-gradient(90deg, rgba(255,255,255,0.018), rgba(255,255,255,0.008)); border:1px solid rgba(255,255,255,0.03); min-width:110px; justify-content:center; }
.status-capsule .dot{ width:10px; height:10px; border-radius:999px; display:inline-block; box-shadow: 0 6px 16px rgba(0,0,0,0.4); }
.status-online .dot{ background: linear-gradient(90deg,#b3ffcf,#00c758); box-shadow:0 0 18px rgba(0,199,88,0.28); animation: blinkPulse 1.6s infinite ease-in-out; }
.status-offline .dot{ background: linear-gradient(90deg,#ffffff22,#ffffff12); opacity:0.6; filter:grayscale(40%); }

/* progress inside bottom center (flex:1 to occupy space) */
.progress-wrap{ flex:1; min-width: 80px; }
.progress-bg{ width:100%; height:12px; border-radius:999px; overflow:hidden; border:1px solid rgba(255,255,255,0.03); background: linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); }
.progress-fill{ height:100%; width:0%; background: linear-gradient(90deg,var(--accent),var(--purple-500)); box-shadow: 0 12px 36px rgba(155,89,255,0.12); transition: width .9s cubic-bezier(.2,.9,.2,1); }

/* action block (button) */
.action-block{ min-width:165px; display:flex; justify-content:flex-end; }
.btn.copy-ip{ width:100%; padding:10px 12px; border-radius:12px; font-weight:900; background: linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); border:1px solid rgba(255,255,255,0.03); }

/* small helpers */
.text-muted{ color:var(--muted); font-size:13px; }
.ip-compact{ font-family: ui-monospace, "Roboto Mono", monospace; opacity:.9; }

/* news / banner as before */
.news-list{ display:grid; gap:14px; margin-top:12px; }
.news-item{ padding:18px; border-radius:12px; background: linear-gradient(180deg, rgba(255,255,255,0.015), rgba(255,255,255,0.008)); border:1px solid rgba(255,255,255,0.03); }

/* toast */
.site-toast{ position:fixed; left:50%; transform:translateX(-50%) translateY(12px); bottom:16px; background: rgba(10,8,20,0.94); color:#fff; padding:10px 16px; border-radius:10px; box-shadow:0 8px 30px rgba(0,0,0,0.5); opacity:0; transition:all .28s; z-index:9999; font-weight:800; }
.site-toast.visible{ opacity:1; transform:translateX(-50%) translateY(0); }

/* responsiveness */
@media (max-width:1000px){ .hero-grid{ grid-template-columns:1fr } }
@media (max-width:700px){
  .servers-grid{ grid-template-columns: 1fr; gap:12px; }
  .server-card{ height:200px; }
  .action-block{ min-width:120px; }
}

/* tiny animation */
@keyframes blinkPulse { 0%{ transform:scale(1); opacity:1 } 50%{ transform:scale(1.08); opacity:.95 } 100%{ transform:scale(1); opacity:1 } }