/* CSS Theme Variables for Neo-Brutalism */
/* @font-face {
  font-family: 'IBM';
  src: url('fonts/IBMPlexSans.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: 'Geologica';
  src: url('fonts/Geologica.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
} */

:root {
  /* Light Theme (Default) */
  --theme-primary: #0077FF;
  --theme-accent: #FFDE00;
  --theme-user-btn: #FF6BBA;
  --theme-input-bg: #F3F4F6;
  --theme-border: #000000;
  --theme-text: #000000;
  --theme-text-sec: #64748B;
  --theme-text-link: #0077FF;
  --theme-surface: #FFFFFF;
  --theme-canvas: #f0f0f0;
  --theme-badge-student: #C7F9CC;
  --theme-badge-hardcore: #FFB3C6;
  --theme-badge-thematic: #A3D8FF;
  --theme-badge-general: #F3F4F6;
  --theme-badge-neutral: #E5E7EB;
  --theme-error: #FF3366;
  --theme-success: #00FF7F;
  --theme-on-primary: #FFFFFF;
  --theme-on-accent: #000000;
}

[data-theme='dark'] {
  /* Dark Theme */
  --theme-primary: #3399FF;
  --theme-accent: #FFEA55;
  --theme-user-btn: #FF8CC9;
  --theme-input-bg: #1F2937;
  --theme-border: #FFFFFF;
  --theme-text: #FFFFFF;
  --theme-text-sec: #94A3B8;
  --theme-text-link: #3399FF;
  --theme-surface: #111827;
  --theme-canvas: #0B1220;
  --theme-badge-student: #2D4A3E;
  --theme-badge-hardcore: #5C2B36;
  --theme-badge-thematic: #2B445C;
  --theme-badge-general: #374151;
  --theme-badge-neutral: #1F2937;
  --theme-error: #FF5C85;
  --theme-success: #38F29A;
  --theme-on-primary: #FFFFFF;
  --theme-on-accent: #000000;
}

/* Base resets and styles */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

body {
  background-color: var(--theme-canvas);
  color: var(--theme-text);
  transition: background-color 0.3s ease, color 0.3s ease;
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  overflow-x: hidden;
}

/* Selection color */
::selection {
  background-color: var(--theme-primary);
  color: white;
}

.nb-bg {
  background-color: var(--theme-canvas);
}

.app-shell {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.app-shell::-webkit-scrollbar {
  display: none;
}