/* ============================================================================
 * App-специфичные правила поверх 1:1-порта дизайна (landing.css / landing-canvas.css
 * держим байт-в-байт с дизайн-проектом — ре-синк не ломается; всё, что добавляем
 * от продакшена, живёт здесь). Грузится ПОСЛЕ дизайн-стилей.
 * ========================================================================= */

/* состояние ошибки формы early-access (тёмная финальная секция) */
.final .err-msg{
  color:#FF8A80;
  font-family:var(--mono);
  font-size:12.5px;
  margin-top:14px;
  letter-spacing:.02em;
}

/* дизейбл кнопки во время отправки */
.waitform button[disabled]{opacity:.6;cursor:progress}

/* ── mobile: никакого горизонтального скролла/колыхания ───────────────── */
html,body{overflow-x:clip;max-width:100%}
#world{overflow-x:clip}

/* ── story: стадии сменяются быстрее (короче пиннед-скролл) ───────────── */
.story{height:280vh}
@media(max-width:900px){.story{height:auto}}

/* ── scroll-подсказка: анимированная стрелка вниз на герое ────────────── */
.scrollcue{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);z-index:6;
  display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  color:var(--ink-2);background:var(--glass);border:1px solid var(--line);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow);
  text-decoration:none;cursor:pointer;opacity:0;
  transition:opacity .5s var(--ease) .2s,transform .3s var(--ease),color .2s var(--ease)}
.hero.booted .scrollcue{opacity:.9}
.scrollcue:hover{color:var(--amber-ink);background:var(--amber);border-color:var(--amber)}
.scrollcue svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:no-preference){.hero.booted .scrollcue svg{animation:cuebob 1.5s var(--ease) infinite}}
@keyframes cuebob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
/* прячем, как только пользователь начал скроллить */
body.scrolled .scrollcue{opacity:0;pointer-events:none}
@media(max-width:640px){.scrollcue{bottom:52px;width:38px;height:38px}}
