/* 🎨 Cores padrão do projeto: tema Dracula e tema claro */
:root {
  --dracula-bg: #282a36;
  --dracula-fg: #f8f8f2;
  --dracula-comment: #6272a4;
  --dracula-cyan: #8be9fd;
  --dracula-green: #50fa7b;
  --dracula-orange: #ffb86c;
  --dracula-pink: #ff79c6;
  --dracula-purple: #bd93f9;
  --dracula-red: #ff5555;
  --dracula-yellow: #f1fa8c;

  --light-bg: #f4f4f4;
  --light-fg: #222;
  --transition: 0.3s ease;
}

/* Reset e tamanho total da tela */
html, body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  font-family: 'Segoe UI', sans-serif;
  background-color: var(--light-bg);
  color: var(--light-fg);
  transition: background-color var(--transition), color var(--transition);
  display: flex;
  flex-direction: column;
}

/* Modo escuro */
body.dark {
  background-color: var(--dracula-bg);
  color: var(--dracula-fg);
}

/* Container principal: ocupa todo espaço restante entre header e footer */
.container {
  max-width: 500px;
  margin: 20px auto; /* centraliza horizontalmente */
  background: white;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
  transition: background-color var(--transition);
  flex: 1 1 auto; /* cresce para preencher verticalmente */
  display: flex;
  flex-direction: column;
  overflow-y: auto; /* scroll interno se necessário */
}

/* Container dark mode */
body.dark .container {
  background: #44475a;
}

/* Header fixo no topo */
header {
  max-width: 500px;
  margin: 20px auto 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}

/* Footer fixo na parte inferior */
footer {
  max-width: 500px;
  margin: 0 auto 20px auto;
  padding: 10px 20px;
  text-align: center;
  font-size: 0.9rem;
  color: var(--light-fg);
  background-color: #eee;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  transition: background-color var(--transition), color var(--transition);
  flex-shrink: 0;
}

body.dark footer {
  background-color: #44475a;
  color: var(--dracula-fg);
}

footer a {
  color: var(--dracula-purple);
  text-decoration: none;
  font-weight: 600;
  transition: color var(--transition);
}

footer a:hover,
footer a:focus {
  color: var(--dracula-pink);
}

body.dark footer a {
  color: var(--dracula-yellow);
}

body.dark footer a:hover,
body.dark footer a:focus {
  color: var(--dracula-orange);
}

/* Botão tema */
#toggleTheme {
  background-color: var(--dracula-purple);
  border: none;
  color: white;
  padding: 5px 10px;
  border-radius: 5px;
  cursor: pointer;
  flex-shrink: 0;
}

/* Área input */
.input-area {
  display: flex;
  margin-bottom: 15px;
}

/* Input */
input {
  flex: 1;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px 0 0 5px;
  outline: none;
  font-size: 1rem;
}

body.dark input {
  background-color: #6272a4;
  color: white;
  border: none;
}

body.dark input::placeholder {
  color: white;
  opacity: 0.8;
}

/* Botão adicionar */
#addTaskBtn {
  padding: 10px;
  border: none;
  background-color: var(--dracula-green);
  color: #fff;
  border-radius: 0 5px 5px 0;
  cursor: pointer;
  font-size: 1rem;
}

/* Filtros */
#filters {
  display: flex;
  justify-content: space-between;
  margin: 10px 0;
  flex-shrink: 0;
  gap: 5px;
}

#filters button {
  flex: 1;
  padding: 6px;
  border: none;
  background: #ccc;
  cursor: pointer;
  border-radius: 5px;
  transition: background-color var(--transition);
  font-size: 0.9rem;
}

#filters .active {
  background-color: var(--dracula-orange);
  color: #fff;
}

body.dark #filters button {
  background: var(--dracula-comment);
  color: white;
}

/* Lista de tarefas - ocupa o máximo espaço possível */
ul {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow-y: auto;
  flex-grow: 1;
}

/* Item da lista */
li {
  background: #eee;
  margin: 6px 0;
  padding: 10px;
  border-radius: 5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: move;
  transition: background-color var(--transition);
}

body.dark li {
  background-color: var(--dracula-cyan);
  color: #222;
}

.completed {
  text-decoration: line-through;
  opacity: 0.6;
}

li.dragging {
  opacity: 0.4;
  border: 2px dashed #888;
}
