/* ==== Base Theme (Dark, QuakeNet-inspired layout) ==== */
:root{
  --bg:#0f1b2d;
  --bg-soft:#12243b;
  --panel:#0d1726;
  --panel-border:#22324a;
  --text:#e8f0ff;
  --muted:#b7c3d6;
  --brand:#8ab4ff;
  --brand-2:#60a5fa;
  --accent:#1e3a8a;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font: 15px/1.5 "Helvetica Neue", Arial, sans-serif;
  color:var(--text);
  background: linear-gradient(#0e1b2d,#0a1727) fixed;
}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}
a:visited{color:var(--brand)} /* avoid purple visited links */

.wrap{max-width:1100px; margin:0 auto; padding:0 16px}
.content{padding:18px 0 28px}

/* Utility bar */
.utilbar{background:rgba(0,0,0,.35); color:var(--muted); font-size:13px}
.utilwrap{display:flex; gap:14px; justify-content:flex-end; align-items:center; padding:6px 0}
.utilwrap a{color:var(--text)}

/* Top bar */
.topbar{background:linear-gradient(#132840,#0f1d31); box-shadow:inset 0 -1px 0 rgba(255,255,255,.06), 0 1px 3px rgba(0,0,0,.55)}
.topwrap{display:flex; align-items:center; gap:28px; padding:12px 0}
.logo a{display:flex; align-items:center; gap:10px}
.logo img{height:120px; display:block}
.logo .fallback{font-size:26px; font-weight:700; letter-spacing:.3px}
.nav{display:flex; gap:18px; align-items:center; flex-wrap:wrap}
.nav > *{display:block}
.nav a{color:#fff; opacity:.9; padding:10px 6px; font-size:15px; line-height:1.5}
.nav a:hover{opacity:1}
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-drop-btn{background:transparent;border:none;color:#fff;padding:10px 6px;font-family:inherit;font-size:15px;font-weight:400;line-height:1.5;cursor:pointer;opacity:.9;display:block;margin:0;text-decoration:none}
.nav-drop-btn:hover{opacity:1}
.nav-drop-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#0a1629;border:1px solid rgba(255,255,255,0.12);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,0.4);display:none;min-width:170px;z-index:20;padding:4px 0;text-align:center}
.nav-dropdown:hover .nav-drop-menu,
.nav-dropdown:focus-within .nav-drop-menu{display:block}
.nav-drop-menu a{display:block;padding:8px 12px;color:#e5e7eb;opacity:1;font-size:14px}
.nav-drop-menu a:hover{background:rgba(96,165,250,0.15);color:#60a5fa}
.nav-dropdown:hover .nav-drop-menu,
.nav-dropdown:focus-within .nav-drop-menu{display:block}

/* Panels */
.box{
  background:rgba(255,255,255,.02);
  border:1px solid var(--panel-border);
  border-radius:10px;
  box-shadow: 0 2px 8px rgba(0,0,0,.35);
  padding:14px;
}
.box h3{margin:0 0 10px 0; font-size:18px}
.small{font-size:12px; color:var(--muted)}

/* Buttons */
.btn{display:inline-block; border:1px solid var(--panel-border); background:var(--bg-soft); padding:6px 10px; border-radius:8px}
.btn:hover{filter:brightness(1.08)}

/* Tables */
.table{width:100%; border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--panel-border); padding:8px 6px; text-align:left}

/* Home grid */
.grid3{display:grid; grid-template-columns: 320px 1fr 320px; gap:22px; align-items:start}

/* News cards */
.news-list .item{background:rgba(255,255,255,0.03);border:1px solid #1f2937;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.25);padding:12px;margin:14px 0}
.news-list .item h4{margin:0 0 6px;font-size:16px}
.news-list .snippet{color:#b8c2cc;font-size:13px;line-height:1.5}
.news-list .row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.news-list .btn{padding:6px 10px}
.ico{height:26px;width:26px;object-fit:contain; vertical-align:middle; margin-right:6px}
.ico-text{margin-right:6px;font-size:20px;vertical-align:middle}
.sidebar-stack > .box:not(:last-child){margin-bottom:18px}
.latest-column h4{margin:0 0 6px;font-size:16px}
.latest-column .latest-snippet{margin:0 0 6px;color:#cdd7e6;font-size:13px;line-height:1.5}
.latest-column .small{display:block;margin-bottom:4px}
.latest-column .stats-line{margin-bottom:8px}
.article img{max-width:100%;height:auto;display:block;margin:12px 0;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.article .censor-text{background:#050a14;color:transparent;text-shadow:0 0 12px #000;border-radius:4px;padding:0 6px;display:inline-block}

/* Search */
.searchbar input{width:100%; padding:8px 10px; background:#0a1422; color:var(--text); border:1px solid var(--panel-border); border-radius:8px}

/* Calendar */
.calendar table{width:100%; border-collapse:collapse; font-size:12px}
.calendar th,.calendar td{border:1px solid var(--panel-border); text-align:center; padding:4px 0}
.calendar td{position:relative}
.calendar td a.daylink{display:block; color:inherit; padding:2px 0}
.calendar td.has-event{background:#1e3a8a; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.calendar td.has-event::after{content:''; position:absolute; bottom:3px; left:50%; transform:translateX(-50%); width:6px; height:6px; border-radius:50%; background:#60a5fa}

/* Footer */
.site-footer{margin-top:38px; background:#0b1220; color:var(--muted)}
.footer-inner{max-width:1100px; margin:0 auto; padding:26px 16px}
.footer-cols{display:grid; grid-template-columns: repeat(4, 1fr); gap:22px; text-align:left}
.footer-cols h4{margin:0 0 8px 0; color:var(--text)}
.footer-cols ul{list-style:none; padding:0; margin:0}
.footer-cols li{margin:6px 0}
.footer-cols a{color:var(--brand)}
.footer-bottom{margin-top:16px; text-align:center; opacity:.8; font-size:13px}

/* Helpers */
.yt iframe{width:100%; height:320px; border:0; border-radius:8px}
.help-back{margin-bottom:8px}
.grid{display:grid; grid-template-columns: 260px 1fr; gap:22px}
.events-grid{display:grid; grid-template-columns:260px 1fr;gap:22px}
.sep{border:none;border-top:1px solid var(--panel-border); margin:10px 0}
