html, body { margin: 0; background: #f6f8fc; }
/* Before Flutter synchronizes an accessible field's editing style, browser
   input defaults can be 13px. Avoid a separate Safari focus zoom in that gap.
   The engine's inline style still owns font metrics and cursor placement. */
flutter-view flt-semantics input, flutter-view flt-semantics textarea {
  font-size: 16px;
}
#e-startup {
  position: fixed; inset: 0; z-index: 99999;
  display: grid; place-items: center; padding: 24px;
  color: #19243d; font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  background: radial-gradient(ellipse at 28% 20%, #e8efff, transparent 55%), #f6f8fc;
  transition: opacity .18s ease;
}
.e-startup-card { width: min(100%, 320px); text-align: center; }
.e-startup-logo {
  margin: 0 auto 22px; width: 72px; height: 72px; display: grid; place-items: center;
  font-size: 38px; font-weight: 750; border-radius: 22px; color: white;
  background: linear-gradient(145deg, #7296ff, #3569f6 70%);
  box-shadow: inset 0 2px 2px #ffffff55, 0 16px 32px #3569f625;
  transform: rotate(-6deg);
}
.e-startup-card h1 { font-size: 24px; font-weight: 650; margin: 0 0 12px; }
.e-startup-card p { color: #697386; font-size: 14px; line-height: 1.6; margin: 0 0 22px; }
.e-startup-track { height: 3px; width: 128px; margin: auto; background: #dce5fa; overflow: hidden; border-radius: 6px; }
.e-startup-track::after { content: ""; display: block; width: 55%; height: 100%; background: #3569f6; border-radius: inherit; animation: e-loading 1.4s ease-in-out infinite; }
#e-startup-retry { margin: 22px auto 0; padding: 12px 20px; background: #3569f6; border: 0; border-radius: 11px; color: white; font: inherit; font-size: 14px; cursor: pointer; }
#e-startup-retry[hidden] { display: none; }
@keyframes e-loading { from { transform: translateX(-110%); } to { transform: translateX(220%); } }
@media (prefers-reduced-motion: reduce) { #e-startup { transition: none; } .e-startup-logo { transform: none; } .e-startup-track::after { animation: none; width: 100%; } }
