/* Apple Human Interface Guidelines Custom Styles & Utilities */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  --apple-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --apple-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Plus Jakarta Sans", "Helvetica Neue", sans-serif;
  letter-spacing: -0.011em;
}

code, pre, .font-mono {
  font-family: "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;
}

/* Anti-Select & Anti-Copy Protection */
body, main, section, article, div, p, span, h1, h2, h3, h4, h5, h6, li, ul, ol, table, tr, td, th, label {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

input, textarea {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}

/* Apple Spring Transitions */
.transition-apple {
  transition: all 0.35s var(--apple-ease);
}

.hover-apple-lift {
  transition: transform 0.35s var(--apple-ease), box-shadow 0.35s var(--apple-ease), border-color 0.35s var(--apple-ease);
}
.hover-apple-lift:hover {
  transform: translateY(-3px);
}

.active-apple-press {
  transition: transform 0.15s var(--apple-ease);
}
.active-apple-press:active {
  transform: scale(0.98);
}

/* Apple Translucent Glassmorphism */
.apple-glass {
  background-color: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(0, 0, 0, 0.07);
}

.dark .apple-glass {
  background-color: rgba(22, 22, 24, 0.78);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.apple-glass-card {
  background-color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.dark .apple-glass-card {
  background-color: rgba(26, 26, 30, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

/* Hairline dividers */
.hairline-b {
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.08);
}
.dark .hairline-b {
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.1);
}

/* Apple Segmented Control / Tabs */
.segmented-control {
  background-color: rgba(118, 118, 128, 0.12);
  border-radius: 980px;
  padding: 3px;
  display: inline-flex;
}
.dark .segmented-control {
  background-color: rgba(118, 118, 128, 0.24);
}

.segmented-control-item {
  border-radius: 980px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.25s var(--apple-ease);
  color: #6e6e73;
}
.segmented-control-item.active {
  background-color: #ffffff;
  color: #1d1d1f;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 0 1px rgba(0, 0, 0, 0.1);
}
.dark .segmented-control-item.active {
  background-color: #323236;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

/* Clean Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 9999px;
}
.dark ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
}

/* Print Styles */
@media print {
  body {
    background-color: #ffffff !important;
    color: #000000 !important;
    font-size: 12pt;
  }
  .no-print {
    display: none !important;
  }
  .print-break-inside {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .apple-glass, .apple-glass-card {
    background: #ffffff !important;
    border: 1px solid #d2d2d7 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }
  .print-page-break {
    page-break-before: always;
  }
}
