
:root{
  --bg:#070b14;
  --panel: rgba(16,20,33,.86);
  --card: rgba(21,28,46,.92);
  --text:#eef3ff;
  --muted: rgba(238,243,255,.78);
  --border: rgba(255,255,255,.10);
  --shadow: 0 14px 40px rgba(0,0,0,.45);
  --radius: 18px;
  --max: 1120px;
  --accent: #ff355d;
  --accent2:#34c3ff;
  --good:#3ee6a8;
  --warn:#ffcc66;
  --danger:#ff6b6b;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(1100px 600px at 18% -10%, rgba(52,195,255,.22), transparent 60%),
    radial-gradient(900px 520px at 92% 0%, rgba(62,230,168,.18), transparent 58%),
    radial-gradient(900px 520px at 80% 90%, rgba(255,53,93,.10), transparent 55%),
    var(--bg);
  line-height:1.65;
}
a{color:var(--accent2); text-decoration:none}
a:hover{text-decoration:underline}
.header{
  position:sticky; top:0; z-index:60;
  background: rgba(7,11,20,.78);
  backdrop-filter: blur(12px);
  border-bottom:1px solid var(--border);
}
.wrap{max-width:var(--max); margin:0 auto; padding:14px 16px}
.toprow{display:flex; align-items:center; justify-content:space-between; gap:12px}
.brand{display:flex; align-items:center; gap:10px}
.dot{width:12px;height:12px;border-radius:999px;background:var(--accent)}
.brand h1{font-size:16px; margin:0; letter-spacing:.2px}
.brand .sub{font-size:12px; color:var(--muted)}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.05);
  color:var(--text);
  font-weight:800;
  cursor:pointer;
}
.btn.primary{background: rgba(255,53,93,.16); border-color: rgba(255,53,93,.35)}
.btn:active{transform:scale(.99)}
.drawer{
  position:fixed; inset:0 0 0 auto; width:min(520px, 92vw);
  transform: translateX(110%);
  transition: transform .22s ease;
  background: rgba(12,16,28,.96);
  border-left:1px solid var(--border);
  z-index:80;
  padding:14px;
  overflow:auto;
}
.drawer.open{transform: translateX(0)}
.backdrop{position:fixed; inset:0; background:rgba(0,0,0,.55); display:none; z-index:70}
.backdrop.open{display:block}
.nav{margin-top:66px; display:grid; gap:10px}
.nav a{
  display:block;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  color:var(--text);
  font-weight:780;
}
.nav a small{display:block; margin-top:4px; color:var(--muted); font-weight:600}
.nav a.active{outline:2px solid rgba(52,195,255,.35); background: rgba(52,195,255,.08)}
.main{max-width:var(--max); margin:0 auto; padding:18px 16px 54px}
.hero{
  border:1px solid var(--border);
  border-radius:var(--radius);
  background: linear-gradient(135deg, rgba(52,195,255,.12), rgba(62,230,168,.10), rgba(255,53,93,.08));
  box-shadow: var(--shadow);
  padding:18px;
}
.hero h2{margin:0 0 8px; font-size:26px}
.hero p{margin:0; color:var(--muted)}
.grid{display:grid; gap:14px; margin-top:16px}
@media(min-width:860px){ .grid{grid-template-columns: 1.35fr .65fr} .hero h2{font-size:34px} }
.card{
  background: var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
  padding:16px;
}
.card h3{margin:0 0 8px}
.callout{
  border-left:4px solid var(--warn);
  border:1px solid rgba(255,204,102,.25);
  background: rgba(255,204,102,.09);
  padding:12px;
  border-radius:14px;
  margin:12px 0;
}
.callout.danger{border-left-color:var(--danger); border-color: rgba(255,107,107,.25); background: rgba(255,107,107,.09)}
.callout.good{border-left-color:var(--good); border-color: rgba(62,230,168,.25); background: rgba(62,230,168,.08)}
.table{width:100%; border-collapse:collapse; overflow:hidden; border-radius:14px; border:1px solid var(--border); margin:10px 0;}
.table th,.table td{padding:10px; vertical-align:top; border-bottom:1px solid var(--border)}
.table th{background: rgba(255,255,255,.05); font-size:13px; text-align:left}
.table td{color:var(--muted); font-size:13px}
.table tr:last-child td{border-bottom:none}
img.resp{width:100%; height:auto; border-radius:16px; border:1px solid var(--border); background:#0b1020}
h2{font-size:24px; margin:14px 0 8px}
h3{font-size:18px; margin:14px 0 6px}
p{margin:10px 0; color:var(--muted)}
ul{margin:8px 0 0; padding-left:18px; color:var(--muted)}
li{margin:6px 0}
hr{border:none; border-top:1px solid var(--border); margin:18px 0}
.footer{border-top:1px solid var(--border); color:var(--muted); font-size:12px; padding:18px 16px 28px; max-width:var(--max); margin:0 auto}
.small{font-size:12px; color:var(--muted)}

/* Homepage refinements */
.hero.narrow{max-width:860px;margin:0 auto}
@media(min-width:860px){
  .home-grid{grid-template-columns:1fr} /* remove right sidebar on home */
}

/* Emphasis: Menu + Download buttons */
.btn.menu{
  background: rgba(255,53,93,.20) !important;
  border-color: rgba(255,53,93,.70) !important;
}
.btn.menu:hover{
  background: rgba(255,53,93,.28) !important;
  border-color: rgba(255,53,93,.90) !important;
}
.btn.primary{
  background: rgba(255,53,93,.28) !important;
  border-color: rgba(255,53,93,.85) !important;
}
.btn.primary:hover{
  background: rgba(255,53,93,.36) !important;
  border-color: rgba(255,53,93,1.0) !important;
}
