:root{
  --bg:#060606;--stroke:rgba(255,255,255,.10);--stroke2:rgba(255,255,255,.16);
  --orange:#ff6a00;--orange2:#ff9a3d;--text:#f2f2f2;--muted:rgba(242,242,242,.72);
  --shadow:0 18px 52px rgba(0,0,0,.62);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;color:var(--text);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:
    radial-gradient(900px 520px at 50% 0%, rgba(255,106,0,.22), transparent 62%),
    radial-gradient(820px 520px at 100% 55%, rgba(255,154,61,.10), transparent 58%),
    linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.92)),
    var(--bg);
}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px 80px}
.topbar{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(12px);
  background:linear-gradient(180deg, rgba(0,0,0,.90), rgba(0,0,0,.55));
  border-bottom:1px solid var(--stroke);
}
.topbar .inner{
  max-width:1180px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:14px 16px;
}
.brand{display:flex;align-items:center;gap:14px;min-width:260px}
.logo{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 12px 26px rgba(255,106,0,.22)) drop-shadow(0 8px 18px rgba(0,0,0,.65));transform-origin:50% 50%}
.name{font-size:22px;letter-spacing:1.6px;line-height:1.05}
.tag{font-size:12px;color:var(--muted);margin-top:4px}
.nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{
  border:1px solid rgba(255,106,0,.55);
  background:linear-gradient(180deg, rgba(255,106,0,.24), rgba(255,106,0,.10));
  color:var(--text);
  padding:9px 12px;border-radius:12px;
  cursor:pointer;
  box-shadow:0 12px 34px rgba(0,0,0,.5);
  transition:transform .18s ease, filter .18s ease, border-color .18s ease;
  font-size:13px;display:inline-flex;gap:8px;align-items:center;
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05);border-color:rgba(255,154,61,.75)}
.btn.secondary{border:1px solid var(--stroke2);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02))}
.btn.danger{border-color:rgba(255,80,80,.45);background:linear-gradient(180deg, rgba(255,80,80,.18), rgba(255,80,80,.06))}

.hero{padding:22px 0 10px}
.card{
  border:1px solid var(--stroke);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border-radius:18px;box-shadow:var(--shadow);
  position:relative;overflow:hidden
}
.card::before{
  content:"";position:absolute;inset:-1px;
  background:radial-gradient(560px 240px at 30% 0%, rgba(255,106,0,.22), transparent 62%);
  pointer-events:none
}
.pad{position:relative;padding:16px}
.h1{font-size:30px;margin:0 0 8px;line-height:1.2}
.p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.small{font-size:11px;color:var(--muted)}

.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.input,select,textarea{
  border:1px solid var(--stroke2);
  background:rgba(0,0,0,.28);
  color:var(--text);
  padding:10px 12px;border-radius:12px;outline:none
}
textarea{width:100%;min-height:180px;resize:vertical}
.input{flex:1;min-width:220px}
.input:focus,select:focus,textarea:focus{border-color:rgba(255,106,0,.60);box-shadow:0 0 0 3px rgba(255,106,0,.12)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.grid{grid-template-columns:1fr}}
.pCard{
  border:1px solid var(--stroke);
  background:linear-gradient(180deg, rgba(0,0,0,.20), rgba(0,0,0,.38));
  border-radius:18px;box-shadow:var(--shadow);
  overflow:hidden;position:relative;
  transition:transform .18s ease, border-color .18s ease
}
/* Full-card orange “sun reflection” on hover */
.pCard::before{
  content:"";position:absolute;inset:-55%;pointer-events:none;
  background:linear-gradient(120deg,
    rgba(255,154,61,0) 35%,
    rgba(255,154,61,.08) 50%,
    rgba(255,154,61,0) 65%
  );
  transform:
    translateX(calc((var(--mx,50%) - 50%) * .5))
    translateY(calc((var(--my,50%) - 50%) * .25))
    rotate(-10deg);
  opacity:0;transition:opacity .18s ease;
  mix-blend-mode:screen;
}
.pCard::after{
  content:"";position:absolute;inset:-1px;pointer-events:none;
  background:radial-gradient(900px 520px at var(--mx,50%) var(--my,30%), rgba(255,106,0,.06), transparent 62%);
  opacity:0;transition:opacity .18s ease;
}
.pCard:hover{border-color:rgba(255,106,0,.30);transform:translateY(-2px)}
.pCard:hover::before,.pCard:hover::after{opacity:1}

.pTop{display:flex;gap:12px;padding:14px 14px 10px}
.avatar{width:56px;height:56px;border-radius:16px;
  border:1px solid rgba(255,106,0,.45);
  background:rgba(255,106,0,.10);
  object-fit:cover;
  box-shadow:0 0 0 2px rgba(255,106,0,.22), 0 0 0 7px rgba(255,154,61,.08), 0 16px 34px rgba(0,0,0,.65);
}
.pName{margin:0;font-size:16px}
.pTitle{margin:4px 0 0;font-size:12px;color:var(--muted)}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.badge{font-size:11px;padding:6px 9px;border-radius:999px;border:1px solid var(--stroke2);background:rgba(255,255,255,.04)}
.badge.live{border-color:rgba(80,255,120,.45);background:rgba(80,255,120,.08)}
.badge.next{border-color:rgba(255,106,0,.45);background:rgba(255,106,0,.08)}
.badge.countdown{border-color:rgba(255,154,61,.55);background:rgba(255,154,61,.08)}
.pBio{margin:10px 14px 12px;color:rgba(242,242,242,.82);font-size:13px;line-height:1.6}
.links{display:flex;flex-wrap:wrap;gap:10px;padding:0 14px 14px;justify-content:center;align-items:center}
.socIcon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:12px;transition:transform .15s ease,filter .15s ease,opacity .15s ease}
.socIcon svg{width:100%;height:100%;display:block}
.socIcon:hover{transform:translateY(-1px);filter:drop-shadow(0 10px 20px rgba(255,106,0,.22))}
.socIcon.disabled{opacity:.28;cursor:not-allowed;filter:none}
.socIcon.disabled:hover{transform:none;filter:none}
.linkBtn{border:1px solid var(--stroke2);background:rgba(255,255,255,.04);padding:8px 10px;border-radius:12px;font-size:12px;display:inline-flex;align-items:center;gap:8px;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.linkBtn:hover{transform:translateY(-1px);border-color:rgba(255,106,0,.50);background:rgba(255,106,0,.08)}
.kpi{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.kpi .badge{padding:8px 10px;font-size:12px}

.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:80}
.modal.open{display:flex}
.overlay{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}
.dialog{position:relative;width:min(900px,92vw);border:1px solid var(--stroke2);border-radius:18px;background:linear-gradient(180deg, rgba(12,12,12,.92), rgba(8,8,8,.96));box-shadow:0 22px 70px rgba(0,0,0,.70);overflow:hidden}
.dialog.dialog-sm{width:min(420px,92vw)}
.head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--stroke)}
.body{padding:14px}
.hr{height:1px;background:var(--stroke);margin:12px 0}
.table{width:100%;border-collapse:separate;border-spacing:0 10px}
.table td{padding:10px 12px;background:rgba(255,255,255,.03);border:1px solid var(--stroke);border-left:none;border-right:none}
.table tr td:first-child{border-right:1px solid var(--stroke);border-radius:14px 0 0 14px}
.table tr td:last-child{border-left:1px solid var(--stroke);border-radius:0 14px 14px 0}

@supports not (backdrop-filter: blur(12px)){
  .topbar{backdrop-filter:none;background:rgba(0,0,0,.92)}
}

/* Toast (nice popups instead of alert/confirm) */
.toast{position:fixed;left:16px;right:16px;bottom:18px;margin:0 auto;max-width:520px;
  padding:12px 14px;border-radius:14px;border:1px solid var(--stroke2);
  background:linear-gradient(180deg, rgba(12,12,12,.94), rgba(8,8,8,.96));
  box-shadow:0 18px 52px rgba(0,0,0,.62);
  transform:translateY(18px);opacity:0;pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  text-align:right
}
.toast.show{opacity:1;transform:translateY(0)}
.toast.error{border-color:rgba(255,80,80,.45)}

/* --- Mobile performance tuning (keep look, reduce GPU blur cost) --- */
@media (max-width: 720px){
  :root{ --shadow:0 12px 34px rgba(0,0,0,.55); }

  body{
    background:
      radial-gradient(650px 360px at 50% 0%, rgba(255,106,0,.18), transparent 60%),
      linear-gradient(180deg, rgba(0,0,0,.78), rgba(0,0,0,.93)),
      var(--bg);
  }

  /* Backdrop blur is expensive on many mobile GPUs — reduce strength + increase opacity */
  .topbar{
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    background: rgba(0,0,0,.92);
  }

  /* Modal overlay: remove blur (big win) while keeping a similar dimmed feel */
  .overlay{
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: rgba(0,0,0,.80);
  }
}

@media (max-width: 420px){
  .topbar{
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }
}

/* Respect OS accessibility prefs when available */
@media (prefers-reduced-transparency: reduce){
  .topbar, .overlay{
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  .topbar{ background: rgba(0,0,0,.94) !important; }
  .overlay{ background: rgba(0,0,0,.82) !important; }
}

/* Icon buttons for social links */
.linkBtn.icon{padding:10px;min-width:46px;min-height:46px;justify-content:center}
.linkBtn.icon svg{width:22px;height:22px;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}
/* keep original icon colors; do not force monochrome on hover */

/* Speaker button */
.iconBtn{padding:10px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.iconBtn svg{width:20px;height:20px;fill:rgba(242,242,242,.92)}
.iconBtn.on{border-color:rgba(255,106,0,.55)}


/* Auth name badge (shown after login) */
.authName{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid var(--stroke2);
  background:rgba(0,0,0,.35);
  box-shadow:0 10px 26px rgba(0,0,0,.45);
  cursor:pointer;
  user-select:none;
}
.authName:hover{
  border-color: rgba(255,106,0,.55);
  box-shadow:0 14px 32px rgba(0,0,0,.55), 0 0 0 1px rgba(255,106,0,.25) inset;
}

/* Title frame (لقب) */
.pTitle{ margin-top:6px; }
.titleFrame{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,106,0,.45);
  background:rgba(255,106,0,.12);
  box-shadow: 0 10px 26px rgba(0,0,0,.35), 0 0 0 1px rgba(255,154,61,.18) inset;
  color:rgba(242,242,242,.92);
  font-size:12.5px;
  letter-spacing:.2px;
}

/* One-line meta row for موعد + عداد */
.metaRow{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:10px;
  margin-bottom:8px;
}
.metaRow .badge{
  white-space:nowrap;
}


/* --- Welcome Screen --- */
body.welcomeOn{overflow:hidden}
.welcome{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  background: radial-gradient(1200px 600px at 50% 30%, rgba(255,106,0,.18), transparent 60%),
              linear-gradient(180deg, rgba(0,0,0,.92), rgba(0,0,0,.96));
  backdrop-filter: blur(10px);
  transform: translateY(0);
  opacity:1;
  transition: transform .8s cubic-bezier(.2,.9,.2,1), opacity .35s ease;
  will-change: transform, opacity;
}
.welcome.hide{
  transform: translateY(-110%);
  opacity:0;
  pointer-events:none;
}
.welcomeInner{
  width:min(720px,92vw);
  display:flex; gap:18px; align-items:center;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  padding:18px 18px;
  background: rgba(15,15,15,.55);
  box-shadow: var(--shadow);
}
.welcomeLogoWrap{
  flex:0 0 auto;
  width:120px; height:120px;
  border-radius:22px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,106,0,.10);
  border:1px solid rgba(255,106,0,.25);
}
.welcomeLogo{width:92px;height:92px;object-fit:contain;filter: drop-shadow(0 10px 22px rgba(0,0,0,.7));}
.welcomeTitle{font-size:22px;font-weight:900;letter-spacing:.2px}
.welcomeMsg{margin-top:6px;color:rgba(242,242,242,.86);line-height:1.55}
.welcomeCopy{margin-top:10px;color:rgba(242,242,242,.62);font-size:12px}

/* --- Vertical maker tag --- */
.makerTag{
  position:fixed; left:10px; top:50%; transform:translateY(-50%) rotate(-90deg);
  transform-origin:left top;
  z-index:50;
  display:flex; gap:10px; align-items:center;
  padding:8px 12px;
  border-radius:14px;
  background: rgba(10,10,10,.55);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(8px);
  box-shadow: 0 14px 38px rgba(0,0,0,.45);
  font-size:12px;
}
.makerTag span{color:rgba(242,242,242,.7)}
.makerTag b{color:var(--orange2);font-weight:800}

/* --- Center meta row --- */
.metaRow{justify-content:center;text-align:center}

/* --- Social icons row: consistent layout --- */
.links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
  margin-top:12px;
}
.linkBtn.icon{
  width:34px; height:34px;
  display:grid; place-items:center;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding:0;
  border-radius:10px;
  transition: transform .12s ease, filter .12s ease, opacity .12s ease;
}
.linkBtn.icon svg{width:26px;height:26px;display:block}
.linkBtn.icon:hover{transform: translateY(-1px) scale(1.04); filter: drop-shadow(0 10px 20px rgba(0,0,0,.55));}
.linkBtn.icon.disabled{opacity:.22; pointer-events:none; filter:none}


/* --- Footer copyright --- */
.footerCopy{
  margin:24px auto 14px;
  width:min(1100px,92vw);
  text-align:center;
  color:rgba(242,242,242,.55);
  font-size:12px;
  padding:10px 12px;
}


/* --- Welcome explode-out animation --- */
.welcome.explode{pointer-events:none;}
.welcome.explode .welcomeInner{
  animation: explodeOut .7s cubic-bezier(.2,.9,.1,1) forwards;
}
.welcome.explode::after{
  content:"";
  position:absolute; inset:-20%;
  background: radial-gradient(circle at 50% 50%, rgba(255,106,0,.55), transparent 45%);
  opacity:0;
  animation: flashOut .7s ease forwards;
}
@keyframes explodeOut{
  0%{transform:translateZ(0) scale(1); filter:blur(0); opacity:1;}
  60%{transform:translateZ(0) scale(1.06); filter:blur(0); opacity:1;}
  100%{transform:translateZ(0) scale(1.35); filter:blur(6px); opacity:0;}
}
@keyframes flashOut{
  0%{opacity:0; transform:scale(.9);}
  35%{opacity:.9; transform:scale(1);}
  100%{opacity:0; transform:scale(1.15);}
}

/* Slow logo rotation */
/* logoSpin intentionally disabled (user requested no logo motion) */
.logoSpin{animation:none !important;}
