/* Общий тон мини-аппов: сохраняем цвет каждого экрана и его собственные
   состояния, добавляя глубину, отклик кнопок и короткое появление данных. */
.mini-glass {
  --mini-surface: var(--card, var(--color-surface, var(--panel, #241d16)));
  background-image:
    radial-gradient(ellipse 70% 42% at 10% 0%, rgba(204, 120, 92, .16), transparent 76%),
    radial-gradient(ellipse 56% 38% at 95% 30%, rgba(107, 104, 183, .13), transparent 78%);
  background-attachment: fixed;
}
.mini-glass .card:not(.arch-skeleton) {
  border: 1px solid rgba(255, 245, 231, .13);
  border-radius: 20px;
  background: var(--mini-surface);
  background: linear-gradient(150deg, rgba(255,245,231,.09), rgba(255,245,231,.025) 60%),
    color-mix(in srgb, var(--mini-surface) 83%, transparent);
  box-shadow: inset 0 1px rgba(255,255,255,.11), 0 12px 32px rgba(5,7,12,.14);
  -webkit-backdrop-filter: blur(16px) saturate(125%);
  backdrop-filter: blur(16px) saturate(125%);
}
.mini-glass .mini-boot {
  position: fixed; inset: 0; z-index: 80;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px;
  background: radial-gradient(circle at 50% 45%, rgba(204,120,92,.16), transparent 46%), #171310;
  color: #f4ece3; font: 600 14px var(--font-body, system-ui, sans-serif);
}
.mini-glass .mini-boot[hidden] { display: none; }
.mini-glass .mini-boot-mark {
  width: 56px; height: 56px; display: grid; place-items: center;
  border-radius: 18px; border: 1px solid rgba(255,245,231,.24);
  background: linear-gradient(145deg, rgba(255,245,231,.18), rgba(255,245,231,.04));
  box-shadow: inset 0 1px rgba(255,255,255,.2), 0 15px 38px rgba(0,0,0,.26);
  color: #f0af91; font-size: 25px;
  animation: mini-breathe 1.7s ease-in-out infinite;
}
@keyframes mini-breathe { 50% { transform: translateY(-5px) scale(1.04); } }
.mini-glass button:not(.switch),
.mini-glass .btn,
.mini-glass input,
.mini-glass select,
.mini-glass textarea { border-radius: 12px; }
.mini-glass button:not(.switch), .mini-glass .btn {
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s ease,
    background .2s ease, border-color .2s ease;
}
.mini-glass button:not(:disabled):not(.captcha-btn):active,
.mini-glass .btn:not(:disabled):active { transform: scale(.97); }
.mini-glass :is(button, .btn, input, select, textarea):focus-visible {
  outline: 2px solid var(--accent, var(--color-accent, var(--blue, #cc785c)));
  outline-offset: 3px;
}
.mini-glass .mini-loading-line {
  height: 11px; border-radius: 7px;
  background: linear-gradient(100deg, rgba(255,245,231,.055) 20%, rgba(255,245,231,.19) 50%, rgba(255,245,231,.055) 80%);
  background-size: 220% 100%;
  animation: mini-shimmer 1.45s ease-in-out infinite;
}
.mini-glass .mini-loading-line + .mini-loading-line { margin-top: 10px; }
.mini-glass .mini-reveal > * { animation: mini-rise .36s cubic-bezier(.16,1,.3,1) both; }
.mini-glass .mini-reveal > *:nth-child(2) { animation-delay: .05s; }
.mini-glass .mini-reveal > *:nth-child(3) { animation-delay: .1s; }
.mini-glass .mini-reveal > *:nth-child(4) { animation-delay: .15s; }
.mini-glass .mini-reveal > *:nth-child(n+5) { animation-delay: .2s; }
@keyframes mini-shimmer { from { background-position: 180% 0; } to { background-position: -40% 0; } }
@keyframes mini-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) { .mini-glass { background-attachment: scroll; } }
@media (prefers-reduced-motion: reduce) {
  .mini-glass *, .mini-glass *::before, .mini-glass *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0ms !important;
    transition-duration: .001ms !important;
  }
}
