@font-face{
  font-family:"PF Din Text Cond Pro";
  src:url("./PFDinTextCondPro-Regular.ttf") format("truetype");
}

@font-face{
  font-family:"PF Din Text Cond Pro";
  src:url("./PFDinTextCondPro-Medium.ttf") format("truetype");
  font-weight:500;
  font-style:normal;
}

@font-face{
  font-family:"PF Din Text Cond Pro";
  src:url("./PFDinTextCondPro-Bold.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
}

/* ===== ОСНОВНОЙ ГРАДИЕНТ ФОНА (ИЗ ТВОЕГО ФАЙЛА) ===== */
:root{
  --bg-top:#0b1e57;
  --bg-bottom:#e0f1ff;

  --neon-blue: rgba(110, 190, 255, 0.9);
}

html, body{
  margin:0;
  min-height:100%;
  font-family:"PF Din Text Cond Pro",sans-serif;
  font-size: 20px;
  background:
    radial-gradient(900px 600px at 80% -10%, rgba(60,150,255,0.18), transparent 60%),
    radial-gradient(700px 500px at 5% 85%, rgba(120,210,255,0.16), transparent 60%),
    radial-gradient(500px 400px at 50% 120%, rgba(120,240,255,0.10), transparent 70%),
    linear-gradient(180deg,
      var(--bg-top) 0%,
      #1850c2 25%,
      #4b8fff 55%,
      #a7d0ff 80%,
      var(--bg-bottom) 100%);
  background-attachment: fixed;
  overflow-x: hidden;
  color:#06263a;
  transition:background .9s ease,color .6s ease;
}

/* ===== НОЧНОЙ РЕЖИМ ===== */
body.night{
  background:
    radial-gradient(900px 600px at 80% -10%, rgba(80,140,255,0.12), transparent 60%),
    radial-gradient(700px 500px at 5% 85%, rgba(120,120,255,0.10), transparent 60%),
    radial-gradient(500px 400px at 50% 120%, rgba(120,120,255,0.08), transparent 70%),
    radial-gradient(120% 120% at 50% 0%, #081a4a 0%, #020924 65%, #010412 100%);
  color:#eaf4ff;
}

/* ===== ЗВЁЗДЫ ===== */
#bg-stars{
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  opacity: 0.45;
  transition:opacity .6s ease;
}
body.night #bg-stars{opacity:1}

/* ===== ОБЪЕКТЫ ===== */
#bg-objects{
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.55;
}

/* ===== ТУМАННОСТЬ ===== */
#bg-nebula{
  position: fixed;
  top: -200px;
  left: -200px;
  width: 900px;
  height: 900px;
  background: radial-gradient(ellipse at center,
    rgba(255,120,255,0.08) 0%,
    rgba(120,100,255,0.07) 35%,
    rgba(50,20,100,0.04) 70%,
    transparent 100%);
  filter: blur(120px);
  mix-blend-mode: screen;
  border-radius: 50%;
  animation: rotateNebula 240s linear infinite;
  z-index: 0;
  pointer-events: none;
  opacity:.7;
}
@keyframes rotateNebula{
  from{ transform: rotate(0deg); }
  to{ transform: rotate(360deg); }
}

/* ===== РАКЕТА ===== */
#bg-rocket{
  position: fixed;
  left: -20vw;
  bottom: -15vh;
  width: min(180px, 18vw);
  z-index: 1;
  opacity: 0.9;
  pointer-events: none;
  filter: drop-shadow(0 8px 24px rgba(255,80,120,.25));
  animation:
    rocketDrift 42s linear infinite,
    rocketBob 3.6s ease-in-out infinite;
}
@keyframes rocketDrift{
  0%   { transform: translate(0,0) rotate(-6deg); }
  50%  { transform: translate(70vw,-50vh) rotate(0deg); }
  100% { transform: translate(120vw,-105vh) rotate(6deg); }
}
@keyframes rocketBob{
  0%,100%{ filter: drop-shadow(0 8px 24px rgba(255,80,120,.25)); }
  50%{ filter: drop-shadow(0 12px 28px rgba(255,120,160,.35)); }
}

/* ===== КАРТОЧКИ ===== */
.card{
  position:relative;
  z-index:2;
  background:rgba(255,255,255,.75);
  border-radius:22px;
  padding:18px;
  margin-bottom:18px;
  transition:.6s ease;
}
body.night .card{
  background:rgba(8,18,48,.82);
  box-shadow:
    0 0 12px rgba(110,190,255,.6),
    0 0 26px rgba(110,190,255,.4),
    0 0 42px rgba(110,190,255,.25);
}

/* ===== ХЕДЕР ===== */
header{
  position:fixed;
  top:0; left:0; right:0;
  height:150px;

  display:flex;
  justify-content:center;
  align-items:center;        /* ← ВАЖНО! центр по вертикали */

  z-index:1000;
  background:transparent;
  backdrop-filter:none;
}
.header-inner{
  width:92%;
  max-width:1100px;
  height:100%;               /* ← обязательно */
  display:flex;
  align-items:center;        /* ← и здесь тоже */
  justify-content:space-between;
}
.btn{
  padding:10px 14px;
  border-radius:14px;
  cursor:pointer;
  background:transparent;
  border:1px solid currentColor;
  color:inherit;
}
body.night .btn{
  box-shadow:
    0 0 10px var(--neon-blue),
    var(--neon-blue);
}
.brand img{
  height:120px;
  transition:height .4s ease;
}

/* ноутбуки */
@media (max-width:1024px){
  .brand img{
    height:96px;
  }
}

/* планшеты */
@media (max-width:768px){
  .brand img{
    height:72px;
  }
}

/* телефоны */
@media (max-width:480px){
  .brand img{
    height:56px;
  }
}
body.night header{
  background:#081a4a;
}
/* ===== КНОПКИ ШАПКИ В СВЕТЛОМ РЕЖИМЕ ===== */
body:not(.night) header .btn{
  background:#ffffff;
  color:#0b1e57;
  border:1px solid rgba(11,30,87,0.25);
}

body:not(.night) header .btn:hover{
  background:#f3f6ff;
}
/* ===== ШАПКА В СВЕТЛОМ РЕЖИМЕ (ЛЁГКИЙ BLUR) ===== */
body:not(.night) header{
  background: rgba(255,255,255,0.10); /* почти прозрачная */
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px); /* для Safari */
}

/* ===== КОНТЕНТ ===== */
.app{
  padding-top:180px;
  width:92%;
  max-width:1100px;
  margin:auto;
}
video{width:100%;border-radius:18px}

/* ===== МОБИЛЬНАЯ ОПТИМИЗАЦИЯ ===== */
@media (orientation: portrait){
  #bg-rocket,#bg-objects{display:none}
  #bg-stars{opacity:.35}
}

.hero{position:relative;z-index:2;margin-bottom:40px}
.lead{text-align:center;margin-bottom:26px}
.lead h1{margin:0 0 10px;font-size:clamp(26px,4vw,40px)}
.meta-grid{
  display:grid;
  grid-template-columns:repeat(8, 1fr);
  gap:14px;

  /* === растяжение на всю ширину экрана === */
  width:100vw;
  margin:24px 0 24px 50%;
  transform:translateX(-50%);
  padding:0 75px;
  box-sizing:border-box;
}

/* планшеты */
@media (max-width:1024px){
  .meta-grid{
    grid-template-columns:repeat(4, 1fr);
    padding:0 40px;
  }
}

/* телефоны — ПО 2 */
@media (max-width:600px){
  .meta-grid{
    grid-template-columns:repeat(2, 1fr);
    padding:0 16px;
  }
}
.meta-chip{
  background:rgba(255,255,255,.75);
  border-radius:18px;
  padding:10px 12px;
  text-align:center;
}
@media (max-width:600px){
  .meta-chip{
    padding:14px 8px;
    font-size:16px;
  }
}
.meta-chip br{
  display:block;
  margin-bottom:0;
}
.meta-chip strong{
  line-height:1.1;
}

body.night .meta-chip{
  background:rgba(8,18,48,.82);
  box-shadow:
    0 0 8px rgba(110,190,255,.55),
    0 0 18px rgba(110,190,255,.45),
    0 0 36px rgba(110,190,255,.25);
	
  border:1px solid rgba(110,190,255,.25);
}
.planets-wrap{margin-top:36px}
.planets-title{
  text-align: center;
  margin-bottom: 36px;

  font-size: clamp(22px, 3.4vw, 32px); /* 🔥 увеличили */
  line-height: 1.35;

  font-weight: 600;
  color: #ffffff;
}
body.night .planets-title{
  text-shadow:
    0 0 12px rgba(110,190,255,.45),
    0 0 28px rgba(110,190,255,.25);
}

/* ===== КРУГЛЫЕ ПЛАНЕТЫ С HOVER-ПОДПИСЬЮ ===== */
.planets{
  display:grid;
  grid-template-columns:repeat(8, minmax(0, 1fr));
  gap:24px;

  /* === растягиваем от края до края === */
  width:100vw;
  margin-left:50%;
  transform:translateX(-50%);

  /* === отступы от краёв экрана === */
  padding:0 32px;
  box-sizing:border-box;
}

.planet{
  position: relative;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  overflow: hidden;
  display: block;
}

/* картинка */
.planet img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  transition: transform .5s ease, filter .5s ease;
}

/* затемнение */
.planet::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
  opacity:0;
  transition:.4s ease;
  z-index:2;
}

/* 🔥 НАДПИСЬ — ЖЁСТКИЙ ЦЕНТР */
.planet .label{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;

  text-align:center;
  padding:14px;

  color:#fff;
  font-size:15px;
  font-weight:600;
  line-height:1.25;

  opacity:0;
  transform: scale(.9);
  transition: opacity .4s ease, transform .4s ease;

  z-index:3;
  pointer-events:none; /* важно */
}

/* hover */
.planet:hover img{
  transform: scale(1.15);
  filter: brightness(.6);
}

.planet:hover::after{
  opacity:1;
}

.planet:hover .label{
  opacity:1;
  transform: scale(1);
}

/* мобильные — всегда показываем подпись */
@media (hover:none){
  .planet .label{
    opacity:1;
    background:rgba(0,0,0,.35);
  }
}
/* ноутбуки */
@media (max-width:1024px){
  .planets{
    grid-template-columns:repeat(4, 1fr);
    padding:0 40px;
  }
}

/* телефоны — ПО 2 */
@media (max-width:600px){
  .planets{
    grid-template-columns:repeat(2, 1fr);
    padding:0 18px;
  }
}



/* ===== АНИМАЦИЯ ПЕРЕКЛЮЧЕНИЯ ТЕМЫ (БЕЗ БЛИКА) ===== */
body{
  transition:
    background 1.2s ease,
    color .8s ease;
}

/* звёзды плавно */
#bg-stars{
  transition:opacity 1.2s ease;
}

/* 🌙 СВЕЧЕНИЕ ПЛАНЕТ ЧЕРЕЗ ::before */
body.night .planet::before{
  content:"";
  position:absolute;
  inset:-16px;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;

  background:rgba(255,255,255,0.01); /* ← КЛЮЧ */
  filter:blur(6px);

  box-shadow:
    0 0 22px var(--neon-blue),
    var(--neon-blue);
	opacity:1;
}

.planet:hover{
  transform:translateY(-6px) scale(1.05);
}
.planet:hover::after,
.planet:hover .label{
  opacity:1;
  transform:scale(1);
}
/* 🌙 КРУЖКИ СВЕТЯТСЯ ТОЧНО КАК БЛОКИ */
body.night .planet{
  box-shadow:
    0 0 12px rgba(110,190,255,.55),
    0 0 28px rgba(110,190,255,.35),
    0 0 52px rgba(110,190,255,.20);
}

/* кнопка-переключатель */
#themeToggle{
  display:flex;
  align-items:center;
  gap:8px;
}

#themeToggle .icon{
  display:inline-block;
  width:18px;
  height:18px;
  transition:transform .6s ease, opacity .6s ease;
}

body.night #themeToggle .icon{
  transform:rotate(180deg) scale(1.1);
}


/* ===== МЕНЮ: OVERLAY + ПАНЕЛЬ ===== */
#menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  backdrop-filter:blur(8px);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease;
  z-index:1100;
}
#menu-overlay.active{
  opacity:1;
  pointer-events:auto;
}

#side-menu{
  position:fixed;
  top:0;left:0;
  width:360px;
  max-width:92vw;
  height:100%;
  transform:translateX(-100%);
  transition:transform .40s ease;
  z-index:1200;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:24px;
   background:#dbeafe;      /* ✅ ВОТ ОНО */
  box-shadow:18px 0 60px rgba(0,0,0,.35);
  color:#ffffff;
}
body.night #side-menu{
  background:rgba(8,18,48,.96);
  color:#eaf4ff;
  box-shadow:0 0 18px var(--neon-blue), var(--neon-blue);
}
#side-menu.active{ transform:translateX(0); }

.menu-header{
  position:relative;
  top:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px;
  font-size:28px;
  backdrop-filter:blur(10px);
  background: rgba(219,234,254,.85); /* тот же голубой, чуть прозрачный */
  border-bottom:1px solid rgba(11,30,87,.15);
  z-index:2;
}
.menu-header span{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
}
body:not(.night) .menu-header{
  color:#0b1e57;
}

/* крестик */
body:not(.night) .menu-header button{
  color:#0b1e57;
  opacity:.8;
}

body:not(.night) .menu-header button:hover{
  opacity:1;
}
body.night .menu-header{
  background:rgba(8,18,48,.72);
  border-bottom:1px solid rgba(255,255,255,.16);
}

#menu-close{
  background:none;
  border:none;
  color:inherit;
  font-size:24px;
  cursor:pointer;
  padding:6px 10px;
  border-radius:12px;
  margin-left:auto;
}
#menu-close:hover{ background:rgba(0,0,0,.06); }
body.night #menu-close:hover{ background:rgba(255,255,255,.10); }


.menu-content{
  padding:14px 16px 0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

/* ===== АККОРДЕОН ===== */
.acc{
  border-bottom:1px solid rgba(0,0,0,.10);
  padding-bottom:12px;
}
body.night .acc{ border-bottom:1px solid rgba(255,255,255,.16); }

.acc-btn{
  width:100%;
  background:none;
  border:none;
  color:inherit;
  text-align:left;
  font-size:28px;
  padding:10px 0 8px;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
body:not(.night) .acc-btn{
  color: #0b1e57;   /* фирменный тёмно-синий */
  font-weight: 600;
}
body:not(.night) .acc-btn:hover{
  color:#06263a;
}
.acc-btn span{ transition:transform .25s ease; opacity:.9; }
.acc.open .acc-btn span{ transform:rotate(180deg); }

.acc-panel{
  max-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-left:10px;
  transition:max-height .40s ease;
}
.acc.open .acc-panel{ max-height:1400px; }

.menu-a, .menu-link, .menu-btn{
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color:inherit;
  font-size:26px;
  background: rgba(255,255,255,.55);
  border:0;
  cursor:pointer;
  text-align:left;
}
body:not(.night) .menu-a,
body:not(.night) .menu-btn{
  color: #0b1e57;
  font-weight: 500;
}
body.night .menu-a, body.night .menu-link, body.night .menu-btn{
  background:rgba(255,255,255,.10);
}

.menu-a:hover, .menu-link:hover, .menu-btn:hover{
  background:rgba(0,0,0,.08);
}
body.night .menu-a:hover, body.night .menu-link:hover, body.night .menu-btn:hover{
  background:rgba(255,255,255,.14);
}

/* ===== Мобильная версия: меню полноэкранное ===== */
@media (max-width:640px){
  #side-menu{ width:100vw; max-width:100vw; }
}
body:not(.night) .planets-title{
  color: #0b1e57; /* тот же оттенок, что у главного заголовка */
}

@media (max-width:1024px){
  html, body{
    font-size:22px; /* ноутбуки */
  }
}

@media (max-width:480px){
  html, body{
    font-size:16px;
  }
}

@media (max-width:600px){
  .planet{
    width: 130px;
    height: 130px;
  }
}
/* ===== VIDEO SLIDER ===== */
.video-slider{
  position:relative;
  overflow:hidden;
}

.video-track{
  display:flex;
  transition:transform .6s ease;
}

.video-track video{
  min-width:100%;
  border-radius:18px;
  cursor:pointer;
}

/* ===== COSMIC VIDEO NAV BUTTONS (override) ===== */
.video-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:6;

  width:52px;
  height:52px;
  border-radius:16px;

  border:1px solid rgba(11,30,87,.22);
  background: rgba(255,255,255,.72);
  color:#0b1e57;

  display:flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;

  box-shadow:
    0 10px 28px rgba(11,30,87,.12),
    inset 0 1px 0 rgba(255,255,255,.7);

  transition: transform .18s ease, box-shadow .25s ease, background .25s ease, opacity .25s ease;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.video-nav.prev{ left:14px; }
.video-nav.next{ right:14px; }

.video-nav:hover{
  transform:translateY(-50%) scale(1.06);
  background: rgba(255,255,255,.88);
  box-shadow:
    0 14px 34px rgba(11,30,87,.16),
    inset 0 1px 0 rgba(255,255,255,.75);
}
.video-nav:active{
  transform:translateY(-50%) scale(.98);
}

/* Lucide внутри кнопок */
.video-nav i{
  width:26px;
  height:26px;
  stroke-width:2.2;
}

/* Ночной режим — неоновое свечение */
body.night .video-nav{
  border:1px solid rgba(110,190,255,.35);
  background: rgba(8,18,48,.72);
  color: rgba(110,190,255,.95);

  box-shadow:
    0 0 10px rgba(110,190,255,.55),
    0 0 24px rgba(110,190,255,.40),
    0 0 44px rgba(110,190,255,.22);
}
body.night .video-nav:hover{
  transform:translateY(-50%) scale(1.08);
  background: rgba(8,18,48,.86);
  box-shadow:
    0 0 12px rgba(110,190,255,.70),
    0 0 30px rgba(110,190,255,.50),
    0 0 60px rgba(110,190,255,.28);
}
body.night .video-nav i{
  filter:
    drop-shadow(0 0 6px rgba(110,190,255,.65))
    drop-shadow(0 0 14px rgba(110,190,255,.35));
}
/* Слайд-обёртка, чтобы и видео и iframe листались одинаково */
.video-slide{
  min-width:100%;
}

/* Видео и RuTube — одинаковая форма */
.video-slide video,
.video-slide iframe{
  width:100%;
  border-radius:18px;
  display:block;
}

/* Чтобы RuTube был 16:9 и не “съедал” высоту */
.video-slide iframe{
  aspect-ratio: 16 / 9;
  height: auto;
}

/* ==================================================
   ОБРАТНЫЙ ОТСЧЁТ ДО ВИКТОРИНЫ
================================================== */

.quiz-countdown{
  position:relative;

  width:min(760px, calc(100% - 32px));

  margin:70px auto 20px;

  padding:28px 34px;

  box-sizing:border-box;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;

  background:rgba(255,255,255,.78);

  border:1px solid rgba(11,30,87,.16);

  border-radius:28px;

  box-shadow:
    0 18px 45px rgba(11,30,87,.15);

  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}


/* ОСНОВНАЯ ЧАСТЬ */

.countdown-content{
  flex:1;
  text-align:center;
}


.countdown-title{
  margin-bottom:16px;

  font-size:28px;
  font-weight:700;

  color:#0b1e57;
}


/* ЦИФРЫ */

.countdown-grid{
  display:grid;

  grid-template-columns:repeat(4, 1fr);

  gap:12px;
}


.countdown-item{
  padding:15px 8px;

  border-radius:18px;

  background:
    linear-gradient(
      180deg,
      #e5f4ff 0%,
      #f3f9ff 100%
    );

  border:1.5px solid rgba(45,135,210,.38);

  box-shadow:
    0 6px 16px rgba(28,105,175,.10),
    inset 0 1px 0 rgba(255,255,255,.9);

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.countdown-item:hover{
  transform:translateY(-2px);

  box-shadow:
    0 9px 20px rgba(28,105,175,.16),
    inset 0 1px 0 rgba(255,255,255,.9);
}


.countdown-item strong{
  display:block;

  font-family:"PF Din Text Cond Pro", sans-serif;
  font-size:50px;
  font-weight:500;
  line-height:1;

  color:#08265b;

  -webkit-text-stroke:2px #00eaff;

  text-shadow:
    0 0 3px #00eaff,
    0 0 7px rgba(0,234,255,.9),
    0 0 14px rgba(0,234,255,.65),
    0 0 24px rgba(0,234,255,.30);

  letter-spacing:1px;
}


.countdown-item span{
  display:block;
  margin-top:7px;

  font-size:17px;
  font-weight:600;

  color:#0b1e57;
}


.countdown-caption{
  margin-top:18px;

  font-size:25px;
  font-weight:600;

  color:#0b1e57;
}


/* =========================
   НОЧНОЙ РЕЖИМ
========================= */

body.night .quiz-countdown{
  background:rgba(8,18,48,.84);

  border:1px solid rgba(110,190,255,.30);

  box-shadow:
    0 0 12px rgba(110,190,255,.35),
    0 0 32px rgba(110,190,255,.20);
}


body.night .countdown-title,
body.night .countdown-caption,
body.night .countdown-item span{
  color:#eaf4ff;
}


body.night .countdown-item{
  background:rgba(255,255,255,.07);

  border:1px solid rgba(110,190,255,.20);
}


body.night .countdown-item strong{
  color:#071b46;

  -webkit-text-stroke:2px #00f0ff;

  text-shadow:
    0 0 3px #00f0ff,
    0 0 8px rgba(0,240,255,1),
    0 0 16px rgba(0,240,255,.75),
    0 0 28px rgba(0,240,255,.45);
}


/* =========================
   ПЛАНШЕТ
========================= */

@media (max-width:900px){

  .quiz-countdown{
    margin-top:55px;

    padding:24px;

    gap:18px;
  }

  .countdown-title{
    font-size:25px;
  }

  .countdown-item strong{
    font-size:31px;
  }
}


/* =========================
   ТЕЛЕФОН
========================= */

@media (max-width:600px){

  .quiz-countdown{
    width:calc(100% - 24px);

    margin-top:45px;

    padding:22px 15px;

    flex-direction:column;

    gap:8px;
  }

  .countdown-title{
    font-size:23px;
    margin-bottom:14px;
  }

  .countdown-grid{
    width:100%;

    grid-template-columns:repeat(2, 1fr);
  }

  .countdown-item strong{
    font-size:30px;
  }

  .countdown-caption{
    font-size:19px;
  }
}

/* ===== КОСМИК + ОБЛАКО С ФАКТОМ ===== */
#kosmik-fact-widget {
  position: fixed;
  inset: 0;
  z-index: 1050;
  pointer-events: none;
  overflow: hidden;
}

/* Космик отображается только на главной странице */
body:not(:has(#home.active)) #kosmik-fact-widget {
  display: none !important;
}

/* КОСМИК */
.kosmik-character {
  position: absolute;
  bottom: 18px;

  width: clamp(230px, 24vw, 360px);

  opacity: 0;

  filter:
    drop-shadow(0 16px 28px rgba(4, 35, 75, .28));

  transition:
    transform 1.05s cubic-bezier(.18,.78,.24,1),
    opacity .42s ease;

  will-change: transform, opacity;
}

.kosmik-character img {
  display: block;
  width: 100%;
  height: auto;

  user-select: none;
  -webkit-user-drag: none;
}


/* =========================
   ПОЯВЛЕНИЕ СЛЕВА
========================= */

#kosmik-fact-widget.side-left .kosmik-character {
  left: 0;

  transform:
    translateX(-82%)
    rotate(-2deg);
}

#kosmik-fact-widget.side-left.show-character .kosmik-character {
  transform:
    translateX(-28%)
    rotate(0deg);

  opacity: 1;
}


/* =========================
   ПОЯВЛЕНИЕ СПРАВА
========================= */

#kosmik-fact-widget.side-right .kosmik-character {
  right: 0;

  transform:
    translateX(82%)
    scaleX(-1)
    rotate(-2deg);
}

#kosmik-fact-widget.side-right.show-character .kosmik-character {
  transform:
    translateX(28%)
    scaleX(-1)
    rotate(0deg);

  opacity: 1;
}


/* =========================
   ОБЛАКО
========================= */

.kosmik-bubble {
  position: absolute;

  bottom: clamp(205px, 24vw, 300px);

  width: min(430px, 38vw);
  min-height: 150px;

  box-sizing: border-box;

  padding: 24px 28px;

  border-radius: 34px;

  background: rgba(255,255,255,.96);

  color: #0b1e57;

  border: 2px solid rgba(73,166,255,.55);

  box-shadow:
    0 18px 48px rgba(5,36,87,.20),
    0 0 0 7px rgba(255,255,255,.12);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  opacity: 0;

  transform:
    translateY(16px)
    scale(.94);

  transition:
    opacity .5s ease,
    transform .55s cubic-bezier(.2,.85,.25,1);
}


/* Положение облака */

#kosmik-fact-widget.side-left .kosmik-bubble {
  left: clamp(180px, 20vw, 305px);
}

#kosmik-fact-widget.side-right .kosmik-bubble {
  right: clamp(180px, 20vw, 305px);
}


/* Появление облака */

#kosmik-fact-widget.show-bubble .kosmik-bubble {
  opacity: 1;

  transform:
    translateY(0)
    scale(1);
}


/* Маленький хвостик облака */

.kosmik-bubble::after {
  content: "";

  position: absolute;
  bottom: -18px;

  width: 34px;
  height: 34px;

  background: inherit;

  border-bottom: inherit;
  border-right: inherit;

  transform: rotate(45deg);
}

#kosmik-fact-widget.side-left .kosmik-bubble::after {
  left: 42px;
}

#kosmik-fact-widget.side-right .kosmik-bubble::after {
  right: 42px;
}


/* =========================
   ЗАГОЛОВОК
========================= */

.kosmik-bubble-title {
  display: flex;
  align-items: center;

  gap: 9px;

  margin-bottom: 11px;

  font-size: clamp(16px, 1.55vw, 21px);

  font-weight: 700;

  letter-spacing: .02em;

  color: #175f9d;
}

.kosmik-bubble-title::before {
  content: "★";

  color: #f5b82e;

  font-size: 1.05em;
}


/* =========================
   ТЕКСТ ФАКТА
========================= */

.kosmik-bubble-text {
  font-size: clamp(18px, 1.9vw, 25px);
  line-height: 1.28;
  font-weight: 500;
}


/* =========================================
   КОСМИК — ПЛАНШЕТЫ
   ========================================= */

@media (min-width: 501px) and (max-width: 900px) {

  /* Сам Космик */
  .kosmik-character {
    width: 250px;
    bottom: 8px;
  }

  /* Насколько Космик выглядывает слева */
  #kosmik-fact-widget.side-left.show-character
  .kosmik-character {
    transform:
      translateX(-30%)
      rotate(0deg);
  }

  /* Насколько Космик выглядывает справа */
  #kosmik-fact-widget.side-right.show-character
  .kosmik-character {
    transform:
      translateX(30%)
      scaleX(-1)
      rotate(0deg);
  }


  /* Облако */
  .kosmik-bubble {
    width: min(340px, 48vw);
    min-height: 120px;

    bottom: 205px;

    padding: 18px 20px;

    border-radius: 26px;
  }


  /* Облако при появлении слева */
  #kosmik-fact-widget.side-left .kosmik-bubble {
    left: 165px;
  }

  /* Облако при появлении справа */
  #kosmik-fact-widget.side-right .kosmik-bubble {
    right: 165px;
  }


  /* Заголовок */
  .kosmik-bubble-title {
    font-size: 17px;
    margin-bottom: 8px;
  }

  /* Сам факт */
  .kosmik-bubble-text {
    font-size: 19px;
    line-height: 1.25;
  }
}


/* =========================================
   ТЕЛЕФОНЫ — КОСМИКА НЕ ПОКАЗЫВАЕМ
   ========================================= */

@media (max-width: 500px) {
  #kosmik-fact-widget {
    display: none !important;
  }
}

.slide{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(10px);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:2000;
}
.slide.active{display:flex}
.slide-inner{
  width:92%;
  max-width:900px;
  max-height:85vh;
  overflow:auto;
  background:rgba(255,255,255,.95);
  border-radius:22px;
  padding:28px;
}
body.night .slide-inner{
  background:rgba(8,18,48,.95);
  color:#eaf4ff;
}
.slide-close{
  margin-top:20px;
  padding:10px 16px;
  border-radius:14px;
  border:none;
  cursor:pointer;
}
.page{
  display:none;
  position:relative;
  z-index:2;
}

.page.active{
  display:block;
}

/* ===== КОСМИЧЕСКАЯ ИГРА ===== */
.game-menu-link{color:#f0a600!important}
.game-page{max-width:1180px;padding-bottom:56px}
.game-heading{
display:flex;
align-items:flex-start;
gap:24px;
margin:18px 0 24px;
color:#0b1e57;
}

body.night .game-heading{
color:#eaf4ff;
}
.game-heading h1{font-size:clamp(34px,5vw,64px);line-height:.95;margin:7px 0 12px;text-transform:uppercase;letter-spacing:-.04em}
.game-heading p{margin:0;font-size:clamp(16px,2vw,21px);opacity:.8}
.game-kicker{font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#e78b00}
.game-back{flex:0 0 auto;border:1px solid rgba(46,107,166,.25);border-radius:999px;padding:11px 17px;background:rgba(255,255,255,.72);color:#0b1e57;font:inherit;font-weight:800;cursor:pointer}
 body.night .game-back{background:rgba(10,27,63,.8);color:#fff;border-color:rgba(126,213,255,.35)}
.game-shell{border:1px solid rgba(92,181,255,.28);border-radius:30px;padding:14px;background:linear-gradient(145deg,rgba(15,39,91,.96),rgba(3,12,39,.98));box-shadow:0 28px 70px rgba(0,20,70,.32)}
.game-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:4px 2px 14px;color:white}
.game-hud div{display:flex;align-items:baseline;justify-content:center;gap:9px;padding:8px 14px;border-radius:16px;background:rgba(255,255,255,.07)}
.game-hud span{font-size:13px;text-transform:uppercase;letter-spacing:.12em;opacity:.7}
.game-hud strong{font-size:24px}
.game-hud div:last-child strong{color:#ff6c86;letter-spacing:.12em}
.game-stage{position:relative;overflow:hidden;border-radius:20px;background:#071330;aspect-ratio:16/9;min-height:280px}#rocket-game{display:block;width:100%;height:100%;touch-action:none}
.game-start{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#fff;background:radial-gradient(circle at 50% 40%,rgba(17,61,127,.7),rgba(2,8,28,.88));backdrop-filter:blur(3px)}.game-start.hidden{display:none}.game-start-icon{font-size:62px;filter:drop-shadow(0 0 24px #3ebcff)}.game-start h2{font-size:clamp(27px,4vw,46px);margin:8px 0}.game-start p{max-width:550px;margin:0 0 22px;line-height:1.5;color:#cfddff}#game-start-btn{border:0;border-radius:999px;padding:15px 28px;background:linear-gradient(135deg,#ffd94a,#f39a00);color:#382000;font:inherit;font-size:18px;font-weight:900;cursor:pointer;box-shadow:0 9px 28px rgba(255,176,0,.4)}
.game-rank-transition{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;text-align:center;color:#fff;background:radial-gradient(circle at center,rgba(27,91,171,.82),rgba(2,7,28,.97));backdrop-filter:blur(7px)}.game-rank-transition.promotion{background:radial-gradient(circle at center,rgba(20,91,170,.45),rgba(2,7,28,.28));backdrop-filter:blur(1.5px)}.game-rank-transition.hidden{display:none}.game-rank-glow{position:absolute;width:min(62vw,520px);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 0deg,transparent,#49cfff,transparent,#ffd84d,transparent);filter:blur(28px);opacity:.36;animation:rank-orbit 2.2s linear infinite}.game-rank-caption,.game-rank-title,.game-launch-count{position:relative;z-index:1}.game-rank-caption{font-size:clamp(14px,2vw,19px);font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#9edfff}.game-rank-title{max-width:90%;margin-top:10px;font-size:clamp(30px,6vw,68px);font-weight:950;line-height:1.05;text-shadow:0 0 24px rgba(79,199,255,.7);animation:rank-reveal .72s cubic-bezier(.2,1.45,.45,1) both}.game-launch-count{display:none;font-size:clamp(76px,15vw,160px);font-weight:950;line-height:1;text-shadow:0 0 18px #55ceff,0 0 54px rgba(64,170,255,.85)}.game-rank-transition.counting .game-rank-caption,.game-rank-transition.counting .game-rank-title{display:none}.game-rank-transition.counting .game-launch-count{display:block;animation:count-burst .82s cubic-bezier(.17,.84,.3,1) both}.game-rank-transition.go .game-launch-count{font-size:clamp(52px,11vw,118px);color:#ffe365;text-shadow:0 0 18px #ff9d20,0 0 60px rgba(255,157,32,.9)}@keyframes rank-orbit{to{transform:rotate(360deg)}}@keyframes rank-reveal{from{opacity:0;transform:scale(.35) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes count-burst{0%{opacity:0;transform:scale(.25) rotate(-8deg)}35%{opacity:1;transform:scale(1.18) rotate(2deg)}100%{opacity:.15;transform:scale(.72) rotate(0)}}
.game-stage .game-hud .game-rank-hud{position:absolute;top:52px;left:0;max-width:55%;border-color:rgba(91,205,255,.3);background:rgba(3,13,43,.68)}.game-stage .game-hud .game-rank-hud strong{overflow:hidden;text-overflow:ellipsis;font-size:14px}
.game-stage .game-hud .game-effects-hud{position:absolute;top:52px;right:0;min-height:34px;padding:5px 10px;border-color:rgba(255,216,77,.35);background:rgba(3,13,43,.74);font-size:14px;font-weight:850}.game-stage .game-hud .game-effects-hud.hidden{display:none}
.game-question-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:72px 18px 20px;background:rgba(2,8,28,.76);backdrop-filter:blur(6px)}.game-question-overlay.hidden{display:none}.game-question-card{width:min(720px,94%);max-height:100%;overflow:auto;padding:clamp(18px,3vw,32px);border:1px solid rgba(111,211,255,.48);border-radius:26px;color:#fff;background:linear-gradient(145deg,rgba(12,42,94,.98),rgba(5,18,54,.98));box-shadow:0 22px 70px rgba(0,0,0,.48),0 0 35px rgba(50,178,255,.18)}.game-question-badge{font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ffd84d}.game-question-card h2{margin:10px 0 20px;font-size:clamp(21px,3.2vw,34px);line-height:1.2}.game-question-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.game-question-options button{min-height:52px;padding:11px 14px;border:1px solid rgba(137,207,255,.32);border-radius:15px;color:#fff;background:rgba(255,255,255,.08);font:inherit;font-size:clamp(14px,2vw,18px);font-weight:750;cursor:pointer;transition:.2s transform,.2s background}.game-question-options button:hover{transform:translateY(-2px);background:rgba(74,184,255,.2)}.game-question-options button:disabled{cursor:default}.game-question-options button.correct{border-color:#55e69a;background:rgba(29,175,100,.42)}.game-question-options button.wrong{border-color:#ff7187;background:rgba(206,53,77,.42)}.game-question-result{min-height:25px;margin-top:14px;text-align:center;font-size:18px;font-weight:900;color:#ffd84d}
.game-controls{display:none;justify-content:center;align-items:center;gap:8px;padding-top:14px}
.game-joystick{position:relative;width:132px;height:132px;flex:none;border:2px solid rgba(160,220,255,.55);border-radius:50%;background:radial-gradient(circle,rgba(72,158,225,.18),rgba(4,19,52,.62));box-shadow:inset 0 0 25px rgba(90,190,255,.2),0 8px 24px rgba(0,0,0,.28);touch-action:none;user-select:none}
.game-joystick-knob{position:absolute;left:50%;top:50%;width:58px;height:58px;border:2px solid rgba(255,255,255,.72);border-radius:50%;background:radial-gradient(circle at 35% 30%,#8de0ff,#2479bd);box-shadow:0 6px 18px rgba(0,0,0,.4),0 0 16px rgba(76,190,255,.42);transform:translate(-50%,-50%);pointer-events:none;will-change:transform}
.game-tip{text-align:center;color:#b9c8ed;margin:12px 0 3px;font-size:14px}@media (max-width:800px),(pointer:coarse){.game-controls{display:flex}}
@media (max-width:800px),(pointer:coarse){
  .game-stage .game-controls{position:absolute;z-index:7;right:12px;bottom:12px;padding:0}
}
@media (max-width:600px){

.game-page{
    padding-left:10px!important;
    padding-right:10px!important;
}

.game-heading{
    display:block;
}

.game-shell{
    padding:9px;
    border-radius:22px;
}

.game-stage{
    width:100%;
    height:auto;
    aspect-ratio:1.65 / 1;
    min-height:420px;
    overflow:hidden;
}

#rocket-game{
    width:1100px;
    height:620px;

    transform:scale(0.75);
    transform-origin:center center;
}

.game-tip{
    font-size:12px;
}

}
.game-pause-btn{display:block;margin:0 2px 10px auto;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:9px 18px;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-weight:800;cursor:pointer}.game-pause-btn:disabled{opacity:.35;cursor:not-allowed}.game-pause-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#fff;background:rgba(3,10,32,.82);backdrop-filter:blur(5px)}.game-pause-overlay.hidden{display:none}.game-pause-icon{font-size:44px;color:#ffd84d}.game-pause-overlay h2{font-size:clamp(28px,4vw,46px);margin:10px 0}.game-pause-overlay p{margin:0 0 20px;color:#cfddff}.game-pause-overlay button{border:0;border-radius:999px;padding:14px 27px;background:linear-gradient(135deg,#ffd94a,#f39a00);color:#382000;font:inherit;font-size:18px;font-weight:900;cursor:pointer}
.game-fullscreen-btn{pointer-events:auto;width:42px;height:42px;margin-left:auto;border:1px solid rgba(255,255,255,.22);border-radius:50%;padding:0;background:rgba(3,13,43,.72);color:#fff;font:inherit;font-size:21px;font-weight:800;cursor:pointer;white-space:nowrap}
.game-stage .game-hud .game-pause-btn{flex:none;width:42px;height:42px;min-height:42px;margin:0;padding:0;border-radius:50%;font-size:17px}
.game-stage .game-hud{position:absolute;z-index:4;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:8px;padding:0;color:#fff;pointer-events:none}.game-stage .game-hud div{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:7px 12px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(3,13,43,.62);box-shadow:0 5px 18px rgba(0,0,0,.18);backdrop-filter:blur(8px)}.game-stage .game-hud span{font-size:20px;line-height:1;opacity:1;letter-spacing:0} body.night .game-stage .game-hud span{
    color:#eaf4ff;
} 
.game-stage .game-hud strong{font-size:20px;white-space:nowrap}.game-stage .game-hud .game-pause-btn{pointer-events:auto;margin:0 0 0 auto;min-height:42px;background:rgba(3,13,43,.72)}.game-stage .game-hud div:nth-child(4) strong{color:#ff6c86;letter-spacing:.12em}

@media(max-width:700px){
.game-stage .game-hud .game-rank-hud{top:34px;left:0;max-width:62%;min-height:24px;padding:2px 7px}.game-stage .game-hud .game-rank-hud strong{font-size:11px}
.game-stage .game-hud .game-effects-hud{top:62px;right:auto;left:0;min-height:22px;padding:2px 6px;font-size:10px}.game-question-overlay{padding:58px 10px 10px}.game-question-options{grid-template-columns:1fr}.game-question-card{border-radius:18px}.game-question-card h2{margin-bottom:12px}.game-question-options button{min-height:40px;padding:8px 10px}
/* верхняя панель игры в одну строку */
.game-stage .game-hud{
    top:6px;
    left:6px;
    right:6px;

    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
    align-items:center;

    gap:0;
}


/* маленькие показатели */
.game-stage .game-hud div{
    min-height:28px;
    padding:3px 5px;

    border-radius:8px;

    flex:1;
}


/* сами значки и текст */
.game-stage .game-hud span{
    font-size:13px;
}

.game-stage .game-hud strong{
    font-size:14px;
}


/* сердечки */
.game-stage .game-hud div:nth-child(4){
    position:static;
    transform:none;
}


.game-stage .game-hud div:nth-child(4) strong{
    font-size:18px;
}


/* кнопка паузы */
.game-stage .game-hud .game-pause-btn{

    min-height:28px;

    padding:3px 7px;

    font-size:12px;

    white-space:nowrap;
}


/* увеличиваем само игровое поле */
.game-stage{
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden;
}

#rocket-game{
    width:1100px;
    height:620px;
    max-width:none;
    display:block;

    transform:scale(0.75);
    transform-origin:center center;
}

}
.game-stage .game-hud div:nth-child(-n+3){
border-color:transparent;
background:transparent;
box-shadow:none;
backdrop-filter:none;
}


/* Сердечки — общий стиль */
.game-stage .game-hud div:nth-child(4){
  position:static;
  transform:none;
  min-height:42px;
  padding:4px 8px;
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}

.game-stage .game-hud div:nth-child(4) strong{
  font-size:29px;
  line-height:1;
  text-shadow:0 3px 12px rgba(255,64,102,.48);
}


/* Телефон — все показатели в одну линию */
@media(max-width:700px){

  .game-stage .game-hud{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:space-between;
    gap:0;
  }

  .game-stage .game-hud div{
    flex:0 0 auto;
    min-height:28px;
    padding:3px 5px;
}

  .game-stage .game-hud div:nth-child(4){
    position:static;
    transform:none;
  }

  .game-stage .game-hud div:nth-child(4) strong{
    font-size:18px;
  }

  .game-stage .game-hud span{
    font-size:13px;
  }

  .game-stage .game-hud strong{
    font-size:14px;
  }

  .game-stage .game-hud .game-pause-btn{
    flex:none;
    min-height:28px;
    padding:3px 7px;
  }

  .game-stage .game-hud .game-fullscreen-btn{
    flex:none;
    width:30px;
    height:30px;
    min-height:30px;
    margin-left:auto;
    padding:0;
    font-size:18px;
  }

  .game-stage .game-hud .game-pause-btn{width:30px;height:30px;min-height:30px;margin:0;padding:0;font-size:14px}
}
.game-page > .back-bottom{margin-top:24px}

/* Телефон: приближаем игру без растягивания изображения.
   Canvas сохраняет исходные пропорции 1100 x 620 и заполняет синюю подложку
   с аккуратной обрезкой лишнего по краям. */
@media (max-width:700px){
  .game-stage{
    position:relative;
  }

  #rocket-game{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    transform:none;
    object-fit:cover;
    object-position:center;
  }
}

/* Полноэкранный горизонтальный режим: игровое поле и управление разделены. */
.game-shell:fullscreen,
.game-shell.game-is-fullscreen{
  position:relative;
  width:100vw;
  height:100vh;
  padding:0;
  border:0;
  border-radius:0;
  display:block;
  overflow:hidden;
  background:#071330;
}

.game-shell.game-is-fullscreen{
  position:fixed;
  inset:0;
  z-index:9999;
}

.game-shell:fullscreen .game-stage,
.game-shell.game-is-fullscreen .game-stage{
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
  border-radius:0;
}

.game-shell:fullscreen #rocket-game,
.game-shell.game-is-fullscreen #rocket-game{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  transform:none;
  object-fit:cover;
  object-position:center;
}

.game-shell:fullscreen .game-controls,
.game-shell.game-is-fullscreen .game-controls{
  position:absolute;
  z-index:7;
  right:max(18px,env(safe-area-inset-right));
  bottom:max(18px,env(safe-area-inset-bottom));
  display:flex;
  padding:0;
  background:transparent;
}

.game-shell:fullscreen .game-tip,
.game-shell.game-is-fullscreen .game-tip{display:none}

@media (max-height:430px){
  .game-shell:fullscreen .game-joystick,
  .game-shell.game-is-fullscreen .game-joystick{width:112px;height:112px}
  .game-shell:fullscreen .game-joystick-knob,
  .game-shell.game-is-fullscreen .game-joystick-knob{width:50px;height:50px}
}

.box{
  margin-top:24px;
}

.partners{
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 20px;
  margin-bottom: 48px; 
}

.partner{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  background:rgba(255,255,255,.75);
  border-radius:18px;
}

body.night .partner{
  background:rgba(8,18,48,.82);
  box-shadow:
    0 0 10px rgba(110,190,255,.55),
    0 0 24px rgba(110,190,255,.40),
    0 0 44px rgba(110,190,255,.25);
}

.partner img{
  width:88px;
  height:auto;
  flex-shrink:0;
}

.partner span{
  font-size:25px;
  line-height:1.35;
}

.back-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;

  margin-bottom: 20px;
  padding:10px 16px;

  border-radius:14px;
  border:1px solid rgba(0,0,0,.2);
  background:#ffffff;

  font-size:15px;
  cursor:pointer;
}

body.night .back-btn{
  background:rgba(8,18,48,.85);
  color:#eaf4ff;
  border:1px solid rgba(255,255,255,.25);
  box-shadow:
    0 0 10px var(--neon-blue),
    var(--neon-blue);
}

.back-btn:hover{
  transform:translateY(-1px);
}
.contacts{
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 20px;
  margin-bottom: 32px;
}

.contact-item{
  display: flex;
  flex-direction: column;
  gap: 6px;

  padding: 18px 22px;
  background: rgba(255,255,255,.85);
  border-radius: 22px;
}

body.night .contact-item{
  background: rgba(8,18,48,.82);
  box-shadow:
    0 0 10px rgba(110,190,255,.55),
    0 0 24px rgba(110,190,255,.40),
    0 0 44px rgba(110,190,255,.25);
}

.contact-label{
  font-size: 20px;
  opacity: .7;
}

.contact-value{
  font-size: 25px;
  line-height: 1.4;
}

.contact-value a{
  color: inherit;
  text-decoration: underline;
}
body{
  min-height: 100vh;
}
button{
  font-family: inherit;
}
body.night .lead h1{
  text-shadow:
    0 0 12px rgba(110,190,255,.45),
    0 0 28px rgba(110,190,255,.25);
}
.meta-chip{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0px;
  line-height:1.15;
}
.meta-chip:nth-last-child(-n+3){
  padding-top:12px;
  padding-bottom:12px;
}


/* иконки */
.meta-chip i{
  width:28px;
  height:28px;
  stroke-width:1.8;
  color:#0b1e57; /* дневной режим */
}
body.night .meta-chip i{
  color: rgba(110,190,255,.9);
  filter: drop-shadow(0 0 6px rgba(110,190,255,.6))
          drop-shadow(0 0 14px rgba(110,190,255,.4));
}
.meta-value{
  margin-top:0;      /* на всякий случай */
  line-height:1.15;  /* компактнее */
}
.meta-head strong{
  margin:0;
  line-height:1.2;
}
.section-divider{
  height:1px;
  width:100%;
  max-width:1100px;
  margin:48px auto 40px; /* ⬅️ отступы до и после */
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.35),
    transparent
  );
}
body.night .section-divider{
  background: linear-gradient(
    90deg,
    transparent,
    rgba(110,190,255,.6),
    transparent
  );
  box-shadow: 0 0 12px rgba(110,190,255,.45);
}
/* разделитель в карточках */
.meta-chip strong::after{
  content:"";
  display:block;
  width:32px;              /* длина линии */
  height:2px;              /* толщина */
  margin:4px auto 4px;     /* отступы сверху и снизу */
  border-radius:2px;
  background:rgba(11,30,87,.35); /* дневной режим */
}
body.night .meta-chip strong::after{
  background:rgba(110,190,255,.65);
  box-shadow:0 0 6px rgba(110,190,255,.6);
}
.meta-chip .date-main,
.meta-chip .date-year{
  line-height:1.15;
}
.awards-board{
  display:flex;
  flex-direction:column;
  gap:28px;
  margin-top:20px;
  margin-bottom:32px;
}

.award-class{
  background:rgba(255,255,255,.78);
  border-radius:24px;
  padding:22px;
}

body.night .award-class{
  background:rgba(8,18,48,.82);
  box-shadow:
    0 0 10px rgba(110,190,255,.55),
    0 0 24px rgba(110,190,255,.40),
    0 0 44px rgba(110,190,255,.25);
}

.award-class-title{
  font-size:34px;
  font-weight:700;
  margin-bottom:18px;
}

.award-degree{
  margin-top:18px;
}

.award-degree-title{
  font-size:26px;
  font-weight:700;
  margin-bottom:14px;
  color:#0b1e57;
}

body.night .award-degree-title{
  color:#eaf4ff;
}

.students-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.student-card{
  display:flex;
  align-items:center;
  gap:18px;
  padding:16px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.92);
}

body.night .student-card{
  background:rgba(255,255,255,.08);
}

.student-photo{
  width:200px;
  height:200px;
  border-radius:18px;
  object-fit:cover;
  flex-shrink:0;
  background:#dbeafe;
}

.student-info{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.student-name{
  font-size:32px;
  font-weight:700;
  line-height:1.1;
}

.student-school{
  font-size:22px;
  line-height:1.25;
  opacity:.78;
}

@media (max-width:700px){
  .award-class-title{
    font-size:28px;
  }

  .award-degree-title{
    font-size:22px;
  }

  .student-card{
    align-items:flex-start;
  }

  .student-photo{
    width:120px;
    height:120px;
    border-radius:16px;
  }

  .student-name{
    font-size:24px;
  }

  .student-school{
    font-size:18px;
  }
}
/* ===== ТЕЛЕФОН: HUD В ОДНУ ЛИНИЮ ===== */
@media(max-width:700px){

  .game-stage .game-hud{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:space-between;
    gap:0;
  }


  /* сердечки возвращаем в ряд */
  .game-stage .game-hud div:nth-child(4){
    position:static;
    left:auto;
    top:auto;
    transform:none;

    min-height:28px;
    padding:3px 5px;

    flex:1;
  }


  .game-stage .game-hud div:nth-child(4) strong{
    font-size:18px;
  }


  /* остальные показатели */
  .game-stage .game-hud div{
    flex:1;
    min-height:28px;
    padding:3px 5px;
  }


  .game-stage .game-hud span{
    font-size:13px;
  }


  .game-stage .game-hud strong{
    font-size:14px;
  }


  /* пауза не растягивается */
  .game-stage .game-hud .game-pause-btn{
    flex:none;
    min-height:28px;
    padding:3px 7px;
  }

}

/* Компактные кнопки управления игрой: только иконки, рядом друг с другом. */
.game-stage .game-hud .game-fullscreen-btn{
  flex:none;
  width:42px;
  height:42px;
  min-height:42px;
  margin-left:auto;
  padding:0;
  border-radius:50%;
}

.game-stage .game-hud .game-pause-btn{
  flex:none;
  width:42px;
  height:42px;
  min-height:42px;
  margin:0;
  padding:0;
  border-radius:50%;
}

@media(max-width:700px){
  .game-stage .game-hud .game-fullscreen-btn,
  .game-stage .game-hud .game-pause-btn{
    width:30px;
    height:30px;
    min-height:30px;
    margin:0;
    padding:0;
  }
  .game-stage .game-hud .game-fullscreen-btn{margin-left:auto}
}

/* На телефоне полноэкранным становится только само игровое поле. */
.game-stage:fullscreen,
.game-stage:-webkit-full-screen,
.game-stage.game-is-fullscreen{
  position:fixed;
  inset:0;
  z-index:9999;
  width:100vw;
  height:100vh;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  aspect-ratio:auto;
  overflow:hidden;
  background:#071330;
}

.game-stage:fullscreen #rocket-game,
.game-stage:-webkit-full-screen #rocket-game,
.game-stage.game-is-fullscreen #rocket-game{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  transform:none;
  object-fit:cover;
  object-position:center;
}

.game-stage:fullscreen .game-controls,
.game-stage:-webkit-full-screen .game-controls,
.game-stage.game-is-fullscreen .game-controls{
  position:absolute;
  z-index:7;
  right:max(18px,env(safe-area-inset-right));
  bottom:max(18px,env(safe-area-inset-bottom));
  display:flex;
  padding:0;
}

body.game-fullscreen-active{overflow:hidden}
