/* ============ SPLASH SCREEN ============ */
#qz-splash{
  position:fixed; inset:0; z-index:99999;
  background:#0F1826;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .45s ease, visibility .45s ease;
}
#qz-splash.qz-hide{ opacity:0; visibility:hidden; pointer-events:none; }
.qz-splash-inner{ text-align:center; }
.qz-splash-logo{
  font-family:'Space Grotesk', Arial, sans-serif; font-weight:700;
  font-size:34px; letter-spacing:-0.02em; color:#F7F4EE;
  display:flex; align-items:center; justify-content:center; gap:2px;
}
.qz-splash-logo span{ color:#FF5A1F; }
.qz-splash-mark{
  width:52px; height:52px; border-radius:14px; background:#FF5A1F;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 14px; font-family:'Space Grotesk',sans-serif; font-weight:700;
  font-size:26px; color:#0F1826;
  animation:qzPulse 1.4s ease-in-out infinite;
}
@keyframes qzPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.08); } }
.qz-splash-bar{
  width:140px; height:3px; background:rgba(247,244,238,.15); border-radius:3px;
  margin:18px auto 0; overflow:hidden;
}
.qz-splash-bar-fill{
  width:40%; height:100%; background:#FF5A1F; border-radius:3px;
  animation:qzLoad 1.1s ease-in-out infinite;
}
@keyframes qzLoad{
  0%{ transform:translateX(-100%); }
  100%{ transform:translateX(350%); }
}
.qz-splash-tag{
  margin-top:14px; font-family:'IBM Plex Mono',monospace; font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; color:#6B7688;
}

/* ============ INSTALL APP BUTTON (bottom-right) ============ */
.qz-install-btn{
  position:fixed; right:18px; bottom:18px; z-index:9998;
  display:none; align-items:center; gap:10px;
  background:#0F1826; color:#F7F4EE; border:1px solid rgba(255,90,31,.5);
  padding:12px 18px 12px 14px; border-radius:999px; cursor:pointer;
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13.5px;
  box-shadow:0 8px 24px rgba(15,24,38,.35);
  transition:transform .18s ease, box-shadow .18s ease;
}
.qz-install-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(15,24,38,.45); }
.qz-install-btn.qz-show{ display:inline-flex; }
.qz-install-btn .qz-ic{
  width:26px; height:26px; border-radius:8px; background:#FF5A1F; color:#0F1826;
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex:0 0 auto;
}
.qz-install-btn .qz-close{
  margin-left:2px; background:transparent; border:none; color:#6B7688; cursor:pointer;
  font-size:16px; line-height:1; padding:2px 4px;
}
.qz-install-btn .qz-close:hover{ color:#F7F4EE; }

@media (max-width:640px){
  .qz-install-btn{ right:12px; bottom:12px; padding:10px 14px 10px 10px; font-size:12.5px; }
}

/* ============ ACCOUNT WIDGET (top-right) ============ */
.qz-account-btn{
  position:fixed; right:18px; top:14px; z-index:9997;
  display:inline-flex; align-items:center; gap:8px;
  background:#0F1826; color:#F7F4EE; border:1px solid rgba(255,90,31,.5);
  padding:8px 14px; border-radius:999px; cursor:pointer;
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:12.5px;
  box-shadow:0 6px 18px rgba(15,24,38,.3);
}
.qz-account-btn .qz-av{
  width:22px; height:22px; border-radius:50%; background:#FF5A1F; color:#0F1826;
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:11px; flex:0 0 auto;
}
@media (max-width:640px){ .qz-account-btn{ top:10px; right:10px; padding:7px 11px; font-size:11.5px; } }

.qz-account-menu{
  position:fixed; right:18px; top:58px; z-index:9997; display:none;
  background:#fff; border:1px solid #DED6C4; border-radius:12px; overflow:hidden;
  box-shadow:0 16px 40px rgba(15,24,38,.2); min-width:180px;
  font-family:'Space Grotesk',sans-serif;
}
.qz-account-menu.qz-show{ display:block; }
.qz-account-menu a, .qz-account-menu button{
  display:block; width:100%; text-align:left; padding:11px 16px; font-size:13px;
  color:#20232A; background:none; border:none; cursor:pointer; font-family:inherit;
  border-bottom:1px solid #EDE7D9;
}
.qz-account-menu a:last-child, .qz-account-menu button:last-child{ border-bottom:none; }
.qz-account-menu a:hover, .qz-account-menu button:hover{ background:#F7F4EE; color:#FF5A1F; }

/* ============ AUTH MODAL ============ */
.qz-auth-backdrop{
  position:fixed; inset:0; background:rgba(15,24,38,.6); z-index:99997;
  display:none; align-items:center; justify-content:center; padding:16px;
}
.qz-auth-backdrop.qz-show{ display:flex; }
.qz-auth-box{
  background:#fff; color:#20232A; width:100%; max-width:380px; border-radius:16px;
  padding:26px; font-family:'Source Serif 4',Georgia,serif; position:relative;
}
.qz-auth-box .qz-auth-close{
  position:absolute; top:12px; right:14px; background:none; border:none; font-size:20px; cursor:pointer; color:#8A93A8;
}
.qz-auth-tabs{ display:flex; gap:4px; background:#F7F4EE; border-radius:10px; padding:3px; margin-bottom:18px; }
.qz-auth-tabs button{
  flex:1; padding:9px; border:none; background:none; border-radius:8px; cursor:pointer;
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13px; color:#6B6F78;
}
.qz-auth-tabs button.active{ background:#FF5A1F; color:#fff; }
.qz-auth-form{ display:none; flex-direction:column; gap:10px; }
.qz-auth-form.active{ display:flex; }
.qz-auth-form input{
  padding:11px 12px; border:1px solid #DED6C4; border-radius:8px; font-family:inherit; font-size:14px;
}
.qz-auth-form button[type=submit]{
  background:#FF5A1F; color:#fff; border:none; padding:12px; border-radius:8px;
  font-family:'Space Grotesk',sans-serif; font-weight:700; cursor:pointer; margin-top:4px; font-size:14px;
}
.qz-auth-err{ color:#D33636; font-size:12.5px; display:none; }
.qz-auth-err.qz-show{ display:block; }
.qz-auth-title{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px; margin-bottom:4px; }
.qz-auth-sub{ color:#6B6F78; font-size:13px; margin-bottom:16px; }
.qz-ios-modal-backdrop{
  position:fixed; inset:0; background:rgba(15,24,38,.55); z-index:99998;
  display:none; align-items:flex-end; justify-content:center;
}
.qz-ios-modal-backdrop.qz-show{ display:flex; }
.qz-ios-modal{
  background:#fff; color:#20232A; width:100%; max-width:440px;
  border-radius:18px 18px 0 0; padding:22px 22px 26px; font-family:'Source Serif 4',Georgia,serif;
}
.qz-ios-modal h4{ font-family:'Space Grotesk',sans-serif; margin-bottom:10px; font-size:17px; }
.qz-ios-modal ol{ margin:0 0 16px 18px; padding:0; font-size:14.5px; line-height:1.7; }
.qz-ios-modal button{
  width:100%; background:#FF5A1F; color:#fff; border:none; padding:12px; border-radius:10px;
  font-family:'Space Grotesk',sans-serif; font-weight:600; cursor:pointer; font-size:14px;
}
