/**
 * Prepriga App — Design tokens. Source Sans Pro for landing + app consistency.
 */
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;600;700&display=swap');

:root {
  /* Layout */
  --app-header-height: 56px;
  --app-tabbar-height: 64px;
  --app-safe-top: env(safe-area-inset-top, 0);
  --app-safe-bottom: env(safe-area-inset-bottom, 0);

  /* Core palette — bold but readable */
  --app-primary: #6366f1;
  --app-primary-hover: #4f46e5;
  --app-primary-soft: rgba(99, 102, 241, 0.14);
  --app-primary-glow: rgba(99, 102, 241, 0.35);
  --app-accent: #8b5cf6;
  --app-accent-soft: rgba(139, 92, 246, 0.12);
  --app-success: #10b981;
  --app-success-soft: rgba(16, 185, 129, 0.14);
  --app-success-glow: rgba(16, 185, 129, 0.25);
  --app-warm: #f59e0b;
  --app-warm-soft: rgba(245, 158, 11, 0.12);
  --app-bg: #f8fafc;
  --app-bg-elevated: #ffffff;
  --app-surface: #ffffff;
  --app-surface-hover: #f1f5f9;
  --app-border: #e2e8f0;
  --app-border-soft: #f1f5f9;
  --app-text: #0f172a;
  --app-text-secondary: #475569;
  --app-text-muted: #94a3b8;

  /* Role colors — header greeting and role-specific accents (internal use) */
  --role-student: #6366f1;
  --role-school: #0ea5e9;
  --role-mentor: #8b5cf6;
  --role-parent: #10b981;

  /* Gradients — signature vibe, visible and aesthetic */
  --app-gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);
  --app-gradient-hero: linear-gradient(135deg, #6366f1 0%, #7c3aed 40%, #a855f7 100%);
  --app-gradient-soft: linear-gradient(165deg, rgba(99, 102, 241, 0.14) 0%, rgba(139, 92, 246, 0.1) 40%, rgba(168, 85, 247, 0.06) 100%);
  --app-gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);
  --app-gradient-mesh: radial-gradient(ellipse 100% 70% at 50% -20%, rgba(99, 102, 241, 0.35), rgba(139, 92, 246, 0.12) 45%, transparent 70%),
    radial-gradient(ellipse 70% 55% at 100% 30%, rgba(139, 92, 246, 0.22), transparent 55%),
    radial-gradient(ellipse 65% 50% at 0% 60%, rgba(99, 102, 241, 0.18), transparent 55%);
  /* Polished background — same as landing (gradient + orbs) */
  --app-bg-polished: #4f46e5;
  --app-bg-polished-image: radial-gradient(ellipse 120% 80% at 20% 10%, rgba(255, 255, 255, 0.12) 0%, transparent 45%),
    radial-gradient(ellipse 90% 70% at 85% 85%, rgba(139, 92, 246, 0.5) 0%, transparent 50%),
    radial-gradient(ellipse 70% 60% at 10% 70%, rgba(99, 102, 241, 0.35) 0%, transparent 50%),
    linear-gradient(155deg, #4f46e5 0%, #5b21b6 22%, #6d28d9 45%, #7c3aed 70%, #8b5cf6 88%, #a78bfa 100%);

  /* Shadows — soft, layered, sometimes tinted */
  --app-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --app-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.06), 0 2px 4px rgba(0, 0, 0, 0.04);
  --app-shadow-lg: 0 10px 40px -10px rgba(0, 0, 0, 0.12), 0 4px 12px -4px rgba(0, 0, 0, 0.06);
  --app-shadow-glow: 0 0 24px -4px var(--app-primary-glow);
  --app-shadow-card: 0 4px 20px -4px rgba(99, 102, 241, 0.12), 0 2px 8px -2px rgba(0, 0, 0, 0.06);
  --app-shadow-card-hover: 0 12px 40px -12px rgba(99, 102, 241, 0.2), 0 4px 16px -4px rgba(0, 0, 0, 0.08);

  /* Radii — friendly, rounded */
  --app-radius-sm: 10px;
  --app-radius-md: 14px;
  --app-radius-lg: 18px;
  --app-radius-xl: 24px;
  --app-radius-full: 9999px;

  /* Spacing — consistent rhythm */
  --app-space-xs: 6px;
  --app-space-sm: 10px;
  --app-space-md: 16px;
  --app-space-lg: 24px;
  --app-space-xl: 32px;

  /* Motion */
  --app-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --app-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --app-duration-fast: 0.15s;
  --app-duration: 0.25s;
  --app-duration-slow: 0.35s;

  /* Typography — Source Sans Pro (matches landing) app-wide */
  --app-font: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --app-font-mono: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
}

/* Dark mode — same energy, darker base */
.app-dark {
  --app-bg: #0f0f12;
  --app-bg-elevated: #18181b;
  --app-surface: #18181b;
  --app-surface-hover: #27272a;
  --app-border: #27272a;
  --app-border-soft: #1f1f23;
  --app-text: #fafafa;
  --app-text-secondary: #a1a1aa;
  --app-text-muted: #71717a;
  --app-primary-soft: rgba(99, 102, 241, 0.2);
  --app-primary-glow: rgba(99, 102, 241, 0.4);
  --app-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  --app-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.25);
  --app-shadow-lg: 0 10px 40px -10px rgba(0, 0, 0, 0.4);
  --app-shadow-card: 0 4px 20px -4px rgba(0, 0, 0, 0.35);
  --app-shadow-card-hover: 0 12px 40px -12px rgba(99, 102, 241, 0.25);
  --app-gradient-soft: linear-gradient(165deg, rgba(99, 102, 241, 0.18) 0%, rgba(139, 92, 246, 0.12) 40%, rgba(168, 85, 247, 0.06) 100%);
  --app-gradient-mesh: radial-gradient(ellipse 100% 65% at 50% -25%, rgba(99, 102, 241, 0.28), rgba(139, 92, 246, 0.1) 45%, transparent 70%),
    radial-gradient(ellipse 70% 50% at 100% 35%, rgba(139, 92, 246, 0.18), transparent 55%),
    radial-gradient(ellipse 60% 45% at 0% 65%, rgba(99, 102, 241, 0.14), transparent 55%);
  --app-bg-polished: #312e81;
  --app-bg-polished-image: radial-gradient(ellipse 100% 70% at 20% 10%, rgba(99, 102, 241, 0.2) 0%, transparent 45%),
    linear-gradient(155deg, #312e81 0%, #4c1d95 50%, #5b21b6 100%);
  /* Role colors — slightly brighter for dark mode */
  --role-student: #818cf8;
  --role-school: #38bdf8;
  --role-mentor: #a78bfa;
  --role-parent: #34d399;
}
