/* ──────────────────────────────────────────────────────────────
   Air Premia Layover Guide — Design Tokens
   Ref: Claude Design handoff (2026-04-24)
   ────────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css');

:root {
  /* Brand */
  --ap-navy-900: #061630;
  --ap-navy-800: #0A2340;
  --ap-navy-700: #13315C;
  --ap-navy-600: #234A87;
  --ap-navy-100: #E6ECF5;
  --ap-navy-050: #F3F6FB;

  --ap-orange-600: #E03D0D;
  --ap-orange-500: #FF4713;
  --ap-orange-400: #FF6B3D;
  --ap-orange-100: #FFE4D9;
  --ap-orange-050: #FFF4EF;

  /* Neutrals */
  --ink-900: #0E1420;
  --ink-800: #1A2130;
  --ink-700: #2C3545;
  --ink-600: #4A5468;
  --ink-500: #6B7487;
  --ink-400: #8A93A6;
  --ink-300: #B6BDCB;
  --ink-200: #D9DEE6;
  --ink-100: #EDF0F4;
  --ink-050: #F6F7FA;
  --bg: #FAFBFC;
  --surface: #FFFFFF;

  /* Semantic */
  --success: #137A43;
  --success-bg: #E6F4EC;
  --warning: #B86E00;
  --warning-bg: #FFF2D9;
  --danger: #B3261E;
  --danger-bg: #FDECEA;

  /* Type */
  --font-sans: "Pretendard Variable", Pretendard, "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --fs-xs: 11px;
  --fs-sm: 13px;
  --fs-md: 15px;
  --fs-lg: 17px;
  --fs-xl: 20px;
  --fs-2xl: 24px;
  --fs-3xl: 32px;

  /* Spacing (4-based) */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-8: 32px;
  --s-10: 40px;

  /* Radius */
  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-pill: 999px;

  /* Elevation */
  --shadow-sm: 0 1px 2px rgba(12, 22, 48, 0.06);
  --shadow-md: 0 4px 12px rgba(12, 22, 48, 0.08);
  --shadow-lg: 0 12px 32px rgba(12, 22, 48, 0.12);

  /* Motion */
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --dur-fast: 120ms;
  --dur: 200ms;
}

/* Global base */
* { margin: 0; padding: 0; box-sizing: border-box; }

html, body {
  background: var(--bg);
  font-family: var(--font-sans);
  color: var(--ink-900);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-break: keep-all;
  overflow-wrap: normal;
}

body {
  font-size: var(--fs-md);
  line-height: 1.5;
}

button, input, select, textarea {
  font-family: inherit;
  color: inherit;
}

a { color: inherit; }

/* Utility */
.mono { font-family: var(--font-mono); }
.kicker {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
