/* Lightweight shared first-paint / React loading identity. No canvas or image filters. */
.ag-loading, #loading-overlay.ag-loading {
  position: fixed; inset: 0; z-index: 40; display: grid; place-items: center;
  box-sizing: border-box; overflow: auto; gap: 0; color: #e7ca91;
  padding: max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
  background: radial-gradient(ellipse at 50% 34%, #252039 0, #12101d 43%, #090910 78%);
  transition: opacity .3s ease, visibility 0s .3s;
  font-family: Inter, system-ui, sans-serif;
}
#loading-overlay.ag-loading.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.ag-loading.hidden .ag-loading-seal i::after, .ag-loading.hidden .ag-loading-track::after { animation: none; }
.brand-mark { flex-shrink: 0; object-fit: contain; }
.lp-title .wordmark { display: block; width: clamp(240px, 55vw, 440px); max-width: 100%; height: auto; }
.ag-loading-frame { position: absolute; inset: 22px; border: 1px solid #e7ca911c; pointer-events: none; }
.ag-loading-frame::before, .ag-loading-frame::after { content: ''; position: absolute; width: 32px; height: 32px; border-color: #e7ca9170; border-style: solid; }
.ag-loading-frame::before { inset: -1px auto auto -1px; border-width: 1px 0 0 1px; }
.ag-loading-frame::after { inset: auto -1px -1px auto; border-width: 0 1px 1px 0; }
.ag-loading-content { width: min(440px, 100%); position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; margin: auto; }
.ag-loading-seal { position: relative; display: grid; place-items: center; width: 212px; height: 212px; margin-bottom: 12px; }
.ag-loading-seal::before { content: ''; position: absolute; inset: -30px; border-radius: 50%; background: radial-gradient(circle, #d4a45a12, transparent 68%); }
.ag-loading-seal i { position: absolute; inset: 0; border: 1px solid #e7ca911c; border-radius: 50%; }
.ag-loading-seal i::after { content: ''; position: absolute; inset: -1px; border: 1px solid transparent; border-top-color: #e7ca91a0; border-radius: 50%; animation: ag-seal-orbit 8s linear infinite; }
.ag-loading-seal .brand-mark { display: block; position: relative; width: 180px; height: 180px; }
.ag-loading-content .wordmark { display: block; flex: none; width: min(330px, 85%); height: auto; max-width: 100%; }
.ag-loading-edition { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 18px 0 36px; font-size: 9px; font-weight: 600; letter-spacing: .34em; color: #b7a386; }
.ag-loading-edition span { width: 30px; height: 1px; background: #e7ca9140; }
.ag-loading-content .ag-loading-track { flex: none; position: relative; width: min(248px, 76%); height: 2px; border: 0; border-radius: 0; background: #e7ca9120; overflow: hidden; }
.ag-loading-track .loader-bar { height: 100%; width: 15%; background: linear-gradient(90deg, #8c693d, #f3dfb3); box-shadow: none; border-radius: 0; transition: width .25s ease; }
.ag-loading-track::after { content: ''; position: absolute; inset: 0; width: 35%; background: linear-gradient(90deg, transparent, #fff2cf, transparent); animation: ag-load-pass 1.8s ease-in-out infinite; }
.ag-loading-content #loader-text { max-width: 100%; margin-top: 18px; color: #b9b2c6; font: 400 11px/1.6 Inter, system-ui, sans-serif; letter-spacing: .035em; }
.ag-loading-content .ld-tip { min-height: 3em; max-width: 310px; margin-top: 26px; color: #8d879c; font: 400 11px/1.65 Inter, system-ui, sans-serif; animation: none; }
@keyframes ag-seal-orbit { to { transform: rotate(360deg); } }
@keyframes ag-load-pass { from { transform: translateX(-100%); } to { transform: translateX(390%); } }
@media (max-width: 480px) {
  .ag-loading-frame { inset: 12px; }
  .ag-loading-seal { width: 176px; height: 176px; }
  .ag-loading-seal .brand-mark { width: 148px; height: 148px; }
  .ag-loading-content .wordmark { width: min(280px, 85%); }
}
@media (max-height: 550px) {
  .ag-loading-seal { width: 106px; height: 106px; margin-bottom: 6px; }
  .ag-loading-seal .brand-mark { width: 90px; height: 90px; }
  .ag-loading-content .wordmark { width: 210px; }
  .ag-loading-edition { margin: 8px 0 18px; }
  .ag-loading-content .ld-tip { margin-top: 12px; min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ag-loading-seal i::after, .ag-loading-track::after { animation: none; }
  .ag-loading-track::after { display: none; }
  #loading-overlay.ag-loading, .ag-loading-track .loader-bar { transition: none; }
}
