/* ════════════════════════════════════════════════════════════════
   MoniFi — Base styles (V2)
   3 خطوط من Google Fonts + reset + utilities
   ──────────────────────────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800;900&family=Plus+Jakarta+Sans:wght@500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  font-family: var(--font-body);
  font-weight: 500;
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
}
html, body { overflow-x: hidden; max-width: 100vw; }

a { color: inherit; text-decoration: none; }
button { font-family: inherit; border: 0; cursor: pointer; color: inherit; background: transparent; padding: 0; }
input, select, textarea { font-family: inherit; color: inherit; }

/* ═══ Numeric ═══ */
.num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  direction: ltr;
  display: inline-block;
}

.display { font-family: var(--font-display); }
.yellow { color: var(--y); }

/* ═══ Scrollbars ═══ */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--line2);
  border-radius: 8px;
}
::-webkit-scrollbar-thumb:hover { background: var(--text3); }

/* ═══ Selection ═══ */
::selection {
  background: var(--y);
  color: var(--ink);
}

/* ═══ Focus ═══ */
:focus-visible {
  outline: 2px solid var(--y);
  outline-offset: 2px;
}

/* ═══ Utility ═══ */
.flex { display: flex; }
.flex-col { display: flex; flex-direction: column; }
.flex-1 { flex: 1; }
.items-center { align-items: center; }
.items-end { align-items: flex-end; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.gap-1 { gap: 4px; }
.gap-2 { gap: 8px; }
.gap-3 { gap: 12px; }
.gap-4 { gap: 16px; }
.text-center { text-align: center; }
.text-end { text-align: end; }
.font-bold { font-weight: 700; }
.font-extra { font-weight: 800; }
.font-black { font-weight: 900; }
.muted { color: var(--text3); }
.subtle { color: var(--text2); }
.text-yellow { color: var(--y); }
.text-green { color: var(--green); }
.text-red { color: var(--red); }
.text-orange { color: var(--orange); }
.text-purple { color: var(--purple); }
.w-full { width: 100%; }
.relative { position: relative; }

@media (max-width: 880px) {
  .hide-mobile { display: none !important; }
}
@media (min-width: 881px) {
  .hide-desktop { display: none !important; }
}
