/* === ROSTOV LOGO FONT === */
@font-face{
  font-family: 'Rostov';
  src:
    url('/static/fonts/rostov.woff2') format('woff2'),
    url('/static/fonts/rostov.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}


:root{
  --bg-main:#121212;      /* единый фон страницы */
  --bg-card:rgba(18,18,22,0.32);
  --bg-card-soft:rgba(18,18,22,0.26);
  --bg-elevated:rgba(22,22,28,0.34);
  --bg-chip:#2f2f2f;
  --bg-input:#2f2f2f;
  --bg-badge:#2f2f2f;

  --glass-border:rgba(255,255,255,0.09);
  --border-soft:transparent;
  --border-strong:transparent;

  /* красно-оранжевый акцент */
  --accent:#FF4E2A;
  --accent-soft:rgba(255,78,42,.18);
  --accent-on:#1c1b20;

  --text-primary:#ffffff;
  --text-secondary:#a5a5aa;
  --text-muted:#3d3d3d;
  --text-contrast:#1c1b20;

  --ok:#12B886;
  --warn:#FFA94D;
  --danger:#FF4D4F;

  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;
  --radius-xs:10px;
  --round-full:999px;

  /* убираем тени глобально */
  --shadow-soft:none;

  --font-main:system-ui,-apple-system,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --fs-h1:26px;
  --fs-h2:22px;
  --fs-h3:18px;
  --fs-body:15px;
  --fs-small:13px;
  --fs-overline:11px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

body.theme-dark{
  margin:0;
  font-family:var(--font-main);
  background:var(--bg-main); /* единый фон */
  color:var(--text-primary);
}

a{
  color:inherit;
}

/* ================== TOPBAR ================== */

.topbar{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 16px;
  background:rgba(20,20,20,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.topbar-left{
  display:flex;
  align-items:center;
  gap:20px;
}

.logo{
  font-family: 'Rostov', system-ui, -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  font-size: 24px;
  font-weight: 700;          /* вот тут делаем жирным */
  letter-spacing: .28em;     /* можно чуть поджать/расширить по вкусу */
  text-transform: uppercase;
}



.nav-main{
  display:flex;
  gap:12px;
  font-size:13px;
}

.nav-main a{
  padding:6px 10px;
  border-radius:999px;
  text-decoration:none;
  color:var(--text-secondary);
}

.nav-main a.active{
  background:var(--accent-soft);
  color:var(--accent);
}

.topbar-right{
  display:flex;
  align-items:center;
  gap:12px;
}

.topbar-user{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  font-size:11px;
  background:rgba(255,255,255,.03);
  padding:6px 10px;
  border-radius:999px;
}

.topbar-user-name{
  font-size:12px;
}

.topbar-user-id{
  color:var(--text-secondary);
}

.topbar-logout{
  font-size:12px;
  text-decoration:none;
  color:var(--text-secondary);
}

/* ================== LAYOUT ================== */

.page{
  padding:16px;
}

.page-inner{
  max-width:1100px;
  margin:0 auto;
}

.page-title{
  font-size:var(--fs-h1);
  margin:8px 0 16px;
}

.grid{
  display:grid;
  gap:16px;
}

.stats-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}

/* ================== CARDS ================== */

/* ===== ШЕЙПЫ ДО ВКЛЮЧЕНИЯ СВЕТА — ТЁМНОЕ СТЕКЛО ===== */

.card,
.auth-card,
.table{
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);

  /* стекло, но реально ПРОСМАТРИВАЕТСЯ фон */
  border: 1px solid rgba(255,255,255,0.06);
  background:
    radial-gradient(circle at 0% 0%,   rgba(255,255,255,0.08), transparent 55%),
    radial-gradient(circle at 100% 100%,rgba(255,255,255,0.03), transparent 60%),
    rgba(6,6,10,0.25);  /* было 0.96 — стало 0.55 */

  box-shadow:
    inset 1px 1px 4px rgba(255,255,255,0.03),
    0 12px 28px rgba(0,0,0,0.75);

  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(14px) saturate(180%);
}

/* свои размеры для каждого типа остаются */

.card{
  padding: 16px 18px;
}

.hint-card{
  margin-top: 20px;
}

.auth-card{
  width: 100%;
  max-width: 380px;
  padding: 24px 22px;
}

.table{
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-small);
  margin-top: 10px;
}

/* градиентный хайлайт по краю стекла (как у примера) */

.card::before,
.auth-card::before,
.table::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;

  background: linear-gradient(
    145deg,
    rgba(255,255,255,0.22),
    rgba(255,255,255,0.04),
    rgba(0,0,0,0.75)
  );
  opacity: 0.3;
  mix-blend-mode: screen;
}

/* “shine” сверху вниз, но на тёмном фоне */

.card::after,
.auth-card::after,
.table::after{
  content: "";
  position: absolute;
  width: 160%;
  height: 16px;
  top: 110%;
  left: -40%;
  background: #ffffff;
  opacity: 0;              /* было 0.18 — делаем 0, чтобы не светилось */
  filter: blur(28px);
  transform: rotateZ(48deg);
  pointer-events: none;
  z-index: 0;
  animation: none;         /* ВАЖНО: анимации нет в базовом состоянии */
}


/* контент всегда поверх стекла и бликов */

.card > *,
.auth-card > *,
.table > *{
  position: relative;
  z-index: 1;
}

@keyframes corusant-shape-shine{
  0%{
    top: 110%;
    left: -40%;
  }
  50%{
    top: -20%;
    left: 70%;
  }
  100%{
    top: -20%;
    left: 70%;
  }
}


.stat-card{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.stat-label{
  font-size:var(--fs-small);
  color:var(--text-secondary);
}

.stat-value{
  font-size:22px;
  font-weight:600;
}

.stat-value.positive{
  color:var(--ok);
}

.stat-sub{
  font-size:11px;
  color:var(--text-secondary);
}

.hint-card{
  margin-top:20px;
}

.hint-title{
  font-size:var(--fs-h3);
  margin-bottom:8px;
}

.hint-list{
  margin:0;
  padding-left:18px;
  font-size:var(--fs-small);
  color:var(--text-secondary);
}

/* ================== AUTH ================== */

.auth-wrapper{
  min-height:70vh;
  display:flex;
  justify-content:center;
  align-items:center;
}



.auth-card h1{
  margin-top:0;
  margin-bottom:16px;
  font-size:var(--fs-h2);
}

.auth-meta{
  margin-top:12px;
  font-size:var(--fs-small);
  color:var(--text-secondary);
}

/* ================== FORM ================== */

.form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.form-inline{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-end;
}

.form-inline.small select,
.form-inline.small input{
  font-size:11px;
}

.form-inline.small .btn{
  padding:4px 8px;
  font-size:11px;
}

.field{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:var(--fs-small);
}

.field.inline{
  flex:1 1 140px;
}

.field span{
  color:var(--text-secondary);
}

.field input,
.field select,
.field textarea{
  padding:8px 10px;
  border-radius:var(--radius-sm);
  border:none;
  background:var(--bg-input);
  color:var(--text-primary);
  font-family:inherit;
  font-size:var(--fs-body);
}

.field textarea{
  resize:vertical;
}

.field-hint{
  font-size:11px;
  color:var(--text-secondary);
}

/* ================== BUTTONS ================== */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:var(--round-full);
  border:none;
  cursor:pointer;
  font-size:var(--fs-small);
  font-weight:500;
  text-decoration:none;
  background:rgba(255,255,255,.06);
  color:var(--text-primary);
  transition:transform .08s ease, filter .08s ease, background .12s ease;
}

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

.btn.secondary{
  background:var(--bg-chip);
}

.btn.ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,.14);
}

.btn.small{
  padding:5px 10px;
  font-size:11px;
}

.btn.full{
  width:100%;
}

.btn:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
}

/* ================== ALERTS ================== */

.alert{
  padding:8px 10px;
  border-radius:var(--radius-sm);
  font-size:var(--fs-small);
  margin-bottom:8px;
}

.alert-error{
  background:rgba(255,77,79,.12);
  color:#ffb3b5;
}

.alert-success{
  background:rgba(18,184,134,.12);
  color:#7fe3c1;
}

.muted{
  color:var(--text-secondary);
  font-size:var(--fs-small);
}

/* ================== TABLE ================== */



.table th,
.table td{
  padding:8px 10px;
  border-bottom:1px solid rgba(255,255,255,.04);
}

.table th{
  text-align:left;
  color:var(--text-secondary);
  font-weight:500;
  background:rgba(255,255,255,.02);
}

.table tr:last-child td{
  border-bottom:none;
}

/* ================== FILTERS ================== */

.filters{
  margin-bottom:12px;
}

.filters-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

/* ================== OFFER CARDS ================== */

.offers-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
}

.offer-card{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* картинка оффера */
.offer-thumb{
  width:100%;
  border-radius:var(--radius-md);
  overflow:hidden;
  background:#2b2b2b;
  aspect-ratio:16/9;
}

.offer-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.offer-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
}

.offer-title{
  font-size:var(--fs-h3);
}

.offer-body{
  font-size:var(--fs-small);
  color:var(--text-secondary);
}

.offer-line{
  display:flex;
  justify-content:space-between;
  margin-top:4px;
}

.offer-label{
  color:var(--text-secondary);
}

.offer-value{
  color:var(--text-primary);
}

.offer-value.big{
  font-size:var(--fs-h2);
  font-weight:600;
}

.offer-actions{
  margin-top:10px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

/* ================== CHECKBOX (CORUSANT) ================== */

.checkbox-field {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: var(--fs-small);
  color: var(--text-secondary);
  cursor: pointer;
  line-height: 1.35;
}

.checkbox-field input {
  appearance: none;
  width: 70px;
  height: 70px;
  border-radius: var(--radius-xs);
  background: var(--bg-input);
  border: 1px solid rgba(255,255,255,.15);
  cursor: pointer;
  position: relative;
  transition: all .15s ease;
}

.checkbox-field input:hover {
  border-color: var(--accent);
}

.checkbox-field input:checked {
  background: var(--accent);
  border-color: var(--accent);
}

.checkbox-field input:checked::after {
  content: "✓";
  position: absolute;
  color: var(--accent-on);
  font-size: 18px;
  font-weight: 700;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -54%);
}

.checkbox-text a {
  color: var(--accent);
  text-decoration: none;
}

.checkbox-text a:hover {
  text-decoration: underline;
}

/* ================== CHIPS / BADGES ================== */

.chip{
  padding:3px 8px;
  border-radius:var(--round-full);
  background:var(--bg-chip);
  font-size:11px;
  color:var(--text-secondary);
}

.badge{
  padding:2px 8px;
  border-radius:var(--round-full);
  background:var(--bg-badge);
  font-size:11px;
}

.badge.ok{
  background:rgba(18,184,134,.18);
  color:#9bf6d3;
}

.badge.warn{
  background:rgba(255,169,77,.18);
  color:#ffd9a1;
}

.badge.danger{
  background:rgba(255,77,79,.18);
  color:#ffb3b5;
}

/* ================== MISC ================== */

.section-title{
  margin-top:12px;
  margin-bottom:8px;
  font-size:var(--fs-h3);
}

.link-box{
  padding:10px;
  background:var(--bg-input);
  border-radius:var(--radius-sm);
  font-family:monospace;
  font-size:12px;
  word-break:break-all;
}

.tabs{
  display:flex;
  gap:8px;
  margin:14px 0 8px;
}

.tab{
  padding:6px 12px;
  border-radius:var(--round-full);
  border:none;
  cursor:pointer;
  font-size:var(--fs-small);
  background:var(--bg-chip);
  color:var(--text-secondary);
}

.tab.active{
  background:var(--accent-soft);
  color:var(--accent);
}

.tab-content{
  display:none;
}

.tab-content.active{
  display:block;
}

.toolbar{
  display:flex;
  justify-content:flex-end;
  margin-bottom:12px;
}

/* ================== RESPONSIVE ================== */

@media (max-width:768px){
  .topbar{
    flex-wrap:wrap;
    gap:8px;
  }
  .nav-main{
    flex-wrap:wrap;
  }
  .page-inner{
    padding-bottom:32px;
  }
  .offers-grid{
    grid-template-columns:1fr;
  }
  .stats-grid{
    grid-template-columns:1fr 1fr;
  }
  .auth-card{
    margin:16px;
  }
}

@media (max-width:480px){
  .stats-grid{
    grid-template-columns:1fr;
  }
  .filters-row{
    flex-direction:column;
  }
  .topbar-left{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ---------- Фоновые размытые градиентные пятна ---------- */

body {
  /* Темный фон страницы, чтобы теплые цвета "светились" ярче */
  background: #0b0b0c;  /* почти чёрный фоновый цвет */
  margin: 0;
  min-height: 100vh;
  overflow: hidden;
}



/* ==== СВЕТОВОЙ РЕЖИМ ДЛЯ КАРТОЧЕК ДАШБОРДА ==== */
/* работаем только с .card, .hint-card, .table */

.card,
.hint-card,
.table{
  transition:box-shadow 0.4s ease-in-out, transform 0.4s ease-out;
}

/* слой света поверх содержимого */
.card .light-layer,
.hint-card .light-layer,
.table .light-layer{
  position:absolute;
  inset:0;
  z-index:2;                /* выше контента (у тебя z:1 на card > *) */
  pointer-events:none;
  transform-style:preserve-3d;
  perspective:400px;
}

/* щель сверху */
.card .light-layer .slit,
.hint-card .light-layer .slit,
.table .light-layer .slit{
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:0;
  margin:auto;
  width:64%;
  height:1.2rem;
  transform:rotateX(-76deg);
  background:#121212;
  box-shadow:0 0 4px 0 #ffffff00;
  transition:all 0.4s ease-in-out;
}

/* луч света сверху вниз */
.card .light-layer .lumen,
.hint-card .light-layer .lumen,
.table .light-layer .lumen{
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:0;
  margin:auto;
  width:100%;
  height:100%;
  pointer-events:none;
  perspective:400px;
  opacity:0; /* по умолчанию света нет */
  transition:opacity 0.4s ease-in-out;
}

/* три «слоя» луча */
.card .light-layer .lumen .min,
.hint-card .light-layer .lumen .min,
.table .light-layer .lumen .min{
  width:70%;
  height:3rem;
  background:linear-gradient(#ffffff00, #ffffffaa);
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:2.5rem;
  margin:auto;
  transform:rotateX(-42deg);
  opacity:0.4;
}

.card .light-layer .lumen .mid,
.hint-card .light-layer .lumen .mid,
.table .light-layer .lumen .mid{
  width:74%;
  height:13rem;
  background:linear-gradient(#ffffff00, #ffffffaa);
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:10em;
  margin:auto;
  transform:rotateX(-42deg);
  filter:blur(1rem);
  opacity:0.8;
  border-radius:100% 100% 0 0;
}

.card .light-layer .lumen .hi,
.hint-card .light-layer .lumen .hi,
.table .light-layer .lumen .hi{
  width:50%;
  height:13rem;
  background:linear-gradient(#ffffff00, #ffffffaa);
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:12em;
  margin:auto;
  transform:rotateX(22deg);
  filter:blur(1rem);
  opacity:0.6;
  border-radius:100% 100% 0 0;
}

/* затемнение низа для объёма */
.card .light-layer .darken,
.hint-card .light-layer .darken,
.table .light-layer .darken{
  position:absolute;
  inset:0;
  margin:auto;
  width:100%;
  height:100%;
  pointer-events:none;
  perspective:400px;
  opacity:0; /* по умолчанию не мешает */
  transition:opacity 0.4s ease-in-out;
}

.card .light-layer .darken > *,
.hint-card .light-layer .darken > *,
.table .light-layer .darken > *{
  transition:opacity 0.4s ease-in-out;
}

.card .light-layer .darken .sl,
.hint-card .light-layer .darken .sl,
.table .light-layer .darken .sl{
  width:64%;
  height:10rem;
  background:linear-gradient(#000, #0000);
  position:absolute;
  left:0;
  right:0;
  top:9.6em;
  bottom:0;
  margin:auto;
  filter:blur(0.2rem);
  opacity:0.1;
  border-radius:0 0 100% 100%;
  transform:rotateX(-22deg);
}

.card .light-layer .darken .ll,
.hint-card .light-layer .darken .ll,
.table .light-layer .darken .ll{
  width:62%;
  height:10rem;
  background:linear-gradient(#000a, #0000);
  position:absolute;
  left:0;
  right:0;
  top:11em;
  bottom:0;
  margin:auto;
  filter:blur(0.8rem);
  opacity:0.4;
  border-radius:0 0 100% 100%;
  transform:rotateX(22deg);
}

.card .light-layer .darken .slt,
.hint-card .light-layer .darken .slt,
.table .light-layer .darken .slt,
.card .light-layer .darken .srt,
.hint-card .light-layer .darken .srt,
.table .light-layer .darken .srt{
  width:0.5rem;
  height:4rem;
  background:linear-gradient(#0005, #0000);
  position:absolute;
  top:3.9em;
  bottom:0;
  margin:auto;
  opacity:0.6;
  border-radius:0 0 100% 100%;
}

.card .light-layer .darken .slt,
.hint-card .light-layer .darken .slt,
.table .light-layer .darken .slt{
  left:0;
  right:11.5rem;
  transform:skewY(42deg);
}

.card .light-layer .darken .srt,
.hint-card .light-layer .darken .srt,
.table .light-layer .darken .srt{
  right:0;
  left:11.5rem;
  transform:skewY(-42deg);
}

/* ==== РЕЖИМ «СВЕТ ВКЛЮЧЕН» ЧЕРЕЗ body.lights-on ==== */

body.lights-on .card,
body.lights-on .hint-card,
body.lights-on .table{
  box-shadow:
    inset 0 1.01rem 0.1rem -1rem #fffa,
    inset 0 -4rem 3rem -3rem #000a,
    0 -1.02rem 0.2rem -1rem #fffa,
    0 1rem 0.2rem -1rem #000,
    0 0 0 1px #ffffff22,
    0 4px 4px 0 #0004,
    0 0 0 1px #333;
}

body.lights-on .card .light-layer .slit,
body.lights-on .hint-card .light-layer .slit,
body.lights-on .table .light-layer .slit{
  background:#fff;
  box-shadow:0 0 4px 0 #fff;
}

body.lights-on .card .light-layer .lumen,
body.lights-on .hint-card .light-layer .lumen,
body.lights-on .table .light-layer .lumen{
  opacity:0.5;
}

body.lights-on .card .light-layer .darken,
body.lights-on .hint-card .light-layer .darken,
body.lights-on .table .light-layer .darken{
  opacity:0.8;
}

body.lights-on .card .light-layer .darken .sl,
body.lights-on .hint-card .light-layer .darken .sl,
body.lights-on .table .light-layer .darken .sl{
  opacity:0.2;
}

body.lights-on .card .light-layer .darken .ll,
body.lights-on .hint-card .light-layer .darken .ll,
body.lights-on .table .light-layer .darken .ll{
  opacity:1;
}

body.lights-on .card .light-layer .darken .slt,
body.lights-on .hint-card .light-layer .darken .slt,
body.lights-on .table .light-layer .darken .slt,
body.lights-on .card .light-layer .darken .srt,
body.lights-on .hint-card .light-layer .darken .srt,
body.lights-on .table .light-layer .darken .srt{
  opacity:1;
}





/* ==== более тёмный общий фон ==== */
/* Гладкий тёмный фон + лёгкий шум, как на рефе */


/* Зернистость поверх всего (шум) */
/* ===== ФОН: гладкий тёмный + зерно поверх ===== */

body.theme-dark {
  margin: 0;
  min-height: 100vh;
  position: relative;
  color: #f5f5f5;
  background: #050505; /* базовый чёрный подложкой */
  overflow-x: hidden;
}

body.theme-dark{
  margin: 0;
  min-height: 100vh;
  color: #f5f5f5;
  font-family: system-ui, -apple-system, "SF Pro Text", "Segoe UI", sans-serif;

  /* базовый фон */
  background-color: #050505;

  /* несколько градиентов поверх — даёт ощущение объёмных пятен */
  background-image:
    /* мягкое светлое пятно сверху слева */
    radial-gradient(
      circle at 10% 0%,
      rgba(90, 90, 90, 0.55) 0%,
      rgba(40, 40, 40, 0.25) 35%,
      transparent 70%
    ),
    /* второе пятно справа по центру */
    radial-gradient(
      circle at 90% 30%,
      rgba(70, 70, 70, 0.4) 0%,
      rgba(35, 35, 35, 0.2) 40%,
      transparent 75%
    ),
    /* лёгкое высветление снизу по центру */
    radial-gradient(
      circle at 50% 110%,
      rgba(80, 80, 80, 0.45) 0%,
      rgba(30, 30, 30, 0.15) 40%,
      transparent 75%
    );

  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-attachment: fixed; /* чтобы фон не “ездил” при скролле */
}

/* === БАЗА === */
html, body {
  height: 100%;
}

body {
  margin: 0;
  background: #000;
  position: relative;
}

/* === ФОН "КОСМОС" === */

.starfield {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.sky {
  position: absolute;
  top: -50vh;
  left: -50vw;
  width: 200vw;
  height: 200vh;
  background: #000;
}

/* Слои на всю область неба */
.stars,
.stars1,
.stars2,
.shooting-stars,
.twinkles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --- СТАТИЧЕСКИЕ ЗВЁЗДЫ (3 слоя) --- */

.stars {
  background-image:
    radial-gradient(1px 1px at 10px 20px, #fff, transparent),
    radial-gradient(1px 1px at 50px 80px, #fff, transparent),
    radial-gradient(1px 1px at 90px 40px, #fff, transparent),
    radial-gradient(1px 1px at 130px 120px, #fff, transparent),
    radial-gradient(1px 1px at 170px 30px, #fff, transparent),
    radial-gradient(1px 1px at 200px 90px, #fff, transparent),
    radial-gradient(1px 1px at 230px 10px, #fff, transparent),
    radial-gradient(1px 1px at 250px 150px, #fff, transparent);
  background-size: 256px 256px;
  opacity: 0.5;
  animation: moveStars 60s linear infinite;
}

.stars1 {
  background-image: ...;
  background-size: 384px 384px;
  opacity: 0.7;
  animation: moveStars 90s linear infinite;
  background-position: 0 128px;
}


.stars2 {
  background-image: ...;
  background-size: 384px 384px;
  opacity: 0.7;
  animation: moveStars 90s linear infinite;
  background-position: 0 128px;
}


/* Движение звёздного неба — смещение фона по диагонали */
@keyframes moveStars {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-256px, -256px, 0);
  }
}

/* --- ПАДАЮЩИЕ ЗВЁЗДЫ --- */

.shooting-stars {
  overflow: hidden;
  pointer-events: none;
}

.shooting-star {
  position: absolute;
  width: 2px;
  height: 80px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 1)
  );
  transform: rotate(-45deg);
  opacity: 0;
  animation: shootingStar 10s linear infinite;
}

/* Рандомные позиции и задержки, падают СВЕРХУ ВНИЗ по диагонали */
.shooting-star:nth-child(1) {
  top: -10vh;
  left: 20%;
  animation-delay: 1s;
}
.shooting-star:nth-child(2) {
  top: -15vh;
  left: 60%;
  animation-delay: 4s;
}
.shooting-star:nth-child(3) {
  top: -20vh;
  left: 80%;
  animation-delay: 7s;
}
.shooting-star:nth-child(4) {
  top: -12vh;
  left: 40%;
  animation-delay: 10s;
}
.shooting-star:nth-child(5) {
  top: -18vh;
  left: 10%;
  animation-delay: 13s;
}
.shooting-star:nth-child(6) {
  top: -22vh;
  left: 50%;
  animation-delay: 16s;
}
.shooting-star:nth-child(7) {
  top: -16vh;
  left: 75%;
  animation-delay: 19s;
}
.shooting-star:nth-child(8) {
  top: -14vh;
  left: 30%;
  animation-delay: 22s;
}

.stars1 {
  /* твои стили */
  background-position: 0 128px; /* СМЕЩАЕМ слой на полплитки вниз */
}

.stars2 {
  /* твои стили */
  background-position: 0 64px;  /* ещё одно смещение, чтобы не совпадать с .stars и .stars1 */
}


/* Анимация падающих звёзд: сверху вниз по диагонали */
@keyframes shootingStar {
  0% {
    transform: translate3d(0, 0, 0) rotate(-45deg);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  60% {
    /* летим намного дальше вниз по диагонали */
    transform: translate3d(120vh, 120vh, 0) rotate(-45deg);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}


/* --- МЕРЦАЮЩИЕ РОМБИКИ --- */

.twinkles {
  pointer-events: none;
}

.twinkle {
  position: absolute;
  width: 10px;
  height: 10px;
  background: #ffffff;
  border-radius: 3px;
  transform: rotate(45deg);
  opacity: 0;
  animation: twinkle 4s ease-in-out infinite;
}

/* Рандомные позиции и задержки для пяти штук */
.twinkle:nth-child(1) {
  top: 15%;
  left: 25%;
  animation-delay: 0.5s;
}
.twinkle:nth-child(2) {
  top: 30%;
  left: 70%;
  animation-delay: 1.7s;
}
.twinkle:nth-child(3) {
  top: 55%;
  left: 40%;
  animation-delay: 2.9s;
}
.twinkle:nth-child(4) {
  top: 65%;
  left: 80%;
  animation-delay: 3.8s;
}
.twinkle:nth-child(5) {
  top: 40%;
  left: 15%;
  animation-delay: 5.1s;
}

/* Мерцание: вспыхнул — погас */
@keyframes twinkle {
  0% {
    opacity: 0;
    transform: rotate(45deg) scale(0.6);
  }
  35% {
    opacity: 1;
    transform: rotate(45deg) scale(1);
  }
  60% {
    opacity: 0;
    transform: rotate(45deg) scale(0.6);
  }
  100% {
    opacity: 0;
  }
}

.stars-extra {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(2px 2px at 30px 200px, #fff, transparent),
    radial-gradient(2px 2px at 120px 230px, #fff, transparent);
  background-size: 256px 256px;
  opacity: 0.5;
  animation: moveStars 100s linear infinite;
}

/* Позиция BB8 в правом верхнем углу */
/* BB8 в шапке, размер примерно как блок с ФИО */
.corusant-light-toggle{
  position: relative;
  margin-left: 16px;      /* отступ от блока с ФИО */
  align-self: center;     /* по центру по высоте, если родитель flex */

  /* уменьшаем масштаб тумблера */
  --toggle-size: 0.5px;    /* можно 8–12 поиграть */
}



/* REMASTERED */
/* RTX-ON */
/* completely redone toggle and droid */

.bb8-toggle {
  --toggle-size: 6.5px;
  /* finally I removed the scale now everything depends on the font-size */
  /* --margin-top-for-head: 1.75em; */
  /* it's just in case 👆 */
  --toggle-width: 10.625em;
  --toggle-height: 5.625em;
  --toggle-offset: calc((var(--toggle-height) - var(--bb8-diameter)) / 2);
  --toggle-bg: linear-gradient(#2c4770, #070e2b 35%, #628cac 50% 70%, #a6c5d4)
    no-repeat;
  --bb8-diameter: 4.375em;
  --radius: 99em;
  --transition: 0.4s;
  --accent: #de7d2f;
  --bb8-bg: #fff;
}

.bb8-toggle,
.bb8-toggle *,
.bb8-toggle *::before,
.bb8-toggle *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.bb8-toggle {
  cursor: pointer;
  margin-top: var(--margin-top-for-head);
  font-size: var(--toggle-size);
}

.bb8-toggle__checkbox {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: none;
}

.bb8-toggle__container {
  width: var(--toggle-width);
  height: var(--toggle-height);
  background: var(--toggle-bg);
  background-size: 100% 11.25em;
  background-position-y: -5.625em;
  border-radius: var(--radius);
  position: relative;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}

.bb8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: calc(var(--toggle-offset) - 1.688em + 0.188em);
  left: var(--toggle-offset);
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  z-index: 2;
}

.bb8__head-container {
  position: relative;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  z-index: 2;
  -webkit-transform-origin: 1.25em 3.75em;
  -ms-transform-origin: 1.25em 3.75em;
  transform-origin: 1.25em 3.75em;
}

.bb8__head {
  overflow: hidden;
  margin-bottom: -0.188em;
  width: 2.5em;
  height: 1.688em;
  background: -o-linear-gradient(
      transparent 0.063em,
      dimgray 0.063em 0.313em,
      transparent 0.313em 0.375em,
      var(--accent) 0.375em 0.5em,
      transparent 0.5em 1.313em,
      silver 1.313em 1.438em,
      transparent 1.438em
    ),
    -o-linear-gradient(45deg, transparent 0.188em, var(--bb8-bg) 0.188em 1.25em, transparent
          1.25em),
    -o-linear-gradient(135deg, transparent 0.188em, var(--bb8-bg) 0.188em 1.25em, transparent
          1.25em),
    -o-linear-gradient(var(--bb8-bg) 1.25em, transparent 1.25em);
  background: -o-linear-gradient(
      transparent 0.063em,
      dimgray 0.063em 0.313em,
      transparent 0.313em 0.375em,
      var(--accent) 0.375em 0.5em,
      transparent 0.5em 1.313em,
      silver 1.313em 1.438em,
      transparent 1.438em
    ),
    -o-linear-gradient(45deg, transparent 0.188em, var(--bb8-bg) 0.188em 1.25em, transparent
          1.25em),
    -o-linear-gradient(135deg, transparent 0.188em, var(--bb8-bg) 0.188em 1.25em, transparent
          1.25em),
    -o-linear-gradient(var(--bb8-bg) 1.25em, transparent 1.25em);
  background: -o-linear-gradient(
      transparent 0.063em,
      dimgray 0.063em 0.313em,
      transparent 0.313em 0.375em,
      var(--accent) 0.375em 0.5em,
      transparent 0.5em 1.313em,
      silver 1.313em 1.438em,
      transparent 1.438em
    ),
    -o-linear-gradient(45deg, transparent 0.188em, var(--bb8-bg) 0.188em 1.25em, transparent
          1.25em),
    -o-linear-gradient(135deg, transparent 0.188em, var(--bb8-bg) 0.188em 1.25em, transparent
          1.25em),
    -o-linear-gradient(var(--bb8-bg) 1.25em, transparent 1.25em);
  background: -o-linear-gradient(
      transparent 0.063em,
      dimgray 0.063em 0.313em,
      transparent 0.313em 0.375em,
      var(--accent) 0.375em 0.5em,
      transparent 0.5em 1.313em,
      silver 1.313em 1.438em,
      transparent 1.438em
    ),
    -o-linear-gradient(45deg, transparent 0.188em, var(--bb8-bg) 0.188em 1.25em, transparent
          1.25em),
    -o-linear-gradient(135deg, transparent 0.188em, var(--bb8-bg) 0.188em 1.25em, transparent
          1.25em),
    -o-linear-gradient(var(--bb8-bg) 1.25em, transparent 1.25em);
  background: linear-gradient(
      transparent 0.063em,
      dimgray 0.063em 0.313em,
      transparent 0.313em 0.375em,
      var(--accent) 0.375em 0.5em,
      transparent 0.5em 1.313em,
      silver 1.313em 1.438em,
      transparent 1.438em
    ),
    linear-gradient(
      45deg,
      transparent 0.188em,
      var(--bb8-bg) 0.188em 1.25em,
      transparent 1.25em
    ),
    linear-gradient(
      -45deg,
      transparent 0.188em,
      var(--bb8-bg) 0.188em 1.25em,
      transparent 1.25em
    ),
    linear-gradient(var(--bb8-bg) 1.25em, transparent 1.25em);
  border-radius: var(--radius) var(--radius) 0 0;
  position: relative;
  z-index: 1;
  -webkit-filter: drop-shadow(0 0.063em 0.125em gray);
  filter: drop-shadow(0 0.063em 0.125em gray);
}

.bb8__head::before {
  content: "";
  position: absolute;
  width: 0.563em;
  height: 0.563em;
  background: -o-radial-gradient(
      0.25em 0.375em,
      0.125em circle,
      red,
      transparent
    ),
    -o-radial-gradient(0.375em 0.188em, 0.063em circle, var(--bb8-bg) 50%, transparent
          100%),
    -o-linear-gradient(45deg, #000 0.188em, dimgray 0.313em 0.375em, #000 0.5em);
  background: -o-radial-gradient(
      0.25em 0.375em,
      0.125em circle,
      red,
      transparent
    ),
    -o-radial-gradient(0.375em 0.188em, 0.063em circle, var(--bb8-bg) 50%, transparent
          100%),
    -o-linear-gradient(45deg, #000 0.188em, dimgray 0.313em 0.375em, #000 0.5em);
  background: -o-radial-gradient(
      0.25em 0.375em,
      0.125em circle,
      red,
      transparent
    ),
    -o-radial-gradient(0.375em 0.188em, 0.063em circle, var(--bb8-bg) 50%, transparent
          100%),
    -o-linear-gradient(45deg, #000 0.188em, dimgray 0.313em 0.375em, #000 0.5em);
  background: -o-radial-gradient(
      0.25em 0.375em,
      0.125em circle,
      red,
      transparent
    ),
    -o-radial-gradient(0.375em 0.188em, 0.063em circle, var(--bb8-bg) 50%, transparent
          100%),
    -o-linear-gradient(45deg, #000 0.188em, dimgray 0.313em 0.375em, #000 0.5em);
  background: radial-gradient(
      0.125em circle at 0.25em 0.375em,
      red,
      transparent
    ),
    radial-gradient(
      0.063em circle at 0.375em 0.188em,
      var(--bb8-bg) 50%,
      transparent 100%
    ),
    linear-gradient(45deg, #000 0.188em, dimgray 0.313em 0.375em, #000 0.5em);
  border-radius: var(--radius);
  top: 0.413em;
  left: 50%;
  -webkit-transform: translate(-50%);
  -ms-transform: translate(-50%);
  transform: translate(-50%);
  -webkit-box-shadow: 0 0 0 0.089em lightgray, 0.563em 0.281em 0 -0.148em,
    0.563em 0.281em 0 -0.1em var(--bb8-bg), 0.563em 0.281em 0 -0.063em;
  box-shadow: 0 0 0 0.089em lightgray, 0.563em 0.281em 0 -0.148em,
    0.563em 0.281em 0 -0.1em var(--bb8-bg), 0.563em 0.281em 0 -0.063em;
  z-index: 1;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}

.bb8__head::after {
  content: "";
  position: absolute;
  bottom: 0.375em;
  left: 0;
  width: 100%;
  height: 0.188em;
  background: -o-linear-gradient(
    left,
    var(--accent) 0.125em,
    transparent 0.125em 0.188em,
    var(--accent) 0.188em 0.313em,
    transparent 0.313em 0.375em,
    var(--accent) 0.375em 0.938em,
    transparent 0.938em 1em,
    var(--accent) 1em 1.125em,
    transparent 1.125em 1.875em,
    var(--accent) 1.875em 2em,
    transparent 2em 2.063em,
    var(--accent) 2.063em 2.25em,
    transparent 2.25em 2.313em,
    var(--accent) 2.313em 2.375em,
    transparent 2.375em 2.438em,
    var(--accent) 2.438em
  );
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    color-stop(0.125em, var(--accent)),
    color-stop(0.125em, transparent),
    color-stop(0.188em, var(--accent)),
    color-stop(0.313em, transparent),
    color-stop(0.375em, var(--accent)),
    color-stop(0.938em, transparent),
    color-stop(1em, var(--accent)),
    color-stop(1.125em, transparent),
    color-stop(1.875em, var(--accent)),
    color-stop(2em, transparent),
    color-stop(2.063em, var(--accent)),
    color-stop(2.25em, transparent),
    color-stop(2.313em, var(--accent)),
    color-stop(2.375em, transparent),
    color-stop(2.438em, var(--accent))
  );
  background: linear-gradient(
    to right,
    var(--accent) 0.125em,
    transparent 0.125em 0.188em,
    var(--accent) 0.188em 0.313em,
    transparent 0.313em 0.375em,
    var(--accent) 0.375em 0.938em,
    transparent 0.938em 1em,
    var(--accent) 1em 1.125em,
    transparent 1.125em 1.875em,
    var(--accent) 1.875em 2em,
    transparent 2em 2.063em,
    var(--accent) 2.063em 2.25em,
    transparent 2.25em 2.313em,
    var(--accent) 2.313em 2.375em,
    transparent 2.375em 2.438em,
    var(--accent) 2.438em
  );
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}

.bb8__antenna {
  position: absolute;
  -webkit-transform: translateY(-90%);
  -ms-transform: translateY(-90%);
  transform: translateY(-90%);
  width: 0.059em;
  border-radius: var(--radius) var(--radius) 0 0;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}

.bb8__antenna:nth-child(1) {
  height: 0.938em;
  right: 0.938em;
  background: -o-linear-gradient(#000 0.188em, silver 0.188em);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0.188em, #000),
    color-stop(0.188em, silver)
  );
  background: linear-gradient(#000 0.188em, silver 0.188em);
}

.bb8__antenna:nth-child(2) {
  height: 0.375em;
  left: 50%;
  -webkit-transform: translate(-50%, -90%);
  -ms-transform: translate(-50%, -90%);
  transform: translate(-50%, -90%);
  background: silver;
}

.bb8__body {
  width: 4.375em;
  height: 4.375em;
  background: var(--bb8-bg);
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  z-index: 1;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  background: -webkit-gradient(
      linear,
      right top,
      left top,
      color-stop(4%, var(--bb8-bg)),
      color-stop(4%, var(--accent)),
      color-stop(10%, transparent),
      color-stop(90%, var(--accent)),
      color-stop(96%, var(--bb8-bg))
    ),
    -webkit-gradient(linear, left top, left bottom, color-stop(4%, var(--bb8-bg)), color-stop(4%, var(--accent)), color-stop(10%, transparent), color-stop(90%, var(--accent)), color-stop(96%, var(--bb8-bg))),
    -webkit-gradient(linear, left top, right top, color-stop(2.156em, transparent), color-stop(2.156em, silver), color-stop(2.188em, transparent)),
    -webkit-gradient(linear, left top, left bottom, color-stop(2.156em, transparent), color-stop(2.156em, silver), color-stop(2.188em, transparent));
  background: -o-linear-gradient(
      right,
      var(--bb8-bg) 4%,
      var(--accent) 4% 10%,
      transparent 10% 90%,
      var(--accent) 90% 96%,
      var(--bb8-bg) 96%
    ),
    -o-linear-gradient(var(--bb8-bg) 4%, var(--accent) 4% 10%, transparent 10%
          90%, var(--accent) 90% 96%, var(--bb8-bg) 96%),
    -o-linear-gradient(left, transparent 2.156em, silver 2.156em 2.219em, transparent
          2.188em),
    -o-linear-gradient(transparent 2.156em, silver 2.156em 2.219em, transparent
          2.188em);
  background: linear-gradient(
      -90deg,
      var(--bb8-bg) 4%,
      var(--accent) 4% 10%,
      transparent 10% 90%,
      var(--accent) 90% 96%,
      var(--bb8-bg) 96%
    ),
    linear-gradient(
      var(--bb8-bg) 4%,
      var(--accent) 4% 10%,
      transparent 10% 90%,
      var(--accent) 90% 96%,
      var(--bb8-bg) 96%
    ),
    linear-gradient(
      to right,
      transparent 2.156em,
      silver 2.156em 2.219em,
      transparent 2.188em
    ),
    linear-gradient(
      transparent 2.156em,
      silver 2.156em 2.219em,
      transparent 2.188em
    );
  background-color: var(--bb8-bg);
}

.bb8__body::after {
  content: "";
  bottom: 1.5em;
  left: 0.563em;
  position: absolute;
  width: 0.188em;
  height: 0.188em;
  background: rgb(236, 236, 236);
  color: rgb(236, 236, 236);
  border-radius: 50%;
  -webkit-box-shadow: 0.875em 0.938em, 0 -1.25em, 0.875em -2.125em,
    2.125em -2.125em, 3.063em -1.25em, 3.063em 0, 2.125em 0.938em;
  box-shadow: 0.875em 0.938em, 0 -1.25em, 0.875em -2.125em, 2.125em -2.125em,
    3.063em -1.25em, 3.063em 0, 2.125em 0.938em;
}

.bb8__body::before {
  content: "";
  width: 2.625em;
  height: 2.625em;
  position: absolute;
  border-radius: 50%;
  z-index: 0.1;
  overflow: hidden;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border: 0.313em solid var(--accent);
  background: -o-radial-gradient(
      center,
      1em circle,
      rgb(236, 236, 236) 50%,
      transparent 51%
    ),
    -o-radial-gradient(center, 1.25em circle, var(--bb8-bg) 50%, transparent 51%),
    -o-linear-gradient(right, transparent 42%, var(--accent) 42% 58%, transparent
          58%),
    -o-linear-gradient(var(--bb8-bg) 42%, var(--accent) 42% 58%, var(--bb8-bg)
          58%);
  background: -o-radial-gradient(
      center,
      1em circle,
      rgb(236, 236, 236) 50%,
      transparent 51%
    ),
    -o-radial-gradient(center, 1.25em circle, var(--bb8-bg) 50%, transparent 51%),
    -o-linear-gradient(right, transparent 42%, var(--accent) 42% 58%, transparent
          58%),
    -o-linear-gradient(var(--bb8-bg) 42%, var(--accent) 42% 58%, var(--bb8-bg)
          58%);
  background: radial-gradient(
      1em circle at center,
      rgb(236, 236, 236) 50%,
      transparent 51%
    ),
    radial-gradient(1.25em circle at center, var(--bb8-bg) 50%, transparent 51%),
    -webkit-gradient(linear, right top, left top, color-stop(42%, transparent), color-stop(42%, var(--accent)), color-stop(58%, transparent)),
    -webkit-gradient(linear, left top, left bottom, color-stop(42%, var(--bb8-bg)), color-stop(42%, var(--accent)), color-stop(58%, var(--bb8-bg)));
  background: radial-gradient(
      1em circle at center,
      rgb(236, 236, 236) 50%,
      transparent 51%
    ),
    radial-gradient(1.25em circle at center, var(--bb8-bg) 50%, transparent 51%),
    linear-gradient(
      -90deg,
      transparent 42%,
      var(--accent) 42% 58%,
      transparent 58%
    ),
    linear-gradient(var(--bb8-bg) 42%, var(--accent) 42% 58%, var(--bb8-bg) 58%);
}

.artificial__hidden {
  position: absolute;
  border-radius: inherit;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.bb8__shadow {
  content: "";
  width: var(--bb8-diameter);
  height: 20%;
  border-radius: 50%;
  background: #3a271c;
  -webkit-box-shadow: 0.313em 0 3.125em #3a271c;
  box-shadow: 0.313em 0 3.125em #3a271c;
  opacity: 0.1;
  position: absolute;
  bottom: 0;
  left: calc(var(--toggle-offset) - 0.938em);
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
  -webkit-transform: skew(-70deg);
  -ms-transform: skew(-70deg);
  transform: skew(-70deg);
  z-index: 1;
}

.bb8-toggle__scenery {
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  position: relative;
  border-radius: inherit;
}

.bb8-toggle__scenery::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 30%;
  bottom: 0;
  background: #b18d71;
  z-index: 1;
}

.bb8-toggle__cloud {
  z-index: 1;
  position: absolute;
  border-radius: 50%;
}

.bb8-toggle__cloud:nth-last-child(1) {
  width: 0.875em;
  height: 0.625em;
  -webkit-filter: blur(0.125em) drop-shadow(0.313em 0.313em #ffffffae)
    drop-shadow(-0.625em 0 #fff) drop-shadow(-0.938em -0.125em #fff);
  filter: blur(0.125em) drop-shadow(0.313em 0.313em #ffffffae)
    drop-shadow(-0.625em 0 #fff) drop-shadow(-0.938em -0.125em #fff);
  right: 1.875em;
  top: 2.813em;
  background: -o-linear-gradient(bottom left, #ffffffae, #ffffffae);
  background: -webkit-gradient(
    linear,
    left bottom,
    right top,
    from(#ffffffae),
    to(#ffffffae)
  );
  background: linear-gradient(to top right, #ffffffae, #ffffffae);
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}

.bb8-toggle__cloud:nth-last-child(2) {
  top: 0.625em;
  right: 4.375em;
  width: 0.875em;
  height: 0.375em;
  background: #dfdedeae;
  -webkit-filter: blur(0.125em) drop-shadow(-0.313em -0.188em #e0dfdfae)
    drop-shadow(-0.625em -0.188em #bbbbbbae) drop-shadow(-1em 0.063em #cfcfcfae);
  filter: blur(0.125em) drop-shadow(-0.313em -0.188em #e0dfdfae)
    drop-shadow(-0.625em -0.188em #bbbbbbae) drop-shadow(-1em 0.063em #cfcfcfae);
  -webkit-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
}

.bb8-toggle__cloud:nth-last-child(3) {
  top: 1.25em;
  right: 0.938em;
  width: 0.875em;
  height: 0.375em;
  background: #ffffffae;
  -webkit-filter: blur(0.125em) drop-shadow(0.438em 0.188em #ffffffae)
    drop-shadow(-0.625em 0.313em #ffffffae);
  filter: blur(0.125em) drop-shadow(0.438em 0.188em #ffffffae)
    drop-shadow(-0.625em 0.313em #ffffffae);
  -webkit-transition: 0.8s;
  -o-transition: 0.8s;
  transition: 0.8s;
}

.gomrassen,
.hermes,
.chenini {
  position: absolute;
  border-radius: var(--radius);
  background: -o-linear-gradient(#fff, #6e8ea2);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#fff),
    to(#6e8ea2)
  );
  background: linear-gradient(#fff, #6e8ea2);
  top: 100%;
}

.gomrassen {
  left: 0.938em;
  width: 1.875em;
  height: 1.875em;
  -webkit-box-shadow: 0 0 0.188em #ffffff52, 0 0 0.188em #6e8ea24b;
  box-shadow: 0 0 0.188em #ffffff52, 0 0 0.188em #6e8ea24b;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}

.gomrassen::before,
.gomrassen::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  -webkit-box-shadow: inset 0 0 0.063em rgb(140, 162, 169);
  box-shadow: inset 0 0 0.063em rgb(140, 162, 169);
  background: rgb(184, 196, 200);
}

.gomrassen::before {
  left: 0.313em;
  top: 0.313em;
  width: 0.438em;
  height: 0.438em;
}

.gomrassen::after {
  width: 0.25em;
  height: 0.25em;
  left: 1.25em;
  top: 0.75em;
}

.hermes {
  left: 3.438em;
  width: 0.625em;
  height: 0.625em;
  -webkit-box-shadow: 0 0 0.125em #ffffff52, 0 0 0.125em #6e8ea24b;
  box-shadow: 0 0 0.125em #ffffff52, 0 0 0.125em #6e8ea24b;
  -webkit-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
}

.chenini {
  left: 4.375em;
  width: 0.5em;
  height: 0.5em;
  -webkit-box-shadow: 0 0 0.125em #ffffff52, 0 0 0.125em #6e8ea24b;
  box-shadow: 0 0 0.125em #ffffff52, 0 0 0.125em #6e8ea24b;
  -webkit-transition: 0.8s;
  -o-transition: 0.8s;
  transition: 0.8s;
}

.tatto-1,
.tatto-2 {
  position: absolute;
  width: 1.25em;
  height: 1.25em;
  border-radius: var(--radius);
}

.tatto-1 {
  background: #fefefe;
  right: 3.125em;
  top: 0.625em;
  -webkit-box-shadow: 0 0 0.438em #fdf4e1;
  box-shadow: 0 0 0.438em #fdf4e1;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}

.tatto-2 {
  background: -o-linear-gradient(#e6ac5c, #d75449);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#e6ac5c),
    to(#d75449)
  );
  background: linear-gradient(#e6ac5c, #d75449);
  right: 1.25em;
  top: 2.188em;
  -webkit-box-shadow: 0 0 0.438em #e6ad5c3d, 0 0 0.438em #d755494f;
  box-shadow: 0 0 0.438em #e6ad5c3d, 0 0 0.438em #d755494f;
  -webkit-transition: 0.7s;
  -o-transition: 0.7s;
  transition: 0.7s;
}

.bb8-toggle__star {
  position: absolute;
  width: 0.063em;
  height: 0.063em;
  background: #fff;
  border-radius: var(--radius);
  -webkit-filter: drop-shadow(0 0 0.063em #fff);
  filter: drop-shadow(0 0 0.063em #fff);
  color: #fff;
  top: 100%;
}

.bb8-toggle__star:nth-child(1) {
  left: 3.75em;
  -webkit-box-shadow: 1.25em 0.938em, -1.25em 2.5em, 0 1.25em, 1.875em 0.625em,
    -3.125em 1.875em, 1.25em 2.813em;
  box-shadow: 1.25em 0.938em, -1.25em 2.5em, 0 1.25em, 1.875em 0.625em,
    -3.125em 1.875em, 1.25em 2.813em;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}

.bb8-toggle__star:nth-child(2) {
  left: 4.688em;
  -webkit-box-shadow: 0.625em 0, 0 0.625em, -0.625em -0.625em, 0.625em 0.938em,
    -3.125em 1.25em, 1.25em -1.563em;
  box-shadow: 0.625em 0, 0 0.625em, -0.625em -0.625em, 0.625em 0.938em,
    -3.125em 1.25em, 1.25em -1.563em;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.bb8-toggle__star:nth-child(3) {
  left: 5.313em;
  -webkit-box-shadow: -0.625em -0.625em, -2.188em 1.25em, -2.188em 0,
    -3.75em -0.625em, -3.125em -0.625em, -2.5em -0.313em, 0.75em -0.625em;
  box-shadow: -0.625em -0.625em, -2.188em 1.25em, -2.188em 0, -3.75em -0.625em,
    -3.125em -0.625em, -2.5em -0.313em, 0.75em -0.625em;
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}

.bb8-toggle__star:nth-child(4) {
  left: 1.875em;
  width: 0.125em;
  height: 0.125em;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.bb8-toggle__star:nth-child(5) {
  left: 5em;
  width: 0.125em;
  height: 0.125em;
  -webkit-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
}

.bb8-toggle__star:nth-child(6) {
  left: 2.5em;
  width: 0.125em;
  height: 0.125em;
  -webkit-transition: 0.7s;
  -o-transition: 0.7s;
  transition: 0.7s;
}

.bb8-toggle__star:nth-child(7) {
  left: 3.438em;
  width: 0.125em;
  height: 0.125em;
  -webkit-transition: 0.8s;
  -o-transition: 0.8s;
  transition: 0.8s;
}

/* actions */

.bb8-toggle__checkbox:checked
  + .bb8-toggle__container
  .bb8-toggle__star:nth-child(1) {
  top: 0.625em;
}

.bb8-toggle__checkbox:checked
  + .bb8-toggle__container
  .bb8-toggle__star:nth-child(2) {
  top: 1.875em;
}

.bb8-toggle__checkbox:checked
  + .bb8-toggle__container
  .bb8-toggle__star:nth-child(3) {
  top: 1.25em;
}

.bb8-toggle__checkbox:checked
  + .bb8-toggle__container
  .bb8-toggle__star:nth-child(4) {
  top: 3.438em;
}

.bb8-toggle__checkbox:checked
  + .bb8-toggle__container
  .bb8-toggle__star:nth-child(5) {
  top: 3.438em;
}

.bb8-toggle__checkbox:checked
  + .bb8-toggle__container
  .bb8-toggle__star:nth-child(6) {
  top: 0.313em;
}

.bb8-toggle__checkbox:checked
  + .bb8-toggle__container
  .bb8-toggle__star:nth-child(7) {
  top: 1.875em;
}

.bb8-toggle__checkbox:checked + .bb8-toggle__container .bb8-toggle__cloud {
  right: -100%;
}

.bb8-toggle__checkbox:checked + .bb8-toggle__container .gomrassen {
  top: 0.938em;
}

.bb8-toggle__checkbox:checked + .bb8-toggle__container .hermes {
  top: 2.5em;
}

.bb8-toggle__checkbox:checked + .bb8-toggle__container .chenini {
  top: 2.75em;
}

.bb8-toggle__checkbox:checked + .bb8-toggle__container {
  background-position-y: 0;
}

.bb8-toggle__checkbox:checked + .bb8-toggle__container .tatto-1 {
  top: 100%;
}

.bb8-toggle__checkbox:checked + .bb8-toggle__container .tatto-2 {
  top: 100%;
}

.bb8-toggle__checkbox:checked + .bb8-toggle__container .bb8 {
  left: calc(100% - var(--bb8-diameter) - var(--toggle-offset));
}

.bb8-toggle__checkbox:checked + .bb8-toggle__container .bb8__shadow {
  left: calc(100% - var(--bb8-diameter) - var(--toggle-offset) + 0.938em);
  -webkit-transform: skew(70deg);
  -ms-transform: skew(70deg);
  transform: skew(70deg);
}

.bb8-toggle__checkbox:checked + .bb8-toggle__container .bb8__body {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(225deg);
}

.bb8-toggle__checkbox:hover + .bb8-toggle__container .bb8__head::before {
  left: 100%;
}

.bb8-toggle__checkbox:not(:checked):hover
  + .bb8-toggle__container
  .bb8__antenna:nth-child(1) {
  right: 1.5em;
}

.bb8-toggle__checkbox:hover
  + .bb8-toggle__container
  .bb8__antenna:nth-child(2) {
  left: 0.938em;
}

.bb8-toggle__checkbox:hover + .bb8-toggle__container .bb8__head::after {
  background-position: 1.375em 0;
}

.bb8-toggle__checkbox:checked:hover
  + .bb8-toggle__container
  .bb8__head::before {
  left: 0;
}

.bb8-toggle__checkbox:checked:hover
  + .bb8-toggle__container
  .bb8__antenna:nth-child(2) {
  left: calc(100% - 0.938em);
}

.bb8-toggle__checkbox:checked:hover + .bb8-toggle__container .bb8__head::after {
  background-position: -1.375em 0;
}

.bb8-toggle__checkbox:active + .bb8-toggle__container .bb8__head-container {
  -webkit-transform: rotate(25deg);
  -ms-transform: rotate(25deg);
  transform: rotate(25deg);
}

.bb8-toggle__checkbox:checked:active
  + .bb8-toggle__container
  .bb8__head-container {
  -webkit-transform: rotate(-25deg);
  -ms-transform: rotate(-25deg);
  transform: rotate(-25deg);
}

.bb8:hover .bb8__head::before,
.bb8:hover .bb8__antenna:nth-child(2) {
  left: 50% !important;
}

.bb8:hover .bb8__antenna:nth-child(1) {
  right: 0.938em !important;
}

.bb8:hover .bb8__head::after {
  background-position: 0 0 !important;
}

