/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Inter","arguments":[{"subsets":["latin","cyrillic"],"weight":["400","500","600","700"],"display":"swap","variable":"--font-inter"}],"variableName":"inter"} ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Inter_52ad5f';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Inter_Fallback_52ad5f';src: local("Arial");ascent-override: 90.49%;descent-override: 22.56%;line-gap-override: 0.00%;size-adjust: 107.06%
}.__className_52ad5f {font-family: '__Inter_52ad5f', '__Inter_Fallback_52ad5f';font-style: normal
}.__variable_52ad5f {--font-inter: '__Inter_52ad5f', '__Inter_Fallback_52ad5f'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
:root {
  /* Темная тема по умолчанию */
  --bg-primary: #0a0a0a;
  --bg-secondary: #141414;
  --bg-tertiary: #1f1f1f;
  --text-primary: #ffffff;
  --text-secondary: #b4b4b4;
  --text-tertiary: #8a8a8a;
  --accent-primary: #667eea;
  --accent-secondary: #764ba2;
  --border-color: #2a2a2a;
  --shadow: rgba(0, 0, 0, 0.7);
}

@keyframes gradient-shift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

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

html {
  max-width: 100vw;
  overflow-x: hidden;
}

html::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg,
    rgba(10, 10, 15, 0.98) 0%,
    rgba(8, 8, 12, 0.99) 20%,
    rgba(5, 5, 10, 1) 40%,
    rgba(8, 8, 12, 0.99) 60%,
    rgba(10, 10, 15, 0.98) 80%,
    rgba(12, 12, 18, 0.97) 100%
  );
  background-attachment: fixed;
  pointer-events: none;
  z-index: 0;
}

/* Плавающие волны градиента - эффект "aurora" */
html::after {
  content: '';
  position: fixed;
  top: -30%;
  left: -30%;
  width: 160%;
  height: 160%;
  background:
    radial-gradient(ellipse 1000px 600px at 30% 20%, rgba(102, 126, 234, 0.12) 0%, transparent 50%),
    radial-gradient(ellipse 800px 800px at 70% 80%, rgba(118, 75, 162, 0.1) 0%, transparent 50%),
    radial-gradient(ellipse 600px 400px at 50% 50%, rgba(147, 51, 234, 0.08) 0%, transparent 45%);
  animation: auroraWave 25s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

@keyframes auroraWave {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
    opacity: 0.7;
  }
  33% {
    transform: translate(8%, -5%) rotate(3deg);
    opacity: 0.9;
  }
  66% {
    transform: translate(-6%, 4%) rotate(-2deg);
    opacity: 0.8;
  }
}

/* Медленно проплывающий переливающийся светящийся шар */
body::before {
  content: '';
  position: fixed;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: 
    radial-gradient(
      circle at 30% 30%,
      rgba(102, 126, 234, 0.25) 0%,
      rgba(118, 75, 162, 0.18) 35%,
      rgba(147, 51, 234, 0.12) 60%,
      transparent 100%
    );
  filter: blur(60px);
  animation: floatingOrb 45s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
  opacity: 0.8;
}

@keyframes floatingOrb {
  0% {
    transform: translate(10%, 15%) scale(1);
    opacity: 0.7;
  }
  25% {
    transform: translate(calc(50vw - 300px), 25%) scale(1.15);
    opacity: 0.85;
  }
  50% {
    transform: translate(calc(70vw - 400px), calc(60vh - 200px)) scale(1.05);
    opacity: 0.8;
  }
  75% {
    transform: translate(calc(30vw - 200px), calc(50vh - 150px)) scale(1.2);
    opacity: 0.9;
  }
  100% {
    transform: translate(10%, 15%) scale(1);
    opacity: 0.7;
  }
}

/* Медленное дыхание света сверху */
body::after {
  content: '';
  position: fixed;
  top: -50%;
  left: -20%;
  width: 140%;
  height: 100%;
  background: 
    radial-gradient(
      ellipse at center top,
      rgba(102, 126, 234, 0.06) 0%,
      rgba(118, 75, 162, 0.04) 30%,
      transparent 60%
    );
  animation: topGlow 18s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

@keyframes topGlow {
  0%, 100% {
    opacity: 0.6;
    transform: translateY(0) scale(1);
  }
  50% {
    opacity: 1;
    transform: translateY(5%) scale(1.05);
  }
}


/* Стили для полноэкранного режима */

body:-webkit-full-screen {
  width: 100%;
  height: 100%;
}

body:fullscreen,
body:-webkit-full-screen,
body:-moz-full-screen,
body:-ms-fullscreen {
  width: 100%;
  height: 100%;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  font-feature-settings: 'liga' on, 'kern' on, 'calt' on;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: transparent;
  color: var(--tg-theme-text-color, var(--text-primary)) !important;
  min-height: 100vh;
  position: relative;
  z-index: 1;
}

/* Принудительно применяем темную тему для Telegram мини-приложения */
html[data-telegram-web-app]::before {
  background: linear-gradient(135deg,
    rgba(10, 10, 15, 0.98) 0%,
    rgba(8, 8, 12, 0.99) 20%,
    rgba(5, 5, 10, 1) 40%,
    rgba(8, 8, 12, 0.99) 60%,
    rgba(10, 10, 15, 0.98) 80%,
    rgba(12, 12, 18, 0.97) 100%
  );
}

body[data-telegram-web-app] {
  background: transparent;
  color: #ffffff !important;
  /* Предотвращаем прокрутку body для предотвращения автоматического закрытия при свайпе */
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
  /* Для iOS Safari */
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
}

/* Разрешаем прокрутку только внутри прокручиваемых контейнеров */
/* В Next.js 13+ app router children рендерятся напрямую */
html[data-telegram-web-app] [data-scrollable],
body[data-telegram-web-app] [data-scrollable] {
  position: relative;
  height: 100vh;
  height: 100dvh; /* Динамическая высота viewport для мобильных устройств */
  overflow-y: auto;
  overflow-x: hidden;
  /* Для iOS Safari */
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  /* Убираем padding/margin для правильной прокрутки */
  box-sizing: border-box;
  /* Отступ сверху для избежания перекрытия с верхней панелью Telegram */
  /* Используем CSS переменную из TelegramProvider или fallback (увеличен до 80px) */
  padding-top: var(--tg-safe-area-top, env(safe-area-inset-top, 80px)) !important;
}

/* Также применяем стили для основных контейнеров страниц */
html[data-telegram-web-app] main[data-scrollable],
body[data-telegram-web-app] main[data-scrollable],
html[data-telegram-web-app] div[data-scrollable],
body[data-telegram-web-app] div[data-scrollable] {
  position: relative;
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  /* Отступ сверху для избежания перекрытия с верхней панелью Telegram */
  /* Используем CSS переменную из TelegramProvider или fallback (увеличен до 80px) */
  padding-top: var(--tg-safe-area-top, env(safe-area-inset-top, 80px)) !important;
}

/* Убеждаемся, что элементы внутри прокручиваемых контейнеров не перекрываются */
html[data-telegram-web-app] [data-scrollable] {
  /* Минимальный отступ сверху всегда применяется */
  min-height: calc(100vh - var(--tg-safe-area-top, 80px));
}

/* Защита для элементов, которые могут быть в самом верху */
html[data-telegram-web-app] [data-scrollable] .header,
html[data-telegram-web-app] [data-scrollable] header,
html[data-telegram-web-app] [data-scrollable] .backButton,
html[data-telegram-web-app] [data-scrollable] .progress {
  position: relative;
  z-index: 1;
}

/* Дополнительный отступ для первого элемента в прокручиваемых контейнерах */
html[data-telegram-web-app] [data-scrollable] > *:first-child {
  margin-top: 0 !important;
}

/* JavaScript установит padding-top через inline стили с !important */
/* Этот CSS служит только как fallback на случай, если JS не успел выполниться */

a {
  color: inherit;
  text-decoration: none;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.card {
  background-color: var(--tg-theme-secondary-bg-color, var(--bg-secondary));
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
  border: 1px solid var(--border-color);
}

.button {
  background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
  color: var(--tg-theme-button-text-color, #ffffff);
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5);
}

.button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}


