/* KAISSAVA - Paket 7: Dummy PvP */
:root{
  --hudClear: 112px; /* HUD alt boşluk */

  --bg:#070912;
  --text:#e9ecff;
  --muted:rgba(233,236,255,.70);
  --stroke:rgba(255,255,255,.14);
}

*{ box-sizing:border-box; }
html,body{ height:100%; margin:0; }
body{
  background: radial-gradient(1000px 600px at 50% 0%, rgba(110,140,255,.20), transparent 60%),
              radial-gradient(700px 500px at 20% 35%, rgba(255,120,120,.10), transparent 55%),
              var(--bg);
  color:var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  display:flex; align-items:center; justify-content:center;
  padding:14px;
}

.phone{
  width:360px; height:640px;
  border:1px solid var(--stroke);
  border-radius:24px;
  overflow:hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  position:relative;
}

.stage{ position:absolute; inset:0; padding-right:86px; }

.map{
  position:absolute; inset:0;
  background:
    url("/assets/map/map.png") center/cover no-repeat,
    radial-gradient(200px 160px at 30% 60%, rgba(80,255,170,.10), transparent 70%),
    radial-gradient(240px 180px at 70% 40%, rgba(110,140,255,.14), transparent 70%),
    radial-gradient(220px 170px at 60% 20%, rgba(255,210,110,.10), transparent 70%),
    linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.35));
}

.hud{
  position:absolute; left:0; right:0;
  display:flex; gap:10px;
  padding:10px 12px;
  background: rgba(0,0,0,.10);
  backdrop-filter: blur(10px);
  z-index: 5;
}
.hud.top{ top:0; border-bottom:1px solid var(--stroke); align-items:center; justify-content:space-between; }
.hud.bottom{ bottom:0; border-top:1px solid var(--stroke); flex-direction:column; }

.brand .logo{ font-weight:900; letter-spacing:.6px; }
.brand .sub{ font-size:12px; color:var(--muted); margin-top:2px; }

.topRight{ display:flex; align-items:center; gap:8px; }

.miniStat{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.05);
  white-space:nowrap;
}
.miniStat b{ font-weight:900; }
.miniStat span{ color:rgba(233,236,255,.78); margin-left:2px; }

.pill{
  font-size:12px; padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.05);
}

.hudRow{ display:flex; gap:10px; }

.stat{
  flex:1;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.06);
  border-radius:14px;
  padding:8px 10px;
}
.stat .k{ font-size:11px; color:var(--muted); }
.stat .v{ font-size:14px; font-weight:900; margin-top:2px; }
.stat .s{ font-size:11px; color:rgba(233,236,255,.78); margin-top:2px; }

.menuBtn{
  flex:1;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.10);
  color:var(--text);
  border-radius:14px;
  padding:10px 12px;
  font-weight:900;
  cursor:pointer;
}
.menuBtn.ghost{ background: transparent; }
.menuBtn:active{ transform: translateY(1px); }

.hotspot{
  position:absolute;
  transform: translate(-50%, -50%);
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.10);
  color:var(--text);
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
}
.hotspot:active{ transform: translate(-50%, -50%) translateY(1px); }

/* Right Dock (Efsane Başkan style)
   Order locked: Inbox, Announcements, Daily, Tasks, Leaderboard */
.rightDock{
  position:absolute;
  top:var(--hudClear);
  right:10px;
  bottom:92px; /* above bottom HUD */
  width:82px;
  display:flex;
  flex-direction:column;
  gap:8px;
  z-index: 6;
  pointer-events:auto;
}

.dockBtn{
  position:relative;
  width:100%;
  border:1px solid var(--stroke);
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
  color:var(--text);
  border-radius:18px;
  padding:8px 6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer;
  box-shadow: 0 12px 22px rgba(0,0,0,.25);
}
.dockBtn:active{ transform: translateY(1px); }

.dockIcon{ font-size:20px; line-height:1; }
.dockLabel{ font-size:11px; font-weight:900; opacity:.92; }

.dockBadge{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,90,90,.95);
  color:#111;
  font-weight:1000;
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 10px 18px rgba(0,0,0,.35);
}

/* Modal */
.modal{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  padding:14px;
  background: rgba(0,0,0,.55);
  z-index: 20;
}
.modal.hidden{ display:none; }

.modalCard{
  width:100%;
  border:1px solid var(--stroke);
  border-radius:18px;
  background: rgba(15,16,24,.92);
  box-shadow: 0 20px 60px rgba(0,0,0,.55);
  overflow:hidden;
  /* Prevent modal content from spilling outside the phone */
  max-height: calc(100% - 8px);
  display:flex;
  flex-direction:column;
}
.modalHead{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 12px;
  border-bottom:1px solid var(--stroke);
}
.modalTitle{ font-weight:900; font-size:14px; }
.x{
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.06);
  color:var(--text);
  border-radius:12px;
  width:36px; height:32px;
  cursor:pointer;
}
.modalBody{
  padding:12px;
  font-size:13px;
  color:rgba(233,236,255,.85);
  line-height:1.35;
  /* Scroll inside modal body (PvP list, leaderboard, etc.) */
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.modalActions{
  display:flex; gap:10px;
  padding:12px;
  border-top:1px solid var(--stroke);
}
.actionBtn{
  flex:1;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.10);
  color:var(--text);
  border-radius:14px;
  padding:10px 12px;
  font-weight:900;
  cursor:pointer;
}
.actionBtn.ghost{ background: transparent; }

.input{
  width:100%;
  margin-top:10px;
  border:1px solid var(--stroke);
  background: rgba(0,0,0,.20);
  color:var(--text);
  border-radius:14px;
  padding:10px 12px;
  outline:none;
}
.small{ font-size:12px; color: var(--muted); margin-top:8px; }
.kv{ display:flex; justify-content:space-between; gap:10px; margin-top:8px; }
.kv b{ color:rgba(233,236,255,.92); }
hr{ border:0; border-top:1px solid rgba(255,255,255,.12); margin:10px 0; }

.badge{
  display:inline-block;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background: rgba(255,255,255,.06);
  font-weight:900;
  font-size:12px;
}


/* Paket 11: Footer 4-button tweak */
.navbar{ gap:8px; }
.navBtn{ font-size:12px; padding:10px 10px; }


/* =========================
   PvP UX polish (v8)
========================= */
.pvpCard{
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.25);
}
.pvpRow{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.pvpMain{ display:flex; flex-direction:column; gap:4px; }
.pvpName{ font-weight:1000; font-size:16px; letter-spacing:.2px; }
.pvpCost{ margin-top:6px; }
.pvpBadges{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.pvpHint{ margin-top:10px; font-size:12px; }

.badge.pvpTag{ font-weight:1000; }
.badge.pvpTag.weak{ background: rgba(120,200,255,.12); border-color: rgba(120,200,255,.25); }
.badge.pvpTag.even{ background: rgba(116,255,169,.10); border-color: rgba(116,255,169,.22); }
.badge.pvpTag.strong{ background: rgba(255,160,120,.12); border-color: rgba(255,160,120,.25); }
.badge.pvpMode{ background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); }

.pvpResult{
  display:flex;
  flex-direction:column;
  gap:8px;
  transform: scale(.98);
  opacity: 0;
  animation: pvpPop .18s ease-out forwards;
}
@keyframes pvpPop{
  to { transform: scale(1); opacity: 1; }
}
.pvpResult.win .pvpResultTitle{ text-shadow: 0 0 18px rgba(116,255,169,.18); }
.pvpResult.lose{ animation: pvpPop .18s ease-out forwards, pvpShake .22s ease-in-out .05s 1; }
@keyframes pvpShake{
  0%{ transform: translateX(0) scale(1); }
  25%{ transform: translateX(-3px) scale(1); }
  50%{ transform: translateX(3px) scale(1); }
  75%{ transform: translateX(-2px) scale(1); }
  100%{ transform: translateX(0) scale(1); }
}
.pvpResultHead{ display:flex; flex-direction:column; gap:2px; }
.pvpResultTitle{ font-weight:1100; font-size:20px; letter-spacing:.6px; }
.pvpResultSub{ font-size:13px; }
.pvpResultCard{ padding:12px; border-radius:14px; border:1px solid rgba(255,255,255,.10); background:rgba(0,0,0,.25); }
.pvpResultRow{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.pvpMeta{ display:flex; gap:8px; flex-wrap:wrap; }
.badge.warn{ background: rgba(255,160,120,.12); border-color: rgba(255,160,120,.25); }

/* Make scroll clearly usable inside modal content */
.modalBody::-webkit-scrollbar{ width: 10px; }
.modalBody::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.10);
  border: 2px solid rgba(0,0,0,0);
  background-clip: padding-box;
  border-radius: 999px;
}


/* Top announcement banner */
.topBanner{
  position:absolute;
  left:12px;
  right:98px; /* leave space for right dock */
  top:var(--hudClear);
  z-index:7;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.30);
  backdrop-filter: blur(10px);
  cursor:pointer;
}
.topBanner__text{
  flex:1;
  font-weight:900;
  font-size:12px;
  line-height:1.2;
  opacity:.95;
}
.topBanner__close{
  width:28px;
  height:28px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color: var(--text);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}


/* Tasks panel */
.taskList{ display:flex; flex-direction:column; gap:10px; }
.taskRow{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  border-radius:14px;
  padding:10px;
}
.taskTop{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.taskTitle{ font-weight:800; }
.taskDesc{ margin-top:2px; }
.taskMeta{ text-align:right; min-width:120px; }
.taskBar{
  margin-top:8px;
  height:8px;
  border-radius:999px;
  background: rgba(255,255,255,.10);
  overflow:hidden;
}
.taskFill{
  height:100%;
  background: rgba(255,255,255,.42);
  border-radius:999px;
}
.taskBottom{ margin-top:8px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.taskBtns{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.miniBtn{
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.10);
  color: var(--text);
  cursor:pointer;
  font-weight:800;
  font-size:12px;
}
.miniBtn:hover{ background: rgba(255,255,255,.14); }


/* Season & Phase */
.pill.season{ max-width:170px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pill.season.phase-dev{ background: rgba(120,180,255,.14); border-color: rgba(120,180,255,.28); }
.pill.season.phase-half{ background: rgba(255,220,120,.14); border-color: rgba(255,220,120,.28); }
.pill.season.phase-open{ background: rgba(255,120,120,.14); border-color: rgba(255,120,120,.28); }
.pill.season.phase-ended{ background: rgba(180,180,180,.14); border-color: rgba(180,180,180,.28); }



/* v11.5.2 HOTFIX: show season pill on narrow HUD */
.hud.top{ flex-direction:column; align-items:flex-start; gap:8px; }
.hud.top .brand{ width:100%; }
.hudRow{ width:100%; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.pill{ font-size:11px; padding:5px 9px; }
.pill.season{ max-width:100%; white-space:nowrap; }

/* v11.5.4 season pill in top-left row (right of name) */
.hud.top .brand{display:flex;flex-direction:column;gap:6px;min-width:0;}
.hud.top .hudTitleRow{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  width:100%;
}
.hud.top .hudTitleLeft{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.hud.top .hudTitleRight{
  display:flex;
  align-items:center;
  gap:8px;
}
.hud.top .hudConnPill{
  padding:4px 8px;
  font-size:11px;
  opacity:.95;
}
.hud.top .seasonPill{
  flex:0 0 auto;
  max-width:130px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  align-self:center;
}
@media (max-width: 420px){
  .hud.top .seasonPill{max-width:120px;font-size:12px;padding:4px 8px;}
}


/* Season end overlay */

.overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,0.55);
  z-index:50;
  padding:16px;
}
.overlay.hidden{ display:none; }
.overlayCard{
  width:100%;
  max-width:360px;
  border-radius:18px;
  padding:16px;
  background:rgba(25,25,30,0.78);
  border:1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(10px);
  color:#fff;
  box-shadow: 0 18px 60px rgba(0,0,0,0.55);
}
.overlayTitle{ font-weight:800; font-size:18px; margin-bottom:6px; }
.overlaySub{ opacity:0.9; font-size:13px; margin-bottom:12px; }
.overlayBox{
  background:rgba(0,0,0,0.22);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:14px;
  padding:10px 12px;
  margin-bottom:10px;
}
.overlayBox .row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:13px;
  padding:6px 0;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.overlayBox .row:last-child{ border-bottom:none; }
.overlayHint{ font-size:12px; opacity:0.85; margin:8px 0 12px; line-height:1.3; }
.overlayActions{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }


.miniStat.clickable{ cursor:pointer; }
.miniStat.disabled{ opacity:.45; pointer-events:none; }

.sectionTitle{ margin:8px 0 6px; font-weight:700; color:var(--text); opacity:.95; }


/* v12.4: storage full warning */
.s.warn{ font-weight:700; opacity:0.95; }


/* v12.6: modal storage-full hint */
.warnBox{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.22);
  border-radius:12px;
}
.warnBox b{ font-weight:800; }
.linkBtn{
  background: transparent;
  border: 0;
  padding: 0;
  margin-left: 6px;
  color: var(--accent);
  font-weight: 800;
  cursor: pointer;
  text-decoration: underline;
}

/* =========================
   BUILDING PNG PREVIEW (B)
   ========================= */
.bimgGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin:10px 0 8px;
}
.bimgCard{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  border-radius:14px;
  padding:10px;
}
.bimgLbl{
  font-size:12px;
  opacity:.9;
  margin-bottom:8px;
  font-weight:800;
}
.bimg{
  width:100%;
  height:140px;
  object-fit:contain;
  border-radius:12px;
  background: rgba(0,0,0,.25);
}
@media (max-width:420px){
  .bimg{ height:120px; }
}

.btn{background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.18); color:#fff; padding:8px 10px; border-radius:10px; cursor:pointer;}
.btn:disabled{opacity:0.6; cursor:default;}

.cardTitle{font-weight:700; margin-bottom:6px;}
.cardBody{font-size:14px;}
.muted{opacity:0.8; font-size:12px;}

.profileGrid{display:block; padding:2px 0;}
.profileGrid .row{display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid rgba(255,255,255,0.06);}
.profileGrid .val{opacity:0.95;}
.sectionTitle{margin-top:10px; font-weight:800; opacity:0.95;}

/* Inbox & Announcements */
.msgTabs{display:flex; gap:8px; margin:8px 0 10px 0;}
.msgTab{flex:1; text-align:center; padding:10px 8px; border-radius:14px; cursor:pointer;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.10);}
.msgTab.active{background:rgba(255,255,255,0.16); border-color:rgba(255,255,255,0.18); font-weight:800;}
.msgList{max-height:52vh; overflow:auto; padding-right:4px;}
.msgItem{padding:10px 10px; border-radius:14px; background:rgba(0,0,0,0.22); border:1px solid rgba(255,255,255,0.08); margin-bottom:8px; cursor:pointer;}
.msgItem.unread{border-color:rgba(120,200,255,0.35); box-shadow:0 0 0 1px rgba(120,200,255,0.10) inset;}
.msgHead{display:flex; justify-content:space-between; gap:8px; align-items:center;}
.msgTitle{font-weight:800;}
.msgTime{opacity:0.7; font-size:12px;}
.msgBody{opacity:0.9; font-size:13px; margin-top:6px; white-space:pre-wrap;}
.msgActions{display:flex; gap:8px; margin-top:10px;}
.msgActions .btn{flex:1;}


a.pill{ color:inherit; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.hudAdminPill{ opacity:.9; }
.hudAdminPill:hover{ opacity:1; }

/* v13.13 Upgrade modal polish */
.resOk{color:#b7ffcf;}
.resBad{color:#ff8a8a;}
.levelUpBadge{display:inline-block;margin:10px 0;padding:6px 10px;border-radius:12px;background:rgba(116,255,169,.15);border:1px solid rgba(116,255,169,.35);font-weight:700;letter-spacing:.5px;}
.levelUpBadge.hide{opacity:0;transform:translateY(-4px);transition:opacity .25s ease, transform .25s ease;}
.fadeIn{animation:fadeInZoom .45s ease;}
@keyframes fadeInZoom{from{opacity:.35;transform:scale(.98);}to{opacity:1;transform:scale(1);}}

/* =========================
   FIRST LOAD BOOT LOADER (FAZ 16.6)
   ========================= */
.bootLoader{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(5,10,18,.88);
  z-index:9999;
}
.bootLoader.hidden{ display:none; }
.bootCard{
  width:min(360px, 92vw);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(18,24,38,.92);
  border-radius:14px;
  padding:18px 16px;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  text-align:center;
}
.bootSpinner{
  width:46px;
  height:46px;
  margin:2px auto 12px;
  border-radius:999px;
  border:4px solid rgba(255,255,255,.18);
  border-top-color:rgba(255,255,255,.72);
  animation:bootspin 1s linear infinite;
}
@keyframes bootspin{ to{ transform:rotate(360deg);} }
.bootTitle{ font-weight:700; letter-spacing:.3px; margin-bottom:6px; }
.bootSub{ opacity:.78; font-size:13px; margin-bottom:12px; }
.bootRetry{ width:100%; }
.bootRetry.hidden{ display:none; }


.btnSmall{ padding:6px 10px; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); color:#eaf2ff; cursor:pointer; }
.btnSmall:hover{ background:rgba(255,255,255,.10); }


/* =========================
   WELCOME SCREEN (Neon)
   ========================= */
.hidden { display:none !important; }
.welcome{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 18px;
  color: #e9f0ff;
  overflow:hidden;
  background: #070912;
}
.welcome__bg{
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(800px 500px at 20% 20%, rgba(0,255,255,.18), transparent 55%),
    radial-gradient(700px 520px at 80% 30%, rgba(255,0,255,.16), transparent 60%),
    radial-gradient(900px 700px at 50% 80%, rgba(120,255,0,.10), transparent 65%),
    linear-gradient(180deg, rgba(10,12,22,1), rgba(6,7,14,1));
  animation: neonFloat 10s ease-in-out infinite alternate;
}
@keyframes neonFloat{
  0%{ transform: translate3d(-1%, -1%, 0) scale(1.02); }
  100%{ transform: translate3d(1%, 1%, 0) scale(1.06); }
}
.welcome__card{
  position: relative;
  width: min(560px, 100%);
  border-radius: 22px;
  padding: 18px;
  background: rgba(12, 14, 26, 0.72);
  border: 1px solid rgba(120, 200, 255, 0.18);
  box-shadow: 0 18px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04) inset;
  backdrop-filter: blur(10px);
}
.welcome__brand{ display:flex; gap: 12px; align-items:center; margin-bottom: 14px; }
.welcome__logo{
  width: 48px; height: 48px; border-radius: 16px;
  display:flex; align-items:center; justify-content:center;
  font-weight: 900; letter-spacing: .5px;
  background: radial-gradient(14px 14px at 30% 30%, rgba(255,255,255,.25), transparent 70%),
              linear-gradient(135deg, rgba(0,255,255,.22), rgba(255,0,255,.18));
  border: 1px solid rgba(0,255,255,.20);
  box-shadow: 0 0 24px rgba(0,255,255,.15);
}
.welcome__title{ font-size: 22px; font-weight: 900; line-height: 1.05; }
.welcome__sub{ margin-top: 2px; font-size: 13px; opacity: .82; }
.welcome__actions{ display:flex; flex-direction:column; gap: 10px; margin-top: 10px; }
.welcome__msg{ margin-top: 12px; font-size: 13px; opacity: .9; min-height: 18px; }

.btnNeon, .btnNeonGhost, .btnNeonSoft{
  width: 100%;
  border-radius: 16px;
  padding: 12px 14px;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,.10);
  cursor: pointer;
  transition: transform .12s ease, filter .12s ease, opacity .12s ease;
}
.btnNeon:active, .btnNeonGhost:active, .btnNeonSoft:active{ transform: scale(.99); }
.btnNeon{
  background: linear-gradient(135deg, rgba(0,255,255,.22), rgba(255,0,255,.20));
  box-shadow: 0 0 28px rgba(0,255,255,.10), 0 0 28px rgba(255,0,255,.08);
  color: #f4f7ff;
}
.btnNeonGhost{
  background: rgba(255,255,255,.04);
  color: rgba(240,245,255,.85);
  border: 1px dashed rgba(255,255,255,.16);
}
.btnNeonSoft{
  background: rgba(0,255,255,.06);
  color: rgba(240,255,255,.92);
  border: 1px solid rgba(0,255,255,.18);
}
.btnNeon[disabled], .btnNeonGhost[disabled], .btnNeonSoft[disabled]{
  opacity: .5;
  cursor: not-allowed;
  filter: grayscale(.4);
}



/* AuthGate - Login only */
#welcomeGuest{ display:none !important; }

.welcome__note{
  margin-top: 10px;
  font-size: 13px;
  opacity: .85;
}

/* Hidden review trigger corner */
.welcome__corner{
  position: fixed;
  right: 0;
  bottom: 0;
  width: 64px;
  height: 64px;
  z-index: 100000;
  opacity: 0.001;
}

/* Review mode UI reductions */
.review-mode .adSlot,
.review-mode .btnAd,
.review-mode [data-ad],
.review-mode #adPanel,
.review-mode #adsPanel{
  display:none !important;
}


/* Hide legacy morale ad button (use stat popup instead) */
#moraleBoostBtn{ display:none !important; }
