/* =========================================================
   VANILLA WOW — CLASSIC THEME
   Dark leather + gold, inspired by the Classic WoW UI.
   ========================================================= */

/* ============ 0) VARS & RESET ============ */
:root{
  --bg:#0a0705;               /* near-black warm */
  --bg-2:#120c07;
  --panel:#1a130a;            /* dark leather panel */
  --panel-2:#211810;
  --panel-3:#261c12;
  --border:#4a351c;           /* bronze */
  --border-hi:#6b4d26;
  --gold:#c8a24c;             /* classic wow gold */
  --gold-2:#e0bd6a;
  --gold-3:#f4d98c;
  --gold-dim:#8a6d2f;
  --amber:#d9a441;
  --text:#e8dcc0;             /* parchment */
  --muted:#a8946f;
  --dim:#7d6c4f;
  --success:#6fbf5f;
  --danger:#cf5a5a;
  --info:#6fa8dc;

  --r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:24px;
  --gap-1:10px;--gap-2:20px;--gap-3:32px;--gap-4:44px;
  --shadow:0 10px 30px rgba(0,0,0,.55);
  --glow:0 0 22px rgba(200,162,76,.18);
  --ff-ui:"Cinzel",Georgia,serif;
  --ff-body:"Exo 2","Segoe UI",Arial,sans-serif;
  --container-w:1180px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{
  min-height:100%;
}
body{
  min-height:100%;
  color:var(--text);
  font-family:var(--ff-body);
  font-size:15.5px;
  line-height:1.65;
  background-color:#0a0705;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* Фиксированный фон-слой: не перерисовывается при скролле (быстро) и виден
   (html без фона → слой не прячется за непрозрачным фоном) */
body::before{
  content:"";
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(1100px 650px at 45% 45%, rgba(8,5,2,.82), rgba(8,5,2,.5) 55%, transparent 78%),
    linear-gradient(180deg, rgba(8,5,2,.9), rgba(6,4,2,.93) 60%, rgba(9,6,3,.9)),
    url('/assets/img.php?src=/assets/images/bg-fantasy.jpg&w=1920') center/cover no-repeat;
}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-ui);font-weight:700;letter-spacing:.4px}
a{color:var(--gold-2)}
a:hover{color:var(--gold-3)}
img{max-width:100%}

/* ============ 1) UTILITIES ============ */
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow)}
.muted{color:var(--muted)}
.ta-center{text-align:center}
.section-title{
  font-family:var(--ff-ui);font-size:34px;letter-spacing:3px;text-transform:uppercase;
  color:var(--gold-3);text-align:center;margin:0 0 var(--gap-3);
  text-shadow:0 2px 14px rgba(0,0,0,.6),0 0 30px rgba(200,162,76,.25);
}
.title-deco{position:relative;padding-bottom:12px}
.title-deco::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:180px;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold-2),transparent);
}
.main-container{position:relative;max-width:var(--container-w);margin:0 auto;padding:0 20px 30px;display:flex;flex-direction:column;gap:var(--gap-3);z-index:1}
.page-wrap{width:100%;max-width:var(--container-w);margin:0 auto}

/* ============ 2) HEADER ============ */
header{
  position:relative;width:100%;max-width:var(--container-w);margin:30px auto 0;
  background:linear-gradient(180deg,var(--panel-3),var(--panel) 55%,#140e07);
  border:1px solid var(--border);
  border-top:2px solid var(--gold-dim);
  border-bottom:1px solid var(--gold-dim);
  border-radius:var(--r-md);
  box-shadow:var(--shadow),inset 0 0 40px rgba(0,0,0,.4);
  padding:12px 26px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  z-index:100;
}
header::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
header::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.logo-nav-status-group{display:flex;align-items:center;gap:30px;flex:1}
.nav-and-status{display:flex;align-items:center;gap:18px}
.auth-and-flags-group{display:flex;align-items:center;gap:12px;justify-content:flex-end}

/* Logo centered in the menu — vertically and horizontally */
.logo{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;text-decoration:none;z-index:6;
}
.header-logo{
  height:132px;width:auto;display:block;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.6));
  transition:transform .25s,filter .25s;
}
.header-logo:hover{transform:scale(1.05);filter:drop-shadow(0 10px 22px rgba(200,162,76,.5))}

.nav-links,.arcane-menu{display:flex;align-items:center;gap:26px}
.nav-link{
  position:relative;text-decoration:none;color:var(--text);
  font-family:var(--ff-ui);font-weight:600;font-size:14px;letter-spacing:1px;
  padding:6px 2px;transition:color .2s;text-transform:uppercase;
}
.nav-link:hover,.nav-link.active{color:var(--gold-3)}
.nav-link::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-2),transparent);
  transform:scaleX(0);transition:transform .25s;transform-origin:center;
}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}

/* auth buttons */
.auth-buttons{display:flex;gap:10px;align-items:center}
.auth-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--ff-ui);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;
  text-decoration:none;padding:9px 18px;border-radius:var(--r-sm);cursor:pointer;transition:all .2s;
}
.auth-btn.login{background:transparent;border:1px solid var(--gold-dim);color:var(--gold-2)}
.auth-btn.login:hover{background:rgba(200,162,76,.12);border-color:var(--gold);color:var(--gold-3)}
.auth-btn.register{
  background:linear-gradient(180deg,#e8c26a,#b5873a 55%,#9a742e);
  color:#1a1106;border:1px solid #e8c26a;font-weight:800;
  box-shadow:0 4px 14px rgba(200,162,76,.25),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 0 rgba(0,0,0,.25);
}
.auth-btn.register:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 18px rgba(200,162,76,.4)}

.user-info{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.35);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 12px}
.user-name{color:var(--gold-3);font-weight:600;font-size:14px}
.logout-button{
  display:inline-flex;align-items:center;color:#e8b4b4;font-size:12px;font-weight:600;
  text-decoration:none;border:1px solid rgba(207,90,90,.4);padding:5px 10px;border-radius:6px;transition:.2s;
}
.logout-button:hover{background:rgba(207,90,90,.15);color:#ffd0d0}
.account-link{
  display:inline-flex;align-items:center;color:var(--gold-2);font-size:13px;text-decoration:none;
  border:1px solid var(--border);padding:6px 12px;border-radius:6px;transition:.2s;
}
.account-link:hover{border-color:var(--gold);color:var(--gold-3)}
.admin-link{
  display:inline-flex;align-items:center;gap:6px;color:var(--gold-3);font-weight:700;font-size:13px;
  text-decoration:none;background:rgba(200,162,76,.1);border:1px solid var(--gold-dim);
  padding:6px 12px;border-radius:6px;transition:.2s;
}
.admin-link:hover{background:rgba(200,162,76,.2);border-color:var(--gold)}
.telegram-link{font-size:20px;color:var(--muted);text-decoration:none;transition:.2s}
.telegram-link:hover{color:var(--gold-3)}

/* mobile */
.mobile-menu-toggle,#menu-toggle{display:none;font-size:24px;color:var(--gold-2);cursor:pointer}
.mobile-nav-panel,#mobileNav{
  display:none;flex-direction:column;background:var(--panel-2);border:1px solid var(--border);
  position:absolute;top:100%;left:0;right:0;z-index:99;padding:14px;border-radius:0 0 var(--r-sm) var(--r-sm);
}
.mobile-nav-panel a,#mobileNav a{padding:10px 12px;color:var(--text);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.05)}
.mobile-nav-panel a:hover,#mobileNav a:hover{color:var(--gold-3)}

/* ============ 3) BUTTONS ============ */
button,a.btn,.auth-btn,.hero-btn,.start-btn,.obt-button-base,.admin-btn,.btn,header .auth-buttons a{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--ff-ui);font-weight:700;text-transform:uppercase;letter-spacing:.5px;
  border:none;cursor:pointer;padding:10px 22px;border-radius:var(--r-sm);
  transition:all .2s;text-decoration:none;user-select:none;font-size:13.5px;
}
.obt-button-base,.btn-primary,.hero-btn.start,.auth-btn.register,.start-btn{
  background:linear-gradient(180deg,#ecc97a,#c69e4b 55%,#a8813a);
  color:#1a1106;font-weight:800;
  box-shadow:0 4px 14px rgba(200,162,76,.22),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 0 rgba(0,0,0,.28);
}
.obt-button-base:hover,.btn-primary:hover,.hero-btn.start:hover,.start-btn:hover{
  filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 22px rgba(200,162,76,.35);
}
.obt-button-base.secondary,.auth-btn.login,.btn-secondary{
  background:transparent;border:1px solid var(--gold-dim);color:var(--gold-2);
}
.obt-button-base.secondary:hover{border-color:var(--gold);color:var(--gold-3);background:rgba(200,162,76,.08)}
.obt-button-large{width:100%;font-size:15px;padding:13px 0}

/* ============ 4) HERO ============ */
.hero-epic{
  position:relative;text-align:center;color:var(--text);
  width:100%;min-height:clamp(440px,58vh,620px);
  display:flex;align-items:center;justify-content:center;
  padding:50px 20px;overflow:hidden;
}
.hero-glow{display:none}
.hero-orb{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:760px;height:760px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(200,162,76,.09),rgba(200,162,76,.04) 45%,transparent 70%);
  filter:blur(24px);
}
.hero-content{
  position:relative;z-index:3;width:100%;max-width:980px;margin:0 auto;
  padding:0 16px;
}
.hero-logo{
  height:230px;width:auto;display:block;margin:0 auto 20px;
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.55));
  animation:logoFloat 4.5s ease-in-out infinite;
}
@keyframes logoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
.hero-title{
  font-size:clamp(38px,6vw,66px);line-height:1.05;margin:0 0 14px;
  background:linear-gradient(180deg,#fff3cc,#e8c26a 55%,#b58b3e);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.6));
  text-transform:uppercase;letter-spacing:7px;
}
.hero-subtitle{
  font-size:clamp(13px,1.7vw,17px);color:var(--gold-2);letter-spacing:3px;
  margin:0 0 14px;text-transform:uppercase;
}
.hero-description{max-width:660px;margin:14px auto 26px;font-size:16px;line-height:1.75;color:var(--text)}
.hero-description .highlight{color:var(--gold-3);font-weight:600}
.hero-actions{display:flex;justify-content:center;gap:16px;margin-top:22px;flex-wrap:wrap}
.hero-btn{padding:15px 34px;border-radius:var(--r-sm);font-size:15px;gap:10px;letter-spacing:1px}
.hero-btn.start{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#f0d48a,#c69e4b 55%,#a8813a);
  color:#1a1106;font-weight:800;
  box-shadow:0 6px 22px rgba(200,162,76,.35),inset 0 1px 0 rgba(255,255,255,.45);
}
.hero-btn.start::after{
  content:"";position:absolute;top:0;left:-80%;width:45%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.6),transparent);
  transform:skewX(-20deg);
  animation:btnShine 2.8s ease-in-out infinite;
}
@keyframes btnShine{
  0%{left:-80%}
  55%{left:135%}
  100%{left:135%}
}
.hero-btn.start:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 30px rgba(200,162,76,.5)}
.hero-btn.download{background:rgba(200,162,76,.08);border:1px solid var(--gold-dim);color:var(--gold-2)}
.hero-btn.download:hover{background:rgba(200,162,76,.16);border-color:var(--gold)}

.hero-realm{margin-top:30px}
.hero-realm .realm-title{font-size:11px;letter-spacing:4px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:10px}
.hero-realm .realm-box{
  display:inline-flex;align-items:center;gap:12px;
  background:rgba(0,0,0,.45);border:1px solid var(--gold-dim);border-radius:var(--r-sm);
  padding:15px 26px;color:var(--gold-3);font-family:var(--ff-ui);font-weight:700;font-size:16px;letter-spacing:1px;
  box-shadow:inset 0 0 20px rgba(200,162,76,.12);cursor:pointer;transition:all .2s;
}
.hero-realm .realm-box:hover{border-color:var(--gold);box-shadow:0 0 24px rgba(200,162,76,.35);transform:translateY(-1px)}
.hero-realm .realm-box code{font-family:var(--ff-ui);letter-spacing:1px}
.hero-realm .realm-box .tip{font-size:11px;color:var(--muted);font-family:var(--ff-body);margin-left:6px}
.hero-realm .realm-box.is-copied{border-color:var(--success);box-shadow:0 0 18px rgba(111,191,95,.4)}

/* ============ 4b) HOME NEWS ============ */
.home-news{margin-top:6px}
.home-news-title{
  font-family:var(--ff-ui);font-size:18px;color:var(--gold-3);text-transform:uppercase;
  letter-spacing:2px;margin:0 0 20px;display:flex;align-items:center;gap:10px;
}
.home-news-title::after{
  content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold-dim),transparent);
}

/* ============ 5) SERVER STATUS ============ */
.server-status-modern{margin:10px 0 0;display:flex;justify-content:center}
.status-console{
  position:relative;width:100%;max-width:var(--container-w);
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
  border:1px solid var(--border);border-radius:var(--r-lg);
  box-shadow:var(--shadow),inset 0 0 50px rgba(200,162,76,.05);overflow:hidden;
}
.console-header{
  display:flex;align-items:center;gap:10px;padding:16px 26px;
  font-family:var(--ff-ui);color:var(--gold-3);text-transform:uppercase;letter-spacing:1px;font-size:14px;
  background:linear-gradient(180deg,var(--panel-3),transparent);border-bottom:1px solid var(--border);
}
.console-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;padding:26px}
.console-body.balanced-layout{grid-template-columns:.9fr 1.4fr}
.status-column{display:flex;flex-direction:column;gap:12px}
.status-item{
  display:flex;align-items:center;gap:14px;
  background:rgba(0,0,0,.28);border:1px solid var(--border);border-radius:var(--r-sm);
  padding:14px 16px;transition:border-color .2s;
}
.status-item:hover{border-color:var(--gold-dim)}
.status-icon{font-size:20px;color:var(--gold-2);width:26px;text-align:center}
.status-icon.online{color:var(--success)}
.status-info h4{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}
.status-value{font-family:var(--ff-ui);font-size:16px;font-weight:700;color:var(--text)}
.status-value.online{color:#8fd16f}
.status-value.offline{color:var(--danger)}
.status-news{background:rgba(0,0,0,.28);border:1px solid var(--border);border-radius:var(--r-sm);padding:18px}
.news-title{color:var(--gold-3);font-family:var(--ff-ui);font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.news-list{display:flex;flex-direction:column;gap:12px}
.news-entry{
  display:flex;gap:12px;padding:10px;border-radius:var(--r-sm);
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);
  text-decoration:none;color:var(--text);transition:all .2s;
}
.news-entry:hover{border-color:var(--gold-dim);background:rgba(200,162,76,.05)}
.news-entry.pinned{border-color:var(--gold-dim);background:rgba(200,162,76,.06)}
.news-entry img{width:72px;height:52px;object-fit:cover;border-radius:6px}
.news-text{flex:1;min-width:0}
.news-header-line{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.pin-icon{color:var(--gold);font-size:11px;transform:rotate(-25deg)}
.news-date{font-size:11px;color:var(--dim)}
.news-title-text{font-family:var(--ff-ui);font-size:14px;color:var(--gold-2);line-height:1.3}
.news-snippet{font-size:12.5px;color:var(--muted);line-height:1.45}
.news-empty{color:var(--muted);font-size:13px;text-align:center;padding:12px}
.console-footer{
  display:flex;align-items:center;gap:8px;padding:12px 26px;
  border-top:1px solid var(--border);color:var(--muted);font-size:12px;letter-spacing:.5px;
}
.console-footer .pulse{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success)}

/* ============ 6) ONLINE TABLE ============ */
.online-panel{margin:0}
.online-table-wrap{overflow-x:auto}
.online-table{width:100%;border-collapse:collapse;background:rgba(0,0,0,.25)}
.online-table thead th{
  font-family:var(--ff-ui);text-transform:uppercase;font-size:12px;letter-spacing:1.5px;
  color:var(--gold-3);padding:12px 16px;text-align:left;
  background:linear-gradient(180deg,var(--panel-3),var(--panel-2));
  border-bottom:1px solid var(--gold-dim);
}
.online-table tbody td{padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.04);font-size:14px}
.online-table tbody tr{transition:background .15s}
.online-table tbody tr:hover{background:rgba(200,162,76,.05)}
.online-table .faction-horde{color:#d06b5a;font-weight:600}
.online-table .faction-alliance{color:#6fb0dc;font-weight:600}
.online-table .lvl{color:var(--gold-2);font-weight:700}
.online-empty{text-align:center;color:var(--muted);padding:22px;font-size:14px}

/* ============ 7) NEWS ============ */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-item{
  display:block;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);
  overflow:hidden;text-decoration:none;color:inherit;transition:all .25s;
}
.news-item:hover{transform:translateY(-3px);border-color:var(--gold-dim);box-shadow:var(--shadow)}
.news-image{width:100%;height:190px;object-fit:cover;display:block;filter:brightness(.9)}
.news-content{padding:16px 18px}
.news-date{font-size:11px;color:var(--dim);letter-spacing:1px}
.news-title{font-family:var(--ff-ui);font-size:19px;color:var(--gold-2);margin:6px 0 8px;line-height:1.3}
.news-text{font-size:14px;color:var(--muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.news-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;align-items:start}
.news-card-modern{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;transition:all .25s}
.news-card-modern:hover{transform:translateY(-3px);border-color:var(--gold-dim)}
.news-card-modern .news-image img{width:100%;height:230px;object-fit:cover;display:block}
.news-card-modern .news-body{padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.news-card-modern .news-date{color:var(--gold-2);font-weight:600}
.news-card-modern h3{font-size:21px;color:var(--gold-2);line-height:1.3}
.news-card-modern .news-snippet{color:var(--muted);line-height:1.6;flex-grow:1}
.news-read{display:inline-block;margin-top:10px;color:var(--gold-3);text-decoration:none;font-weight:700}
.news-read:hover{color:#fff}

.news-full-container{max-width:1000px;margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:40px 46px;box-shadow:var(--shadow)}
.news-full-title{font-size:32px;color:var(--gold-3);text-align:center}
.news-full-date{text-align:center;color:var(--muted);margin:10px 0 22px}
.news-full-image{text-align:center;margin:20px 0}
.news-full-image img{border-radius:var(--r-sm);box-shadow:var(--shadow)}
.news-full-text{font-size:16px;color:var(--text);line-height:1.85}
.news-full-text p{margin-bottom:16px}
.news-inline-image{float:left;margin:4px 20px 12px 0;max-width:42%;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--border)}
.news-footer-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);margin-top:28px;padding-top:14px;font-size:13px;color:var(--muted);clear:both}
.back-to-list{color:var(--gold-2);text-decoration:none;font-weight:600;border:1px solid var(--gold-dim);padding:7px 14px;border-radius:6px;transition:.2s}
.back-to-list:hover{background:rgba(200,162,76,.1);color:var(--gold-3)}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:24px;flex-wrap:wrap}
.page-link,.page-btn{
  color:var(--gold-2);text-decoration:none;padding:8px 14px;border-radius:6px;
  border:1px solid var(--border);font-weight:700;transition:.2s;font-size:13px;
}
.page-link:hover,.page-btn:hover{border-color:var(--gold);color:var(--gold-3)}
.page-link.active{background:linear-gradient(180deg,#ecc97a,#c69e4b);color:#1a1106;border-color:var(--gold)}

/* ============ 8) FEATURES ============ */
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.feature-card{
  padding:26px 18px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);
  transition:all .25s;
}
.feature-card:hover{transform:translateY(-4px);border-color:var(--gold-dim);box-shadow:var(--shadow)}
.feature-card i{font-size:42px;color:var(--gold-2);margin-bottom:12px}
.feature-title{font-family:var(--ff-ui);font-size:16px;color:var(--gold-3);margin-bottom:6px;text-transform:uppercase}
.feature-text{font-size:13px;color:var(--muted)}
.how-to-start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:16px}
.step-card{
  padding:24px 20px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);
  text-align:center;transition:all .25s;display:flex;flex-direction:column;align-items:center;
}
.step-card:hover{transform:translateY(-4px);border-color:var(--gold-dim)}
.step-top-content{position:relative;width:60px;height:60px;margin-bottom:10px;display:grid;place-items:center}
.step-top-content::before{content:"";position:absolute;inset:0;border:2px solid var(--gold-dim);border-radius:50%}
.step-number{font-family:var(--ff-ui);font-size:28px;font-weight:800;color:var(--gold-3);z-index:2}
.step-title{font-family:var(--ff-ui);font-size:16px;color:var(--gold-2);margin:8px 0;text-transform:uppercase}
.step-description{font-size:13px;color:var(--muted);line-height:1.55}

/* ============ 9) FORMS & AUTH ============ */
.auth-wrapper{display:flex;justify-content:center;align-items:center;min-height:70vh;padding:40px 0}
.auth-box{
  background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--border);
  border-radius:var(--r-lg);padding:36px 42px;width:430px;color:var(--text);
  box-shadow:var(--shadow),inset 0 0 50px rgba(200,162,76,.05);
}
.auth-box .section-title{font-size:24px;margin-bottom:22px;color:var(--gold-3)}
.auth-form{display:flex;flex-direction:column;gap:16px}
.auth-form .form-group{text-align:left}
.auth-form label{display:block;font-size:13px;color:var(--gold-2);margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}
.auth-form input,.registration-form-modern input{
  width:100%;padding:11px 14px;border-radius:var(--r-sm);
  border:1px solid var(--border);background:rgba(0,0,0,.4);color:var(--text);font-size:14px;transition:all .15s;
}
.auth-form input:focus,.registration-form-modern input:focus,.auth-form input:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 10px rgba(200,162,76,.25);
}
.auth-switch{text-align:center;margin-top:16px;font-size:13px;color:var(--muted)}
.auth-switch a{color:var(--gold-2)}
.alert{margin:8px 0 16px;padding:11px 14px;border-radius:var(--r-sm);font-weight:600;font-size:14px}
.alert.error{background:rgba(120,30,20,.25);border:1px solid rgba(207,90,90,.5);color:#ffc9c9}
.alert.success{background:rgba(30,90,40,.22);border:1px solid rgba(111,191,95,.5);color:#c6f0b8}

.registration-wrapper{max-width:560px;margin:0 auto;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--border);border-radius:var(--r-lg);padding:36px 42px;box-shadow:var(--shadow)}
.form-hint{font-size:12.5px;color:var(--muted);margin-top:4px}
.form-hint.error{color:var(--danger)}
.form-hint.success{color:var(--success)}
.captcha-box{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.3);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 14px}
.captcha-text{color:var(--gold-3);font-family:var(--ff-ui);font-weight:700;letter-spacing:1px}
.refresh-cap{cursor:pointer;border:1px solid var(--border);border-radius:6px;padding:5px 10px;background:rgba(200,162,76,.08);color:var(--gold-2);font-size:12px}
.refresh-cap:hover{background:rgba(200,162,76,.16)}
button[disabled]{opacity:.5;cursor:not-allowed}

/* ============ 10) BUG TRACKER ============ */
.bug-container{max-width:1000px;margin:0 auto;padding:36px 40px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.section-subtitle{text-align:center;color:var(--gold-3);font-size:22px;margin:40px 0 18px;font-family:var(--ff-ui)}
.bug-rules{margin-bottom:24px;background:rgba(200,162,76,.05);border:1px solid var(--border);border-radius:var(--r-sm);padding:16px 22px}
.bug-rules h3{color:var(--gold-2);margin-bottom:8px;font-size:15px}
.bug-rules ul{margin:0;padding-left:20px;color:var(--muted);font-size:13.5px}
.bug-rules li{margin-bottom:4px}
.bug-form{display:flex;flex-direction:column;gap:14px}
.bug-form label{color:var(--gold-2);font-weight:600;font-size:13px}
.bug-form textarea{width:100%;min-height:110px;resize:vertical;background:rgba(0,0,0,.35);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:12px;font-size:14px;font-family:var(--ff-body)}
.bug-form textarea:focus{border-color:var(--gold);outline:none}
.bug-upload input[type=file]::file-selector-button{background:rgba(200,162,76,.1);border:1px solid var(--gold-dim);color:var(--gold-2);border-radius:6px;padding:6px 12px;cursor:pointer}
.bug-table{width:100%;border-collapse:collapse;color:var(--text);font-size:14px}
.bug-table th{text-align:left;padding:12px 16px;color:var(--gold-3);text-transform:uppercase;font-family:var(--ff-ui);font-size:12px;letter-spacing:1px;background:linear-gradient(180deg,var(--panel-3),var(--panel-2));border-bottom:1px solid var(--gold-dim)}
.bug-table td{padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.04)}
.bug-table tr:hover td{background:rgba(200,162,76,.05)}
.bug-desc{color:var(--text);cursor:pointer}
.bug-desc:hover{color:var(--gold-3)}
.bug-status{font-weight:600;padding:3px 10px;border-radius:6px;white-space:nowrap;font-size:12px}
.bug-status.pending{color:var(--gold-3);background:rgba(200,162,76,.12)}
.bug-status.in_progress{color:#7fb5e0;background:rgba(111,168,220,.12)}
.bug-status.completed{color:#a5d69a;background:rgba(111,191,95,.12)}
.bug-status.rejected{color:#e08a8a;background:rgba(207,90,90,.12)}
.bug-modal{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:1000}
.bug-modal.hidden{display:none}
.bug-modal-content{background:var(--panel-2);border:1px solid var(--gold-dim);border-radius:var(--r-lg);padding:26px 30px;max-width:700px;width:92%;position:relative;box-shadow:var(--shadow)}
.close-modal{position:absolute;right:16px;top:8px;font-size:26px;color:var(--muted);cursor:pointer}
.close-modal:hover{color:var(--gold-3)}
.modal-body p{color:var(--text);line-height:1.6;margin-bottom:10px}
.modal-images{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.modal-images img{width:48%;border-radius:var(--r-sm);border:1px solid var(--border)}

/* ============ 11) FORUM ============ */
.forum.page-container{position:relative;max-width:var(--container-w);width:100%;margin:20px auto;padding:0}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 16px;margin-bottom:20px;font-size:13px}
.breadcrumbs a{color:var(--gold-2);text-decoration:none;font-weight:600}
.breadcrumbs a:hover{color:var(--gold-3)}
.breadcrumbs span{color:var(--muted)}
.forum-cat{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:22px;overflow:hidden}
.forum-cat__title{
  background:linear-gradient(180deg,var(--panel-3),var(--panel-2));padding:14px 18px;
  font-family:var(--ff-ui);font-size:16px;letter-spacing:1px;color:var(--gold-3);
  text-transform:uppercase;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:10px;justify-content:flex-start;
  width:95%;margin:0 auto;
}
.forum-table{width:100%;border-collapse:collapse;table-layout:fixed;color:var(--text)}
.forum-table th{padding:12px;background:rgba(0,0,0,.3);border-bottom:1px solid var(--border);color:var(--gold-3);font-family:var(--ff-ui);text-transform:uppercase;font-size:12px;letter-spacing:1px}
.forum-table td{padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}
.forum-table tr:hover td{background:rgba(200,162,76,.04)}
.forum-title{color:var(--gold-2);font-weight:700;text-decoration:none;display:block}
.forum-title:hover{color:var(--gold-3)}
.forum-desc{color:var(--muted);font-size:13px;margin-top:2px}
.subforums{margin-top:6px;font-size:12px;color:var(--muted)}
.subforums a{color:var(--gold-dim)}
.topic-list{width:100%;border-collapse:collapse;color:var(--text)}
.topic-list th{background:rgba(0,0,0,.3);padding:12px;border-bottom:1px solid var(--border);color:var(--gold-3);font-family:var(--ff-ui);text-transform:uppercase;font-size:12px;letter-spacing:1px}
.topic-list td{padding:12px;border-bottom:1px solid rgba(255,255,255,.04)}
.topic-list tr:hover td{background:rgba(200,162,76,.04)}
.topic-title a{color:var(--text);font-weight:600;text-decoration:none}
.topic-title a:hover{color:var(--gold-3)}
.topic-meta{color:var(--muted);font-size:12.5px}
.topic-row.pinned{border-left:3px solid var(--gold)}
.topic-row.locked{border-left:3px solid var(--danger)}
.topic-flag{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:6px;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}
.topic-flag.pinned{color:#1a1106;background:linear-gradient(180deg,#ecc97a,#c69e4b)}
.topic-flag.locked{color:#ffc9c9;background:rgba(207,90,90,.15)}
.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.4px}
.badge-pinned{color:#1a1106;background:linear-gradient(180deg,#ecc97a,#c69e4b)}
.badge-locked{color:#ffc9c9;background:rgba(207,90,90,.15)}

.post.card{
  display:flex;gap:18px;margin:0 0 18px;padding:18px;border:1px solid var(--border);
  border-radius:var(--r-md);background:var(--panel);
}
.post-user{width:190px;text-align:center;border-right:1px solid var(--border);padding-right:14px;display:flex;flex-direction:column;align-items:center}
.post-username{color:var(--gold-3);font-weight:700;margin-bottom:4px}
.post-stats{list-style:none;padding:0;margin:0;color:var(--muted);font-size:12.5px;line-height:1.4}
.post-body{flex:1;min-width:0}
.post-meta{color:var(--dim);font-size:12.5px;margin-bottom:8px}
.post-content{color:var(--text);font-size:15px;line-height:1.65}
.post-content img{max-width:100%;border-radius:var(--r-sm);margin:6px 0}
.post-content blockquote{
  position:relative;background:rgba(0,0,0,.3);border:1px solid var(--border);
  border-left:3px solid var(--gold-dim);border-radius:var(--r-sm);padding:12px 16px;margin:10px 0 14px;font-size:13.5px;color:var(--muted);
}
.post-content blockquote::before{content:attr(data-quote-author);display:block;color:var(--gold-2);font-weight:700;font-size:13px;margin-bottom:6px}
.post-content p{margin:0 0 14px}
.post-content h2,.post-content h3,.post-content h4{
  font-family:var(--ff-ui);color:var(--gold-2);font-weight:700;line-height:1.3;
  margin:26px 0 10px;letter-spacing:.4px;
}
.post-content h2{font-size:20px;border-bottom:1px solid var(--border);padding-bottom:7px}
.post-content h3{font-size:17px}
.post-content h4{font-size:15.5px}
.post-content ul,.post-content ol{margin:0 0 16px;padding-left:28px}
.post-content ul{list-style:disc}
.post-content ol{list-style:decimal}
.post-content ul li::marker,.post-content ol li::marker{color:var(--gold-dim)}
.post-content ol li::marker{font-weight:700}
.post-content li{margin:5px 0;line-height:1.7}
.post-content code{
  background:rgba(0,0,0,.35);border:1px solid var(--border);border-radius:var(--r-xs);
  color:var(--gold-3);font-family:'Consolas','Courier New',monospace;
  font-size:13px;padding:2px 7px;
}

.reply-btn{
  padding:7px 14px;border-radius:6px;border:1px solid var(--gold-dim);background:rgba(200,162,76,.08);
  color:var(--gold-2);font-weight:700;font-size:12px;cursor:pointer;transition:.2s;
}
.reply-btn:hover{background:rgba(200,162,76,.16);color:var(--gold-3)}
.post-actions{display:flex;justify-content:flex-end;margin-top:10px}
.topic-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:22px}
.topic-form input,.topic-form textarea{width:100%;padding:11px 14px;border-radius:var(--r-sm);border:1px solid var(--border);background:rgba(0,0,0,.35);color:var(--text);font-family:var(--ff-body)}
.topic-form input:focus,.topic-form textarea:focus{border-color:var(--gold);outline:none}
.topic-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}

/* ============ 12) LK / ACCOUNT ============ */
.lk .lk-grid{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}
.lk .profile{width:340px;flex-shrink:0}
.lk .lk-right{flex:1;min-width:300px;display:flex;flex-direction:column;gap:22px}
@media (max-width:980px){.lk .lk-grid{flex-direction:column}.lk .profile{width:100%}}
.lk .avatar-actions{display:flex;gap:8px;margin-top:12px}
.lk .avatar-actions .btn{flex:1;justify-content:center;padding:10px 8px}
.lk .lk-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:18px}
.lk .lk-card h3{font-family:var(--ff-ui);color:var(--gold-3);font-size:16px;margin:0 0 12px;text-transform:uppercase;letter-spacing:1px}
.lk .lk-banner{display:flex;gap:12px;align-items:center;margin-bottom:14px;padding:12px 14px;border:1px dashed var(--gold-dim);border-radius:var(--r-sm);background:rgba(200,162,76,.05);color:var(--gold-2);font-size:13px}
.lk .avatar-frame{width:160px;height:160px;margin:0 auto 14px;overflow:hidden;border-radius:var(--r-md);background:rgba(0,0,0,.4);border:1px solid var(--border);display:grid;place-items:center}
.lk .avatar-frame img{width:100%;height:100%;object-fit:cover}
.lk .avatar-empty{display:flex;flex-direction:column;align-items:center;color:var(--muted);gap:6px;font-size:12px}
.lk .avatar-empty i{font-size:36px}
.lk .avatar-form .file-label{display:block;margin:10px 0;padding:10px;border:1px dashed var(--border-hi);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;text-align:center;font-size:13px}
.lk .file-label input{display:none}
.lk .avatar-actions{display:flex;gap:8px;justify-content:center}
.lk .btn{padding:8px 14px;border-radius:6px;border:1px solid var(--border);background:rgba(200,162,76,.06);color:var(--gold-2);cursor:pointer;font-size:12.5px;transition:.2s}
.lk .btn:hover{border-color:var(--gold);color:var(--gold-3)}
.lk .btn-primary{border-color:var(--gold-dim);background:rgba(200,162,76,.12)}
.lk .btn-ghost{background:transparent}
.lk .btn-ghost.danger{border-color:rgba(207,90,90,.45);color:#e08a8a}
.lk .mt-8{margin-top:8px}
.lk .profile-kv{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.lk .profile-kv li{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;background:rgba(0,0,0,.25);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;font-size:13.5px}
.lk .profile-kv li i{color:var(--gold-dim)}
.lk .profile-kv li span{color:var(--muted)}
.lk .password .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lk .password input{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px;color:var(--text);font-size:14px}
.lk .password input:focus{border-color:var(--gold);outline:none}
.lk .password .desc{color:var(--muted);font-size:12.5px;margin:8px 0 10px}
.lk .char-table{width:100%;border-collapse:collapse;color:var(--text)}
.lk .char-table th,.lk .char-table td{padding:10px 12px;background:rgba(0,0,0,.25);border:1px solid var(--border);text-align:left;font-size:14px}
.lk .char-table th{color:var(--gold-3);font-family:var(--ff-ui);text-transform:uppercase;font-size:12px;letter-spacing:1px}
.lk .coin{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:6px;border:1px solid var(--border);font-size:12px}
.lk .coin.gold{color:var(--gold-3)}
.lk .coin.silver{color:#cfd4d9}
.lk .coin.copper{color:#d9a37e}

/* ============ 13) ADMIN ============ */
.admin-container{display:flex;min-height:80vh;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.admin-sidebar{
  width:250px;background:linear-gradient(180deg,var(--panel-3),var(--panel-2));
  border-right:1px solid var(--border);padding:22px 14px;display:flex;flex-direction:column;
}
.admin-title,.admin-logo{font-family:var(--ff-ui);font-size:20px;color:var(--gold-3);letter-spacing:1px;text-align:center;margin-bottom:18px}
.admin-menu{list-style:none;padding:0;margin:0}
.admin-menu li,.admin-menu .menu-item{
  padding:10px 14px;margin-bottom:6px;border-radius:var(--r-sm);cursor:pointer;
  color:var(--text);font-size:13.5px;transition:all .15s;border:1px solid transparent;
}
.admin-menu li:hover,.admin-menu .menu-item:hover,.admin-menu li.active,.admin-menu .menu-item.active{
  background:rgba(200,162,76,.1);border-color:var(--gold-dim);color:var(--gold-3);
}
.admin-menu li i{margin-right:8px;color:var(--gold-dim);width:16px;text-align:center}
.admin-exit{text-align:center;margin-top:20px;color:var(--muted);text-decoration:none;font-size:13px}
.admin-exit:hover{color:var(--danger)}
.admin-content{flex:1;padding:26px;background:rgba(0,0,0,.2)}
.admin-section{display:none}
.admin-section.active{display:block}
.admin-section h2{font-family:var(--ff-ui);color:var(--gold-3);font-size:22px;margin-bottom:18px;text-transform:uppercase;letter-spacing:1px}
.admin-btn{background:linear-gradient(180deg,#ecc97a,#c69e4b 55%,#a8813a);color:#1a1106;font-weight:800;border:none;padding:9px 16px;border-radius:6px;cursor:pointer;font-size:12.5px;transition:.2s}
.admin-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.admin-btn.gold{background:linear-gradient(180deg,#d8b25f,#a8813a);color:#1a1106}
.admin-table,.news-table{width:100%;border-collapse:collapse;background:rgba(0,0,0,.25);border-radius:var(--r-sm);overflow:hidden}
.admin-table th,.admin-table td,.news-table th,.news-table td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.05);text-align:left;font-size:13.5px}
.admin-table th,.news-table th{background:rgba(0,0,0,.3);color:var(--gold-3);font-family:var(--ff-ui);text-transform:uppercase;font-size:12px;letter-spacing:1px}
.admin-table tr:hover td,.news-table tr:hover td{background:rgba(200,162,76,.04)}
.status{display:inline-block;padding:3px 10px;border-radius:6px;font-weight:700;font-size:12px;text-transform:capitalize}
.status-pending{color:var(--gold-3);background:rgba(200,162,76,.14)}
.status-in_progress{color:#7fb5e0;background:rgba(111,168,220,.14)}
.status-completed{color:#a5d69a;background:rgba(111,191,95,.14)}
.status-rejected{color:#e08a8a;background:rgba(207,90,90,.14)}
.admin-flash{margin:14px auto;max-width:820px;padding:13px 18px;border-radius:var(--r-sm);text-align:center;font-weight:700;font-size:14px}
.admin-flash.success{background:rgba(40,90,50,.3);border:1px solid rgba(111,191,95,.4);color:#c6f0b8}
.admin-flash.info{background:rgba(30,70,100,.3);border:1px solid rgba(111,168,220,.4);color:#cfe8ff}
.admin-flash.error{background:rgba(120,30,20,.3);border:1px solid rgba(207,90,90,.4);color:#ffc9c9}
.search-form{display:flex;gap:10px;margin-bottom:18px}
.search-form input[type="text"],.news-form input[type="text"]{flex:1;padding:10px 14px;border-radius:var(--r-sm);border:1px solid var(--border);background:rgba(0,0,0,.35);color:var(--text)}
.search-form input:focus,.news-form input:focus{border-color:var(--gold);outline:none}
.news-form{margin-bottom:22px;background:rgba(0,0,0,.25);padding:20px;border-radius:var(--r-sm);border:1px solid var(--border)}
.edit-btn,.delete-btn{background:none;border:none;color:var(--gold-2);cursor:pointer;font-size:13px}
.delete-btn{color:#e08a8a;font-weight:700}
.delete-btn:hover{color:#ffb3b3}

/* ============ ADMIN EXTRA ============ */
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:22px}
.admin-stat{
  background:linear-gradient(180deg,var(--panel-3),var(--panel-2));
  border:1px solid var(--border);border-radius:var(--r-sm);padding:18px 14px;text-align:center;
  transition:border-color .2s;
}
.admin-stat:hover{border-color:var(--gold-dim)}
.admin-stat-num{font-family:var(--ff-ui);font-size:26px;font-weight:800;color:var(--gold-3)}
.admin-stat-label{font-size:12px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}
.admin-quick{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}
.admin-help{color:var(--muted);font-size:13.5px}
.admin-btn-danger{background:linear-gradient(180deg,#c95a5a,#9c3c3c 55%,#823232)!important;color:#fff!important}
.admin-btn-success{background:linear-gradient(180deg,#6fbf5f,#4c9c3f 55%,#3f8334)!important;color:#fff!important}
.admin-btn-ghost{background:rgba(200,162,76,.08)!important;border:1px solid var(--border)!important;color:var(--gold-2)!important}
.bugs-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.stat-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:14px 18px;min-width:120px;text-align:center}
.stat-num{font-family:var(--ff-ui);font-size:24px;font-weight:800;color:var(--gold-3)}
.stat-lbl{color:var(--muted);font-size:12px;margin-top:2px}
.bugs-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.bugs-filters input[type="text"],.bugs-filters select{flex:1;min-width:160px;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--border);background:rgba(0,0,0,.35);color:var(--text);font-family:var(--ff-body)}
.bugs-filters select{flex:0 1 auto}
.bugs-table,.forum-admin-box{margin-bottom:22px}
.bugs-table h3,.forum-admin-box h3{font-family:var(--ff-ui);color:var(--gold-3);font-size:15px;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}
.forum-admin-box{background:rgba(0,0,0,.22);border:1px solid var(--border);border-radius:var(--r-sm);padding:16px 18px}
.forum-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:8px}
.forum-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--gold-2)}
.forum-form input[type="text"],.forum-form select{width:100%;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--border);background:rgba(0,0,0,.35);color:var(--text);font-family:var(--ff-body)}
@media (max-width:768px){.forum-form{grid-template-columns:1fr}}
.form-block{display:block;margin-bottom:12px}
.form-block span{display:block;font-size:13px;color:var(--gold-2);margin-bottom:6px}
.form-block input,.form-block textarea{width:100%;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--border);background:rgba(0,0,0,.35);color:var(--text);font-family:var(--ff-body)}
.form-inline{display:flex;align-items:center;gap:16px;margin:12px 0;flex-wrap:wrap}
.seo-form label{display:block;font-size:13px;color:var(--gold-2);margin:10px 0 4px}
.seo-form select,.seo-form input,.seo-form textarea{width:100%;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--border);background:rgba(0,0,0,.35);color:var(--text);font-family:var(--ff-body)}
.admin-table select,.admin-table input[type="text"]{background:rgba(0,0,0,.35);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:5px 8px}

/* forum icons */
.forum-cat__title .cat-ic{ color:var(--gold-dim); font-size:1.1em; }
.forum-ic{ color:var(--gold-dim); margin-right:8px; font-size:1.1em; }

/* ===== Логотип-морфинг: на главной меню-логотип невидим (место сохраняется), перелёт — через JS ===== */
.is-home .header-logo{ visibility:hidden; }
/* при возврате на главную из другой страницы — центральный логотип сначала скрыт,
   потом JS «прилетает» им из меню в центр */
.logo-fly-in .hero-logo{ visibility:hidden; }

/* Уведомление «только админы создают темы» */
.admins-only-note{
  display:flex;align-items:center;gap:8px;
  margin-bottom:14px;padding:10px 14px;
  background:rgba(111,168,220,.08);
  border:1px solid rgba(111,168,220,.3);
  border-radius:var(--r-sm);
  color:#a9d0f0;font-size:13px;
}
.admins-only-note i{ color:#6fa8dc; }
.forum-adminsonly{
  display:inline-flex;align-items:center;gap:5px;
  margin-left:8px;padding:2px 8px;border-radius:999px;
  font-size:11px;font-weight:600;color:#a9d0f0;
  background:rgba(111,168,220,.1);border:1px solid rgba(111,168,220,.35);
  vertical-align:middle;
}

/* ===== Приглашение войти/зарегистрироваться (форум и др.) ===== */
.forum-login-prompt{
  display:flex;align-items:center;gap:16px;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  padding:18px 22px;
  box-shadow:var(--shadow);
}
.forum-login-prompt__icon{
  width:52px;height:52px;flex:0 0 52px;border-radius:50%;
  border:2px solid var(--gold-dim);
  background:radial-gradient(circle, rgba(200,162,76,.14), rgba(200,162,76,.03));
  display:flex;align-items:center;justify-content:center;
  font-size:22px;color:var(--gold-2);
}
.forum-login-prompt__text{ flex:1; }
.forum-login-prompt__text strong{ color:var(--text);font-family:var(--ff-ui);font-size:15px; }
.forum-login-prompt__sub{ color:var(--muted);font-size:13px;margin-top:2px; }
.forum-login-prompt__btns{ display:flex;gap:10px;flex-wrap:wrap; }
.forum-login-prompt__btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 18px;border-radius:8px;
  background:linear-gradient(180deg,var(--gold-2),var(--gold));
  color:#1a130a;font-weight:700;text-decoration:none;font-size:13px;
}
.forum-login-prompt__btn:hover{ filter:brightness(1.1); transform:translateY(-1px); }
.forum-login-prompt__btn.ghost{
  background:transparent;color:var(--gold-2);
  border:1px solid var(--border-hi);
}
.forum-login-prompt__btn.ghost:hover{ border-color:var(--gold);color:var(--gold-3); }
@media (max-width:640px){
  .forum-login-prompt{ flex-direction:column; text-align:center; }
}

/* ===== TinyMCE: тёмно-золотая тема ===== */
.tox-tinymce{ border-color:var(--border) !important; border-radius:var(--r-sm) !important; box-shadow:var(--shadow); }
.tox .tox-editor-header, .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar-overlord{ background:var(--panel-2) !important; }
.tox .tox-tbtn{ background:transparent !important; color:var(--muted) !important; }
.tox .tox-tbtn:hover, .tox .tox-tbtn:focus, .tox .tox-tbtn--enabled{ background:rgba(200,162,76,.14) !important; color:var(--gold-2) !important; }
.tox .tox-tbtn svg{ fill:currentColor !important; }
.tox .tox-toolbar__group{ border-color:var(--border) !important; }
.tox .tox-edit-area, .tox .tox-edit-area__iframe{ background:var(--bg-2) !important; }
.tox .tox-statusbar{ background:var(--panel-2) !important; border-top:1px solid var(--border) !important; color:var(--muted) !important; }
.tox .tox-statusbar__path-item, .tox .tox-statusbar a{ color:var(--muted) !important; }
.tox .tox-menu{ background:var(--panel) !important; border-color:var(--border) !important; }
.tox .tox-collection__item{ color:var(--text) !important; }
.tox .tox-collection__item--active, .tox .tox-collection__item--enabled{ background:rgba(200,162,76,.14) !important; color:var(--gold-2) !important; }
.tox .tox-dialog{ background:var(--panel) !important; border-color:var(--border) !important; }
.tox .tox-dialog__header, .tox .tox-dialog__footer{ background:var(--panel-2) !important; }
.tox .tox-dialog__title, .tox .tox-label{ color:var(--gold-2) !important; }
.tox .tox-textfield, .tox .tox-textarea, .tox .tox-selectfield select{ background:var(--bg-2) !important; color:var(--text) !important; border-color:var(--border) !important; }
.tox .tox-button{ background:linear-gradient(180deg,var(--gold-2),var(--gold)) !important; color:#1a130a !important; border:none !important; }
.tox .tox-button--secondary{ background:var(--panel-3) !important; color:var(--text) !important; border:1px solid var(--border) !important; }
.tox .tox-mbtn{ background:transparent !important; color:var(--muted) !important; }
.tox .tox-mbtn:hover{ background:rgba(200,162,76,.14) !important; color:var(--gold-2) !important; }

/* ============ 14) FOOTER ============ */
.site-footer{
  width:100%;max-width:var(--container-w);margin:40px auto 26px;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
  border:1px solid var(--border);border-top:1px solid var(--gold-dim);
  border-radius:var(--r-md);box-shadow:var(--shadow);padding:32px 40px 26px;
}
.footer-content{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}
.footer-nav{display:flex;flex-direction:column;gap:8px}
.footer-nav-link{color:var(--muted);text-decoration:none;font-size:13.5px;transition:.2s}
.footer-nav-link:hover{color:var(--gold-3)}
.footer-copy{font-size:12.5px;color:var(--dim);line-height:1.7;text-align:left}
.footer-social{display:flex;gap:12px;justify-content:flex-end}
.footer-social-link{font-size:20px;color:var(--muted);text-decoration:none;transition:.2s}
.footer-social-link:hover{color:var(--gold-3)}
.footer-legal{margin-top:10px;text-align:right}
.footer-legal-link{color:var(--dim);text-decoration:none;font-size:12.5px}
.footer-legal-link:hover{color:var(--gold-2)}

/* socials block (placeholders) */
.footer-socials{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.footer-socials-label{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.6px}
.footer-social-link.is-placeholder{
  opacity:.5;
  border:1px solid var(--border);
  border-radius:10px;
  width:40px;height:40px;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:default;
  font-size:18px;
}
.footer-social-link.is-placeholder:hover{ color:var(--muted); }

/* ============ 14b) POLICY / PRIVACY PAGE ============ */
.policy-page{max-width:900px;margin:0 auto;width:100%}
.policy-card{
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
  border:1px solid var(--border);border-radius:var(--r-lg);
  box-shadow:var(--shadow),inset 0 0 50px rgba(200,162,76,.05);
  padding:36px 44px;color:var(--text);
}
.policy-title{text-align:center;font-size:30px;margin-bottom:10px;color:var(--gold-3);font-family:var(--ff-ui)}
.policy-date{text-align:center;font-size:13px;color:var(--dim);margin-bottom:22px}
.policy-intro{font-size:15px;color:var(--muted);margin-bottom:26px;text-align:center;line-height:1.7}
.policy-section{margin-bottom:24px}
.policy-section h2{font-size:19px;color:var(--gold-2);margin:0 0 8px;font-family:var(--ff-ui)}
.policy-section p,.policy-section ul{font-size:14.5px;color:var(--text);line-height:1.6}
.policy-section ul{padding-left:22px;list-style:disc}
.policy-section a{color:var(--gold-2);text-decoration:none}
.policy-section a:hover{color:var(--gold-3)}
@media(max-width:600px){.policy-card{padding:20px 16px}.policy-title{font-size:22px}}

/* ============ 15) AVATARS ============ */
.avatar{width:40px;height:40px;border-radius:8px;object-fit:cover;border:1px solid var(--border)}
.avatar-lg{width:80px;height:80px;border-radius:10px}
.avatar-xl{width:120px;height:120px;border-radius:12px}
.post-avatar-wrap{width:90px;height:90px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:rgba(0,0,0,.3);display:grid;place-items:center}
.post-avatar-wrap img{width:100%;height:100%;object-fit:cover}
.avatar-empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;text-align:center;padding:6px;border:1px dashed var(--border)}

/* ============ 16) RESPONSIVE ============ */
@media (max-width:1100px){
  .news-grid,.features-grid{grid-template-columns:repeat(2,1fr)}
  .how-to-start-grid{grid-template-columns:repeat(2,1fr)}
  .console-body.balanced-layout{grid-template-columns:1fr}
}

/* ============ UNIFIED LAYOUT ============
   Placed LAST so it overrides per-page container rules.
   All page content blocks get the SAME top offset from the menu
   and the SAME width (fill the site container). */
.news-full-container,
.bug-container,
.forum.page-container,
.forum-topic,
.page-wrap,
.policy-page,
.lk,
.admin-container,
.main,
.main-container .main-container{
  max-width:100% !important;
  width:100%;
  margin:28px 0 0;
}

/* Forum topic page: title + content readable and not stuck */
.forum-topic{min-width:0}
.forum-topic .forum-topic-header{margin:0 0 18px}
.forum-topic h1.h2,
.forum-topic h1{
  font-family:var(--ff-ui);
  font-size:clamp(20px,2.4vw,28px);
  font-weight:700;
  color:var(--gold-3);
  line-height:1.2;
  letter-spacing:.5px;
  text-transform:none;
  margin:0 0 6px;
}
.forum-topic .post-content{font-size:15px;line-height:1.7;color:var(--text)}

/* Forum / page utility classes */
.flex-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.flex-center{display:flex;align-items:center}
.mb-12{margin-bottom:12px}
.m-0{margin:0}
.btn-mini{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:6px;border:1px solid var(--border);
  background:rgba(200,162,76,.06);color:var(--gold-2);font-size:12.5px;font-weight:600;
  cursor:pointer;transition:all .2s;text-decoration:none;
}
.btn-mini:hover{border-color:var(--gold);color:var(--gold-3);background:rgba(200,162,76,.12)}
.btn-mini.danger{border-color:rgba(207,90,90,.4);color:#e08a8a}
.btn-mini.danger:hover{border-color:var(--danger);color:#ffb3b3}
/* Nested site containers must not add extra horizontal padding or a flex gap
   so their width matches the outer site container exactly.
   They get the SAME top offset from the menu as every other block.
   (.news-full-container is a card and keeps its own internal padding.) */
.main-container .main-container:not(.news-full-container){ padding:0; }
.main-container .main-container{
  max-width:100%;
  width:100%;
  margin:28px 0 0;
  gap:var(--gap-3);
}
/* privacy: the inner policy block owns the top offset */
.page-wrap .policy-page{ margin-top:0; }

/* ============ UNIFIED PAGE TITLE (H1) ============
   One consistent page heading across all content pages. */
.page-title{
  font-family:var(--ff-ui);
  font-size:clamp(20px,2.6vw,30px);
  font-weight:700;
  color:var(--gold-3);
  text-align:center;
  letter-spacing:2px;
  text-transform:uppercase;
  margin:0 0 26px;
  text-shadow:0 2px 14px rgba(0,0,0,.6),0 0 30px rgba(200,162,76,.25);
}
.page-title::after{
  content:"";display:block;width:140px;height:1px;margin:12px auto 0;
  background:linear-gradient(90deg,transparent,var(--gold-2),transparent);
}
/* ============ TOASTS ============ */
#toast-container{
  position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:20000;
  display:flex;flex-direction:column;gap:10px;align-items:center;
  pointer-events:none;width:min(92vw,420px);
}
.toast{
  min-width:260px;max-width:380px;padding:14px 18px;border-radius:var(--r-sm);
  font-family:var(--ff-body);font-size:14.5px;font-weight:600;line-height:1.45;
  box-shadow:0 10px 30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.15);
  border:1px solid var(--border-hi);
  opacity:0;transform:translateY(-12px);transition:opacity .35s,transform .35s;
}
.toast.show{opacity:1;transform:translateY(0)}
.toast-success{
  background:linear-gradient(180deg,#203018,#1a2812);
  border-color:rgba(111,191,95,.5);color:#c6f0b8;
}
.toast-error{
  background:linear-gradient(180deg,#301a16,#28120f);
  border-color:rgba(207,90,90,.5);color:#ffd0d0;
}

/* ============ SCROLL TO TOP ============ */
#toTop{
  position:fixed;right:22px;bottom:26px;z-index:15000;
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(180deg,#ecc97a,#c69e4b 55%,#a8813a);
  color:#1a1106;border:1px solid var(--gold);font-size:18px;cursor:pointer;
  box-shadow:0 6px 20px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.4);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .3s,transform .3s,visibility .3s;
}
#toTop.visible{opacity:1;visibility:visible;transform:translateY(0)}
#toTop:hover{filter:brightness(1.1);transform:translateY(-2px)}

/* News list + full article titles, bug tracker, forum page, privacy, LK use the same style */
.news-page .section-title,
.bug-section .section-title,
.news-full-title,
.policy-title,
.lk .page-title{
  font-family:var(--ff-ui);
  font-size:clamp(20px,2.6vw,30px);
  font-weight:700;
  color:var(--gold-3);
  text-align:center;
  letter-spacing:2px;
  text-transform:uppercase;
  text-shadow:0 2px 14px rgba(0,0,0,.6),0 0 30px rgba(200,162,76,.25);
}
.news-full-title{margin:0 0 10px}
.policy-title{margin:0 0 12px}

/* Forum internal H1 heading stays moderate (not page-title sized) —
   only targets the H1, NOT the .forum-title links used in the forum list */
h1.forum-title{
  font-family:var(--ff-ui);
  font-size:22px;
  font-weight:700;
  color:var(--gold-3);
  margin:0 0 18px;
  text-align:left;
  letter-spacing:1px;
  text-transform:uppercase;
}
@media (max-width:992px){
  header{flex-direction:column;align-items:center;gap:12px;padding-top:14px;margin-top:12px}
  .arcane-menu{display:none}
  .mobile-menu-toggle,#menu-toggle{display:block}
  .auth-and-flags-group{width:100%;justify-content:center;margin-top:8px}
  /* On mobile, auth buttons live in the burger menu — hide header duplicates */
  .auth-and-flags-group{display:none}
  /* On mobile: logo becomes a small inline brand (not overlapping), burger on the right */
  .logo{position:static;transform:none}
  .header-logo{height:40px}
  .logo-nav-status-group{width:100%;justify-content:space-between}
  .news-cards-grid{grid-template-columns:1fr}
  .admin-container{flex-direction:column}
  .admin-sidebar{width:100%;border:none;border-bottom:1px solid var(--border)}
  .admin-menu{display:flex;flex-wrap:wrap;gap:6px}
}
@media (max-width:768px){
  .section-title{font-size:26px}
  .hero-content{padding:28px 22px}
  .hero-actions{flex-wrap:wrap}
  .hero-btn{width:100%}
  .news-grid,.features-grid,.how-to-start-grid{grid-template-columns:1fr}
  .footer-content{flex-direction:column;gap:22px;text-align:center}
  .footer-socials{align-items:center}
  .footer-social{justify-content:center}
  .footer-legal{text-align:center}
  .post.card{flex-direction:column}
  .post-user{width:100%;border:none;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:10px}
  .forum-table thead,.topic-list thead{display:none}
  .forum-table tr,.topic-list tr{display:grid;grid-template-columns:1fr;gap:6px;padding:10px}
  .forum-table td,.topic-list td{border:none;padding:3px 0}
  .lk .lk-grid{grid-template-columns:1fr}
  .brand-name{font-size:24px}
}
