.blog-body{
  min-height:100vh;
  overflow-x:hidden;
}

.blog-shell{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1360px;
  margin:0 auto;
  padding:28px 20px 40px;
  overflow-x:clip;
}

.blog-nav{
  margin-bottom:14px;
}

.blog-index-hero{
  position:relative;
  overflow:hidden;
  margin-bottom:14px;
  padding:30px 26px 28px;
  border:1px solid rgba(54,209,255,.45);
  border-radius:10px;
  background:
    radial-gradient(circle at top, rgba(54,209,255,.18), transparent 42%),
    linear-gradient(135deg, rgba(4,10,24,.98), rgba(6,16,34,.94));
  box-shadow:0 0 70px rgba(0,212,255,.12);
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:24px;
  align-items:center;
}

.blog-index-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,135,64,.12), transparent 26%, transparent 74%, rgba(54,209,255,.14)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 2px, transparent 2px 6px);
}

.blog-index-hero-copy,
.blog-index-status{
  position:relative;
  z-index:1;
}

.blog-index-hero-copy{
  min-width:0;
}

.blog-index-status{
  overflow:hidden;
  border:1px solid rgba(38,55,97,.82);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(8,16,32,.9), rgba(6,12,24,.94));
  box-shadow:0 0 30px rgba(0,0,0,.2);
}

.blog-index-status-body{
  padding:18px 20px 20px;
}

.blog-index-status-body p{
  margin:0;
  font-size:.8rem;
  line-height:1.82;
  color:var(--text);
}

.blog-index-status-list{
  display:grid;
  gap:12px;
  list-style:none;
  margin:16px 0 0;
  padding:0;
}

.blog-index-status-list li{
  padding:12px 14px;
  border:1px solid rgba(38,55,97,.72);
  border-radius:6px;
  background:rgba(5,8,16,.42);
  font-size:.76rem;
  line-height:1.7;
  color:var(--text);
}

.blog-main{
  display:grid;
  gap:18px;
}

.blog-index-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:18px;
  align-items:start;
}

.blog-index-intro,
.blog-feed-panel,
.blog-side-panel{
  position:relative;
}

.blog-index-copy{
  padding:18px 22px 20px;
}

.blog-index-copy p{
  margin:0 0 14px;
  font-size:.82rem;
  line-height:1.9;
  color:var(--text);
}

.blog-index-copy p:last-child{
  margin-bottom:0;
}

.blog-hero,
.blog-post-hero{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(54,209,255,.45);
  border-radius:10px;
  background:
    radial-gradient(circle at top, rgba(54,209,255,.18), transparent 42%),
    linear-gradient(135deg, rgba(4,10,24,.98), rgba(6,16,34,.94));
  box-shadow:0 0 70px rgba(0,212,255,.12);
}

.blog-hero{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);
  gap:18px;
  align-items:stretch;
  margin-bottom:18px;
  padding:28px 24px;
}

.blog-hero::before,
.blog-post-hero::before,
.blog-panel::before,
.blog-card::before,
.blog-post-card::before,
.blog-comment-panel::before,
.blog-related::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,135,64,.1), transparent 26%, transparent 74%, rgba(54,209,255,.12)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 2px, transparent 2px 6px);
}

.blog-kicker{
  position:relative;
  font-family:'Press Start 2P','Orbitron',sans-serif;
  font-size:.54rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--a2);
  margin-bottom:16px;
}

.blog-hero-copy,
.blog-hero-panel,
.blog-post-hero{
  position:relative;
  z-index:1;
}

.blog-index-hero h1,
.blog-hero-copy h1,
.blog-post-hero h1{
  margin:0;
  font-family:'Orbitron',sans-serif;
  font-size:2.5rem;
  font-weight:900;
  line-height:1.08;
  text-transform:uppercase;
  color:var(--gold);
  text-shadow:0 0 30px rgba(255,210,79,.32);
}

.blog-post-hero{
  padding:24px 26px;
}

.blog-tagline,
.blog-post-subtitle{
  max-width:840px;
  margin:14px 0 0;
  font-size:.84rem;
  line-height:1.85;
  color:var(--text);
}

.blog-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

.blog-hero-panel,
.blog-panel,
.blog-card,
.blog-post-card,
.blog-comment-panel,
.blog-related{
  position:relative;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(8,16,32,.94), rgba(6,12,24,.96));
  box-shadow:0 0 30px rgba(0,0,0,.22);
}

.blog-hero-panel-copy{
  padding:18px 20px 20px;
}

.blog-hero-panel-copy p{
  font-size:.78rem;
  line-height:1.85;
}

.blog-panel{
  padding-bottom:22px;
}

.blog-list-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
  padding:18px 22px 0;
}

.blog-card-link{
  display:flex;
  flex-direction:column;
  min-height:100%;
  color:inherit;
  text-decoration:none;
}

.blog-card-image{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:170px;
  border-bottom:1px solid rgba(38,55,97,.75);
  object-fit:cover;
  background:
    radial-gradient(circle at 20% 20%, rgba(54,209,255,.18), transparent 34%),
    linear-gradient(135deg, rgba(10,20,38,.98), rgba(7,13,24,.98));
}

.blog-card-image-placeholder span{
  font-family:'Press Start 2P','Orbitron',sans-serif;
  font-size:.7rem;
  letter-spacing:.18em;
  color:var(--accent);
  text-shadow:0 0 20px rgba(54,209,255,.28);
}

.blog-card-body{
  display:grid;
  gap:12px;
  padding:18px 20px 20px;
}

.blog-meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--a2);
}

.blog-card h2{
  margin:0;
  font-family:'Orbitron',sans-serif;
  font-size:1.28rem;
  line-height:1.28;
  color:var(--gold);
}

.blog-card-subtitle{
  color:var(--text);
  font-size:.76rem;
  line-height:1.7;
}

.blog-card-excerpt{
  color:var(--text);
  font-size:.78rem;
  line-height:1.8;
}

.blog-card-cta{
  color:var(--accent);
  font-family:'Press Start 2P','Orbitron',sans-serif;
  font-size:.54rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.blog-card:hover{
  border-color:rgba(54,209,255,.55);
  box-shadow:0 0 36px rgba(0,212,255,.12);
}

.blog-side-stack{
  display:grid;
  gap:14px;
  padding:18px 22px 0;
}

.blog-side-link{
  display:grid;
  gap:8px;
  padding:16px;
  border:1px solid rgba(38,55,97,.75);
  border-radius:8px;
  background:rgba(5,8,16,.44);
  color:var(--text);
  text-decoration:none;
}

.blog-side-link:hover{
  border-color:rgba(54,209,255,.5);
  box-shadow:0 0 24px rgba(0,212,255,.08);
}

.blog-side-link strong{
  font-family:'Orbitron',sans-serif;
  font-size:.9rem;
  line-height:1.4;
  color:var(--gold);
}

.blog-side-link span{
  font-size:.76rem;
  line-height:1.72;
  color:var(--text);
}

.blog-side-label{
  font-size:.58rem !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--a2) !important;
}

.blog-empty{
  margin:18px 22px 0;
  padding:24px;
  border:1px dashed rgba(54,209,255,.34);
  border-radius:8px;
  text-align:center;
}

.blog-empty strong{
  display:block;
  margin-bottom:8px;
  font-family:'Orbitron',sans-serif;
  color:var(--gold);
}

.blog-empty p{
  color:var(--text);
  font-size:.78rem;
  line-height:1.7;
}

.blog-post-shell{
  display:grid;
  gap:18px;
}

.blog-post-back{
  display:flex;
  justify-content:flex-start;
}

.blog-post-card{
  padding:24px 26px;
}

.blog-post-content{
  position:relative;
  z-index:1;
}

.blog-post-content > *{
  max-width:760px;
}

.blog-post-content h1,
.blog-post-content h2,
.blog-post-content h3,
.blog-post-content h4{
  margin:26px 0 12px;
  font-family:'Orbitron',sans-serif;
  line-height:1.25;
  text-transform:uppercase;
  color:var(--gold);
}

.blog-post-content h1{font-size:1.8rem;}
.blog-post-content h2{font-size:1.28rem;}
.blog-post-content h3{font-size:1.04rem;}
.blog-post-content h4{font-size:.92rem;}

.blog-post-content p,
.blog-post-content li,
.blog-post-content blockquote{
  font-size:.82rem;
  line-height:1.95;
  color:var(--text);
}

.blog-post-content p{
  margin:0 0 16px;
}

.blog-post-content a{
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid rgba(54,209,255,.42);
}

.blog-post-content a:hover{
  color:#9ee7ff;
  border-bottom-color:#9ee7ff;
}

.blog-post-content ul,
.blog-post-content ol{
  display:grid;
  gap:10px;
  margin:0 0 16px 22px;
}

.blog-post-content blockquote{
  margin:0 0 18px;
  padding:14px 16px;
  border-left:3px solid var(--accent);
  border-radius:0 8px 8px 0;
  background:rgba(5,8,16,.5);
}

.blog-post-content code{
  padding:2px 6px;
  border:1px solid rgba(54,209,255,.22);
  border-radius:4px;
  background:rgba(5,8,16,.68);
  color:#9ee7ff;
  font-size:.76rem;
}

.blog-related{
  padding-bottom:20px;
}

.blog-related-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:18px 20px 0;
}

.blog-related-card{
  display:grid;
  gap:8px;
  padding:16px;
  border:1px solid rgba(38,55,97,.8);
  border-radius:8px;
  background:rgba(5,8,16,.48);
  color:var(--text);
  text-decoration:none;
}

.blog-related-card:hover{
  border-color:rgba(54,209,255,.5);
}

.blog-related-label{
  font-size:.58rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--a2);
}

.blog-comments{
  position:relative;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(8,16,32,.94), rgba(6,12,24,.96));
}

.blog-comments-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:20px;
  padding:20px;
}

.blog-comments-stream{
  display:grid;
  gap:14px;
}

.blog-comments-header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.blog-comments-heading{
  margin:0;
  font-family:'Orbitron',sans-serif;
  font-size:1.1rem;
  color:var(--gold);
}

.blog-comments-subtitle{
  margin:6px 0 0;
  font-size:.76rem;
  line-height:1.7;
  color:var(--dim);
}

.blog-comments-status{
  min-height:18px;
  font-size:.76rem;
  color:var(--dim);
}

.blog-comments-list{
  display:grid;
  gap:12px;
}

.blog-comments-placeholder{
  padding:18px;
  border:1px solid rgba(38,55,97,.72);
  border-radius:12px;
  background:rgba(255,255,255,.03);
}

.blog-comments-placeholder strong{
  display:block;
  margin-bottom:8px;
  font-family:'Orbitron',sans-serif;
  font-size:.86rem;
  color:var(--text);
}

.blog-comments-placeholder p{
  margin:0;
  font-size:.76rem;
  line-height:1.7;
  color:var(--dim);
}

.blog-comment{
  padding:18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}

.blog-comment-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:10px;
}

.blog-comment-author{
  font-family:'Orbitron',sans-serif;
  font-size:.82rem;
  color:var(--text);
}

.blog-comment-badge{
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(255,210,79,.28);
  background:rgba(255,210,79,.08);
  color:#ffe6a1;
  font-size:.56rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  vertical-align:middle;
}

.blog-comment-date{
  font-size:.68rem;
  letter-spacing:.06em;
  text-transform:none;
  color:var(--dim);
}

.blog-comment-body{
  white-space:pre-wrap;
  word-break:break-word;
  font-size:.82rem;
  line-height:1.75;
  color:var(--text);
}

.blog-comment-panel{
  padding:22px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));
}

.blog-comment-panel-intro{
  margin-bottom:18px;
}

.blog-comment-panel-title{
  margin:0;
  font-family:'Orbitron',sans-serif;
  font-size:1.16rem;
  color:var(--gold);
}

.blog-comment-panel-copy{
  margin:8px 0 0;
  font-size:.78rem;
  line-height:1.7;
  color:var(--dim);
}

.blog-comment-section-title{
  margin-bottom:10px;
  font-family:'Orbitron',sans-serif;
  font-size:.88rem;
  line-height:1.4;
  color:var(--text);
  text-transform:none;
}

.blog-auth-summary{
  display:grid;
  gap:8px;
  margin-bottom:12px;
}

.blog-auth-actions{
  display:grid;
  gap:12px;
}

.blog-auth-consent{
  margin-bottom:14px;
  border-radius:12px;
  background:rgba(255,255,255,.03);
}

.blog-google-button,
.blog-signout-button,
.blog-auth-submit,
.blog-comment-submit{
  width:100%;
}

.blog-email-auth-shell{
  display:grid;
  gap:8px;
}

.blog-email-auth-header{
  display:flex;
  align-items:center;
  gap:10px;
}

.blog-email-auth-header::before,
.blog-email-auth-header::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(255,255,255,.1);
}

.blog-email-auth-label{
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--dim);
}

.blog-auth-switch{
  margin:0;
  background:rgba(255,255,255,.03);
}

.blog-auth-network-note{
  display:none;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.03);
  font-size:.72rem;
  line-height:1.65;
  color:var(--dim);
}

.blog-auth-network-note.is-warning{
  display:block;
  border-color:rgba(255,210,79,.28);
  background:rgba(255,210,79,.06);
  color:#ffe6a1;
}

.blog-email-auth-form{
  margin-top:14px;
}

.blog-comment-form{
  position:relative;
  z-index:1;
  display:grid;
  gap:12px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
}

.blog-comment-form[hidden],
.blog-comment-auth[hidden],
.blog-comment-panel-intro[hidden],
.blog-auth-consent[hidden],
.blog-email-auth-shell[hidden],
.blog-auth-network-note[hidden],
.blog-email-auth-form[hidden],
.blog-google-button[hidden],
.blog-signout-button[hidden],
.auth-chip[hidden]{
  display:none !important;
}

.blog-comment-label{
  font-size:.72rem;
  letter-spacing:.02em;
  text-transform:none;
  color:var(--dim);
}

.blog-comment-help{
  margin:-2px 0 0;
  font-size:.74rem;
  line-height:1.6;
  color:var(--dim);
}

.blog-comment-textarea{
  width:100%;
  min-height:170px;
  resize:vertical;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  color:var(--text);
  font-family:'Share Tech Mono',monospace;
  font-size:.84rem;
  line-height:1.7;
  padding:14px 16px;
}

.blog-comment-textarea:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(54,209,255,.14);
}

.blog-comment-foot{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}

.blog-comment-count{
  font-size:.72rem;
  color:var(--dim);
}

.blog-honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

@media(max-width:980px){
  .blog-index-hero,
  .blog-index-grid,
  .blog-hero,
  .blog-comments-grid,
  .blog-related-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .blog-shell{
    padding:18px 12px 28px;
  }

  .blog-index-hero,
  .blog-hero,
  .blog-post-hero,
  .blog-post-card,
  .blog-comment-panel,
  .blog-comments-grid{
    padding-left:14px;
    padding-right:14px;
  }

  .blog-index-hero h1,
  .blog-hero-copy h1,
  .blog-post-hero h1{
    font-size:1.72rem;
  }

  .blog-meta{
    gap:8px;
    font-size:.58rem;
  }

  .blog-list-grid{
    padding:14px 14px 0;
  }

  .blog-index-copy,
  .blog-index-status-body,
  .blog-side-stack{
    padding-left:14px;
    padding-right:14px;
  }

  .blog-comment-foot,
  .blog-comment-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .blog-comment-panel{
    padding:16px;
  }
}
