@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700&family=Noto+Serif+SC:wght@400;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --primary: #e11d48;
  --primary-hover: #be123c;
}

body {
  font-family: 'Sarabun', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background-color: #f8fafc;
  color: #1e293b;
  -webkit-font-smoothing: antialiased;
}

.font-kai {
  font-family: 'KaiTi', 'STKaiti', 'SimSun', 'Noto Serif SC', 'PingFang SC', serif;
}

/* 3D Flip Card for Flashcards */
.perspective-1000 {
  perspective: 1000px;
}

.transform-style-3d {
  transform-style: preserve-3d;
}

.backface-hidden {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.rotate-y-180 {
  transform: rotateY(180deg);
}

.flip-transition {
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Custom Scrollbars */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Touch and Mobile Optimization */
button, select, input, a, [role="button"] {
  touch-action: manipulation;
}

.safe-bottom {
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.safe-top {
  padding-top: env(safe-area-inset-top, 0px);
}

/* Worksheet preview scrolling on iPad & mobile */
#worksheet-preview-container {
  -webkit-overflow-scrolling: touch;
}

/* Print Optimization for A4 / iPad AirPrint / Goodnotes PDF Export */
@media print {
  @page {
    size: A4 portrait;
    margin: 0;
  }

  *, *::before, *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html, body {
    background: white !important;
    color: black !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 210mm !important;
  }

  .no-print, header, nav, #app-nav, #mobile-bottom-nav, #control-panel, button, .tabs-bar, .modal-backdrop, footer {
    display: none !important;
  }

  #main-content {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 210mm !important;
  }

  #worksheet-preview-container {
    padding: 0 !important;
    background: white !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  .print-content {
    width: 210mm !important;
  }

  .worksheet-page {
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    box-sizing: border-box !important;
    padding: 12mm 12mm !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: none !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    page-break-after: always !important;
    break-after: page !important;
    overflow: hidden !important;
  }

  .worksheet-page:last-child {
    page-break-after: avoid !important;
    break-after: avoid !important;
  }
}
