/* WhatssOn — generated from tokens.json */
:root, [data-theme="nuit"] {
  --night-950: #07060f;
  --night-900: #0f0d1c;
  --night-800: #181528;
  --night-700: #231f3a;
  --line: #2e2850;
  --line-strong: #716a99;
  --ink: #f5f4f2;
  --ink-muted: #b4aecb;
  --ink-subtle: #8c86a8;
  --brand-cyan: #66c4f5;
  --brand-blue: #4581e3;
  --brand-violet: #7707ef;
  --brand-magenta: #d431c5;
  --brand-pink: #e43b62;
  --brand-coral: #e15f45;
  --brand-orange: #eb8c4a;
  --acid: #f5f50f;
  --on-acid: #0f0d1c;
  --invite: #9504fd;
  --on-invite: #ffffff;
  --magenta-text: #e74ae4;
  --violet-text: #a46bff;
  --when-today: var(--brand-orange);
  --when-tonight: var(--magenta-text);
  --when-weekend: var(--brand-cyan);
  --success: #2eea52;
  --on-success: #07060f;
  --danger: #ff5a82;
  --on-danger: #07060f;
  --focus: var(--acid);
  --scrim: rgba(7, 6, 15, 0.72);
  --shadow-card: 0 10px 30px rgba(0, 0, 0, 0.55);
  --glow-acid: 0 0 0 1px rgba(245, 245, 15, 0.6), 0 8px 28px rgba(245, 245, 15, 0.28);
  --glow-invite: 0 8px 28px rgba(149, 4, 253, 0.45);
  --glow-tonight: 0 0 24px rgba(231, 74, 228, 0.35);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --radius-xl: 28px;
  --radius-pill: 999px;
  --touch-min: 48px;
  --bar-top: 56px;
  --bar-bottom: 60px;
  --card-w: 168px;
  --font-display: "Sora", "Avenir Next", system-ui, sans-serif;
  --font-body: "Manrope", "Helvetica Neue", system-ui, sans-serif;
}
.display-xl { font-family: var(--font-display); font-size: 40px; line-height: 44px; font-weight: 800; letter-spacing: -0.02em; }
.display-l { font-family: var(--font-display); font-size: 30px; line-height: 34px; font-weight: 800; letter-spacing: -0.015em; }
.title-l { font-family: var(--font-display); font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -0.01em; }
.title-m { font-family: var(--font-display); font-size: 17px; line-height: 22px; font-weight: 700; }
.price { font-family: var(--font-display); font-size: 22px; line-height: 26px; font-weight: 800; }
.price-s { font-family: var(--font-display); font-size: 16px; line-height: 20px; font-weight: 800; }
.body-l { font-family: var(--font-body); font-size: 17px; line-height: 26px; font-weight: 500; }
.body { font-family: var(--font-body); font-size: 15px; line-height: 22px; font-weight: 500; }
.body-s { font-family: var(--font-body); font-size: 13px; line-height: 18px; font-weight: 500; }
.label { font-family: var(--font-body); font-size: 15px; line-height: 20px; font-weight: 700; }
.overline { font-family: var(--font-body); font-size: 11px; line-height: 14px; font-weight: 800; letter-spacing: 0.12em; }
