/* FILUXIA ATLAS R45 · one premium AUREA visual language for login + refresh */
:root{
  --r45-gold:var(--gold,#c79a52);
  --r45-gold2:var(--gold-2,#d8bd8a);
  --r45-bg0:var(--bg-0,#f7f1e6);
  --r45-bg1:var(--bg-1,#fff9f0);
  --r45-text:var(--text,#243445);
  --r45-muted:var(--muted,#687582);
}

/* Keep the original boot engine alive for real recovery, but never show its old loading copy. */
#bootScreen:not(.hidden){display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:none!important;align-items:center!important;justify-content:center!important;background:linear-gradient(145deg,var(--r45-bg0),var(--r45-bg1))!important}
#bootScreen.hidden{display:none!important}
#bootScreen>.boot-mark,#bootScreen>strong,#bootScreen>#bootStatusText,#bootScreen>#bootPreparation{display:none!important}
#bootScreen>#bootRecovery{display:none!important}
#bootScreen.r45-recovery-visible{pointer-events:auto!important}
#bootScreen.r45-recovery-visible>#bootRecovery{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}

.r44-auth-home-link,.r45-auth-home-link{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;color:inherit;text-decoration:none;font-size:12px;font-weight:760;letter-spacing:.02em;opacity:.72;transition:opacity .18s ease,transform .18s ease}.r44-auth-home-link:hover,.r45-auth-home-link:hover{opacity:1;transform:translateX(-2px)}

.r45-startup-overlay{position:fixed;inset:0;z-index:2147483200;display:grid;place-items:center;box-sizing:border-box;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));pointer-events:none;opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease,filter .24s ease;isolation:isolate;background:linear-gradient(145deg,color-mix(in srgb,var(--r45-bg0) 97%,transparent),color-mix(in srgb,var(--r45-bg1) 98%,transparent));backdrop-filter:blur(4px)}
.r45-startup-overlay::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 41%,color-mix(in srgb,var(--r45-gold) 8%,transparent),transparent 33%);opacity:.9}
.r45-startup-overlay.is-visible{opacity:1;visibility:visible}
.r45-startup-overlay.is-exiting{opacity:0;visibility:hidden;filter:blur(1.2px)}

.r45-card{position:relative;z-index:1;width:min(520px,calc(100vw - 34px));display:grid;grid-template-columns:60px minmax(0,1fr) auto;grid-template-areas:"brand brand brand" "mark copy dots";gap:10px 17px;align-items:center;padding:20px 22px 19px;border:1px solid color-mix(in srgb,var(--r45-gold) 30%,transparent);border-radius:24px;background:color-mix(in srgb,var(--r45-bg1) 92%,transparent);box-shadow:0 18px 54px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.38);color:var(--r45-text);animation:r45CardIn .32s cubic-bezier(.2,.72,.2,1) both}
.r45-brand{grid-area:brand;color:color-mix(in srgb,var(--r45-gold) 88%,var(--r45-text));font:700 9px/1.1 Georgia,serif;letter-spacing:.25em;text-indent:.25em;opacity:.86}
.r45-brand span{color:var(--r45-gold)}
.r45-mark{grid-area:mark;position:relative;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--r45-gold) 34%,transparent);background:color-mix(in srgb,var(--r45-gold) 7%,transparent);box-shadow:inset 0 0 0 7px color-mix(in srgb,var(--r45-gold) 2.6%,transparent)}
.r45-mark::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid color-mix(in srgb,var(--r45-gold) 16%,transparent);animation:r45Halo 2.2s ease-in-out infinite}
.r45-mark span{display:grid;place-items:center;width:100%;height:100%}.r45-mark img{width:34px;height:34px;object-fit:contain}
.r45-copy{grid-area:copy;min-width:0}.r45-copy strong{display:block;font:500 21px/1.15 Georgia,serif;letter-spacing:-.015em;text-wrap:balance}.r45-copy p{margin:6px 0 0;color:var(--r45-muted);font-size:13px;line-height:1.48;text-wrap:balance}.r45-copy small{display:block;margin-top:5px;color:var(--r45-muted);font-size:11px;opacity:.84}
.r45-dots{grid-area:dots;display:flex;gap:5px;align-items:center}.r45-dots i{width:6px;height:6px;border-radius:50%;background:var(--r45-gold);animation:r45Dot 1.18s ease-in-out infinite}.r45-dots i:nth-child(2){animation-delay:.16s}.r45-dots i:nth-child(3){animation-delay:.32s}
.r45-startup-overlay.is-login .r45-card{border-color:color-mix(in srgb,var(--r45-gold) 36%,transparent);box-shadow:0 20px 58px rgba(0,0,0,.105),0 0 0 1px color-mix(in srgb,var(--r45-gold) 4%,transparent)}
.r45-startup-overlay.is-login .r45-brand{opacity:1}
.r45-startup-overlay.is-long-wait .r45-card{box-shadow:0 18px 50px rgba(0,0,0,.08)}

@keyframes r45CardIn{from{opacity:0;transform:translateY(5px) scale(.995)}to{opacity:1;transform:none}}
@keyframes r45Halo{0%,100%{opacity:.30;transform:scale(.985)}50%{opacity:.72;transform:scale(1.025)}}
@keyframes r45Dot{0%,100%{opacity:.28;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}

@media(max-width:620px){
  .r45-card{grid-template-columns:48px minmax(0,1fr);grid-template-areas:"brand brand" "mark copy" "dots dots";padding:17px 16px 15px;border-radius:21px;gap:9px 13px}
  .r45-mark{width:46px;height:46px}.r45-mark img{width:28px;height:28px}
  .r45-copy strong{font-size:18px}.r45-copy p{font-size:12.5px;line-height:1.44}.r45-copy small{font-size:10.5px}
  .r45-dots{justify-content:center;margin-top:2px}
  #bootScreen.r45-recovery-visible>#bootRecovery,
  #bootScreen.boot-failed>#bootRecovery{box-sizing:border-box!important;position:fixed!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;width:calc(100vw - 28px)!important;max-width:430px!important;min-width:0!important;transform:translate(-50%,-50%)!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:12px!important;padding:18px!important}
  #bootScreen.r45-recovery-visible>#bootRecovery .boot-recovery-actions,
  #bootScreen.boot-failed>#bootRecovery .boot-recovery-actions{grid-column:1/-1!important;width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
  #bootScreen.r45-recovery-visible>#bootRecovery .boot-recovery-actions button,
  #bootScreen.boot-failed>#bootRecovery .boot-recovery-actions button{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:46px!important;padding:11px 14px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;writing-mode:horizontal-tb!important;line-height:1.25!important}
}
@media(prefers-reduced-motion:reduce){.r45-startup-overlay,.r45-card,.r45-mark::after,.r45-dots i{animation:none!important;transition:none!important}}
