/* ============================================================
 🔵 1. KIMBLE TEEMA (Juomapeliliigan Sininen #37467b)
 ============================================================ */
/* Kimble-tausta poistettu – pidetään tasaharmaana */
.app-container[data-theme="kimble"] {
  background-color: #37467b !important;
  background-image: 
    radial-gradient(circle at 50% 30%, rgba(125, 143, 196, 0.15) 0%, rgba(26, 33, 61, 0.95) 100%),
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.06) 0px, rgba(255, 255, 255, 0.06) 1px, transparent 1px, transparent 6px),
    repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.2) 0px, rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 6px) !important;
  background-size: 100% 100%, 12px 12px, 12px 12px !important;
  border-color: #37467b !important;
  box-shadow: 
    0 35px 80px rgba(0, 0, 0, 0.9), 
    0 0 15px rgba(55, 70, 123, 0.3), 
    inset 0 0 25px rgba(0, 0, 0, 0.4), 
    inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
}
.app-container[data-theme="kimble"] .logo-container { background: transparent !important; border-bottom-color: rgba(255, 255, 255, 0.2) !important; }
.app-container[data-theme="kimble"] .game-bar-container { background: #dcebf7 !important; border-bottom-color: #cce3f5 !important; }
.app-container[data-theme="kimble"] .game-bar-trigger { background: #37467b !important; color: #ffffff !important; border-color: #253359 !important; }

.app-container[data-theme="kimble"] .footer-section { background: #d4e5f3 !important; color: #2c516c !important; border-top: 1px solid #b3d5ef; }
.app-container[data-theme="kimble"] .footer-section a { color: #37467b !important; border-bottom-color: #37467b !important; }
.app-container[data-theme="kimble"] .fab-scroll-top { background: #37467b; }
.app-container[data-theme="kimble"] .fab-scroll-top:hover { background: #253359; }


/* ============================================================
 🟣 2. YATZY TEEMA (Juomapeliliigan Violetti #8f498a)
 ============================================================ */
/* Yatzy-tausta poistettu – pidetään tasaharmaana */
.app-container[data-theme="yatzy"] {
  background-color: #8f498a !important;
  background-image: 
    radial-gradient(circle at 50% 30%, rgba(189, 129, 185, 0.15) 0%, rgba(38, 15, 36, 0.95) 100%),
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.06) 0px, rgba(255, 255, 255, 0.06) 1px, transparent 1px, transparent 6px),
    repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.2) 0px, rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 6px) !important;
  background-size: 100% 100%, 12px 12px, 12px 12px !important;
  border-color: #8f498a !important;
  box-shadow: 
    0 35px 80px rgba(0, 0, 0, 0.9), 
    0 0 15px rgba(143, 73, 138, 0.3), 
    inset 0 0 25px rgba(0, 0, 0, 0.4), 
    inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
}
.app-container[data-theme="yatzy"] .logo-container { background: transparent !important; border-bottom-color: rgba(255, 255, 255, 0.2) !important; }
.app-container[data-theme="yatzy"] .game-bar-container { background: #f9e8f4 !important; border-bottom-color: #f3dbe8 !important; }
.app-container[data-theme="yatzy"] .game-bar-trigger { background: #8f498a !important; color: #ffffff !important; border-color: #673363 !important; }

.app-container[data-theme="yatzy"] .footer-section { background: #f3dbe8 !important; color: #43193e !important; border-top: 1px solid #e2b2cf; }
.app-container[data-theme="yatzy"] .footer-section a { color: #8f498a !important; border-bottom-color: #8f498a !important; }
.app-container[data-theme="yatzy"] .fab-scroll-top { background: #8f498a; }
.app-container[data-theme="yatzy"] .fab-scroll-top:hover { background: #673363; }

/* ============================================================
 🔴 3. ALIAS TEEMA (Juomapeliliigan Punainen #8f4954)
 ============================================================ */
/* Alias-tausta poistettu – pidetään tasaharmaana */
.app-container[data-theme="alias"] {
  background-color: #8f4954 !important;
  background-image: 
    radial-gradient(circle at 50% 30%, rgba(207, 164, 171, 0.15) 0%, rgba(61, 24, 30, 0.95) 100%),
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.06) 0px, rgba(255, 255, 255, 0.06) 1px, transparent 1px, transparent 6px),
    repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.2) 0px, rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 6px) !important;
  background-size: 100% 100%, 12px 12px, 12px 12px !important;
  border-color: #8f4954 !important;
  box-shadow: 
    0 35px 80px rgba(0, 0, 0, 0.9), 
    0 0 15px rgba(143, 73, 84, 0.3), 
    inset 0 0 25px rgba(0, 0, 0, 0.4), 
    inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
}
.app-container[data-theme="alias"] .logo-container { background: transparent !important; border-bottom-color: rgba(255, 255, 255, 0.2) !important; }
.app-container[data-theme="alias"] .game-bar-container { background: #F5EBEB !important; border-bottom-color: #EBD6D9 !important; }
.app-container[data-theme="alias"] .game-bar-trigger { background: #8f4954 !important; color: #ffffff !important; border-color: #68323c !important; }

.app-container[data-theme="alias"] .footer-section { background: #F5EBEB !important; color: #40181E !important; border-top: 1px solid #CFA4AB; }
.app-container[data-theme="alias"] .footer-section a { color: #8f4954 !important; border-bottom-color: #8f4954 !important; }
.app-container[data-theme="alias"] .fab-scroll-top { background: #8f4954; }
.app-container[data-theme="alias"] .fab-scroll-top:hover { background: #68323c; }

/* ============================================================
 🟡 4. AFRIKAN TÄHTI TEEMA (Juomapeliliigan Kulta #f1cb64)
 ============================================================ */
/* Afrikan Tähti -tausta poistettu – pidetään tasaharmaana */
.app-container[data-theme="afrikan_tahti"] {
  background-color: #c89b3c !important;
  background-image: 
    radial-gradient(circle at 50% 30%, rgba(254, 240, 138, 0.2) 0%, rgba(100, 70, 15, 0.95) 100%),
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.06) 0px, rgba(255, 255, 255, 0.06) 1px, transparent 1px, transparent 6px),
    repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.2) 0px, rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 6px) !important;
  background-size: 100% 100%, 12px 12px, 12px 12px !important;
  border-color: #f1cb64 !important;
  box-shadow: 
    0 35px 80px rgba(0, 0, 0, 0.9), 
    0 0 15px rgba(241, 203, 100, 0.3), 
    inset 0 0 25px rgba(0, 0, 0, 0.4), 
    inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
}
.app-container[data-theme="afrikan_tahti"] .logo-container { background: transparent !important; border-bottom-color: rgba(255, 255, 255, 0.2) !important; }
.app-container[data-theme="afrikan_tahti"] .game-bar-container { background: #f8e7c5 !important; border-bottom-color: #f3e2bf !important; }
.app-container[data-theme="afrikan_tahti"] .game-bar-trigger { background: #c89b3c !important; color: #ffffff !important; border-color: #f1cb64 !important; }

.app-container[data-theme="afrikan_tahti"] .footer-section { background: #f3debb !important; color: #553a13 !important; border-top: 1px solid #e8ca96; }
.app-container[data-theme="afrikan_tahti"] .footer-section a { color: #c89b3c !important; border-bottom-color: #c89b3c !important; }
.app-container[data-theme="afrikan_tahti"] .fab-scroll-top { background: #f1cb64; color: #553a13 !important; }
.app-container[data-theme="afrikan_tahti"] .fab-scroll-top:hover { background: #c89b3c; }

/* FIIDIKORTTIEN REUNATEEMAT */
.feed-card-kimble { border-left: 5px solid #37467b !important; }
.feed-card-yatzy { border-left: 5px solid #8f498a !important; }
.feed-card-alias { border-left: 5px solid #8f4954 !important; }
.feed-card-afrikan_tahti { border-left: 5px solid #f1cb64 !important; }

/* ALAPALKIN YLÄVIIVA PELIKOHTAISESTI (oletus vihreä, ks. 01-base.css .bottom-nav).
   .bottom-nav ei ole .app-container:n lapsi DOM:ssa, joten kohdistetaan body[data-theme]:hin, jonka switchTab/selectGame asettavat samanaikaisesti. */
body[data-theme="kimble"] .bottom-nav { border-top-color: #37467b; }
body[data-theme="yatzy"] .bottom-nav { border-top-color: #8f498a; }
body[data-theme="alias"] .bottom-nav { border-top-color: #8f4954; }
body[data-theme="afrikan_tahti"] .bottom-nav { border-top-color: #f1cb64; }

/* 13. ETUSIVU JA SISÄLLÖT (LÄPINÄKYVÄT TAUSTAT JOTTA KORTIN DYNAMINEN SÄVY NÄKYY) */
#tab-profiili, #tab-feed, #landing-general, #tab-etusivu {
 background: transparent !important;
 border-radius: 0 0 16px 16px;
}

/* PUINEN PUBITEEMA ETUSIVULLE (Landing Cards) */
.landing-hero-card {
  padding: 24px 18px 18px 18px !important;
  margin: 10px 10px 15px 10px !important;
  
  /* Aito, tumma mahonkipuun tekstuuri syvemmillä liukuväreillä & puunsyillä */
  background-color: #2b1408 !important;
  background-image: 
    radial-gradient(ellipse at 50% 15%, rgba(180, 83, 9, 0.45) 0%, rgba(15, 7, 3, 0.98) 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 6px),
    repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.3) 0px, rgba(0, 0, 0, 0.3) 2px, transparent 2px, transparent 4px),
    linear-gradient(180deg, #4a2313 0%, #2e1208 50%, #170803 100%) !important;
  
  /* Veistetyn puun & messinkiviisteen reunat */
  border: 3px solid #6e3719 !important;
  border-radius: 14px !important;
  
  /* Messinkinen sisäviiste & syvät puuvarjot */
  box-shadow: 
    0 12px 30px rgba(0, 0, 0, 0.85),
    inset 0 0 0 1px #d97706,
    inset 0 0 0 3px #1f0b04,
    inset 0 4px 12px rgba(254, 240, 138, 0.2),
    inset 0 -8px 20px rgba(0, 0, 0, 0.95) !important;
  
  position: relative !important;
  box-sizing: border-box !important;
  text-align: center;
}

/* Polttokuvioitu / veistetty sisäkehikko */
.landing-hero-card::before {
  content: '';
  position: absolute;
  top: 8px; left: 8px; right: 8px; bottom: 8px;
  border: 1px dashed rgba(245, 158, 11, 0.35) !important;
  border-radius: 8px !important;
  pointer-events: none !important;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.7) !important;
}

.landing-hero-card h2 { 
  font-family: 'Oswald', sans-serif !important;
  font-size: 26px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  margin: 0 0 12px 0 !important;
  color: #fef08a !important;
  text-shadow: 
    0 1px 3px rgba(0, 0, 0, 0.9),
    0 0 5px rgba(245, 158, 11, 0.25) !important;
}

.landing-hero-card p { color: #e5d6c3; font-size: 14px; line-height: 1.6; margin-bottom: 20px; }

/* SÄILYTETÄÄN TUMMA BRÄNDIPLAATTI TEEMOJEN YLI ETUSIVULLA (#2B2B2B) */
.app-container[data-theme="kimble"] .landing-hero-card,
.app-container[data-theme="yatzy"] .landing-hero-card,
.app-container[data-theme="alias"] .landing-hero-card,
.app-container[data-theme="afrikan_tahti"] .landing-hero-card {
  background: 
    radial-gradient(ellipse at 50% 20%, rgba(217, 119, 6, 0.35) 0%, rgba(15, 15, 15, 0.96) 100%),
    repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.12) 0px, rgba(0, 0, 0, 0.12) 1px, transparent 1px, transparent 4px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 2px, transparent 2px, transparent 8px),
    linear-gradient(180deg, #3A3A3A 0%, #2B2B2B 50%, #171717 100%) !important;
  border-color: #404040 !important;
  box-shadow: 
    0 12px 30px rgba(0, 0, 0, 0.8),
    inset 0 0 0 1px #d97706,
    inset 0 0 0 3px #121212,
    inset 0 4px 12px rgba(254, 240, 138, 0.15),
    inset 0 -8px 18px rgba(0, 0, 0, 0.95) !important;
}

/* 14. TASOELEMENTIT JA PELIRANKING-NAPIT */
.level-box { display: flex; flex-direction: column; align-items: center; margin: 6px 0 10px 0; }
.level-tag { 
  font-family: 'Oswald', sans-serif; 
  font-size: 13.5px; 
  font-weight: 700; 
  color: #4a2313; 
  text-transform: uppercase; 
  letter-spacing: 0.8px; 
  background: transparent;
  padding: 2px 0;
  border: none;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  max-width: 90%;
}

.level-pawn-group {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  line-height: 1;
}

.level-pawn-icon {
  width: 32px;
  height: 32px;
  display: inline-block;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.35));
  transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275), filter 0.25s ease;
}

.level-tag:hover .level-pawn-icon {
  transform: scale(1.18) rotate(-5deg) translateY(-1px);
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.5));
}

.xp-container { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; margin-top: 5px; width: 100%; }

/* Messinkinen kouru XP-palkille */
.xp-bar { 
  width: 140px; 
  height: 9px; 
  background: #2b1408; 
  border-radius: 5px; 
  overflow: hidden; 
  border: 1px solid #78350f; 
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.8), 0 1px 2px rgba(255,255,255,0.5);
  position: relative;
}

.xp-fill { 
  width: 0%; 
  height: 100%; 
  background: linear-gradient(90deg, #d97706 0%, #fef08a 100%); 
  border-radius: 4px; 
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.8);
  transition: width 2.2s cubic-bezier(0.22, 1, 0.36, 1); 
}

/* 🌟 Tasonousun & XP-lisäyksen visualisointianimaatiot */
.level-tag.level-up-pop {
  animation: levelUpPop 1.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes levelUpPop {
  0% { transform: scale(1); }
  35% { transform: scale(1.45) rotate(-7deg); filter: drop-shadow(0 0 16px #f59e0b); color: #fef08a; }
  70% { transform: scale(0.92) rotate(3deg); }
  100% { transform: scale(1) rotate(0deg); }
}

.xp-val.xp-pulse {
  animation: xpPulse 0.6s ease-in-out infinite alternate;
  color: #d97706;
  font-weight: 800;
}

@keyframes xpPulse {
  from { transform: scale(1); }
  to { transform: scale(1.1); }
}

.xp-val { font-size: 8.5px; font-weight: 700; color: #785438; text-align: center; margin-top: 1px; }

/* PELIRANKING-NAPISTO */
.game-ranks-container { margin: 28px 0 2px 0; display: flex; flex-direction: column; align-items: center; }
.game-ranks-label { 
  font-size: 9px; 
  font-weight: 700; 
  color: #785438; 
  text-transform: uppercase; 
  letter-spacing: 0.8px; 
  margin-bottom: 5px; 
  font-family: 'Oswald', sans-serif;
}

/* PELIRANKING-PALKKI (TEEMASÄVYTTENEN FRAME) */
.game-ranks-grid { 
  display: flex; 
  justify-content: center; 
  gap: 6px; 
  background: rgba(0, 0, 0, 0.35) linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(0, 0, 0, 0.45) 100%); 
  padding: 5px 6px; 
  border-radius: 10px; 
  border: 1.5px solid rgba(255, 255, 255, 0.25); 
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.6), 0 2px 5px rgba(0,0,0,0.25);
  width: 100%; 
  box-sizing: border-box; 
  backdrop-filter: blur(4px);
}

/* TEEMAKOHTAISET PALKKIVÄRIT */
.theme-blue .game-ranks-grid { background: rgba(30, 58, 138, 0.5) linear-gradient(180deg, rgba(96, 165, 250, 0.25) 0%, rgba(30, 58, 138, 0.7) 100%) !important; border-color: #60a5fa !important; }
.theme-green .game-ranks-grid { background: rgba(20, 83, 45, 0.5) linear-gradient(180deg, rgba(74, 222, 128, 0.25) 0%, rgba(20, 83, 45, 0.7) 100%) !important; border-color: #4ade80 !important; }
.theme-yellow .game-ranks-grid { background: rgba(113, 63, 18, 0.5) linear-gradient(180deg, rgba(250, 204, 21, 0.25) 0%, rgba(113, 63, 18, 0.7) 100%) !important; border-color: #facc15 !important; }
.theme-red .game-ranks-grid { background: rgba(127, 29, 29, 0.5) linear-gradient(180deg, rgba(248, 113, 113, 0.25) 0%, rgba(127, 29, 29, 0.7) 100%) !important; border-color: #f87171 !important; }
.theme-bronze .game-ranks-grid { background: rgba(87, 32, 8, 0.5) linear-gradient(180deg, rgba(217, 119, 6, 0.25) 0%, rgba(87, 32, 8, 0.7) 100%) !important; border-color: #d97706 !important; }
.theme-silver .game-ranks-grid { background: rgba(30, 41, 59, 0.5) linear-gradient(180deg, rgba(203, 213, 225, 0.25) 0%, rgba(30, 41, 59, 0.7) 100%) !important; border-color: #cbd5e1 !important; }
.theme-gold .game-ranks-grid { background: rgba(69, 26, 3, 0.55) linear-gradient(180deg, rgba(254, 240, 138, 0.3) 0%, rgba(69, 26, 3, 0.75) 100%) !important; border-color: #fcd34d !important; }
.theme-diamond .game-ranks-grid { background: rgba(8, 47, 73, 0.55) linear-gradient(180deg, rgba(56, 189, 248, 0.3) 0%, rgba(8, 47, 73, 0.75) 100%) !important; border-color: #38bdf8 !important; }
.theme-black .game-ranks-grid { background: rgba(10, 10, 10, 0.65) linear-gradient(180deg, rgba(82, 82, 82, 0.3) 0%, rgba(10, 10, 10, 0.85) 100%) !important; border-color: #737373 !important; }
.theme-wine .game-ranks-grid { background: rgba(66, 11, 21, 0.6) linear-gradient(180deg, rgba(244, 114, 182, 0.25) 0%, rgba(66, 11, 21, 0.8) 100%) !important; border-color: #b85263 !important; }

/* PELIEN LAATIKOT DIVISIOONITTAN */
.game-rank-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  min-width: 0;
  padding: 5px 2px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  user-select: none;
  border: 1px solid transparent;
}

.game-rank-item.div-item-pronssi {
  background: linear-gradient(180deg, rgba(161, 76, 18, 0.88) 0%, rgba(87, 30, 5, 0.95) 100%) !important;
  border: 1px solid #d97706 !important;
  box-shadow: inset 0 1px 0 rgba(254, 215, 170, 0.3), 0 2px 4px rgba(0,0,0,0.4) !important;
}

.game-rank-item.div-item-hopea {
  background: linear-gradient(180deg, rgba(71, 85, 105, 0.88) 0%, rgba(30, 41, 59, 0.95) 100%) !important;
  border: 1px solid #94a3b8 !important;
  box-shadow: inset 0 1px 0 rgba(241, 245, 249, 0.3), 0 2px 4px rgba(0,0,0,0.4) !important;
}

.game-rank-item.div-item-kulta {
  background: linear-gradient(180deg, rgba(180, 83, 9, 0.88) 0%, rgba(110, 42, 4, 0.95) 100%) !important;
  border: 1px solid #fcd34d !important;
  box-shadow: inset 0 1px 0 rgba(254, 240, 138, 0.35), 0 2px 4px rgba(0,0,0,0.4) !important;
}

.game-rank-item.div-item-timantti {
  background: linear-gradient(180deg, rgba(2, 132, 199, 0.88) 0%, rgba(3, 75, 112, 0.95) 100%) !important;
  border: 1px solid #38bdf8 !important;
  box-shadow: inset 0 1px 0 rgba(224, 242, 254, 0.35), 0 2px 4px rgba(0,0,0,0.4) !important;
}

.game-rank-item.div-item-none {
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.game-rank-item:hover { 
  transform: translateY(-2px) scale(1.03);
  filter: brightness(1.15);
}

.game-rank-item.active { 
  transform: scale(1.05) translateY(-1px) !important;
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.6) !important; 
  outline: 2px solid #ffffff !important;
  outline-offset: -1px !important;
}

.game-rank-item.active .game-rank-title { color: #ffffff !important; text-shadow: 0 1px 2px #000; }
.game-rank-item.active .game-rank-div { color: #ffffff !important; text-shadow: 0 1px 2px #000; font-weight: 800; }
.game-rank-item.active .game-rank-top { color: #fef08a !important; text-shadow: 0 0 4px rgba(254, 240, 138, 0.8); }

.game-rank-title { font-size: 8.5px; color: rgba(245, 241, 232, 0.6); font-weight: 700; text-transform: uppercase; line-height: 1.1; white-space: nowrap; font-family: 'Oswald', sans-serif; }
.game-rank-div { font-size: 9.5px; font-weight: 700; color: #fef08a; margin-top: 2px; white-space: nowrap; }
.game-rank-top { font-size: 8.5px; font-weight: 700; color: #fcd34d; margin-top: 1px; }

/* 🆕 Uudelle pelaajalle: kertoo miksi sijatagi puuttuu, sen sijaan että se jäisi
   hiljaa tyhjäksi. Himmeämpi ja kursiivi erottaa sen saavutetusta sijaluvusta. */
.game-rank-pending {
  color: rgba(245, 241, 232, 0.55) !important;
  font-weight: 600;
  font-style: italic;
  text-shadow: none !important;
  text-align: center;
  line-height: 1.15;
  max-width: 60px;
}
.game-rank-item.active .game-rank-pending { color: rgba(255, 255, 255, 0.7) !important; }

/* 📈📉 Divisioonan lähestymisindikaattori: vihreä = lähellä nousua, punainen = vaarassa tippua */
.div-proximity-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  font-size: 8px;
  line-height: 1;
  padding: 2px 3px;
  border-radius: 5px;
  font-weight: 800;
  z-index: 2;
  cursor: pointer;
}
.div-proximity-badge.promo {
  background: #22c55e;
  color: #052e16;
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.8);
  animation: divProximityPulse 1.6s ease-in-out infinite;
}
.div-proximity-badge.demo {
  background: #ef4444;
  color: #450a0a;
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.8);
  animation: divProximityPulse 1.6s ease-in-out infinite;
}
@keyframes divProximityPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.18); }
}

/* Vari seuraa kortin teemaa: --card-edge on jokaisen teeman tumma reunasavy, ja
   kaikkien korttien tausta on vaalea (myos theme-black, jossa tumma on vain reunus).
   Aiemmin tassa oli kiintea vaalea kermanvari, joka katosi taustaan lahes joka teemalla. */
.global-stats-row { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 11px; font-weight: 600; color: var(--card-edge, #2B2B2B); margin: 4px 0 8px 0; }
.global-stat-sep { color: rgba(245, 241, 232, 0.6); }

.coming-soon-box {
  padding: 30px 20px !important;
  margin: 10px 10px 15px 10px !important;
  background-color: #2b1408 !important;
  background-image: 
    radial-gradient(ellipse at 50% 15%, rgba(180, 83, 9, 0.45) 0%, rgba(15, 7, 3, 0.98) 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 6px),
    repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.3) 0px, rgba(0, 0, 0, 0.3) 2px, transparent 2px, transparent 4px),
    linear-gradient(180deg, #4a2313 0%, #2e1208 50%, #170803 100%) !important;
  border: 3px solid #6e3719 !important;
  border-radius: 14px !important;
  box-shadow: 
    0 12px 30px rgba(0, 0, 0, 0.85),
    inset 0 0 0 1px #d97706,
    inset 0 0 0 3px #1f0b04,
    inset 0 4px 12px rgba(254, 240, 138, 0.2),
    inset 0 -8px 20px rgba(0, 0, 0, 0.95) !important;
  position: relative !important;
  box-sizing: border-box !important;
  text-align: center;
}
.coming-soon-box::before {
  content: '';
  position: absolute;
  top: 8px; left: 8px; right: 8px; bottom: 8px;
  border: 1px dashed rgba(245, 158, 11, 0.35) !important;
  border-radius: 8px !important;
  pointer-events: none !important;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.7) !important;
}
.coming-soon-badge { position: relative; z-index: 2; display: inline-block; background: rgba(245, 158, 11, 0.15); color: #fef08a; font-family: 'Oswald', sans-serif; font-size: 11px; font-weight: 700; padding: 4px 12px; border-radius: 20px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px; border: 1px solid #f59e0b; text-shadow: 0 1px 2px rgba(0,0,0,0.8); }
.coming-soon-box h3 { position: relative; z-index: 2; margin: 0 0 8px 0; font-size: 24px; font-family: 'Oswald', sans-serif; color: #fef08a; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9), 0 0 5px rgba(245, 158, 11, 0.25); text-transform: uppercase; letter-spacing: 1px; }
.coming-soon-box p { position: relative; z-index: 2; font-size: 14px; color: #e5d6c3; margin: 0 0 16px 0; line-height: 1.5; text-shadow: 0 1px 2px rgba(0,0,0,0.8); }

/* SÄILYTETÄÄN TUMMA BRÄNDIPLAATTI TULOSSA PIAN -BOKSISSA (#2B2B2B) */
.app-container[data-theme="kimble"] .coming-soon-box,
.app-container[data-theme="yatzy"] .coming-soon-box,
.app-container[data-theme="alias"] .coming-soon-box,
.app-container[data-theme="afrikan_tahti"] .coming-soon-box {
  background: 
    radial-gradient(ellipse at 50% 20%, rgba(217, 119, 6, 0.35) 0%, rgba(15, 15, 15, 0.96) 100%),
    repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.12) 0px, rgba(0, 0, 0, 0.12) 1px, transparent 1px, transparent 4px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 8px),
    linear-gradient(180deg, #3A3A3A 0%, #2B2B2B 50%, #171717 100%) !important;
  border-color: #404040 !important;
  box-shadow: 
    0 12px 30px rgba(0, 0, 0, 0.8),
    inset 0 0 0 1px #d97706,
    inset 0 0 0 3px #121212,
    inset 0 4px 12px rgba(254, 240, 138, 0.15),
    inset 0 -8px 18px rgba(0, 0, 0, 0.95) !important;
}
