*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#04080f;--bg2:#080f1a;--card:#0a1525;
  --b:#162030;--b2:#1e3045;
  --t:#e4eef8;--t2:#6a8aaa;--t3:#2a4060;
  --p:#00c8f0;--g:#00e07a;
  --r:16px;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--t);-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}

/* NAV */
nav{position:sticky;top:0;z-index:100;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;background:rgba(4,8,15,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(22,32,48,.8)}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-bolt{width:32px;height:32px;border-radius:9px;background:var(--p);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nav-bolt svg{width:16px;height:16px;fill:#000}
.nav-name{font-family:'Syne',sans-serif;font-size:16px;font-weight:800;letter-spacing:.12em;color:var(--t)}
.nav-links{display:flex;align-items:center;gap:8px}
.btn-nav{padding:9px 18px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s;text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap}
.btn-outline{background:transparent;color:var(--t2);border:1px solid var(--b2)}
.btn-outline:hover{border-color:var(--p);color:var(--p)}
.btn-primary{background:var(--p);color:#000}
.btn-primary:hover{filter:brightness(1.1)}

/* BLOG INDEX HEADER */
.blog-header{padding:96px 24px 64px;text-align:center;position:relative}
.blog-header-glow{position:absolute;top:20%;left:50%;transform:translateX(-50%);width:500px;height:300px;background:radial-gradient(ellipse,rgba(0,200,240,.1) 0%,transparent 70%);pointer-events:none}
.sec-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--p);margin-bottom:12px}
.blog-title{font-family:'Syne',sans-serif;font-size:clamp(28px,5vw,48px);font-weight:800;margin-bottom:14px;line-height:1.15}
.blog-sub{font-size:16px;color:var(--t2);max-width:460px;margin:0 auto;line-height:1.65}

/* ARTICLE GRID (index) */
.posts-wrap{max-width:1040px;margin:0 auto;padding:0 24px 96px}
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.post-card{
  display:block;text-decoration:none;
  background:linear-gradient(var(--card) 0 0) padding-box,
             linear-gradient(145deg,rgba(0,200,240,.2),#162030 55%,rgba(0,200,240,.08)) border-box;
  border:1px solid transparent;border-radius:var(--r);padding:28px 28px 24px;
  transition:transform .2s,box-shadow .2s,background .2s;
}
.post-card:hover{
  background:linear-gradient(var(--card) 0 0) padding-box,
             linear-gradient(145deg,#00c8f0,rgba(0,200,240,.45) 55%,#00c8f0) border-box;
  transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,200,240,.14);
}
.post-meta{font-size:11px;color:var(--t3);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}
.post-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--t);margin-bottom:10px;line-height:1.3}
.post-excerpt{font-size:13px;color:var(--t2);line-height:1.65;margin-bottom:20px}
.post-read{font-size:12px;font-weight:700;color:var(--p);letter-spacing:.03em}

/* ARTICLE PAGE LAYOUT */
.article-wrap{max-width:720px;margin:0 auto;padding:72px 24px 96px}
.breadcrumb{font-size:12px;color:var(--t3);margin-bottom:32px}
.breadcrumb a{color:var(--t3);text-decoration:none}
.breadcrumb a:hover{color:var(--p)}
.breadcrumb span{margin:0 6px}
.article-header{margin-bottom:40px}
.article-meta-top{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.article-tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--p);background:rgba(0,200,240,.1);border:1px solid rgba(0,200,240,.2);border-radius:100px;padding:4px 12px}
.article-reading-time{font-size:12px;color:var(--t3);font-weight:600}
.article-title{font-family:'Syne',sans-serif;font-size:clamp(24px,4vw,38px);font-weight:800;line-height:1.2;margin-bottom:20px}
.article-byline{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--b);border-bottom:1px solid var(--b)}
.byline-avatar{width:36px;height:36px;border-radius:50%;background:var(--p);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#000;flex-shrink:0}
.byline-name{font-size:13px;font-weight:600;color:var(--t)}
.byline-date{font-size:12px;color:var(--t3);margin-top:1px}

/* ARTICLE BODY */
.article-body{line-height:1.82;font-size:16px;color:var(--t2);margin-top:36px}
.article-body h2{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;color:var(--t);margin:44px 0 14px;line-height:1.25}
.article-body h2:first-child{margin-top:0}
.article-body h3{font-size:17px;font-weight:700;color:var(--t);margin:28px 0 10px;line-height:1.35}
.article-body p{margin-bottom:20px}
.article-body ul,.article-body ol{margin:0 0 20px 24px}
.article-body li{margin-bottom:8px;line-height:1.7}
.article-body strong{color:var(--t);font-weight:700}
.article-body a{color:var(--p);text-decoration:none}
.article-body a:hover{text-decoration:underline}
.article-body hr{border:none;border-top:1px solid var(--b);margin:40px 0}
.article-body blockquote{border-left:3px solid var(--p);padding:12px 20px;margin:24px 0;background:rgba(0,200,240,.04);border-radius:0 8px 8px 0;font-style:italic}
.article-body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}
.article-body table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);border-bottom:2px solid var(--b2);background:var(--bg2)}
.article-body table td{padding:10px 14px;border-bottom:1px solid var(--b);color:var(--t2)}
.article-body table tr:last-child td{border-bottom:none}
.article-body table tr:hover td{background:rgba(255,255,255,.015)}
.article-body .callout{background:rgba(0,200,240,.06);border:1px solid rgba(0,200,240,.2);border-radius:12px;padding:16px 20px;margin:24px 0;font-size:15px;color:var(--t2)}
.article-body .callout strong{color:var(--p)}
.article-body .warning{background:rgba(255,179,0,.06);border:1px solid rgba(255,179,0,.2);border-radius:12px;padding:16px 20px;margin:24px 0;font-size:14px;color:var(--t2);line-height:1.65}

/* CTA BOX */
.article-cta{background:linear-gradient(135deg,rgba(0,200,240,.08),rgba(0,200,240,.03));border:1.5px solid rgba(0,200,240,.3);border-radius:16px;padding:32px;text-align:center;margin:48px 0 40px}
.article-cta h3{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;color:var(--t);margin-bottom:10px}
.article-cta p{font-size:14px;color:var(--t2);margin-bottom:20px;line-height:1.6}
.btn-cta{display:inline-flex;align-items:center;padding:13px 28px;background:var(--p);color:#000;border:none;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:filter .15s,transform .15s;text-decoration:none}
.btn-cta:hover{filter:brightness(1.1);transform:translateY(-1px)}
.cta-note{display:block;font-size:11px;color:var(--t3);margin-top:10px}

/* RELATED ARTICLES */
.related-wrap{margin-top:56px;padding-top:32px;border-top:1px solid var(--b)}
.related-label{font-family:'Syne',sans-serif;font-size:15px;font-weight:800;margin-bottom:20px;color:var(--t)}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.related-card{display:block;text-decoration:none;background:var(--card);border:1px solid var(--b);border-radius:12px;padding:18px;transition:border-color .2s,transform .15s}
.related-card:hover{border-color:var(--p);transform:translateY(-2px)}
.related-meta{font-size:10px;color:var(--t3);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.related-title{font-size:13px;font-weight:700;color:var(--t);line-height:1.35}

/* FOOTER */
footer{border-top:1px solid var(--b);padding:32px 24px;text-align:center}
footer p{font-size:12px;color:var(--t3)}
footer a{color:var(--t3);text-decoration:none}
footer a:hover{color:var(--t2)}

/* RESPONSIVE */
@media(max-width:600px){
  nav{padding:12px 16px}
  .btn-nav .nav-label{display:none}
  .btn-nav.btn-primary .nav-label{display:inline}
  .blog-header{padding:72px 24px 48px}
  .article-wrap{padding:48px 20px 72px}
  .article-body table{font-size:13px}
  .article-body table th,.article-body table td{padding:8px 10px}
}
