/* 1) Общие настройки */
:root {
  --color-bg: #000000;
  --color-text: #f1f1f1;
  --color-primary: #ffa000;         /* ярко-красный */
  --color-primary-hover: #ffa000;   /* оранжевый */
  --color-nav-bg: rgba(18, 18, 18, 0.95);
  --color-footer-text: #aaaaaa;
  --color-accent: #ffa000;          /* ярко-оранжевый */
  --bs-body-color-rgb: #6c757d;
  --bs-body-bg:#f1f1f1;
}
.hello-container{
  height:40%;
}
.full-height{
  height:100%;
}
.container{
  height:100%;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
.display-4 {
  font-size: 3.5rem;
  font-weight: 700;
  color: var(--color-accent);
  text-shadow: 0 2px 8px rgba(255, 61, 0, 0.2);
  font-family: "Rubik", system-ui;
}

.lead{
  font-family: "Rubik", system-ui;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: 'Orbitron', sans-serif;
  line-height: 1.6;
}

h1 span{
    color: var(--color-text);
    font-family: "Rubik Glitch", system-ui;
    font-weight: 100;
}

/* 2) Навигация */
.navbar {
  background-color: var(--color-nav-bg);
}

.navbar-brand {
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--color-text) !important;
}
.open-card{
  height: 60vh;
}

.navbar-nav .nav-link {
  color: var(--color-text) !important;
  font-weight: 500;
  transition: color 0.2s ease;
  font-family: "Rubik", system-ui;
}

.navbar-nav .nav-link:hover {
  color: var(--color-primary) !important;
}

/* Кнопки */
.btn-primary {
  background-color: var(--color-primary);
  border: none;
  color: #fff;
  font-weight: 600;
}

.btn-primary:hover {
  background-color: var(--color-primary-hover);
}

.btn-outline-primary {
  border: 2px solid var(--color-primary);
  color: var(--color-primary);
  font-weight: 600;
}

.btn-outline-primary:hover {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

/* 3) Заголовки, тексты */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}
h1, h2, h3 {
  font-family: 'Orbitron', sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
}

h1.display-4 {
  font-size: clamp(1.8rem, 4vw, 3rem); /* min 1.8rem, max 3rem, масштабируется с 4vw */
  line-height: 1.2;
}

h2.lead {
  font-size: clamp(1rem, 2vw, 1.5rem);
  color: var(--color-text);
}
/* 4) Футер */
footer {
  background-color: #1e1e1e;
  color: var(--color-footer-text);
}

/* 5) Форма ввода */
.form-label {
  font-weight: 500;
}

.form-control {
  border-radius: 4px;
  transition: border-color 0.2s ease;
}

.form-control:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.2rem rgba(0, 188, 212, 0.25);
}

/* 6) Карточки в Dashboard */
.card-dashboard {
  border: none;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}

.card-dashboard:hover {
  transform: translateY(-4px);
}

/* 7) Адаптивность */
@media (max-width: 767px) {
  .navbar-brand {
    font-size: 1.2rem;
  }
  .lead {
    font-size: 1rem;
  }
}

.manga-container {
  position: relative;
  max-width: 691px;
  margin: 0 auto;
}
.manga-base {
  display: block;
  width: 100%;
  height: auto;
}
.manga-frame {
  position: absolute;
  transform-origin: top left;
  will-change: transform, opacity;
  /* inline-позиции задаются дальше */
}

/* Жёсткие стартовые позиции */
#frame-0 { top: 385px;  left: 0px;    width: 691px; height: 1175px; }
#frame-1 { top: 2350px; left: 30px;   width: 599px; height: 510px;  }
#frame-2 { top: 3430px; left: 45px;   width: 611px; height: 526px;  }
#frame-3 { top: 4525px; left: 35px;   width: 537px; height: 560px;  }
#frame-4 { top: 5520px; left: 0px;    width: 691px; height: 1038px; }

/* Колода слева */
.frame-deck {
  position: fixed;
  left: 10px;
  top: 30vh;
  width: 220px;
  height: 33vh;
  pointer-events: none;
  overflow: visible;
}

/* Мобильная адаптация — заменяем старый блок */
@media (max-width: 768px) {
  /* Показываем колоду в правом верхнем углу (уменьшенная версия для телефонов) */
  .frame-deck {
    display: block;   /* колода тоже показывается на мобилке */
    left: 10px;       /* всегда слева */
    right: auto;      /* сброс, если вдруг браузер тянул вправо */
    width: 150px;     /* можно уменьшить ширину колоды для мобилы */
    height: 30vh;     /* подогнал под экран */
  }
  .manga-container{
    overflow-x:hidden;
  }

  .manga-base {
    filter: none;
  }

  /* Фреймы: позволяем JS управлять размерами и позициями (в покое — высота auto) */
  .manga-frame {
    height: auto !important;
    will-change: transform, left, top;
  }

  /* Небольшие правки для тезисов */
  .thesis-wrapper {
    left: 50%;
    transform: translateX(-50%);
  }
  .thesis-block {
    font-size: 1rem;
    margin-top: 4rem;
  }
}

.thesis-wrapper {
  position: absolute;
  /* первый блок начинается после экрана */
  top: 8%;
  left: 50%;
  height: 85%;
  transform: translateX(-30%);
  z-index: 10;
  display:flex;
  flex-direction: column;
  justify-content: space-between;
}

.thesis-block {
  background: rgba(0, 0, 0, 0.5);
  border-left: 4px solid var(--color-accent);
  padding: 1rem 1.5rem;
  margin: 6rem auto; /* базовый отступ */
  max-width: 600px;
  font-size: 1.25rem;
  color: var(--color-text);
  box-shadow: 0 2px 12px rgba(0,0,0,0.1);
  border-radius: 8px;
  backdrop-filter: blur(6px);
  transition: transform 0.1s ease;
}

.hero-section {
  height: 90vh;
  position: relative;
  background-color:red;
  color: var(--color-text);
  padding: 0 1rem;
}


.hero-title {
  font-size: 3.5rem;
  font-weight: 700;
  color: var(--color-accent);
  text-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

.hero-subtitle {
  font-size: 1.3rem;
  margin-top: 1rem;
  color: #ddd;
}

.scroll-down {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
}

.scroll-down .arrow {
  display: block;
  width: 28px;
  height: 28px;
  border-bottom: 3px solid var(--color-accent);
  border-right: 3px solid var(--color-accent);
  transform: rotate(45deg);
  animation: bounce 1.5s infinite;
}
.scroll-down:hover {
    cursor: pointer;
}

@keyframes bounce {
  0%, 100% { transform: translateY(0) rotate(45deg); }
  50% { transform: translateY(10px) rotate(45deg); }
}

/* Видео */
.video-container {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 0 25px rgba(255, 160, 0, 0.15);
}
.tutorial-video {
  width: 100%;
  height: auto;
  display: block;
  border: 2px solid var(--color-accent);
  border-radius: 12px;
}

/* Шаги */
.tutorial-steps {
  margin-top: 2rem;
}
.step {
  background: rgba(255, 255, 255, 0.03);
  border-left: 4px solid var(--color-accent);
  padding: 1.2rem 1.5rem;
  border-radius: 8px;
  margin-bottom: 1.2rem;
  transition: background 0.3s ease;
}
.step:hover {
  background: rgba(255, 160, 0, 0.1);
}
.step h3 {
  font-family: 'Orbitron', sans-serif;
  text-transform: uppercase;
  color: var(--color-accent);
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
}
.step h3 span {
  color: var(--color-text);
  margin-right: 0.5rem;
}
.step p {
  color: var(--color-text);
  font-family: "Rubik", system-ui;
  margin: 0;
}

/* Мобильная адаптация */
@media (max-width: 768px) {
  .tutorial-video {
    border-width: 1px;
  }
  .step {
    font-size: 0.95rem;
  }
}

.seo-hidden {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}