/*
 * Sofiya notification modal canonical layer.
 * This file intentionally controls ONLY the notification modal. It does not
 * add backgrounds/margins to single page sections, hero, body content, boxes
 * or download cards.
 */
.sofiya-notification-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147482400!important;
  display:block!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  overflow:hidden!important;
  pointer-events:none!important;
  direction:rtl!important;
  box-sizing:border-box!important;
}
.sofiya-notification-modal[hidden]{display:none!important}
.sofiya-notification-modal.is-open{pointer-events:auto!important}
.sofiya-notification-modal *,
.sofiya-notification-modal *::before,
.sofiya-notification-modal *::after{box-sizing:border-box}
.sofiya-notification-modal__backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(2,6,8,.48)!important;
  -webkit-backdrop-filter:blur(14px) saturate(120%)!important;
  backdrop-filter:blur(14px) saturate(120%)!important;
  opacity:0!important;
  transition:opacity .22s ease!important;
  transform:translateZ(0)!important;
}
.sofiya-notification-modal.is-open .sofiya-notification-modal__backdrop{opacity:1!important}
.sofiya-notification-modal__sheet{
  position:absolute!important;
  top:0!important;
  bottom:max(14px,env(safe-area-inset-bottom))!important;
  left:50%!important;
  right:auto!important;
  width:min(480px,calc(100vw - 24px))!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(8,30,23,.98),rgba(3,22,17,.98))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-top:0!important;
  border-radius:0 0 34px 34px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.48)!important;
  opacity:1!important;
  transform:translate3d(-50%,-112%,0)!important;
  transition:transform .54s cubic-bezier(.22,1,.36,1)!important;
  will-change:transform!important;
  contain:layout paint!important;
}
.sofiya-notification-modal.is-open .sofiya-notification-modal__sheet{transform:translate3d(-50%,0,0)!important}
.sofiya-notification-modal__body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding:16px 14px 22px!important;
}
.sofiya-notification-modal__bottom{
  flex:0 0 auto!important;
  position:relative!important;
  bottom:auto!important;
  margin-top:0!important;
  padding:14px 18px calc(14px + env(safe-area-inset-bottom))!important;
}
html.sofiya-notification-modal-open,
html:has(body.sofiya-notification-modal-open),
body.sofiya-notification-modal-open{
  overflow:visible!important;
  overscroll-behavior:auto!important;
}
@media (max-width:640px){
  .sofiya-notification-modal__sheet{
    --sofiya-notification-mobile-gap:14px;
    left:max(var(--sofiya-notification-mobile-gap),env(safe-area-inset-left))!important;
    right:max(var(--sofiya-notification-mobile-gap),env(safe-area-inset-right))!important;
    width:auto!important;
    max-width:none!important;
    height:min(88dvh,calc(100dvh - env(safe-area-inset-bottom)))!important;
    max-height:calc(100dvh - env(safe-area-inset-bottom))!important;
    border-left:1px solid rgba(255,255,255,.12)!important;
    border-right:1px solid rgba(255,255,255,.12)!important;
    border-radius:0 0 28px 28px!important;
    bottom:auto!important;
    transform:translate3d(0,-112%,0)!important;
  }
  .sofiya-notification-modal.is-open .sofiya-notification-modal__sheet{transform:translate3d(0,0,0)!important}
}
@media (max-width:380px){
  .sofiya-notification-modal__sheet{--sofiya-notification-mobile-gap:10px}
}
@media (prefers-reduced-motion:reduce){
  .sofiya-notification-modal__backdrop,
  .sofiya-notification-modal__sheet{transition:none!important}
}

/* Notification feed content — moved here after the CSS split so AJAX-loaded
   notification cards never depend on account-lite/user-panel CSS. */
 .sofiya-notification-modal__loading{
  position:absolute!important;
  inset:0 0 86px 0!important;
  z-index:5!important;
  display:grid!important;
  place-items:center!important;
  min-height:180px!important;
  padding:0!important;
  color:#d8e0f7!important;
  pointer-events:none!important;
}
.sofiya-notification-modal__loading[hidden]{display:none!important}
.sofiya-notification-modal__loading svg{
  width:26px!important;
  height:26px!important;
  display:block!important;
  animation:sofiya-notification-spin .9s linear infinite!important;
}
.sofiya-notification-modal.is-loading-initial .sofiya-notification-modal__body{
  opacity:.34!important;
}
@keyframes sofiya-notification-spin{to{transform:rotate(360deg)}}
.sofiya-notification-modal__close,
.sofiya-notification-modal__archive{
  appearance:none!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border-radius:16px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  cursor:pointer!important;
  position:relative!important;
  padding:0!important;
}
.sofiya-notification-modal__close:hover,
.sofiya-notification-modal__archive:hover{background:rgba(255,255,255,.13)!important;color:#fff!important}
.sofiya-notification-modal__archive svg,
.sofiya-notification-modal__close svg{
  width:23px!important;
  height:23px!important;
  flex:0 0 23px!important;
  display:block!important;
}
.sofiya-notification-modal__badge{
  position:absolute!important;
  top:-4px!important;
  right:-4px!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  background:#ff453a!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(255,69,58,.32)!important;
}
.sofiya-notification-modal__handle{}
.sofiya-notification-modal__handle span{
  pointer-events:none!important;
  display:block!important;
  width:74px!important;
  height:5px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.26)!important;
}
.sofiya-notification-modal__body{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.sofiya-notification-modal__body::-webkit-scrollbar{display:none!important}
.sofiya-notification-modal__body.is-loading-more::after{
  content:""!important;
  align-self:center!important;
  width:22px!important;
  height:22px!important;
  border-radius:50%!important;
  border:2px solid rgba(255,255,255,.18)!important;
  border-top-color:rgba(125,252,234,.95)!important;
  animation:sofiya-notification-spin .9s linear infinite!important;
}
.sofiya-notification-empty{
  padding:18px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  color:#d9e4ef!important;
  text-align:center!important;
  font-size:13px!important;
  line-height:1.9!important;
}
.sofiya-ios-notification-card{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:96px!important;
  text-align:right!important;
  direction:rtl!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.08))!important;
  -webkit-backdrop-filter:blur(24px) saturate(160%)!important;
  backdrop-filter:blur(24px) saturate(160%)!important;
  border-radius:24px!important;
  padding:14px 16px 26px!important;
  color:#fff!important;
  box-shadow:0 18px 40px rgba(0,0,0,.18)!important;
  text-decoration:none!important;
  overflow:hidden!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease!important;
}
button.sofiya-ios-notification-card{cursor:pointer!important}
.sofiya-ios-notification-card:hover{
  color:#fff!important;
  transform:translateY(-1px)!important;
  border-color:rgba(125,252,234,.22)!important;
}
.sofiya-ios-notification-card__top{
  position:absolute!important;
  left:13px!important;
  right:auto!important;
  bottom:8px!important;
  top:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  margin:0!important;
  color:#a7a7a7!important;
  font-size:.64rem!important;
  line-height:1.4!important;
  direction:ltr!important;
  max-width:calc(100% - 26px)!important;
  z-index:2!important;
}
.sofiya-ios-notification-card__top time,
.sofiya-ios-notification-card__top span{
  color:#a7a7a7!important;
  font-size:.64rem!important;
  line-height:1.4!important;
  white-space:nowrap!important;
}
.sofiya-ios-notification-card__body{
  display:flex!important;
  flex-direction:row!important;
  gap:12px!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  min-width:0!important;
  width:100%!important;
}
.sofiya-ios-notification-card__thumb{
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  flex:0 0 68px!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.08)!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
}
.sofiya-ios-notification-card__thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.sofiya-ios-notification-card__thumb-fallback{
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  color:rgba(255,255,255,.72)!important;
}
.sofiya-ios-notification-card__thumb-fallback svg{width:24px!important;height:24px!important;display:block!important}
.sofiya-ios-notification-card__meta{
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:4px!important;
  padding:0!important;
}
.sofiya-ios-notification-card__meta--text{padding-top:2px!important;gap:4px!important}
.sofiya-ios-notification-card__title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:1!important;
  overflow:hidden!important;
  margin:0!important;
  color:#fff!important;
  font-size:.8rem!important;
  font-weight:700!important;
  line-height:1.8!important;
  text-align:right!important;
}
.sofiya-ios-notification-card__excerpt{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  margin:0!important;
  color:#ddfbee!important;
  font-size:.7rem!important;
  line-height:1.9!important;
  text-align:right!important;
}
.sofiya-ios-notification-card__mini{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:1!important;
  overflow:hidden!important;
  color:#e8f7ec!important;
  font-size:.64rem!important;
  line-height:1.7!important;
  text-align:right!important;
}
.sofiya-line-clamp-1,
.sofiya-line-clamp-4{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.sofiya-line-clamp-1{-webkit-line-clamp:1!important}
.sofiya-line-clamp-4{-webkit-line-clamp:4!important}
@media (max-width:640px){
  .sofiya-notification-modal__loading{inset:0 0 78px 0!important}
  .sofiya-notification-modal__body{padding:14px 12px 18px!important;gap:10px!important}
  .sofiya-notification-modal__bottom{padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;gap:12px!important}
  .sofiya-ios-notification-card{min-height:90px!important;padding:13px 14px 24px!important;border-radius:22px!important}
  .sofiya-ios-notification-card__body{gap:10px!important;align-items:flex-start!important}
  .sofiya-ios-notification-card__thumb{width:60px!important;height:60px!important;min-width:60px!important;flex-basis:60px!important;border-radius:15px!important}
  .sofiya-ios-notification-card__title{font-size:.76rem!important;line-height:1.8!important}
  .sofiya-ios-notification-card__excerpt{font-size:.66rem!important;line-height:1.9!important}
  .sofiya-ios-notification-card__mini{font-size:.62rem!important}
  .sofiya-ios-notification-card__top{left:12px!important;bottom:7px!important;font-size:.62rem!important}
  .sofiya-ios-notification-card__top time,
  .sofiya-ios-notification-card__top span{font-size:.62rem!important}
}
.sofiya-toast-lite{
  position:fixed!important;
  right:18px!important;
  bottom:20px!important;
  z-index:2147482500!important;
  max-width:min(360px,calc(100vw - 36px))!important;
  padding:12px 14px!important;
  border-radius:16px!important;
  background:rgba(11,17,23,.96)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 20px 60px rgba(0,0,0,.35)!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1.8!important;
  opacity:0!important;
  transform:translateY(10px)!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
.sofiya-toast-lite a{color:var(--green,#7dfcea)!important;font-weight:800!important}
.sofiya-toast-lite.is-visible{opacity:1!important;transform:translateY(0)!important}
@media (max-width:640px){
  .sofiya-toast-lite{right:12px!important;left:12px!important;bottom:18px!important;max-width:none!important}
}
