:root {
  --bg: #080b10;
  --bg2: #0e1117;
  --bg3: #141922;
  --accent1: #7c3aed;
  --accent2: #10b981;
  --accent3: #6366f1;
  --text: #eef0f5;
  --text-muted: #8892a4;
  --card: rgba(255,255,255,0.035);
  --card-hover: rgba(255,255,255,0.06);
  --card-border: rgba(255,255,255,0.07);
  --radius: 18px;
  --nav-height: 66px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;line-height:1.65;overflow-x:hidden;}

a:focus-visible,
button:focus-visible,
select:focus-visible,
[role="button"]:focus-visible{
  outline:2px solid var(--accent2);
  outline-offset:2px;
}

/* ---- SCROLLBAR ---- */
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent1),var(--accent2));border-radius:4px;}

/* ---- NAV ---- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;
  background:rgba(8,11,16,0.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--card-border);
}
.nav-logo{
  font-weight:900;font-size:1.35rem;letter-spacing:-0.02em;
  background:linear-gradient(135deg,#a78bfa,var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;
}
.nav-links{display:flex;gap:0.2rem;align-items:center;}
.nav-links a{
  color:var(--text-muted);text-decoration:none;font-size:0.875rem;font-weight:500;
  padding:0.4rem 0.85rem;border-radius:8px;transition:all 0.2s;
}
.nav-links a:hover{color:var(--text);background:var(--card-hover);}
.nav-right{display:flex;align-items:center;gap:0.75rem;}
.lang-selector{
  background:rgba(8,11,16,0.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid var(--card-border);color:var(--text);
  padding:0.35rem 0.7rem;border-radius:9px;font-size:0.82rem;cursor:pointer;
  font-family:inherit;outline:none;transition:border-color 0.2s;
}
.lang-selector:hover{border-color:rgba(124,58,237,0.5);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:var(--card);border:1px solid var(--card-border);border-radius:9px;}
.hamburger span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:all 0.3s;}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{
  display:none;position:fixed;top:var(--nav-height);left:0;right:0;z-index:190;
  background:rgba(8,11,16,0.97);backdrop-filter:blur(20px);
  padding:1.5rem 2rem 2rem;flex-direction:column;gap:0.25rem;
  border-bottom:1px solid var(--card-border);
}
.mobile-menu a{color:var(--text);text-decoration:none;font-size:1rem;font-weight:500;padding:0.75rem 0.5rem;border-bottom:1px solid var(--card-border);}
.mobile-menu.open{display:flex;}
@media(max-width:768px){
  nav{padding:0 1rem;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .lang-selector{font-size:0.8rem;padding:0.35rem 0.55rem;}
  main .projects-grid,main .wiki-grid{grid-template-columns:1fr;}
  .mc-wrap,.discord-wrap{padding:2rem 1.5rem;}
  .mc-card,.discord-card{flex-direction:column;gap:1.5rem;text-align:center;}
  .mc-info,.discord-info{width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;}
  .mc-actions{margin-left:1.5rem;margin-top:1rem;flex:1;}
  .mc-copy-btn{margin-left:0!important;width:100%;justify-content:center;min-height:44px;min-width:120px;}
  .btn-discord{margin-left:0!important;width:100%;justify-content:center;}
  .mc-stats,.discord-stats{width:100%;justify-content:center;gap:0.85rem;flex-direction:column;align-items:center;}
  .mc-stat,.dstat{justify-content:center;width:fit-content;margin:0 auto;}
  .container{padding:3rem 1rem;}
  .mc-wrap{margin-bottom:2rem;}
  .discord-wrap{margin-bottom:2rem;}
  .divider{margin:1rem 0;height:1px;background:linear-gradient(90deg,transparent,var(--card-border),transparent);}
}

@media (hover:none) and (pointer:coarse){
  main .projects-grid,main .wiki-grid{grid-template-columns:1fr;}
  .mc-stats,.discord-stats{flex-direction:column;align-items:center;gap:0.85rem;}
  .mc-stat,.dstat{justify-content:center;}
}

@media(max-width:600px){
  #home{padding:calc(var(--nav-height) + 2.5rem) 1rem 3rem;min-height:auto;}
  .hero-badge{font-size:0.72rem;padding:0.4rem 0.85rem;margin-bottom:1.25rem;}
  .hero-desc{font-size:0.98rem;margin-bottom:1.75rem;}
  .hero-btns{flex-direction:column;align-items:stretch;}
  .hero-btns .btn{width:100%;justify-content:center;}
  .container{padding:2.25rem 1rem;}
  .section-shell,.mc-wrap,.discord-wrap,.twitch-wrap{padding:1.5rem 1rem;}
  main .projects-grid,main .wiki-grid{grid-template-columns:1fr;}
  .proj-card,.wiki-card,.mc-card,.discord-card,.twitch-card{padding:1.25rem;}
  .proj-name{font-size:1.02rem;line-height:1.35;overflow-wrap:anywhere;}
  .proj-desc{font-size:0.82rem;line-height:1.55;overflow-wrap:anywhere;}
  .proj-stat{font-size:0.8rem;}
  .mobile-menu a{min-height:44px;display:flex;align-items:center;border-radius:8px;}
  .twitch-left{width:100%;}
  .twitch-card .btn-twitch{width:100%;justify-content:center;}
  .mobile-menu{padding:1rem 1rem 1.5rem;}
}

@media(max-width:420px){
  .nav-right{gap:0.5rem;}
  .lang-selector{max-width:95px;}
  .hero-btns .btn{width:100%;justify-content:center;}
  .section-title{font-size:1.6rem;}
  .mc-stats,.discord-stats{gap:0.75rem;flex-direction:column;align-items:center;}
  .mc-card,.discord-card,.twitch-card,.proj-card,.wiki-card{padding:1rem;}
  .proj-links .tag-btn{flex:1;justify-content:center;}
}

/* ---- HERO ---- */
#home{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:calc(var(--nav-height) + 4rem) 2rem 5rem;
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%,rgba(124,58,237,0.18) 0%,transparent 70%),
    radial-gradient(ellipse 60% 40% at 80% 100%,rgba(16,185,129,0.1) 0%,transparent 60%),
    radial-gradient(ellipse 40% 30% at 10% 90%,rgba(99,102,241,0.08) 0%,transparent 50%);
}
.hero-content{max-width:720px;margin:0 auto;}
.hero-badge{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:rgba(124,58,237,0.12);border:1px solid rgba(124,58,237,0.28);
  color:#c4b5fd;padding:0.45rem 1.1rem;border-radius:999px;font-size:0.78rem;font-weight:600;
  letter-spacing:0.06em;text-transform:uppercase;margin-bottom:2rem;
}
.hero-title{font-size:clamp(2.8rem,7vw,4.8rem);font-weight:900;line-height:1.05;margin-bottom:1.2rem;letter-spacing:-0.03em;}
.hero-title .grad{background:linear-gradient(135deg,#a78bfa 0%,var(--accent2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-desc{color:var(--text-muted);font-size:1.1rem;max-width:520px;margin:0 auto 2.5rem;line-height:1.7;}
.hero-btns{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;}

/* ---- BUTTONS ---- */
.btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.75rem 1.5rem;border-radius:12px;
  font-weight:600;font-size:0.9rem;text-decoration:none;transition:all 0.22s;
  border:none;cursor:pointer;font-family:inherit;white-space:nowrap;
}
.btn-primary{background:linear-gradient(135deg,var(--accent1),#5b21b6);color:#fff;box-shadow:0 0 20px rgba(124,58,237,0.2);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(124,58,237,0.35);}
.btn-outline{background:var(--card);border:1px solid var(--card-border);color:var(--text);}
.btn-outline:hover{background:var(--card-hover);transform:translateY(-2px);}
.btn-twitch{background:#9146ff;color:#fff;}
.btn-twitch:hover{background:#7c3aed;transform:translateY(-2px);box-shadow:0 6px 20px rgba(145,70,255,0.35);}
.btn-discord{background:#5865f2;color:#fff;min-height:44px;min-width:120px;box-shadow:0 6px 20px rgba(88,101,242,0.35);}
.btn-discord:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 6px 25px rgba(88,101,242,0.45);}
.btn-sm{padding:0.45rem 1rem;font-size:0.8rem;border-radius:9px;}

/* ---- CONTAINER ---- */
.container{max-width:1100px;margin:0 auto;padding:5rem 2rem;}
.page-section{scroll-margin-top:calc(var(--nav-height) + 1rem);}
.section-shell{background:var(--bg2);border-radius:24px;border:1px solid var(--card-border);padding:3rem 2.5rem;}
.section-compact{padding-bottom:0;}
.icon-img{border-radius:8px;}
.icon-img.discord{filter:brightness(1.4) contrast(1.2);}
.action-right{margin-left:auto;}
.section-label{text-transform:uppercase;font-size:0.72rem;font-weight:700;letter-spacing:0.12em;color:var(--accent2);margin-bottom:0.6rem;}
.section-title{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:800;margin-bottom:0.75rem;letter-spacing:-0.02em;}
.section-desc{color:var(--text-muted);font-size:0.975rem;max-width:500px;margin-bottom:3rem;line-height:1.7;}

/* ---- OVERVIEW STATS ---- */
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:0;}
.stat-tile{
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);
  padding:1.6rem 1.5rem;text-align:center;transition:transform 0.2s,border-color 0.2s;
  position:relative;overflow:hidden;
}
.stat-tile::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(124,58,237,0.04),rgba(16,185,129,0.04));pointer-events:none;}
.stat-tile:hover{transform:translateY(-3px);border-color:rgba(124,58,237,0.2);}
.stat-tile .val{font-size:2.1rem;font-weight:900;background:linear-gradient(135deg,#a78bfa,var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-0.02em;}
.stat-tile .lbl{color:var(--text-muted);font-size:0.82rem;margin-top:0.3rem;font-weight:500;}

/* ---- PROJECT CARDS ---- */
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;}
.proj-card{
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);
  padding:1.6rem;transition:all 0.22s;position:relative;overflow:hidden;
}
.proj-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent1),var(--accent2));opacity:0;transition:opacity 0.2s;}
.proj-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,0.5);border-color:rgba(124,58,237,0.2);}
.proj-card:hover::after{opacity:1;}
.proj-type{display:inline-block;background:rgba(124,58,237,0.13);border:1px solid rgba(124,58,237,0.22);color:#c4b5fd;padding:0.2rem 0.65rem;border-radius:6px;font-size:0.72rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:0.85rem;}
.proj-type.server{background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.22);color:#6ee7b7;}
.proj-type.resource{background:rgba(251,191,36,0.1);border-color:rgba(251,191,36,0.22);color:#fcd34d;}
.proj-name{font-size:1.1rem;font-weight:700;margin-bottom:0.5rem;line-height:1.3;}
.proj-desc{color:var(--text-muted);font-size:0.845rem;margin-bottom:1.25rem;line-height:1.6;}
.proj-stats{display:flex;gap:1.25rem;margin-bottom:1.25rem;flex-wrap:wrap;}
.proj-stat{display:flex;align-items:center;gap:0.35rem;font-size:0.82rem;}
.proj-stat strong{color:var(--text);font-weight:600;}
.proj-links{display:flex;gap:0.5rem;flex-wrap:wrap;}
.tag-btn{display:inline-flex;align-items:center;gap:0.3rem;padding:0.38rem 0.85rem;border-radius:8px;font-size:0.78rem;font-weight:600;text-decoration:none;transition:all 0.18s;border:1px solid var(--card-border);color:var(--text-muted);background:rgba(255,255,255,0.04);height:32px;min-height:32px;box-sizing:border-box;}
.tag-btn:hover{background:rgba(255,255,255,0.09);color:var(--text);}
.tag-btn.mr{background:rgba(27,217,106,0.08);border-color:rgba(27,217,106,0.22);color:#4ade80;}
.tag-btn.mr:hover{background:rgba(27,217,106,0.15);}
.tag-btn.cf{background:rgba(243,107,33,0.08);border-color:rgba(243,107,33,0.22);color:#fb923c;}
.tag-btn.cf:hover{background:rgba(243,107,33,0.15);}

/* ---- DIVIDER ---- */
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--card-border),transparent);margin:2rem 0;min-height:1px;transform:scaleY(1);transform-origin:center;}

/* ---- DISCORD ---- */
.discord-wrap{background:var(--bg2);border-radius:24px;border:1px solid var(--card-border);padding:3rem 2.5rem;}
.discord-card{
  background:rgba(88,101,242,0.08);border:1px solid rgba(88,101,242,0.22);border-radius:var(--radius);
  padding:2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;
}
.discord-icon{width:66px;height:66px;background:linear-gradient(135deg,#5865f2,#4752c4);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0;box-shadow:0 4px 20px rgba(88,101,242,0.3);}
.discord-info{flex:1;min-width:180px;}
.discord-sname{font-size:1.3rem;font-weight:700;margin-bottom:0.3rem;}
.discord-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:0.6rem;}
.dstat{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;font-weight:700;}
.dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.dot.online{background:#23a55a;box-shadow:0 0 6px rgba(35,165,90,0.5);}
.dot.gray{background:#72767d;}

/* ---- WIKI ---- */
a.wiki-card{
  display:flex;align-items:center;gap:1.75rem;
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);
  padding:2rem;text-decoration:none;color:var(--text);transition:all 0.22s;flex-wrap:nowrap;
}
a.wiki-card:hover{border-color:rgba(16,185,129,0.35);transform:translateY(-4px);box-shadow:0 12px 35px rgba(16,185,129,0.1);}
.wiki-icon{width:62px;height:62px;background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.25);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.9rem;flex-shrink:0;}
.wiki-info{flex:1;min-width:0;}
.wiki-info h3{font-size:1.2rem;font-weight:700;}
.wiki-info p{color:var(--text-muted);font-size:0.875rem;margin-top:0.25rem;}
.wiki-arrow{margin-left:auto;color:var(--text-muted);font-size:1.4rem;transition:transform 0.2s;}
.wiki-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;}
a.wiki-card:hover .wiki-arrow{transform:translateX(4px);color:var(--accent2);}

@media(max-width:600px){
  a.wiki-card{flex-wrap:wrap;}
  .wiki-info h3{font-size:1.06rem;line-height:1.35;overflow-wrap:anywhere;}
  .wiki-info p{font-size:0.84rem;line-height:1.55;overflow-wrap:anywhere;}
}

@media(max-width:420px){
  a.wiki-card{gap:1rem;}
  .wiki-icon{width:54px;height:54px;}
  .wiki-arrow{font-size:1.15rem;}
}

/* ---- TWITCH ---- */
.twitch-card{
  background:rgba(145,70,255,0.07);border:1px solid rgba(145,70,255,0.22);border-radius:var(--radius);
  padding:2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;
}
.twitch-left{display:flex;align-items:center;gap:1.5rem;}
.twitch-icon{width:62px;height:62px;background:linear-gradient(135deg,#9146ff,#7c3aed);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:1.9rem;flex-shrink:0;box-shadow:0 4px 18px rgba(145,70,255,0.3);}
.twitch-name{font-size:1.3rem;font-weight:700;}
.twitch-sub{color:var(--text-muted);font-size:0.85rem;margin-top:0.2rem;}
.twitch-wrap{background:var(--bg2);border-radius:24px;border:1px solid var(--card-border);padding:3rem 2.5rem;}

/* ---- FOOTER ---- */
footer{text-align:center;padding:3rem 2rem;color:var(--text-muted);font-size:0.85rem;border-top:1px solid var(--card-border);}
.footer-links{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:1rem;}
.footer-links a{color:var(--text-muted);text-decoration:none;font-size:0.82rem;transition:color 0.2s;}
.footer-links a:hover{color:var(--text);}

/* ---- FADE IN ---- */
.fi{opacity:0;transform:translateY(22px);transition:opacity 0.6s ease,transform 0.6s ease;}
.fi.vis{opacity:1;transform:translateY(0);}
.fi.d1{transition-delay:0.1s;} .fi.d2{transition-delay:0.2s;} .fi.d3{transition-delay:0.3s;}
.fi.d4{transition-delay:0.4s;} .fi.d5{transition-delay:0.5s;}

/* ---- GLOW DOTS ---- */
.glow-dot{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;}

/* ---- MINECRAFT SERVER ---- */
.mc-wrap{background:var(--bg2);border-radius:24px;border:1px solid var(--card-border);padding:3rem 2.5rem;}
.mc-card{
  background:rgba(16,185,129,0.07);border:1px solid rgba(16,185,129,0.22);border-radius:var(--radius);
  padding:2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;
}
.mc-icon{width:66px;height:66px;background:linear-gradient(135deg,#22c55e,#10b981);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0;box-shadow:0 4px 20px rgba(16,185,129,0.3);}
.mc-info{flex:1;min-width:180px;}
.mc-sname{font-size:1.3rem;font-weight:700;margin-bottom:0.3rem;}
.mc-address{font-family:monospace;font-size:0.85rem;color:var(--accent2);background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.2);padding:0.25rem 0.65rem;border-radius:6px;display:inline-block;margin-bottom:0.75rem;letter-spacing:0.03em;}
.mc-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:0.6rem;}
.mc-stat{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;font-weight:700;}
.mc-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.mc-status-dot.green{background:#22c55e;box-shadow:0 0 7px rgba(34,197,94,0.6);}
.mc-status-dot.red{background:#ef4444;}
.mc-version{display:inline-block;background:rgba(124,58,237,0.12);border:1px solid rgba(124,58,237,0.22);color:#c4b5fd;padding:0.2rem 0.65rem;border-radius:6px;font-size:0.75rem;font-weight:600;margin-left:0.5rem;}
.mc-copy-btn{
  display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;border-radius:12px;
  background:rgba(16,185,129,0.12);border:1px solid rgba(16,185,129,0.28);color:#4ade80;
  font-size:0.9rem;font-weight:600;cursor:pointer;transition:all 0.22s;font-family:inherit;white-space:nowrap;
  min-height:44px;min-width:120px;box-shadow:0 6px 20px rgba(16,185,129,0.35);text-decoration:none;
}
.mc-copy-btn:hover{background:rgba(16,185,129,0.22);transform:translateY(-2px);box-shadow:0 6px 25px rgba(16,185,129,0.45);}

/* ---- TECH BADGES ---- */
.proj-meta{display:flex;gap:0.45rem;flex-wrap:wrap;margin-bottom:1rem;align-items:center;}
.badge{display:inline-flex;align-items:center;gap:0.3rem;padding:0.22rem 0.6rem;border-radius:6px;font-size:0.72rem;font-weight:700;letter-spacing:0.02em;white-space:nowrap;}
.badge-forge   {background:rgba(243,107,33,0.12);border:1px solid rgba(243,107,33,0.3);color:#fb923c;}
.badge-neoforge{background:rgba(168,85,247,0.12);border:1px solid rgba(168,85,247,0.3);color:#d8b4fe;}
.badge-fabric  {background:rgba(99,190,219,0.12);border:1px solid rgba(99,190,219,0.3);color:#67e8f9;}
.badge-quilt   {background:rgba(236,72,153,0.12);border:1px solid rgba(236,72,153,0.3);color:#f9a8d4;}
.badge-mc      {background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.25);color:#6ee7b7;}
.badge-ver     {background:rgba(124,58,237,0.1);border:1px solid rgba(124,58,237,0.25);color:#c4b5fd;}
.badge-loading {background:rgba(255,255,255,0.05);border:1px solid var(--card-border);color:var(--text-muted);animation:pulse 1.5s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}