/* A dedicated dark arrival surface keeps the logo and form labels readable.
   The shared window finish intentionally excludes this light-on-dark body. */
body.fm-horizon-theme #desktop #win-login > .login-body {
  --fm-menu-text:#f7f3ed;
  --fm-menu-muted:#dce4e8;
  --text:#f7f3ed;
  --muted:#dce4e8;
  --fm-menu-field:#fffaf3;
  --fm-login-glow:color-mix(in srgb,var(--horizon-light) 38%,var(--horizon-dark));
  --fm-login-accent:color-mix(in srgb,var(--theme-accent) 42%,var(--horizon-dark));
  background:var(--fm-finish-hero,linear-gradient(135deg,#15283f,#294963)) !important;
  color:#f7f3ed !important;
  padding:22px 26px 24px !important;
  gap:12px;
  min-height:0;
  overflow-y:auto;
}
body.fm-horizon-theme #desktop #win-login > .login-body > * { flex-shrink:0; }
body.fm-horizon-theme #desktop #win-login .login-logo {
  margin:4px 0 0 !important;
  font-size:32px;
}
body.fm-horizon-theme #desktop #win-login :is(.login-brand-fm,.login-brand-online) {
  color:#fffaf3 !important;
  text-shadow:0 2px 12px #07162240 !important;
  animation:none!important;
  opacity:1;
}
body.fm-horizon-theme #desktop #win-login .login-bobble {
  --fm-login-orb-size:clamp(110px,16vh,132px);
  --fm-orb-ink:color-mix(in srgb,var(--horizon-light) 65%,#fff1bf);
  --fm-orb-highlight:color-mix(in srgb,var(--theme-accent) 15%,#fffdf4);
  --fm-orb-shadow:color-mix(in srgb,var(--horizon-mid) 75%,#fff1bf);
  width:var(--fm-login-orb-size) !important;
  height:var(--fm-login-orb-size) !important;
  flex:0 0 auto;
  margin:0 auto 2px !important;
}
body.fm-horizon-theme #desktop #win-login .login-server-picker {
  margin-bottom:2px !important;
  padding:8px 10px;
  border-radius:14px;
  border-color:#fffaf324 !important;
  background:linear-gradient(110deg,#fffaf316,#fffaf308) !important;
  box-shadow:none;
}
body.fm-horizon-theme #desktop #win-login .login-bobble > gold-sphere-loader {
  width:100%!important;
  height:100%!important;
}
body.fm-horizon-theme #desktop #win-login label {
  color:#e5edf0 !important;
  font-size:12px;
  font-weight:600;
  line-height:1.45;
}
body.fm-horizon-theme #desktop #win-login :is(#login-mode-signin,#login-mode-register,#login-mode-forgot) {
  flex-direction:column;
  gap:9px;
  padding:18px;
  border:1px solid #fffaf32b;
  border-radius:18px;
  background:linear-gradient(135deg,#06162645,#06162626);
  box-shadow:0 8px 24px #06132226,inset 0 1px 0 #ffffff12;
}
body.fm-horizon-theme #desktop #win-login #login-mode-signin {display:flex;}
body.fm-horizon-theme #desktop #win-login :is(#login-mode-signin,#login-mode-register,#login-mode-forgot) > div:last-child {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:8px 14px;
  text-align:left!important;
}
body.fm-horizon-theme #desktop #win-login :is(input:not([type="checkbox"]),select,.primary) {
  box-sizing:border-box;
  min-height:42px;
}
body.fm-horizon-theme #desktop #win-login .primary {margin-top:3px;font-weight:700;}
body.fm-horizon-theme #desktop #win-login input[type="checkbox"] {accent-color:var(--theme-accent,#d1a564);}
body.fm-horizon-theme #desktop #win-login label > span {opacity:.9!important;}
body.fm-horizon-theme #desktop #win-login :is(input:not([type="checkbox"]),select) {
  color-scheme:light;
  background:linear-gradient(110deg,#fffdf8,#f2ede5) !important;
  color:#302d2a !important;
  -webkit-text-fill-color:#302d2a;
  border-color:#fffaf338 !important;
  border-radius:12px;
  box-shadow:0 3px 10px #061c2210 !important;
}
body.fm-horizon-theme #desktop #win-login input::placeholder { color:#71665c !important; opacity:1; }
body.fm-horizon-theme #desktop #win-login select option { background:#fffdf8; color:#302d2a; }
body.fm-horizon-theme #desktop #win-login a {
  color:#edf3f6 !important;
  text-decoration-color:#edf3f666;
  text-underline-offset:3px;
}
body.fm-horizon-theme #desktop #win-login a:hover { color:#fff !important; text-decoration:underline; }
body.fm-horizon-theme #desktop #win-login #login-mode-forgot > p { color:#dce4e8 !important; }
body.fm-horizon-theme #desktop #win-login :is(#login-error,#register-error,#forgot-error) { color:#ffd2d8 !important; }
body.fm-horizon-theme #desktop #win-login #forgot-success { color:#adf1ca !important; }
body.fm-horizon-theme #desktop #win-login :is(input,select,button,a):focus-visible {
  outline:2px solid #fff1bf !important;
  outline-offset:3px;
}
@media(max-height:740px) {
  body.fm-horizon-theme #desktop #win-login .login-bobble { --fm-login-orb-size:52px; margin-bottom:2px !important; }
  body.fm-horizon-theme #desktop #win-login > .login-body { gap:7px; padding-top:14px!important; padding-bottom:14px!important; }
  body.fm-horizon-theme #desktop #win-login .login-server-picker { padding-block:6px; }
  body.fm-horizon-theme #desktop #win-login :is(#login-mode-signin,#login-mode-register,#login-mode-forgot) { padding:12px; gap:7px; }
}
body.fm-horizon-theme #desktop #win-login:has(#login-mode-register[style*="flex"],#login-mode-forgot[style*="flex"]) .login-bobble {
  --fm-login-orb-size:72px;
}
@media(max-width:480px) {
  body.fm-horizon-theme #desktop #win-login > .login-body {padding:18px 16px!important;}
  body.fm-horizon-theme #desktop #win-login :is(#login-mode-signin,#login-mode-register,#login-mode-forgot) {padding:14px;}
}
