  @import url('https://fonts.googleapis.com/css2?family=Special+Elite&family=VT323&family=Courier+Prime:ital,wght@0,400;0,700;1,400&display=swap');

  :root {
    --papel: #f5f0e0;
    --tinta: #1a1209;
    --vermelho: #b01010;
    --cinza: #888070;
    --borda: #c8bfa0;
    --sombra: #d4c9a8;
    --destaque: #fffbe8;
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }

  body {
    background: #2a2318;
    background-image:
      repeating-linear-gradient(0deg, transparent, transparent 24px, rgba(0,0,0,0.07) 24px, rgba(0,0,0,0.07) 25px);
    min-height: 100vh;
    font-family: 'Courier Prime', monospace;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 10px 60px;
  }

  /* JORNAL */
  .jornal {
    width: 100%;
    max-width: 860px;
    background: var(--papel);
    border: 1px solid var(--borda);
    box-shadow:
      4px 4px 0 var(--sombra),
      8px 8px 0 #b8aa88,
      12px 12px 0 rgba(0,0,0,0.15);
    position: relative;
  }

  /* CABEÇALHO JORNAL */
  .cabecalho {
    border-bottom: 3px double var(--tinta);
    padding: 18px 24px 14px;
    text-align: center;
    background: var(--papel);
    position: relative;
  }

  .cabecalho::before {
    content: '';
    display: block;
    font-size: 10px;
    letter-spacing: 8px;
    color: var(--cinza);
    margin-bottom: 6px;
  }

  .nome-jornal {
    font-family: 'Special Elite', serif;
    font-size: clamp(28px, 6vw, 52px);
    color: var(--tinta);
    letter-spacing: -1px;
    line-height: 1;
    text-transform: uppercase;
  }

  .nome-jornal span {
    color: var(--vermelho);
  }

  .subtitulo-jornal {
    font-size: 11px;
    color: var(--cinza);
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-top: 4px;
    border-top: 1px solid var(--borda);
    border-bottom: 1px solid var(--borda);
    padding: 3px 0;
    margin: 8px 0 0;
  }

  .linha-data-topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 10px;
    color: var(--cinza);
    margin: 16px 0;
    font-family: 'Courier Prime', monospace;
    letter-spacing: 1px;
  }

  /* BARRA DE BUSCA */
  .barra-busca {
    background: var(--tinta);
    padding: 14px 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
  }

  .barra-busca label {
    color: var(--papel);
    font-family: 'VT323', monospace;
    font-size: 20px;
    letter-spacing: 2px;
    white-space: nowrap;
  }

  .campos-data {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .campos-data input[type="number"] {
    font-family: 'VT323', monospace;
    font-size: 22px;
    background: #0d0a06;
    color: #e8d870;
    border: 1px solid #554d38;
    padding: 6px 8px;
    letter-spacing: 2px;
    outline: none;
    -moz-appearance: textfield;
    text-align: center;
  }
  .campos-data input[type="number"]::-webkit-outer-spin-button,
  .campos-data input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; }
  .campos-data input[type="number"]:focus {
    border-color: #e8d870;
    box-shadow: 0 0 0 2px rgba(232,216,112,0.3);
  }
  #campo-dia  { width: 52px; }
  #campo-mes  { width: 52px; }
  #campo-ano  { width: 76px; }

  .sep {
    color: #e8d870;
    font-family: 'VT323', monospace;
    font-size: 24px;
    line-height: 1;
  }

  .btn-buscar {
    font-family: 'VT323', monospace;
    font-size: 20px;
    background: var(--vermelho);
    color: white;
    border: none;
    padding: 8px 20px;
    cursor: pointer;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: background 0.15s;
    white-space: nowrap;
  }

  .btn-buscar:hover { background: #8a0c0c; }
  .btn-buscar:active { transform: translateY(1px); }

  .btn-aleatorio {
    font-family: 'VT323', monospace;
    font-size: 18px;
    background: transparent;
    color: #aaa898;
    border: 1px solid #444;
    padding: 7px 14px;
    cursor: pointer;
    letter-spacing: 1px;
    transition: all 0.15s;
    white-space: nowrap;
  }
  .btn-aleatorio:hover { color: var(--papel); border-color: #888; }

  /* CONTEÚDO */
  .conteudo {
    padding: 0 0 30px;
  }

  /* ESTADO VAZIO */
  .estado-inicial {
    padding: 50px 24px;
    text-align: center;
  }

  .estado-inicial .icone {
    font-size: 64px;
    display: block;
    margin-bottom: 16px;
    filter: grayscale(0.3);
  }

  .estado-inicial p {
    font-family: 'Special Elite', serif;
    font-size: 18px;
    color: var(--cinza);
    line-height: 1.6;
  }

  .estado-inicial small {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    color: var(--borda);
    letter-spacing: 2px;
  }

  /* MANCHETE DA EDIÇÃO */
  .manchete-edicao {
    border-bottom: 3px double var(--tinta);
    padding: 16px 24px;
    background: var(--destaque);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
  }

  .manchete-edicao h2 {
    font-family: 'Special Elite', serif;
    font-size: clamp(16px, 4vw, 26px);
    color: var(--tinta);
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  .manchete-edicao .data-completa {
    font-size: 13px;
    color: var(--cinza);
    font-style: italic;
    letter-spacing: 1px;
  }

  /* AVISO */
  .aviso {
    padding: 12px 24px;
    background: #fff8dc;
    border-bottom: 1px solid var(--borda);
    font-size: 13px;
    color: #7a6a30;
    font-style: italic;
    text-align: center;
  }

  .aviso strong { color: var(--vermelho); }

  /* GRADE DE CANAIS */
  .grade-canais {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0;
    border-left: 1px solid var(--borda);
  }

  .canal-bloco {
    border-right: 1px solid var(--borda);
    border-bottom: 1px solid var(--borda);
  }

  .canal-nome {
    background: var(--tinta);
    color: var(--papel);
    font-family: 'Special Elite', serif;
    font-size: 13px;
    padding: 8px 14px;
    letter-spacing: 3px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .canal-nome::before {
    content: '▶';
    font-size: 8px;
    color: var(--vermelho);
  }

  .canal-programas {
    list-style: none;
    padding: 0;
  }

  .canal-programas li {
    padding: 7px 14px;
    border-bottom: 1px dashed var(--borda);
    font-size: 13px;
    color: var(--tinta);
    line-height: 1.4;
    display: flex;
    gap: 8px;
    transition: background 0.1s;
  }

  .canal-programas li:last-child {
    border-bottom: none;
  }

  .canal-programas li:hover {
    background: var(--destaque);
  }

  .horario {
    font-family: 'VT323', monospace;
    font-size: 16px;
    color: var(--vermelho);
    white-space: nowrap;
    min-width: 38px;
    line-height: 1.3;
  }

  .programa-nome {
    flex: 1;
    font-style: italic;
  }

  /* PROGRAMA EM DESTAQUE (horário nobre) */
  .canal-programas li.nobre {
    background: #fefaef;
  }
  .canal-programas li.nobre .horario {
    font-weight: bold;
  }
  .canal-programas li.nobre .programa-nome {
    font-weight: bold;
    font-style: normal;
  }

  /* SEM DADOS */
  .sem-dados {
    padding: 40px 24px;
    text-align: center;
  }

  .sem-dados p {
    font-family: 'Special Elite', serif;
    font-size: 16px;
    color: var(--cinza);
    line-height: 1.8;
  }

  .sem-dados .datas-disponiveis {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
  }

  .btn-data-sugerida {
    background: transparent;
    border: 1px solid var(--borda);
    padding: 6px 14px;
    font-family: 'Courier Prime', monospace;
    font-size: 13px;
    color: var(--cinza);
    cursor: pointer;
    transition: all 0.15s;
  }

  .btn-data-sugerida:hover {
    background: var(--tinta);
    color: var(--papel);
    border-color: var(--tinta);
  }

  /* RODAPÉ DO JORNAL */
  .rodape-jornal {
    border-top: 2px solid var(--tinta);
    padding: 10px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
  }

  .rodape-jornal a {
    color: var(--cinza);
  }

  .rodape-jornal span {
    font-size: 11px;
    color: var(--cinza);
    letter-spacing: 1px;
  }

  /* RODAPÉ EXTERNO */
  .rodape-externo {
    margin-top: 24px;
    text-align: center;
    color: #554d38;
    font-size: 12px;
    font-family: 'VT323', monospace;
    font-size: 16px;
    letter-spacing: 2px;
  }

  /* ANIMAÇÃO */
  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .canal-bloco {
    animation: fadeIn 0.3s ease both;
  }

  .canal-bloco:nth-child(1) { animation-delay: 0.03s; }
  .canal-bloco:nth-child(2) { animation-delay: 0.06s; }
  .canal-bloco:nth-child(3) { animation-delay: 0.09s; }
  .canal-bloco:nth-child(4) { animation-delay: 0.12s; }
  .canal-bloco:nth-child(5) { animation-delay: 0.15s; }
  .canal-bloco:nth-child(6) { animation-delay: 0.18s; }

  /* RESPONSIVO */
  @media (max-width: 500px) {
    .grade-canais { grid-template-columns: 1fr; }
    .barra-busca { gap: 8px; }
    .barra-busca input[type="date"] { min-width: 0; }
  }