* {
      font-family: 'Inter', sans-serif;
      box-sizing: border-box;
      -webkit-tap-highlight-color: transparent;
    }
    
    ::-webkit-scrollbar {
      width: 7px;
      height: 7px;
    }
    ::-webkit-scrollbar-track {
      background: rgba(15, 23, 42, 0.1);
      border-radius: 8px;
    }
    .dark ::-webkit-scrollbar-track {
      background: rgba(15, 23, 42, 0.4);
    }
    ::-webkit-scrollbar-thumb {
      background: #2563eb;
      border-radius: 8px;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: #3b82f6;
    }

    /* Sem barra de rolagem horizontal no documento: a largura nunca passa de
   100vw e cada bloco que precisa de scroll tem o proprio container.
   min-height garante que o placar no rodape seja alcancavel mesmo em telas
   curtas com pouca concluded. */
html,
body {
  width: 100%;
  min-height: 100vh;
  max-width: 100vw;
  overflow-x: hidden;
}
#app-root {
  width: 100%;
  max-width: 100%;
}
#microtasks-bar {
  min-width: 0;
}

/* Kanban: no desktop as 4 colunas dividem a largura util (flex-1). O
   min-width fixo de 310px estourava o body; abaixo de lg ele volta, mas o
   scroll fica isolado no wrapper `overflow-x-auto` do bloco. */
.kanban-col-min {
  flex: 1 1 0%;
  min-width: 0;
  max-width: none;
}
@media (max-width: 1023px) {
  .kanban-col-min {
    flex: 0 0 260px;
    min-width: 260px;
  }
}

    .task-card {
      transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .task-card:hover {
      transform: translateY(-2px);
    }
    .dragging {
      opacity: 0.4;
      transform: scale(0.98);
    }
    .drag-over {
      background-color: rgba(37, 99, 235, 0.12) !important;
      border-color: #3b82f6 !important;
    }

    @keyframes pulse-gold {
      0%, 100% { transform: scale(1); }
      50% { transform: scale(1.08); filter: drop-shadow(0 0 8px rgba(234, 179, 8, 0.6)); }
    }
    .level-up-anim {
      animation: pulse-gold 0.5s ease-in-out 3;
    }

/* Largura inicial das barras; o JS ajusta via style.width */
#game-xp-bar,
#daily-progress-bar {
  width: 0%;
}

/* Navegacao mobile: rolagem horizontal sem barra visivel */
.no-scrollbar {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
