/* آلبدو — استایل بازی و صفحه ورود
   هر قانون این فایل با #albedo-game-root / #albedo-login-page شروع میشه و
   !important داره، چون قالب/المنتور سایت رنگ و ظاهر پیش‌فرض دکمه‌ها و
   لینک‌ها رو با اولویت بالا (احتمالاً !important) روی کل سایت اعمال می‌کنه؛
   بدون این دو تا، استایل‌های زیر همیشه توسط قالب بازنویسی میشن. */

:root {
  --albedo-primary: #1e8b92;
  --albedo-primary-dark: #146267;
  --albedo-primary-light: #d9eef0;
  --albedo-gold: #f2b705;
  --albedo-gold-dark: #c99500;
  --albedo-ink: #17393a;
  --albedo-ink-soft: #4a6664;
  --albedo-cream: #fbf6ec;
  --albedo-surface: #ffffff;
  --albedo-gray: #cbd9d7;
  --albedo-gray-dark: #9fb3b0;
  --albedo-red: #e8447d;
  --albedo-red-bg: #fdebef;
  --albedo-purple: #9b6fd9;
  --albedo-purple-dark: #7a4fc0;
  --albedo-purple-light: #c9b3ec;
  --albedo-purple-light-dark: #a98fd4;
  --albedo-pink: #ffb1c3;
  --albedo-pink-dark: #cc8e9c;
  --albedo-pink-light: #ffd6e0;
  --albedo-pink-light-dark: #f0aebb;
  --albedo-card-shadow: 0 2px 10px rgba(23,57,58,.08);
}

/* ---------- your own font ----------
   Drop licensed IRANSansX woff2/woff files into assets/fonts/ with these
   exact names and they will be used automatically; until then the page
   falls back to Vazirmatn (loaded from Google Fonts) so nothing breaks. */
@font-face {
  font-family: 'IRANSansX';
  src: url('fonts/IRANSansX-Regular.woff2') format('woff2'),
       url('fonts/IRANSansX-Regular.woff') format('woff');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'IRANSansX';
  src: url('fonts/IRANSansX-Medium.woff2') format('woff2'),
       url('fonts/IRANSansX-Medium.woff') format('woff');
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'IRANSansX';
  src: url('fonts/IRANSansX-Bold.woff2') format('woff2'),
       url('fonts/IRANSansX-Bold.woff') format('woff');
  font-weight: 700 800;
  font-display: swap;
}

/* ---------- hard reset of everything inside our two roots ---------- */

:where(#albedo-game-root, #albedo-login-page) {
  display: block !important;
  font-family: 'IRANSansX', 'Vazirmatn', Tahoma, system-ui, sans-serif !important;
  direction: rtl !important;
  color: var(--albedo-ink) !important;
  background: var(--albedo-cream) !important;
  line-height: 1.6 !important;
  min-height: 100vh !important;
}
:where(#albedo-game-root, #albedo-login-page) *:not(svg):not(svg *) {
  all: unset !important;
  display: revert !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
  direction: rtl !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
#albedo-game-root svg { display: inline-block !important; vertical-align: middle !important; }
#albedo-game-root button, #albedo-login-page button { cursor: pointer !important; }
#albedo-game-root video { display: block !important; }
#albedo-game-root img, #albedo-login-page img { display: block !important; max-width: none !important; height: auto; }

/* ---------- login ---------- */

#albedo-login-page {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 40px 20px !important;
}
#albedo-login-page .albedo-login-card {
  background: var(--albedo-surface) !important;
  border-radius: 28px !important;
  padding: 40px 36px !important;
  width: 100% !important;
  max-width: 380px !important;
  text-align: center !important;
  box-shadow: var(--albedo-card-shadow) !important;
}
#albedo-login-page .albedo-login-logo { width: 56px !important; height: 56px !important; margin: 0 auto 12px !important; }
#albedo-login-page h2 { display: block !important; margin: 0 0 20px !important; font-size: 22px !important; font-weight: 800 !important; }
#albedo-login-page form { display: flex !important; flex-direction: column !important; gap: 12px !important; text-align: right !important; }
#albedo-login-page label { display: block !important; font-size: 13px !important; font-weight: 700 !important; color: var(--albedo-ink-soft) !important; }
#albedo-login-page input {
  display: block !important;
  width: 100% !important;
  padding: 12px 14px !important;
  border: 2px solid var(--albedo-gray) !important;
  border-radius: 14px !important;
  font-size: 15px !important;
}
#albedo-login-page input:focus { outline: none !important; border-color: var(--albedo-primary) !important; }
#albedo-login-page button {
  margin-top: 8px !important;
  padding: 13px !important;
  border-radius: 16px !important;
  background: var(--albedo-primary) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  text-align: center !important;
  box-shadow: 0 4px 0 var(--albedo-primary-dark) !important;
}
#albedo-login-page .albedo-login-error { display: block !important; color: var(--albedo-red) !important; background: var(--albedo-red-bg) !important; border-radius: 12px !important; padding: 8px 12px !important; font-size: 13px !important; }

/* ---------- persistent shell: sidebar + main ---------- */

/* belt-and-suspenders: contain overflow at the page level too, scoped only to
   this plugin's own page template so it can never affect other pages */
body.page-template-albedo-game-template-php { overflow-x: clip !important; }

#albedo-game-root { overflow-x: clip !important; }
#albedo-game-root .albedo-shell { display: flex !important; min-height: 100vh !important; position: relative !important; overflow-x: clip !important; align-items: flex-start !important; }

#albedo-game-root .albedo-sidebar {
  width: 240px !important;
  flex-shrink: 0 !important;
  background: var(--albedo-primary-dark) !important;
  padding: 26px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  position: sticky !important;
  top: 0 !important;
  min-height: 100vh !important;
  z-index: 2 !important;
}
#albedo-game-root .albedo-sidebar-brand { display: flex !important; align-items: center !important; gap: 10px !important; padding: 0 8px !important; margin-bottom: 28px !important; }
#albedo-game-root .albedo-sidebar-brand img { width: 32px !important; height: 32px !important; }
#albedo-game-root .albedo-sidebar-brand span { display: inline !important; color: #fff !important; font-weight: 800 !important; font-size: 18px !important; }
#albedo-game-root .albedo-nav-btn {
  display: flex !important; align-items: center !important; gap: 12px !important;
  padding: 13px 16px !important; border-radius: 18px !important;
  color: #d7ece9 !important; font-weight: 700 !important; font-size: 15px !important; text-align: right !important;
  background: transparent !important; width: 100% !important;
}
#albedo-game-root .albedo-nav-btn span { color: inherit !important; font-weight: inherit !important; font-size: inherit !important; }
#albedo-game-root .albedo-nav-btn svg { flex-shrink: 0 !important; }
#albedo-game-root .albedo-nav-btn--active { background: var(--albedo-primary) !important; color: #fff !important; }
#albedo-game-root .albedo-sidebar-foot { margin-top: auto !important; padding: 14px 12px 4px !important; color: #9cc6c3 !important; font-size: 12px !important; text-align: center !important; }

#albedo-game-root .albedo-sidebar-toggle {
  display: none !important; width: 38px !important; height: 38px !important; border-radius: 10px !important;
  background: rgba(255,255,255,.14) !important; color: #fff !important; align-items: center !important;
  justify-content: center !important; margin-bottom: 18px !important; flex-shrink: 0 !important;
}
#albedo-game-root .albedo-sidebar-backdrop { display: none !important; }

@media (max-width: 720px) {
  #albedo-game-root .albedo-sidebar {
    position: fixed !important; top: 0 !important; right: 0 !important; height: 100vh !important;
    width: 64px !important; z-index: 60 !important; overflow: hidden !important;
    transition: width .2s ease !important;
  }
  #albedo-game-root .albedo-sidebar.albedo-sidebar--open { width: 230px !important; overflow: visible !important; box-shadow: -10px 0 30px rgba(0,0,0,.25) !important; }
  #albedo-game-root .albedo-sidebar-toggle { display: flex !important; }
  #albedo-game-root .albedo-sidebar-brand span,
  #albedo-game-root .albedo-nav-btn span,
  #albedo-game-root .albedo-sidebar-foot { display: none !important; }
  #albedo-game-root .albedo-sidebar.albedo-sidebar--open .albedo-sidebar-brand span,
  #albedo-game-root .albedo-sidebar.albedo-sidebar--open .albedo-nav-btn span,
  #albedo-game-root .albedo-sidebar.albedo-sidebar--open .albedo-sidebar-foot { display: inline !important; }
  #albedo-game-root .albedo-nav-btn { justify-content: center !important; padding: 13px 8px !important; }
  #albedo-game-root .albedo-sidebar.albedo-sidebar--open .albedo-nav-btn { justify-content: flex-start !important; padding: 13px 16px !important; }
  #albedo-game-root .albedo-sidebar-backdrop {
    display: block !important; position: fixed !important; inset: 0 !important; background: rgba(23,57,58,.35) !important; z-index: 55 !important;
  }
  #albedo-game-root .albedo-main { margin-right: 64px !important; padding: 22px 14px 50px !important; }
}

#albedo-game-root .albedo-main { flex: 1 !important; position: relative !important; overflow-x: clip !important; padding: 30px 32px 60px !important; min-width: 0 !important; }
#albedo-game-root .albedo-blob { position: absolute !important; border-radius: 50% !important; pointer-events: none !important; z-index: 0 !important; }
#albedo-game-root .albedo-blob--a { top: -70px !important; right: -70px !important; width: 240px !important; height: 240px !important; background: var(--albedo-primary) !important; opacity: .12 !important; }
#albedo-game-root .albedo-blob--b { bottom: -90px !important; left: 60px !important; width: 300px !important; height: 300px !important; background: var(--albedo-gold) !important; opacity: .10 !important; }
#albedo-game-root .albedo-blob--c { top: 38% !important; left: -70px !important; width: 220px !important; height: 220px !important; background: var(--albedo-purple) !important; opacity: .10 !important; }
#albedo-game-root .albedo-blob--d { top: 68% !important; right: -60px !important; width: 260px !important; height: 260px !important; background: #4aa8d8 !important; opacity: .10 !important; }
#albedo-game-root .albedo-main > *:not(.albedo-blob) { position: relative !important; z-index: 1 !important; }

/* ---------- banner / progress ---------- */

#albedo-game-root .albedo-banner {
  display: block !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  background: var(--albedo-primary) !important;
  color: #fff !important;
  border-radius: 20px !important;
  padding: 14px 22px !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}
#albedo-game-root .albedo-banner--behind { background: var(--albedo-gold-dark) !important; }
#albedo-game-root .albedo-progress-line {
  display: flex !important;
  max-width: 560px !important;
  margin: 14px auto 0 !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--albedo-ink-soft) !important;
}
#albedo-game-root .albedo-progress-track { display: block !important; flex: 1 !important; height: 10px !important; border-radius: 999px !important; background: var(--albedo-primary-light) !important; overflow: hidden !important; }
#albedo-game-root .albedo-progress-fill { display: block !important; height: 100% !important; background: var(--albedo-primary) !important; border-radius: 999px !important; }

/* ---------- path ---------- */

#albedo-game-root .albedo-path-outer { max-width: 560px !important; margin: 26px auto 40px !important; overflow-x: clip !important; display: flex !important; justify-content: center !important; }
#albedo-game-root .albedo-path-wrap { position: relative !important; margin: 0 auto !important; transform-origin: top center !important; }
#albedo-game-root .albedo-path-svg path { fill: none !important; stroke: var(--albedo-primary) !important; stroke-opacity: .6 !important; stroke-width: 7 !important; stroke-linecap: round !important; stroke-dasharray: 2 15 !important; }
@keyframes albedo-flow { to { stroke-dashoffset: -42; } }

#albedo-game-root .albedo-node-wrap { position: absolute !important; width: 74px !important; height: 92px !important; }
#albedo-game-root .albedo-node-base { display: block !important; position: absolute !important; top: 8px !important; width: 74px !important; height: 74px !important; border-radius: 999px !important; }
#albedo-game-root .albedo-node-btn {
  position: absolute !important; top: 0 !important; width: 74px !important; height: 74px !important; border-radius: 999px !important;
  border: none !important; display: flex !important; align-items: center !important; justify-content: center !important;
  box-shadow: var(--albedo-card-shadow) !important; padding: 0 !important;
}
#albedo-game-root .albedo-node-btn:disabled { cursor: default !important; }
#albedo-game-root .albedo-node-label { display: block !important; position: absolute !important; top: 82px !important; left: -9px !important; width: 92px !important; text-align: center !important; font-size: 14px !important; font-weight: 700 !important; color: var(--albedo-ink) !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }

#albedo-game-root .albedo-node-wrap.albedo-node--done .albedo-node-base { background: var(--albedo-primary-dark) !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--done .albedo-node-btn { background: var(--albedo-primary) !important; box-shadow: 0 0 0 4px rgba(242,183,5,.35), var(--albedo-card-shadow) !important; }
#albedo-game-root .albedo-node-badge {
  position: absolute !important; bottom: -4px !important; left: -4px !important; width: 24px !important; height: 24px !important;
  border-radius: 999px !important; background: var(--albedo-gold) !important; display: flex !important; align-items: center !important;
  justify-content: center !important; box-shadow: 0 2px 0 var(--albedo-gold-dark) !important; z-index: 2 !important;
}
#albedo-game-root .albedo-node-wrap.albedo-node--current { width: 88px !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--current .albedo-node-base { background: var(--albedo-gold-dark) !important; width: 88px !important; height: 88px !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--current .albedo-node-btn { background: var(--albedo-gold) !important; width: 88px !important; height: 88px !important; box-shadow: 0 0 0 8px rgba(242,183,5,.22) !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--current .albedo-node-label { top: 94px !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--quiz-current { width: 88px !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--quiz-current .albedo-node-base { background: var(--albedo-purple-dark) !important; width: 88px !important; height: 88px !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--quiz-current .albedo-node-btn { background: var(--albedo-purple) !important; width: 88px !important; height: 88px !important; box-shadow: 0 0 0 8px rgba(155,111,217,.22) !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--quiz-current .albedo-node-label { top: 94px !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--practice-current { width: 88px !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--practice-current .albedo-node-base { background: var(--albedo-pink-dark) !important; width: 88px !important; height: 88px !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--practice-current .albedo-node-btn { background: var(--albedo-pink) !important; width: 88px !important; height: 88px !important; box-shadow: 0 0 0 8px rgba(255,177,195,.35) !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--practice-current .albedo-node-label { top: 94px !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--locked .albedo-node-base { background: var(--albedo-gray-dark) !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--locked .albedo-node-btn { background: var(--albedo-gray) !important; color: var(--albedo-ink-soft) !important; box-shadow: none !important; }

#albedo-game-root .albedo-node-wrap.albedo-node--quiz-done .albedo-node-base { background: var(--albedo-purple-light-dark) !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--quiz-done .albedo-node-btn { background: var(--albedo-purple-light) !important; box-shadow: 0 0 0 4px rgba(155,111,217,.3), var(--albedo-card-shadow) !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--practice-done .albedo-node-base { background: var(--albedo-pink-light-dark) !important; }
#albedo-game-root .albedo-node-wrap.albedo-node--practice-done .albedo-node-btn { background: var(--albedo-pink-light) !important; box-shadow: 0 0 0 4px rgba(255,177,195,.4), var(--albedo-card-shadow) !important; }

#albedo-game-root .albedo-node-wrap.albedo-node--attn .albedo-node-btn { animation: albedo-pulse 1.8s ease-in-out infinite !important; }
@keyframes albedo-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.07); }
}

/* ---------- lesson (video-only) screen ---------- */

#albedo-game-root .albedo-lesson { max-width: 640px !important; margin: 10px auto 0 !important; }
#albedo-game-root .albedo-back { display: inline-flex !important; align-items: center !important; gap: 6px !important; color: var(--albedo-ink-soft) !important; font-weight: 700 !important; font-size: 14px !important; margin-bottom: 18px !important; }
#albedo-game-root .albedo-video-wrap { position: relative !important; }
#albedo-game-root .albedo-video-badge {
  position: absolute !important; top: -14px !important; right: -14px !important; width: 52px !important; height: 52px !important; border-radius: 999px !important;
  background: var(--albedo-gold) !important; color: var(--albedo-ink) !important; display: flex !important; align-items: center !important; justify-content: center !important;
  font-weight: 800 !important; font-size: 18px !important; box-shadow: 0 3px 0 var(--albedo-gold-dark) !important; z-index: 2 !important;
}
#albedo-game-root .albedo-lesson video { display: block !important; width: 100% !important; border-radius: 24px !important; background: #000 !important; }
#albedo-game-root .albedo-lesson-actions { display: flex !important; justify-content: center !important; margin-top: 26px !important; }

/* ---------- quiz (one question at a time) ---------- */

#albedo-game-root .albedo-quiz-header { display: flex !important; align-items: center !important; gap: 16px !important; max-width: 640px !important; margin: 0 auto 30px !important; }
#albedo-game-root .albedo-quiz-close { width: 38px !important; height: 38px !important; border-radius: 999px !important; background: var(--albedo-surface) !important; box-shadow: var(--albedo-card-shadow) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: var(--albedo-ink-soft) !important; flex-shrink: 0 !important; }
#albedo-game-root .albedo-quiz-track { flex: 1 !important; height: 12px !important; border-radius: 999px !important; background: var(--albedo-primary-light) !important; overflow: hidden !important; }
#albedo-game-root .albedo-quiz-fill { display: block !important; height: 100% !important; background: var(--albedo-primary) !important; border-radius: 999px !important; }

#albedo-game-root .albedo-quiz-body { max-width: 620px !important; margin: 0 auto !important; text-align: center !important; }
#albedo-game-root .albedo-quiz-step-label { display: block !important; font-size: 13px !important; font-weight: 700 !important; color: var(--albedo-ink-soft) !important; margin-bottom: 12px !important; }
#albedo-game-root .albedo-quiz-question { display: block !important; font-size: 22px !important; font-weight: 800 !important; margin: 0 0 28px !important; line-height: 1.7 !important; }

#albedo-game-root .albedo-option {
  display: flex !important; align-items: center !important; gap: 14px !important; width: 100% !important; text-align: right !important;
  padding: 16px 20px !important; border-radius: 20px !important; border: 2px solid var(--albedo-primary-light) !important;
  background: var(--albedo-surface) !important; font-size: 15px !important; font-weight: 600 !important; margin-bottom: 12px !important;
  box-shadow: var(--albedo-card-shadow) !important; color: var(--albedo-ink) !important;
}
#albedo-game-root .albedo-option-letter {
  width: 30px !important; height: 30px !important; border-radius: 999px !important; background: var(--albedo-primary-light) !important;
  color: var(--albedo-primary-dark) !important; font-weight: 800 !important; font-size: 13px !important;
  display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
}
#albedo-game-root .albedo-option--selected { border-color: var(--albedo-primary) !important; }
#albedo-game-root .albedo-option--correct { border-color: var(--albedo-primary) !important; background: var(--albedo-primary-light) !important; }
#albedo-game-root .albedo-option--wrong { border-color: var(--albedo-red) !important; background: var(--albedo-red-bg) !important; }

#albedo-game-root .albedo-challenge-block { background: var(--albedo-primary-light) !important; border-radius: 20px !important; padding: 22px !important; margin: 0 auto 22px !important; max-width: 620px !important; text-align: right !important; }
#albedo-game-root .albedo-challenge-block h3 { display: block !important; margin: 0 0 8px !important; font-size: 16px !important; font-weight: 800 !important; }
#albedo-game-root .albedo-challenge-image { display: block !important; max-width: 100% !important; border-radius: 16px !important; margin-bottom: 14px !important; }

#albedo-game-root .albedo-cta {
  display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 15px 40px !important; border-radius: 18px !important;
  background: var(--albedo-gold) !important; color: var(--albedo-ink) !important; font-weight: 800 !important;
  font-size: 15px !important; border: none !important; box-shadow: 0 4px 0 var(--albedo-gold-dark) !important;
}
#albedo-game-root .albedo-cta:disabled { opacity: .5 !important; cursor: default !important; box-shadow: none !important; }
#albedo-game-root .albedo-cta-wrap { text-align: center !important; margin-top: 10px !important; }
#albedo-game-root .albedo-done-note { display: block !important; color: var(--albedo-primary-dark) !important; font-weight: 700 !important; font-size: 14px !important; text-align: center !important; }

/* ---------- level strip (path screen) ---------- */

#albedo-game-root .albedo-level-strip {
  display: flex !important; align-items: center !important; gap: 10px !important; justify-content: center !important;
  margin: 0 auto 14px !important; max-width: 560px !important;
}
#albedo-game-root .albedo-level-medal { width: 48px !important; height: 48px !important; border-radius: 999px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
#albedo-game-root .albedo-level-medal svg { width: 24px !important; height: 24px !important; }
#albedo-game-root .albedo-level-strip span:last-child { font-weight: 800 !important; font-size: 19px !important; color: var(--albedo-ink-soft) !important; }

#albedo-game-root .albedo-profile-card {
  background: var(--albedo-surface) !important; border-radius: 24px !important; padding: 28px !important; text-align: center !important;
  box-shadow: var(--albedo-card-shadow) !important; margin-bottom: 20px !important;
}
#albedo-game-root .albedo-profile-avatar { width: 56px !important; height: 56px !important; border-radius: 999px !important; margin: 0 auto 10px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
#albedo-game-root .albedo-profile-level { display: block !important; font-size: 12px !important; font-weight: 700 !important; color: var(--albedo-ink-soft) !important; margin-bottom: 10px !important; }
#albedo-game-root .albedo-profile-name { display: block !important; font-size: 27px !important; font-weight: 800 !important; margin-bottom: 8px !important; }
#albedo-game-root .albedo-profile-sub { display: block !important; font-size: 13px !important; color: var(--albedo-ink-soft) !important; margin-bottom: 16px !important; }
#albedo-game-root .albedo-profile-big-num { display: block !important; font-size: 34px !important; font-weight: 800 !important; color: var(--albedo-primary) !important; }
#albedo-game-root .albedo-session-list { background: var(--albedo-surface) !important; border-radius: 20px !important; padding: 8px 20px !important; box-shadow: var(--albedo-card-shadow) !important; margin-top: 0 !important; }
#albedo-game-root .albedo-session-row {
  display: flex !important; align-items: center !important; gap: 12px !important; padding: 14px 0 !important; border-bottom: 1px solid #f0ebdf !important; font-size: 17px !important; font-weight: 600 !important;
}
#albedo-game-root .albedo-session-row:last-child { border-bottom: none !important; }
#albedo-game-root .albedo-session-row-icon { width: 36px !important; height: 36px !important; border-radius: 999px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
#albedo-game-root .albedo-session-row-icon svg { width: 19px !important; height: 19px !important; }
#albedo-game-root .albedo-session-row-score { margin-right: auto !important; color: var(--albedo-ink-soft) !important; font-weight: 700 !important; font-size: 15px !important; }

#albedo-game-root .albedo-stats-row { display: flex !important; gap: 14px !important; margin-bottom: 20px !important; }
#albedo-game-root .albedo-stat-card { flex: 1 !important; background: var(--albedo-surface) !important; border-radius: 18px !important; padding: 16px 10px !important; text-align: center !important; box-shadow: var(--albedo-card-shadow) !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 4px !important; }
#albedo-game-root .albedo-stat-icon { display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 2px !important; }
#albedo-game-root .albedo-stat-icon svg { width: 30px !important; height: 30px !important; }
#albedo-game-root .albedo-stat-num { display: block !important; font-size: 27px !important; font-weight: 800 !important; color: var(--albedo-primary) !important; }
#albedo-game-root .albedo-stat-card span:last-child { font-size: 15px !important; color: var(--albedo-ink-soft) !important; font-weight: 600 !important; }

#albedo-game-root .albedo-week-card { background: var(--albedo-surface) !important; border-radius: 20px !important; padding: 18px 20px !important; box-shadow: var(--albedo-card-shadow) !important; margin-bottom: 20px !important; }
#albedo-game-root .albedo-week-head { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 14px !important; }
#albedo-game-root .albedo-week-head span:first-child { font-size: 18px !important; font-weight: 800 !important; }
#albedo-game-root .albedo-week-badge { display: inline-flex !important; align-items: center !important; gap: 4px !important; background: var(--albedo-gold) !important; color: var(--albedo-ink) !important; font-size: 14px !important; font-weight: 800 !important; padding: 6px 12px !important; border-radius: 999px !important; }
#albedo-game-root .albedo-week-row { display: flex !important; justify-content: space-between !important; }
#albedo-game-root .albedo-week-cell { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 6px !important; }
#albedo-game-root .albedo-week-cell span { font-size: 15px !important; font-weight: 700 !important; color: var(--albedo-ink-soft) !important; }
#albedo-game-root .albedo-week-dot { width: 42px !important; height: 42px !important; border-radius: 999px !important; background: var(--albedo-primary-light) !important; border: 2px solid var(--albedo-gray) !important; }
#albedo-game-root .albedo-week-dot--on { background: var(--albedo-primary) !important; border-color: var(--albedo-primary-dark) !important; }

#albedo-game-root .albedo-badges-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 14px !important; margin-bottom: 20px !important; }
#albedo-game-root .albedo-badge-card { background: var(--albedo-surface) !important; border-radius: 18px !important; padding: 16px 8px !important; text-align: center !important; box-shadow: var(--albedo-card-shadow) !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; }
#albedo-game-root .albedo-badge-icon { width: 64px !important; height: 64px !important; border-radius: 999px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
#albedo-game-root .albedo-badge-icon svg { width: 28px !important; height: 28px !important; }
#albedo-game-root .albedo-badge-card span { font-size: 15px !important; font-weight: 700 !important; }

#albedo-game-root .albedo-icon { display: block !important; flex-shrink: 0 !important; }

.albedo-body-fab {
  position: fixed !important; bottom: 26px !important; left: 26px !important; z-index: 99998 !important;
  display: none !important; align-items: center !important; gap: 8px !important;
  padding: 13px 20px !important; margin: 0 !important; border: none !important; border-radius: 999px !important;
  background: #146267 !important; color: #FFFFFF !important; font-weight: 800 !important; font-size: 14px !important;
  line-height: normal !important; text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(23,57,58,.3) !important; cursor: pointer !important;
  font-family: 'IRANSansX', 'Vazirmatn', Tahoma, sans-serif !important; direction: rtl !important;
}
.albedo-body-fab span { color: #FFFFFF !important; font-weight: 800 !important; font-size: 14px !important; }

@media (max-width: 720px) {
  .albedo-body-fab { bottom: 18px !important; left: 14px !important; padding: 11px 16px !important; }
}
