/* Meet2Vibe theme tokens. Сгенерировано из theme_tokens.json */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root {
  --font-family-logo: 'Manrope', sans-serif;
  --font-family-heading: 'Manrope', 'Inter', system-ui, sans-serif;
  --font-family-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-size-display: 32px;
  --font-size-h1: 28px;
  --font-size-h2: 22px;
  --font-size-h3: 18px;
  --font-size-body-lg: 17px;
  --font-size-body: 15px;
  --font-size-body-sm: 14px;
  --font-size-caption: 13px;
  --font-size-micro: 11px;
  --font-lineHeight-display: 38px;
  --font-lineHeight-h1: 34px;
  --font-lineHeight-h2: 28px;
  --font-lineHeight-h3: 24px;
  --font-lineHeight-body-lg: 24px;
  --font-lineHeight-body: 21px;
  --font-lineHeight-body-sm: 20px;
  --font-lineHeight-caption: 17px;
  --font-lineHeight-micro: 14px;
  --font-letterSpacing-logo: -0.02em;
  --font-letterSpacing-heading: -0.01em;
  --font-letterSpacing-body: 0;
  --font-letterSpacing-caps: 0.06em;
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 24px;
  --radius-card: 24px;
  --radius-sheet: 28px;
  --radius-button: 16px;
  --radius-button-pill: 999px;
  --radius-action-btn: 50%;
  --radius-input: 14px;
  --radius-input-chat: 22px;
  --radius-chip: 999px;
  --radius-avatar: 50%;
  --radius-avatar-sq: 16px;
  --radius-bubble: 18px;
  --radius-bubble-tail: 6px;
  --radius-badge: 999px;
  --radius-photo-thumb: 12px;
  --radius-app-icon: 22.5%;
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --size-tabbar-h: 64px;
  --size-header-h: 56px;
  --size-action-btn: 64px;
  --size-action-btn-main: 76px;
  --size-action-btn-sm: 52px;
  --size-avatar-xs: 32px;
  --size-avatar-sm: 40px;
  --size-avatar-md: 56px;
  --size-avatar-lg: 96px;
  --size-avatar-xl: 128px;
  --size-icon: 24px;
  --size-icon-sm: 18px;
  --size-touch-min: 44px;
  --size-input-h: 48px;
  --size-button-h: 52px;
  --motion-fast: 120ms;
  --motion-base: 200ms;
  --motion-slow: 320ms;
  --motion-easing: cubic-bezier(.2,.8,.2,1);
  --motion-swipeOut: 280ms cubic-bezier(.4,0,.2,1);
  --icon-stroke: 2;
  --icon-stroke-sm: 1.75;
}

/* Neon Night */
:root[data-theme="night"], [data-theme="night"] {
  color-scheme: dark;
  --c-bg: #000000;
  --c-bg-elevated: #0B0A12;
  --c-surface: #14121C;
  --c-surface-2: #1E1B29;
  --c-surface-3: #2A2638;
  --c-text-primary: #FFFFFF;
  --c-text-secondary: #C9C4D6;
  --c-text-muted: #8A849A;
  --c-text-on-accent: #FFFFFF;
  --c-text-link: #FF5FA2;
  --c-accent: #FF3D8B;
  --c-accent-hover: #FF5FA2;
  --c-accent-pressed: #E62E78;
  --c-accent-2: #8B5CF6;
  --c-accent-2-hover: #9D74F8;
  --c-accent-soft: rgba(255,61,139,0.16);
  --c-accent-2-soft: rgba(139,92,246,0.18);
  --c-like: #FF3D8B;
  --c-like-bg: rgba(255,61,139,0.14);
  --c-dislike: #A78BFA;
  --c-dislike-bg: #1E1B29;
  --c-superlike: #FFC93D;
  --c-superlike-bg: rgba(255,201,61,0.14);
  --c-gift: #C084FC;
  --c-gift-bg: #1E1B29;
  --c-success: #2EE59D;
  --c-success-bg: rgba(46,229,157,0.14);
  --c-warning: #FFC93D;
  --c-danger: #FF4D5E;
  --c-danger-bg: rgba(255,77,94,0.14);
  --c-error: #FF4D5E;
  --c-error-border: #FF4D5E;
  --c-online: #2EE59D;
  --c-border: rgba(255,255,255,0.10);
  --c-border-strong: rgba(255,255,255,0.18);
  --c-border-accent: rgba(255,61,139,0.55);
  --c-divider: rgba(255,255,255,0.08);
  --c-focus-ring: rgba(255,61,139,0.45);
  --c-overlay: rgba(0,0,0,0.60);
  --c-scrim-card: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.85) 100%);
  --c-input-bg: #14121C;
  --c-input-border: rgba(255,255,255,0.10);
  --c-input-placeholder: #6F6982;
  --c-bubble-mine-bg: linear-gradient(135deg, #FF3D8B 0%, #8B5CF6 100%);
  --c-bubble-mine-text: #FFFFFF;
  --c-bubble-mine-time: rgba(255,255,255,0.75);
  --c-bubble-theirs-bg: #1E1B29;
  --c-bubble-theirs-text: #FFFFFF;
  --c-bubble-theirs-time: #8A849A;
  --c-bubble-theirs-border: rgba(255,255,255,0.06);
  --c-tabbar-bg: rgba(11,10,18,0.92);
  --c-tabbar-border: rgba(255,255,255,0.08);
  --c-tab-icon: #8A849A;
  --c-tab-label: #8A849A;
  --c-tab-icon-active: #FF3D8B;
  --c-tab-label-active: #FFFFFF;
  --c-tab-indicator: #FF3D8B;
  --c-chip-bg: #1E1B29;
  --c-chip-border: rgba(139,92,246,0.35);
  --c-chip-text: #FFFFFF;
  --c-chip-icon: #FF3D8B;
  --c-chip-active-bg: rgba(255,61,139,0.18);
  --c-chip-active-border: #FF3D8B;
  --c-badge-bg: #FF3D8B;
  --c-badge-text: #FFFFFF;
  --c-premium-badge-bg: linear-gradient(135deg, #FF3D8B 0%, #8B5CF6 100%);
  --c-premium-badge-text: #FFFFFF;
  --c-stars: #FFC93D;
  --c-stars-badge-bg: rgba(255,201,61,0.14);
  --c-stars-badge-text: #FFC93D;
  --c-verified: #8B5CF6;
  --c-skeleton: #1E1B29;
  --c-skeleton-shine: #2A2638;
  --gradient-primary: linear-gradient(135deg, #FF3D8B 0%, #8B5CF6 100%);
  --gradient-button: linear-gradient(135deg, #FF3D8B 0%, #C24BC4 50%, #8B5CF6 100%);
  --gradient-button-pressed: linear-gradient(135deg, #E62E78 0%, #AD3FB0 50%, #7A4BE6 100%);
  --gradient-logo-text: linear-gradient(90deg, #FF3D8B 0%, #8B5CF6 100%);
  --gradient-hero: radial-gradient(120% 80% at 50% 0%, #2A0F3D 0%, #000000 70%);
  --gradient-cover: linear-gradient(180deg, rgba(0,0,0,0) 0%, #000000 100%);
  --shadow-card: 0 12px 32px 0 rgba(0,0,0,0.60);
  --shadow-sheet: 0 -8px 24px 0 rgba(0,0,0,0.50);
  --shadow-button: 0 6px 20px 0 rgba(255,61,139,0.35);
  --shadow-glow-accent: 0 0 24px 2px rgba(255,61,139,0.55);
  --shadow-glow-accent-strong: 0 0 12px 0 rgba(255,61,139,0.80), 0 0 32px 4px rgba(255,61,139,0.45);
  --shadow-glow-violet: 0 0 24px 2px rgba(139,92,246,0.50);
  --shadow-glow-like-btn: 0 0 0 2px rgba(255,61,139,0.60), 0 0 28px 4px rgba(255,61,139,0.50);
  --shadow-glow-avatar: 0 0 0 3px #FF3D8B, 0 0 24px 4px rgba(255,61,139,0.50);
  --shadow-glow-tab-active: 0 0 12px 0 rgba(255,61,139,0.70);
  --shadow-glow-text: 0 0 12px rgba(255,61,139,0.70);
  --shadow-focus: 0 0 0 3px rgba(255,61,139,0.45);
  --logo-url: url("./logo_night.svg");
}

/* Telegram Native */
:root[data-theme="day"], [data-theme="day"] {
  color-scheme: light;
  --c-bg: #F4F6F8;
  --c-bg-elevated: #FFFFFF;
  --c-surface: #FFFFFF;
  --c-surface-2: #F4F6F8;
  --c-surface-3: #E9EDF1;
  --c-text-primary: #0F1B2D;
  --c-text-secondary: #5B6878;
  --c-text-muted: #8A96A3;
  --c-text-on-accent: #FFFFFF;
  --c-text-link: #229ED9;
  --c-accent: #2AABEE;
  --c-accent-hover: #3DB5F0;
  --c-accent-pressed: #229ED9;
  --c-accent-2: #FF4F79;
  --c-accent-2-hover: #FF6A8D;
  --c-accent-soft: rgba(42,171,238,0.12);
  --c-accent-2-soft: rgba(255,79,121,0.12);
  --c-like: #2AABEE;
  --c-like-bg: #2AABEE;
  --c-like-icon: #FFFFFF;
  --c-heart: #FF4F79;
  --c-dislike: #5B6878;
  --c-dislike-bg: #EEF1F4;
  --c-superlike: #FFB020;
  --c-superlike-bg: rgba(255,176,32,0.14);
  --c-gift: #FF4F79;
  --c-gift-bg: #FFF0F3;
  --c-success: #31B545;
  --c-success-bg: rgba(49,181,69,0.12);
  --c-warning: #FFB020;
  --c-danger: #E53935;
  --c-danger-bg: rgba(229,57,53,0.10);
  --c-error: #E53935;
  --c-error-border: #E53935;
  --c-online: #31B545;
  --c-border: #E3E8ED;
  --c-border-strong: #CDD5DD;
  --c-border-accent: #2AABEE;
  --c-divider: #EDF0F3;
  --c-focus-ring: rgba(42,171,238,0.35);
  --c-overlay: rgba(15,27,45,0.40);
  --c-scrim-card: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,0.55) 100%);
  --c-input-bg: #FFFFFF;
  --c-input-border: #E3E8ED;
  --c-input-placeholder: #8A96A3;
  --c-bubble-mine-bg: #E1F5D2;
  --c-bubble-mine-text: #0F1B2D;
  --c-bubble-mine-time: #4FAE4E;
  --c-bubble-theirs-bg: #FFFFFF;
  --c-bubble-theirs-text: #0F1B2D;
  --c-bubble-theirs-time: #8A96A3;
  --c-bubble-theirs-border: #EDF0F3;
  --c-chat-bg: #EEF2F5;
  --c-tabbar-bg: rgba(255,255,255,0.96);
  --c-tabbar-border: #E3E8ED;
  --c-tab-icon: #8A96A3;
  --c-tab-label: #8A96A3;
  --c-tab-icon-active: #2AABEE;
  --c-tab-label-active: #2AABEE;
  --c-tab-indicator: #2AABEE;
  --c-chip-bg: #FFFFFF;
  --c-chip-border: #E3E8ED;
  --c-chip-text: #0F1B2D;
  --c-chip-icon: #2AABEE;
  --c-chip-active-bg: rgba(42,171,238,0.12);
  --c-chip-active-border: #2AABEE;
  --c-badge-bg: #FF4F79;
  --c-badge-text: #FFFFFF;
  --c-premium-badge-bg: linear-gradient(135deg, #2AABEE 0%, #7B6CF6 100%);
  --c-premium-badge-text: #FFFFFF;
  --c-stars: #FFB020;
  --c-stars-badge-bg: rgba(255,176,32,0.14);
  --c-stars-badge-text: #C77D00;
  --c-verified: #2AABEE;
  --c-skeleton: #E9EDF1;
  --c-skeleton-shine: #F4F6F8;
  --gradient-primary: linear-gradient(180deg, #37BBFE 0%, #229ED9 100%);
  --gradient-button: linear-gradient(180deg, #37BBFE 0%, #2AABEE 50%, #229ED9 100%);
  --gradient-button-pressed: linear-gradient(180deg, #2AABEE 0%, #229ED9 50%, #1C8DC4 100%);
  --gradient-logo-icon: linear-gradient(180deg, #37BBFE 0%, #229ED9 100%);
  --gradient-heart: linear-gradient(135deg, #FF6A8D 0%, #FF4F79 100%);
  --gradient-hero: linear-gradient(180deg, #FFFFFF 0%, #F4F6F8 100%);
  --gradient-cover: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.35) 100%);
  --shadow-card: 0 8px 24px 0 rgba(15,27,45,0.10);
  --shadow-card-sm: 0 1px 3px 0 rgba(15,27,45,0.08);
  --shadow-sheet: 0 -4px 16px 0 rgba(15,27,45,0.08);
  --shadow-button: 0 6px 16px 0 rgba(42,171,238,0.35);
  --shadow-like-btn: 0 8px 20px 0 rgba(42,171,238,0.40);
  --shadow-dislike-btn: 0 4px 12px 0 rgba(15,27,45,0.08);
  --shadow-bubble: 0 1px 1px 0 rgba(15,27,45,0.08);
  --shadow-avatar: 0 0 0 4px #FFFFFF, 0 4px 12px 0 rgba(15,27,45,0.12);
  --shadow-glow-accent: none;
  --shadow-focus: 0 0 0 3px rgba(42,171,238,0.35);
  --logo-url: url("./logo_day.svg");
}

/* Базовые применения */
html, body { background: var(--c-bg); color: var(--c-text-primary); font-family: var(--font-family-body); font-size: var(--font-size-body); line-height: var(--font-lineHeight-body); -webkit-font-smoothing: antialiased; }
h1,h2,h3,.m2v-heading { font-family: var(--font-family-heading); letter-spacing: var(--font-letterSpacing-heading); }
.m2v-btn-primary { height: var(--size-button-h); border-radius: var(--radius-button); background: var(--gradient-button); color: var(--c-text-on-accent); font: var(--font-weight-semibold) 16px/1 var(--font-family-body); box-shadow: var(--shadow-button); border: 0; }
.m2v-btn-primary:active { background: var(--gradient-button-pressed); }
.m2v-card { background: var(--c-surface); border-radius: var(--radius-card); box-shadow: var(--shadow-card); overflow: hidden; }
.m2v-input { height: var(--size-input-h); border-radius: var(--radius-input); background: var(--c-input-bg); border: 1px solid var(--c-input-border); color: var(--c-text-primary); padding: 0 var(--space-4); }
.m2v-input::placeholder { color: var(--c-input-placeholder); }
.m2v-input:focus { outline: none; box-shadow: var(--shadow-focus); border-color: var(--c-border-accent); }
.m2v-input[aria-invalid="true"] { border-color: var(--c-error-border); }
.m2v-chip { border-radius: var(--radius-chip); background: var(--c-chip-bg); border: 1px solid var(--c-chip-border); color: var(--c-chip-text); padding: 6px 12px; font-size: var(--font-size-body-sm); }
.m2v-bubble-mine { background: var(--c-bubble-mine-bg); color: var(--c-bubble-mine-text); border-radius: var(--radius-bubble) var(--radius-bubble) var(--radius-bubble-tail) var(--radius-bubble); }
.m2v-bubble-theirs { background: var(--c-bubble-theirs-bg); color: var(--c-bubble-theirs-text); border-radius: var(--radius-bubble) var(--radius-bubble) var(--radius-bubble) var(--radius-bubble-tail); }
.m2v-tabbar { height: var(--size-tabbar-h); background: var(--c-tabbar-bg); border-top: 1px solid var(--c-tabbar-border); backdrop-filter: blur(16px); }
.m2v-tab { color: var(--c-tab-icon); } .m2v-tab[aria-current="page"] { color: var(--c-tab-icon-active); }
[data-theme="night"] .m2v-tab[aria-current="page"] svg { filter: drop-shadow(0 0 6px rgba(255,61,139,0.70)); }
