/* Real resource loading only: no minimum display duration or simulated progress. */
:root{--ht-loading-base:#23262c;--ht-loading-light:#303239;--ht-loading-warm:#9a684217}
.ht-image-loading{visibility:hidden!important}
.ht-image-skeleton{
  position:absolute;display:block;z-index:1;overflow:hidden;pointer-events:none;
  margin:0;padding:0;border:1px solid #ffffff04;border-radius:14px;
  background-color:var(--ht-loading-base);isolation:isolate;
  background-image:linear-gradient(105deg,transparent 32%,#ffffff08 43%,var(--ht-loading-warm) 50%,#ffffff08 57%,transparent 68%);
  background-size:240% 100%;background-position:100% 0;
  animation:ht-skeleton-shimmer 1.65s ease-in-out infinite;
}
.ht-image-skeleton.ht-skeleton-outside{animation-play-state:paused}
.ht-image-error{color:#a8a9af}
/* A visible pseudo-layer occupies the hidden label's existing geometry.
   The locale gate still owns visibility of all real text and controls. */
html.ht-language-pending:not([lang="en"]) :is([data-i18n],[data-ui],#page-title,#page-lead,#developer-line),
html.ht-language-pending .site-header nav a,
html.ht-language-pending :is([data-footer-statement],[data-footer-top]){position:relative}
html.ht-language-pending:not([lang="en"]) :is([data-i18n],[data-ui],#page-title,#page-lead,#developer-line)::before,
html.ht-language-pending .site-header nav a::before,
html.ht-language-pending :is([data-footer-statement],[data-footer-top])::before{
  content:"";visibility:visible;position:absolute;inset:.17em 0 .08em;
  display:block;pointer-events:none;border-radius:4px;
  background-color:var(--ht-loading-base);
  background-image:linear-gradient(105deg,transparent 32%,#ffffff08 43%,var(--ht-loading-warm) 50%,#ffffff08 57%,transparent 68%);
  background-size:240% 100%;background-position:100% 0;
  -webkit-mask-image:repeating-linear-gradient(to bottom,#000 0,#000 .74em,transparent .74em,transparent 1lh);
  mask-image:repeating-linear-gradient(to bottom,#000 0,#000 .74em,transparent .74em,transparent 1lh);
  animation:ht-skeleton-shimmer 1.65s ease-in-out infinite;
}
html.ht-language-pending .site-header :is(.header-actions,.header-right){position:relative}
html.ht-language-pending .site-header :is(.header-actions,.header-right)::before{
  content:"";visibility:visible;position:absolute;inset:0;display:block;
  border:1px solid #ffffff05;border-radius:10px;pointer-events:none;
  background-color:var(--ht-loading-base);
  background-image:linear-gradient(105deg,transparent 32%,#ffffff08 43%,var(--ht-loading-warm) 50%,#ffffff08 57%,transparent 68%);
  background-size:240% 100%;background-position:100% 0;
  animation:ht-skeleton-shimmer 1.65s ease-in-out infinite;
}
html.ht-loading-paused .ht-image-skeleton,
html.ht-loading-paused :is([data-i18n],[data-ui],#page-title,#page-lead,#developer-line,[data-footer-statement],[data-footer-top])::before,
html.ht-loading-paused .site-header nav a::before,
html.ht-loading-paused .site-header :is(.header-actions,.header-right)::before{animation-play-state:paused}
@keyframes ht-skeleton-shimmer{from{background-position:110% 0}to{background-position:-110% 0}}
@media(prefers-reduced-motion:reduce){
  .ht-image-skeleton,
  html.ht-language-pending :is([data-i18n],[data-ui],#page-title,#page-lead,#developer-line,[data-footer-statement],[data-footer-top])::before,
  html.ht-language-pending .site-header nav a::before,
  html.ht-language-pending .site-header :is(.header-actions,.header-right)::before{animation:none;background-image:none}
}
@media print{.ht-image-skeleton{display:none!important}.ht-image-loading{visibility:visible!important}}
