/* === ЭКРАН ВХОДА (v2 — ЛЕГКАЯ ВЕРСИЯ: убраны анимированные blur/text-shadow/drop-shadow, logout лагов) === */
.login-screen{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;transition:opacity .5s;padding:20px;text-align:center}
.hero-title-wrap{display:flex;align-items:center;justify-content:center;gap:clamp(4px,1.5vw,12px);position:relative;margin-bottom:50px}
.hero-title-text{display:flex;flex-direction:column;align-items:center;position:relative}
/* v2: свечение текста СТАТИЧНОЕ (анимация textGlow перекрашивала огромный текст каждый кадр — главный лаг) */
.hero-title-text span{position:relative;text-shadow:0 0 10px var(--glow-soft),0 0 30px var(--glow-soft),0 0 60px var(--glow-soft);font-size:clamp(48px,9vw,96px);font-weight:800;line-height:1.1;letter-spacing:-2px;color:var(--text)}
/* === ЗАГОЛОВОК «ДОБРО ПОЖАЛОВАТЬ»: белый + тёмная тень в светлой теме === */
.hero-title-text span{transition:color .5s ease,text-shadow .5s ease}

.hero-moon{font-size:clamp(90px,16vw,180px);width:clamp(140px,24vw,260px);height:clamp(140px,24vw,260px);display:inline-flex;align-items:center;justify-content:center;animation:moonFloat 6s ease-in-out infinite;flex-shrink:0;position:relative;filter:drop-shadow(0 12px 32px rgba(170,190,255,.16))}
.hero-moon svg{width:100%;height:100%}
/* v2: аура луны — чистый градиент БЕЗ filter:blur(20px) и БЕЗ анимации orbGlow (размытый слой перерисовывался каждый кадр) */
.hero-moon::before{content:'';position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(200,220,255,.16) 0%,rgba(100,150,255,.07) 40%,transparent 70%);pointer-events:none;z-index:-1}

/* === ДНЕВНОЙ ГЕРОЙ: тёплый свет + холодная тень (v2 — статика) === */

/* тёплый солнечный ореол за текстом (со стороны солнца из canvas) */
[data-theme="light"] .hero-title-text::before{
  content:'';
  position:absolute;
  inset:-15% -25%;
  background:radial-gradient(ellipse 65% 60% at 70% 35%,
    rgba(255,247,224,.55) 0%,rgba(255,247,224,.22) 45%,transparent 70%);
  z-index:-1;
  pointer-events:none;
}

/* текст: белый, блик по верхней кромке + слоёная холодная тень (v2 — тень статична) */
[data-theme="light"] .hero-title-text span{
  color:#fdfdfe;
  text-shadow:
    0 1px 0 rgba(255,255,255,.95),        /* светлый кант — блик солнца */
    0 2px 4px  rgba(47,66,110,.20),       /* плотный контакт */
    0 8px 16px rgba(47,66,110,.20),       /* средний слой */
    0 18px 36px rgba(47,66,110,.24),      /* широкая мягкая тень */
    0 32px 64px rgba(47,66,110,.14);      /* воздушный шлейф */
}

/* луна: та же система теней, крупнее (v2 — drop-shadow статичен, летит только transform) */
[data-theme="light"] .hero-moon{
  --moon-fill:#fdfdfe;
  --moon-stroke:#fdfdfe;
  animation:moonFloat 6s ease-in-out infinite;
  filter:drop-shadow(0 2px 4px rgba(47,66,110,.22)) drop-shadow(0 18px 36px rgba(47,66,110,.24));
}

/* починенная аура: темнее к центру, растворение наружу, холодного оттенка */
[data-theme="light"] .hero-moon::before{
  background:radial-gradient(circle,
    rgba(120,146,196,.24) 0%,rgba(120,146,196,.09) 48%,transparent 72%);
}

.input-group{width:100%;max-width:380px;margin-bottom:18px}
/* v2: убран backdrop-filter — поля лежат над анимированным canvas, блюр пересчитывался каждый кадр (второй источник лагов).
   Вместо стекла — плотная «твердая» подложка. */
.tg-identifier-input{width:100%;padding:22px;border-radius:18px;border:1px solid var(--border-heavy);background:rgba(18,18,21,.78);color:var(--text);font-size:18px;outline:none;transition:border-color .3s,background .3s;text-align:center}
[data-theme="light"] .tg-identifier-input{background:rgba(255,255,255,.86);border-color:var(--border-light)}
.tg-identifier-input:focus{border-color:var(--border-heavy);background:rgba(26,26,30,.88)}
[data-theme="light"] .tg-identifier-input:focus{background:rgba(255,255,255,.95)}
.tg-identifier-input::placeholder{color:var(--text-ghost)}
.tg-identifier-hint{font-size:13px;color:var(--text-faint);text-align:center;line-height:1.5;transition:color .5s ease;margin-top:8px}
/* v2: кнопка логина — без backdrop-filter, с плотной подложкой и «летающей» тенью */
.login-screen .btn-primary{width:100%;max-width:380px;padding:22px;border-radius:18px;border:1px solid var(--pill-border);background:rgba(28,28,33,.82);color:var(--text);font-size:18px;font-weight:600;cursor:pointer;transition:background .3s,color .3s,box-shadow .3s;box-shadow:var(--pill-edge),var(--pill-shadow);font-family:'Inter',sans-serif}
[data-theme="light"] .login-screen .btn-primary{background:rgba(255,255,255,.88)}
.login-screen .btn-primary:hover{background:var(--text);color:var(--bg);box-shadow:0 0 20px var(--glow-soft)}
.text-btn{background:none;border:none;color:var(--text-secondary);font-size:15px;margin-top:18px;cursor:pointer;transition:.2s;max-width:380px;width:100%;padding:12px;font-family:'Inter',sans-serif}
.text-btn:hover:not(:disabled){color:var(--text);text-decoration:underline}
.text-btn:disabled{color:var(--text-faint);cursor:not-allowed}
