:root {
    --bg: #0a0d0c;
    --grid: #101614;
    --accent: #00ffa6;
    --accent2: #00e5ff;
    --text: #e9fff5;
    --muted: #9ad6c1;
    --warn: #ffed4a;

    /* Controles */
    --control-h: 40px;
    --input-w-desktop: 320px;
    --input-w-mobile: 240px;
}

* { box-sizing: border-box; }
html, body {
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}

body {
    margin: 0;
    background:
        radial-gradient(80vw 60vh at 70% 20%, rgba(0,255,166,0.08), transparent 60%),
        radial-gradient(60vw 50vh at 20% 80%, rgba(0,229,255,0.06), transparent 60%),
        var(--bg);
    color: var(--text);
    font: 500 16px/1.6 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(transparent 24px, rgba(0,0,0,.15) 25px) 0 0/100% 25px,
        linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0/24px 100%,
        linear-gradient(var(--grid) 1px, transparent 1px) 0 0/100% 24px;
    mix-blend-mode: overlay;
}

/* === Efeito CRT === */
.crt::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    mix-blend-mode: soft-light;
    background: repeating-linear-gradient(to bottom,
      rgba(0,0,0,0.15), rgba(0,0,0,0.15) 1px,
      transparent 2px, transparent 3px);
    opacity: .5;
}

/* Layout principal */
.wrap {
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

header {
    padding: 48px 24px 12px;
    text-align: center;
}

.badge {
    display: inline-block;
    border: 1px solid var(--accent);
    color: var(--accent);
    padding: 6px 10px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .2em;
    font-size: 12px;
}

h1 {
    margin: 14px 0 6px;
    font-size: clamp(28px, 6vw, 64px);
    line-height: 1.05;
    letter-spacing: .02em;
}

.glow {
    text-shadow: 0 0 10px rgba(0,255,166,.55), 0 0 30px rgba(0,229,255,.35);
}

.tagline { margin: 0; opacity:.9; }
.tagline b { color: var(--accent); }

/* Conteúdo */
main {
    display: grid;
    gap: 24px;
    padding: 24px;
    grid-template-columns: 1fr;
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
}
@media(min-width:900px) {
    main { grid-template-columns: 1.1fr .9fr; }
}

/* Painéis */
.panel {
    position: relative;
    padding: 20px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.2));
    border: 1px solid rgba(0,229,255,.18);
    box-shadow: 0 10px 30px rgba(0,0,0,.25), inset 0 0 0 1px rgba(0,255,166,.06);
    backdrop-filter: blur(6px);
}
.panel::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 18px;
    pointer-events: none;
    opacity: .8;
    background:
        linear-gradient(var(--accent) 0 0) top left/22px 2px no-repeat,
        linear-gradient(var(--accent) 0 0) top left/2px 22px no-repeat,
        linear-gradient(var(--accent2) 0 0) bottom right/22px 2px no-repeat,
        linear-gradient(var(--accent2) 0 0) bottom right/2px 22px no-repeat;
}
.panel:hover::before {
    filter: drop-shadow(0 0 10px rgba(0,229,255,.35));
}

.panel h3 {
    margin: 0 0 10px;
    font-size: 18px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .08em;
}

.span2 { grid-column: 1/-1; }

.divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0,229,255,.4), transparent);
    margin: 14px 0;
}

/* Chips */
.chips { display:flex; flex-wrap:wrap; gap:10px; }
.chip {
    border: 1px dashed rgba(0,255,166,.35);
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 13px;
    display: inline-flex;
    gap: 8px;
    align-items: center;
}
.chip svg { width:14px; height:14px; }

/* Glitch */
.glitch { position: relative; display: inline-block; }
.glitch::before,
.glitch::after {
    content: attr(data-text);
    position: absolute;
    left: 0; top: 0; width: 100%; overflow: hidden;
}
.glitch::before {
    text-shadow: -2px 0 var(--accent2);
    clip-path: polygon(0 0,100% 0,100% 45%,0 50%);
    animation: gl1 2.5s infinite ease-in-out;
}
.glitch::after {
    text-shadow: 2px 0 var(--accent);
    clip-path: polygon(0 55%,100% 60%,100% 100%,0 100%);
    animation: gl2 2.2s infinite ease-in-out;
}
@keyframes gl1 {
  0%,100%{transform:translateX(0);}
  20%{transform:translateX(1.5px);}
  40%{transform:translateX(-1px);}
  60%{transform:translateX(.5px);}
  80%{transform:translateX(-1.5px);}
}
@keyframes gl2 {
  0%,100%{transform:translateX(0);}
  20%{transform:translateX(-1px);}
  40%{transform:translateX(1.5px);}
  60%{transform:translateX(-.5px);}
  80%{transform:translateX(1px);}
}

/* Links ghost */
.ghost {
    display:inline-flex;
    gap:10px;
    align-items:center;
    padding:10px 14px;
    border:1px solid rgba(0,229,255,.5);
    border-radius:12px;
    text-decoration:none;
    color:var(--text);
}
.ghost:hover {
    box-shadow:0 0 30px rgba(0,229,255,.2) inset;
}

/* Código */
pre {
    background:#101614;
    padding:14px;
    border-radius:12px;
    overflow-x:auto;
    border:1px solid rgba(0,229,255,.2);
}
code { color:var(--accent2); }

/* Figuras */
figure img { max-width:100%; border-radius:12px; }
figcaption {
    font-size:13px;
    color:var(--muted);
    margin-top:6px;
}

/* Footer */
footer {
    margin-top: auto;                /* empurra o footer pro final da tela */
    text-align: center;
    color: var(--text);              /* usa cor principal do texto para mais contraste */
    padding: 24px 20px;              /* mais espaço interno */
    font-size: 15px;
    background: rgba(0, 20, 20, 0.85); /* leve fundo escuro pra separar do conteúdo */
    border-top: 1px solid rgba(0,229,255,.25); /* linha sutil no topo */
    box-shadow: 0 -4px 12px rgba(0,0,0,.4);   /* sombra leve no topo */
}
footer a {
  color: #fff;              /* branco */
  text-decoration: none;    /* tira o sublinhado */
  font-weight: 500;
}

footer a:hover {
  color: var(--accent2);    /* fica azul neon ao passar o mouse */
  text-shadow: 0 0 8px rgba(0,229,255,.6);
}

/* === Responsivo === */
@media(max-width:899.98px) {
    header { padding:36px 16px 8px; }
    main { padding:16px; gap:16px; }
    .panel { padding:16px; }
    .chips { gap:8px; }
}
@media(max-width:480px) {
    h1 { font-size:clamp(26px,8vw,40px); }
    .badge { font-size:11px; }
    .tagline { font-size:14px; }
}

/* Acessibilidade */
.sr-only {
    position:absolute !important;
    width:1px; height:1px;
    padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0);
    white-space:nowrap; border:0;
}

/* Caixa dos posts individuais */
.post-box {
  max-width: 900px;
  margin: 40px auto;
  padding: 30px;
  background: rgba(0, 20, 20, 0.75);
  border-radius: 12px;
  box-shadow: 0 0 25px rgba(0, 255, 166, 0.15);
  border: 1px solid rgba(0, 255, 166, 0.25);
}

.post-box h2 {
  font-size: 2rem;
  color: var(--accent);
  margin-bottom: 10px;
  text-align: center;
}

.post-box .meta {
  font-size: 0.9rem;
  color: var(--muted);
  text-align: center;
  margin-bottom: 20px;
}

.post-box .tags {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-bottom: 20px;
}

.post-box .tags span {
  background: rgba(0, 255, 166, 0.1);
  border: 1px solid var(--accent);
  border-radius: 20px;
  padding: 5px 12px;
  font-size: 0.85rem;
}

.post-box p {
  line-height: 1.7;
  margin: 15px 0;
  color: var(--text);
}

.post-box figure {
  margin: 20px 0;
  text-align: center;
}

.post-box figure img {
  max-width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(0,255,166,0.2);
}

.post-box figcaption {
  font-size: 0.85rem;
  color: var(--muted);
  margin-top: 8px;
}


/* === Navbar === */
.navbar {
  position: sticky;   /* use "fixed" se quiser que acompanhe sempre o scroll */
  top: 0;
  z-index: 1000;      /* garante que fique acima dos painéis */
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 24px;
  background: rgba(0, 20, 20, 0.85);
  border-bottom: 1px solid rgba(0,229,255,.25);
  backdrop-filter: blur(6px);
}

.nav-brand {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--accent);
  text-shadow: 0 0 8px rgba(0,255,166,.6);
}

.nav-links {
  list-style: none;
  display: flex;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.nav-links a {
  text-decoration: none;
  color: var(--text);
  font-weight: 500;
  transition: 0.2s;
}

.nav-links a:hover {
  color: var(--accent2);
  text-shadow: 0 0 12px rgba(0,229,255,.6);
}

/* Botão mobile */
.nav-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 1.6rem;
  color: var(--accent2);
  cursor: pointer;
}

/* Link ativo */
.nav-links a.active {
  color: var(--accent);
  text-shadow: 0 0 15px rgba(0,255,166,.8), 0 0 30px rgba(0,229,255,.5);
  font-weight: 600;
}

/* Responsivo */
@media (max-width: 768px) {
  .nav-links {
    position: absolute;
    top: 70px;
    right: 0;
    background: rgba(0, 20, 20, 0.95);
    flex-direction: column;
    gap: 16px;
    padding: 20px;
    border-left: 1px solid rgba(0,229,255,.2);
    border-bottom: 1px solid rgba(0,229,255,.2);
    display: none;
    z-index: 9999;  /* garante que o menu dropdown fique na frente */
  }

  .nav-links.active {
    display: flex;
  }

  .nav-toggle {
    display: block;
  }
}
