.fy-full-entry-icon { width: 18px; font-size: 21px; line-height: 1; color: #9ec5ff; text-align: center; }
.fy-full-surface { position: fixed; z-index: 2100; margin: 0; padding: 0; overflow: hidden; background: #0b0f18; color: #edf2fa; }
.fy-full-frame { position: absolute; inset: 0; z-index: 1; display: block; width: 100%; height: 100%; border: 0; background: #0b0f18; }
.fy-full-frame[hidden], .fy-full-loading[hidden], .fy-full-actions button[hidden] { display: none !important; }
.fy-full-loading { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 32px; text-align: center; background: #0b0f18; }
.fy-full-loading h2 { margin: 0; color: #edf2fa; font-size: 22px; }
.fy-full-loading p { max-width: 420px; margin: 0; color: #a9b4c9; font-size: 14px; line-height: 1.7; }
.fy-full-spinner { width: 34px; height: 34px; border: 3px solid #ffffff1f; border-top-color: #87b8ff; border-radius: 50%; animation: fy-full-spin .9s linear infinite; }
.fy-full-loading.is-error .fy-full-spinner { animation: none; border-color: #dca765; }
.fy-full-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.fy-full-actions button { border: 1px solid #4b6091; border-radius: 9px; padding: 10px 16px; color: #edf2fa; background: #243754; font: inherit; cursor: pointer; }
.fy-full-actions button:focus-visible { outline: 2px solid #a9cdff; outline-offset: 3px; }
html.fy-full-test-open .sidebar { z-index: 2300 !important; }
html.fy-full-test-open .reference-modal-backdrop,
html.fy-full-test-open .modal-backdrop,
html.fy-full-test-open .app-dialog-backdrop,
html.fy-full-test-open .platform-dialog-backdrop { z-index: 3000 !important; }
/* Match the desktop theme's #root/important active rules without changing
   React's route state. Removing fy-full-test-open restores them verbatim. */
html.fy-full-test-open:not(.mobile-variant) body #root .sidebar button.nav-item.active:not(.fy-full-entry) {
  color: #969eab !important;
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
  transform: none !important;
}
html.fy-full-test-open:not(.mobile-variant) body #root .sidebar button.nav-item.active:not(.fy-full-entry):hover {
  color: #d7dce5 !important;
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.055) !important;
}
html.fy-full-test-open:not(.mobile-variant) body #root .sidebar button.nav-item.active:not(.fy-full-entry) .icon { color: #7f8795 !important; }
html.fy-full-test-open:not(.mobile-variant) body #root .sidebar button.nav-item.active:not(.fy-full-entry)::before,
html.fy-full-test-open:not(.mobile-variant) body #root .sidebar button.nav-item.active:not(.fy-full-entry)::after { display: none !important; }
@keyframes fy-full-spin { to { transform: rotate(360deg); } }


