/* ==========================================================================
   ASOSIY SAHIFA (Home) — hero banner va Faollik kalendari.
   Avvalgi visual-refresh.css dan ko'chirilgan (mazmuni o'zgartirilmagan).
   ========================================================================== */
:root{
  --visual-bg:#050914;
  --visual-surface:#0b1222;
  --visual-surface-2:#10182b;
  --visual-border:rgba(164,177,214,.16);
  --visual-text:#f4f7ff;
  --visual-muted:#8f9ab7;
  --visual-purple:#a855f7;
  --visual-pink:#ec2b9b;
  --visual-cyan:#38d8ff;
  --visual-green:#42d97c;
  --visual-blue:#4f86ff;
}
body:not(.theme-picker--light){background:
  radial-gradient(circle at 12% 4%,rgba(236,43,155,.10),transparent 24%),
  radial-gradient(circle at 90% 10%,rgba(56,216,255,.09),transparent 28%),
  linear-gradient(180deg,#050812 0%,#070d19 48%,#050914 100%);}
.learning-stage{max-width:1240px!important;margin:0 auto!important;min-height:calc(100vh - 130px);padding:18px 20px 100px!important;}
.home-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:18px;min-height:340px;margin:4px 0 18px;padding:42px 46px;overflow:hidden;border:1px solid var(--visual-border);border-radius:28px;background:
  radial-gradient(circle at 76% 45%,rgba(168,85,247,.22),transparent 28%),
  radial-gradient(circle at 94% 6%,rgba(56,216,255,.14),transparent 24%),
  linear-gradient(135deg,rgba(14,21,39,.96),rgba(8,13,27,.96));box-shadow:0 28px 70px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05);}
.home-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,rgba(0,0,0,.8),transparent 85%);pointer-events:none;}
.home-hero.state--hidden{display:none;}
.home-hero__copy{position:relative;z-index:2;align-self:center;max-width:650px;}
.home-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:#c8b5ff;font:800 11px/1.2 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;}
.home-hero__eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--visual-pink),var(--visual-cyan));box-shadow:0 0 14px rgba(168,85,247,.7);}
.home-hero h2{margin:0;max-width:640px;font-family:'Manrope',sans-serif;font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:-.045em;color:var(--visual-text);}
.home-hero h2 span{background:linear-gradient(100deg,#fff 0%,#d59cff 48%,#6ee7ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.home-hero__copy>p{max-width:560px;margin:18px 0 22px;color:#aab4cf;font-size:15px;line-height:1.7;}
.home-hero__actions{display:flex;gap:10px;flex-wrap:wrap;}
.hero-action{border-radius:13px;padding:12px 17px;font:800 12px/1 'Manrope',sans-serif;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.hero-action:hover{transform:translateY(-2px);}
.hero-action--primary{border:1px solid rgba(255,255,255,.12);color:#fff;background:linear-gradient(100deg,var(--accent),var(--purple));box-shadow:0 12px 28px rgba(var(--purple-rgb),.26);}
.hero-action--ghost{border:1px solid rgba(164,177,214,.18);color:#dbe3fb;background:rgba(255,255,255,.04);}
.home-hero__microstats{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;color:#7f8aa7;font-size:11px;}
.home-hero__microstats span{display:inline-flex;gap:6px;align-items:baseline;}
.home-hero__microstats b{color:#f5f7ff;font:800 13px 'JetBrains Mono',monospace;}
.home-hero__visual{position:relative;min-height:290px;display:grid;place-items:center;isolation:isolate;}
.hero-orbit{position:absolute;border:1px solid rgba(168,85,247,.22);border-radius:50%;transform:rotate(-18deg);box-shadow:0 0 28px rgba(168,85,247,.08);}
.hero-orbit--one{width:290px;height:170px;}
.hero-orbit--two{width:230px;height:320px;border-color:rgba(56,216,255,.16);transform:rotate(52deg);}
.hero-mascot{position:relative;width:190px;height:190px;display:grid;place-items:center;border-radius:50%;}
.hero-mascot__halo{position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle,rgba(168,85,247,.42),rgba(56,216,255,.08) 55%,transparent 70%);filter:blur(8px);z-index:-1;}
.hero-mascot__logo{width:126px;height:126px;object-fit:contain;filter:drop-shadow(0 0 28px rgba(168,85,247,.5));animation:heroFloat 4.6s ease-in-out infinite;}
@keyframes heroFloat{50%{transform:translateY(-8px) rotate(2deg);}}
.hero-mascot__spark{position:absolute;color:#d99aff;text-shadow:0 0 18px currentColor;animation:sparkFloat 2.8s ease-in-out infinite;}
.hero-mascot__spark--a{top:10px;left:35px;font-size:22px;}.hero-mascot__spark--b{right:18px;top:52px;font-size:16px;animation-delay:.6s}.hero-mascot__spark--c{left:6px;bottom:34px;font-size:18px;animation-delay:1s}
@keyframes sparkFloat{50%{transform:translateY(-7px) scale(1.08);opacity:.65;}}
.hero-float{position:absolute;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:8px;padding:10px 13px;border:1px solid rgba(164,177,214,.16);border-radius:14px;background:rgba(9,15,29,.72);backdrop-filter:blur(14px);box-shadow:0 14px 30px rgba(0,0,0,.25);}
.hero-float span{grid-row:1/3;font-size:20px;align-self:center}.hero-float b{color:#fff;font:800 15px 'JetBrains Mono',monospace}.hero-float small{color:#7f8aa7;font-size:9px}.hero-float--xp{top:22px;right:14px}.hero-float--streak{left:4px;bottom:42px}.hero-float--level{right:18px;bottom:18px}
.quest-strip{max-width:none!important;margin:0 0 18px!important;border-radius:20px!important;background:linear-gradient(120deg,rgba(15,25,44,.95),rgba(11,17,32,.96))!important;border-color:var(--visual-border)!important;}
.quest-strip.state--hidden{display:none!important;}
.journey-board,.play-lab,.typing-lab,.listening-lab,.word-vault,.language-bridge,.reward-market{max-width:none!important;padding-left:0!important;padding-right:0!important;}
.journey-board{padding-top:4px!important;}
.unit__banner{border-radius:22px!important;padding:20px 24px!important;box-shadow:0 18px 40px rgba(0,0,0,.24)!important;}
.play-lab,.typing-lab,.listening-lab,.word-vault,.language-bridge,.reward-market{background:transparent;}
.play-lab .games__intro,.typing-lab .games__intro{margin:10px 0 16px!important;border:1px solid var(--visual-border);border-left:3px solid var(--visual-cyan);border-radius:14px!important;background:rgba(255,255,255,.025)!important;padding:13px 15px!important;}
.play-lab .play-tile,.typing-lab .play-tile{min-height:120px;border-radius:20px!important;background:linear-gradient(145deg,rgba(14,23,42,.94),rgba(8,14,27,.94))!important;border-color:var(--visual-border)!important;}
.play-tile__visual{width:58px!important;height:58px!important;border-radius:17px!important;background:linear-gradient(135deg,rgba(56,216,255,.16),rgba(168,85,247,.18))!important;}
@media(min-width:900px){.play-lab.state--active,.typing-lab.state--active{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}.play-lab .games__intro,.typing-lab .games__intro{grid-column:1/-1;}.play-lab .play-tile:first-of-type{grid-column:span 2;}}
/* ---------- ACTIVITY CALENDAR ---------- */
.activity-calendar-modal{width:min(1180px,calc(100vw - 28px))!important;max-width:1180px!important;padding:0!important;border:1px solid rgba(164,177,214,.17)!important;border-radius:24px!important;background:linear-gradient(145deg,#090f1d,#0c1426)!important;box-shadow:0 35px 100px rgba(0,0,0,.55),0 0 60px rgba(168,85,247,.08)!important;overflow-y:auto!important;overflow-x:hidden!important;}
.activity-calendar-modal .modal__close{top:18px;right:18px;z-index:20;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);}
.activity-calendar__shell{padding:28px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);grid-template-areas:"intro intro" "calendar gift" "calendar insight";gap:18px;align-content:start;}
.daily-gift-card{grid-area:gift;}
.activity-calendar__intro{grid-area:intro!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:0 4px 4px!important;}
.activity-calendar__intro-icon{width:54px!important;height:54px!important;border-radius:16px!important;background:linear-gradient(145deg,rgba(249,200,70,.12),rgba(236,43,155,.10))!important;border-color:rgba(249,200,70,.35)!important;box-shadow:0 0 28px rgba(249,200,70,.12)!important;font-size:30px!important;}
.activity-calendar__title{font-size:26px!important;letter-spacing:-.03em!important;}
.activity-calendar__subtitle{font-size:12px!important;color:#8793b1!important;}
.activity-calendar__stats{grid-area:stats!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important;margin:0!important;}
.activity-calendar__stat{position:relative;overflow:hidden;min-height:86px!important;padding:15px 16px!important;border-radius:16px!important;background:linear-gradient(145deg,rgba(16,25,44,.95),rgba(10,16,29,.95))!important;border:1px solid rgba(164,177,214,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;}
.activity-calendar__stat::after{content:"";position:absolute;width:70px;height:70px;right:-25px;top:-28px;border-radius:50%;background:rgba(168,85,247,.12);filter:blur(15px);}
.activity-calendar__stat strong{font-size:25px!important;color:#f8f9ff!important;}.activity-calendar__stat span{font-size:10px!important;color:#8f9ab7!important;text-transform:uppercase;letter-spacing:.05em;}
.activity-calendar__status{color:#6fe5ff!important;font-size:11px!important;}
.activity-calendar__month-head{padding:16px 18px!important;border:1px solid rgba(164,177,214,.14)!important;border-radius:18px 18px 0 0!important;background:rgba(13,21,37,.7)!important;}
.activity-calendar__nav{width:38px!important;height:38px!important;border-radius:11px!important;background:rgba(255,255,255,.035)!important;border-color:rgba(164,177,214,.13)!important;}
.activity-calendar__weekdays{padding:0 18px!important;background:rgba(13,21,37,.7)!important;}.activity-calendar__days{padding:12px 18px 18px!important;background:rgba(13,21,37,.7)!important;border-radius:0 0 18px 18px!important;}
.activity-calendar__day{height:52px!important;border-radius:15px!important;}.activity-calendar__day-number{width:42px!important;height:42px!important;border-radius:50%!important;border:1px solid rgba(164,177,214,.08);background:rgba(255,255,255,.025);transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;}
.activity-calendar__day.state--visited .activity-calendar__day-number{background:linear-gradient(145deg,rgba(49,220,105,.24),rgba(18,103,74,.24))!important;border-color:rgba(66,217,124,.48)!important;box-shadow:0 0 18px rgba(66,217,124,.12)!important;}.activity-calendar__day.state--today .activity-calendar__day-number{background:linear-gradient(145deg,#8b4dff,#ec2b9b)!important;border-color:rgba(255,255,255,.3)!important;box-shadow:0 0 24px rgba(168,85,247,.42)!important;color:#fff!important;}.activity-calendar__day:hover .activity-calendar__day-number{transform:translateY(-2px) scale(1.04)!important;}
.activity-calendar__legend{padding:10px 18px 0!important;display:flex!important;gap:16px!important;flex-wrap:wrap!important;color:#7e89a5!important;font-size:10px!important;}
.activity-calendar__legend-dot{width:8px!important;height:8px!important;background:#263047!important;border-radius:50%!important;display:inline-block!important}.activity-calendar__legend-dot.state--active{background:#42d97c!important;box-shadow:0 0 10px rgba(66,217,124,.45)}.activity-calendar__legend-dot.is-today{background:#ec2b9b!important;box-shadow:0 0 10px rgba(236,43,155,.45)}
.activity-calendar__insight{grid-area:insight;padding:22px;border:1px solid rgba(164,177,214,.14);border-radius:18px;background:linear-gradient(145deg,rgba(18,25,46,.92),rgba(10,16,30,.92));}
.activity-calendar__insight-title{font-size:18px;font-weight:800;color:#fff}.activity-calendar__insight-value{font-size:48px;font-weight:900;letter-spacing:-.06em;background:linear-gradient(100deg,#67e8f9,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent}.activity-calendar__insight small{color:#7f8aa7;line-height:1.6}.activity-calendar__trend{height:7px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;margin:18px 0 10px}.activity-calendar__trend>i{display:block;width:78%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38d8ff,#a855f7,#ec2b9b);box-shadow:0 0 18px rgba(168,85,247,.4)}
@media(max-width:900px){.home-hero{grid-template-columns:1fr;padding:32px 28px}.home-hero__visual{min-height:230px}.activity-calendar__shell{grid-template-columns:1fr;grid-template-areas:"intro" "gift" "calendar" "insight"}.activity-calendar__stats{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:560px){.learning-stage{padding-left:12px!important;padding-right:12px!important}.home-hero{padding:26px 20px;min-height:0}.home-hero h2{font-size:34px}.hero-float--xp{right:0}.hero-float--level{right:0}.activity-calendar__shell{padding:18px}.activity-calendar__stats{grid-template-columns:1fr 1fr!important}.activity-calendar__day{height:44px!important}.activity-calendar__day-number{width:34px!important;height:34px!important;font-size:11px!important}.activity-calendar__weekday{font-size:9px!important}}
body.theme-picker--light .home-hero{background:linear-gradient(145deg,#fff,#f2eefc);border-color:rgba(65,54,105,.14)}
body.theme-picker--light .home-hero h2{color:#201a2f}.theme-picker--light .hero-float{background:rgba(255,255,255,.82);border-color:rgba(65,54,105,.12)}

.activity-calendar__calendar{grid-area:calendar;}

/* ---------- ACTIVITY CALENDAR: ko'rinadigan, yuqori kontrastli sanalar
   (avvalgi reference-ui-fix.css dan) ---------- */
.activity-calendar-modal{width:min(1120px,calc(100vw - 28px))!important;max-height:min(94dvh,940px)!important;overflow-y:auto!important;overflow-x:hidden!important;background:linear-gradient(145deg,#0d1525,#101a2c)!important}
.activity-calendar__shell{padding:30px!important;gap:18px!important}.activity-calendar__calendar{overflow:hidden!important;border:1px solid #2a3953!important;background:linear-gradient(180deg,#121d30,#0d1728)!important}
.activity-calendar__weekdays{padding:14px 18px 10px!important;background:#152136!important;border-bottom:1px solid #26354e!important}.activity-calendar__weekday{font-size:11px!important;color:#9eacc3!important;font-weight:900!important}
.activity-calendar__days{padding:14px 18px 20px!important;background:transparent!important;gap:10px!important}.activity-calendar__day{height:54px!important;opacity:1!important}
/* MUHIM: "o'tgan, lekin faoliyat bo'lmagan kun" va "haqiqiy faol kun"
   ANIQ farqlanishi kerak — faqat haqiqatan tasdiqlangan faol kun
   (state--visited) yorqin, aniq ajralib turadi, boshqa barcha o'tgan
   kunlar xira. */
.activity-calendar__day-number{width:44px!important;height:44px!important;color:#5b6980!important;background:#131e30!important;border:1px solid #223047!important;font-size:13px!important;font-weight:600!important;text-shadow:none!important;opacity:1!important}
.activity-calendar__day.state--visited .activity-calendar__day-number{color:#f5fff8!important;background:linear-gradient(145deg,#1f6b52,#183e3a)!important;border-color:#47d69a!important;font-weight:850!important;box-shadow:0 0 14px rgba(71,214,154,.28)!important}.activity-calendar__day.state--today .activity-calendar__day-number{color:#fff!important;background:linear-gradient(135deg,#7c3aed,#ec2b9b)!important;border-color:rgba(255,255,255,.5)!important;font-weight:850!important}.activity-calendar__day.state--future .activity-calendar__day-number{color:#4a5568!important;background:#0e1725!important;opacity:.65!important}
.activity-calendar__day-dot{z-index:3!important;opacity:1!important}.activity-calendar__month-label{color:#f3f7ff!important;font-size:21px!important}.activity-calendar__year-label{color:#9eacc3!important;font-size:13px!important}.activity-calendar__nav{color:#eaf1ff!important;background:#18253a!important;border-color:#31415b!important}.activity-calendar__legend{color:#aebbd0!important}
@media(max-width:560px){.activity-calendar-modal{width:calc(100vw - 16px)!important;max-height:94dvh!important}.activity-calendar__shell{padding:18px 14px!important}.activity-calendar__days{padding:10px!important;gap:5px!important}.activity-calendar__weekdays{padding:12px 10px 8px!important}.activity-calendar__day{height:43px!important}.activity-calendar__day-number{width:36px!important;height:36px!important;font-size:12px!important}.activity-calendar__intro{align-items:flex-start!important}.activity-calendar__title{font-size:23px!important}}


/* ---------- HOME: yakuniy "polish" (avvalgi final-ui-polish.css dan) ---------- */
.home-hero{
  min-height:0!important;
  grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr)!important;
  gap:28px!important;
  padding:32px!important;
  border-radius:26px!important;
  background:
    radial-gradient(520px 300px at 100% 0%,rgba(77,225,255,.09),transparent 70%),
    radial-gradient(520px 320px at 0% 100%,rgba(156,92,255,.10),transparent 68%),
    linear-gradient(145deg,#101829 0%,#0a101d 100%)!important;
  box-shadow:0 26px 70px rgba(0,0,0,.30)!important;
}
.home-hero::before{opacity:.28;background-size:56px 56px!important;mask-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent 76%)!important}
.home-hero__copy{max-width:700px!important}
.home-hero__eyebrow{color:#71e6ff!important;font-size:10px!important;letter-spacing:.16em!important}
.home-hero h2{font-size:clamp(36px,4.5vw,62px)!important;line-height:.98!important;max-width:650px!important}
.home-hero__copy>p{font-size:15px!important;max-width:580px!important;color:#9eabc7!important}
.home-hero__actions{margin-top:4px!important}
.hero-action{min-height:44px!important;padding:13px 18px!important;border-radius:14px!important}
.home-hero__microstats{gap:10px!important;margin-top:22px!important}
.home-hero__microstats span{padding:8px 10px;border:1px solid var(--ui-line);border-radius:10px;background:rgba(255,255,255,.025)}
.home-hero__visual{min-height:260px!important;border:1px solid var(--ui-line);border-radius:22px;background:rgba(255,255,255,.025);overflow:hidden}
.hero-orbit{opacity:.22!important}
.hero-mascot{width:150px!important;height:150px!important}
.hero-mascot__logo{width:92px!important;height:92px!important;filter:drop-shadow(0 0 20px rgba(156,92,255,.38))!important}
.hero-mascot__halo{inset:14px!important}
.hero-float{padding:9px 11px!important;border-radius:12px!important}
.hero-float--xp{top:18px!important;right:18px!important}.hero-float--streak{left:18px!important;bottom:24px!important}.hero-float--level{right:18px!important;bottom:18px!important}
.quest-strip{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:18px!important;padding:17px 18px!important}
.quest-strip__intro{min-width:0}
.quest-strip__title{display:block!important;font-size:16px!important;margin-top:2px}
.quest-strip__hint{font-size:11px!important;color:var(--ui-muted)!important}
.activity-calendar-modal{width:min(1100px,calc(100vw - 24px))!important}
.activity-calendar__shell{padding:26px!important}
.activity-calendar__calendar{border:1px solid var(--ui-line)!important;border-radius:18px!important;background:rgba(255,255,255,.02)!important}
.activity-calendar__day{border-radius:10px!important;border:1px solid rgba(182,196,231,.08)!important;background:#10192a!important}
.activity-calendar__day.state--visited{background:linear-gradient(145deg,rgba(156,92,255,.34),rgba(77,225,255,.16))!important;border-color:rgba(156,92,255,.34)!important}
.activity-calendar__day.state--today{outline:2px solid rgba(77,225,255,.58)!important;outline-offset:2px}
@media(max-width:900px){
  .home-hero{grid-template-columns:1fr!important;padding:26px!important}
  .home-hero__visual{min-height:220px!important}
  .quest-strip{grid-template-columns:1fr!important}
  .activity-calendar__shell{grid-template-columns:1fr!important;grid-template-areas:"intro" "gift" "calendar" "insight"!important}
  .activity-calendar__stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .learning-stage{padding:12px 12px 92px!important}
  .home-hero{padding:22px 18px!important;border-radius:22px!important}
  .home-hero h2{font-size:36px!important}
  .home-hero__visual{min-height:190px!important}
  .hero-mascot{transform:scale(.82)}
  .hero-float--xp{right:10px!important}.hero-float--streak{left:10px!important}.hero-float--level{right:10px!important;bottom:10px!important}
  .activity-calendar__shell{padding:16px!important}
  .activity-calendar__stats{gap:8px!important}
}

/* ---------- PREMIUM HOME hero (avvalgi ultimate-polish.css dan) ---------- */
.home-hero--premium{position:relative;isolation:isolate;overflow:hidden!important;min-height:430px!important;padding:42px!important;border-radius:30px!important;border:1px solid rgba(111,224,255,.18)!important;background:
  linear-gradient(125deg,rgba(15,25,46,.98),rgba(10,16,31,.97) 58%,rgba(19,12,37,.98))!important;
  box-shadow:0 32px 90px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.055)!important;}
.home-hero--premium::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(77,225,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(77,225,255,.035) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,black,transparent 78%);pointer-events:none;z-index:-1;}
.home-hero__glow{position:absolute;border-radius:50%;filter:blur(35px);pointer-events:none;z-index:-1;}
.home-hero__glow--a{width:240px;height:240px;right:12%;top:-110px;background:rgba(0,229,255,.12);}
.home-hero__glow--b{width:260px;height:260px;right:-90px;bottom:-140px;background:rgba(176,38,255,.16);}
.home-hero--premium .home-hero__copy{position:relative;z-index:2;max-width:620px!important;}
.home-hero__status{display:inline-flex;align-items:center;gap:8px;margin-bottom:15px;padding:7px 10px;border:1px solid rgba(77,225,255,.16);border-radius:999px;background:rgba(77,225,255,.045);color:#93a6c6;font:800 9px/1 'JetBrains Mono',monospace;letter-spacing:.13em;}
.home-hero__status-dot{width:7px;height:7px;border-radius:50%;background:#43ef91;box-shadow:0 0 14px #43ef91;animation:heroLive 1.8s ease-in-out infinite;}
@keyframes heroLive{50%{opacity:.42;transform:scale(.78)}}
.home-hero--premium .home-hero__eyebrow{color:#6eeaff!important;letter-spacing:.2em!important;font:800 10px/1 'JetBrains Mono',monospace!important;}
.home-hero--premium h2{margin:8px 0 16px!important;font-size:clamp(40px,5vw,68px)!important;line-height:.96!important;letter-spacing:-.055em!important;color:#f6f8ff!important;max-width:600px!important;}
.home-hero--premium h2 span{background:linear-gradient(100deg,#5de7ff 0%,#9d6bff 55%,#ff4bad 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.home-hero--premium .home-hero__copy>p{max-width:570px!important;color:#93a1bd!important;font-size:15px!important;line-height:1.72!important;}
.home-hero--premium .home-hero__actions{margin-top:25px!important;gap:10px!important;}
.hero-action{min-height:48px!important;border-radius:14px!important;padding:0 17px!important;font-weight:850!important;box-shadow:none!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;}
.hero-action--primary{background:linear-gradient(105deg,var(--accent),var(--purple))!important;box-shadow:0 12px 30px rgba(var(--accent-rgb),.2)!important;}
.hero-action--primary:hover{transform:translateY(-2px)!important;box-shadow:0 16px 36px rgba(255,46,151,.3)!important;}
.hero-action--ghost{background:rgba(255,255,255,.035)!important;border:1px solid var(--ui-line)!important;color:#d9e4fa!important;}
.hero-action--ghost:hover{transform:translateY(-2px)!important;border-color:var(--ui-line-strong)!important;background:rgba(77,225,255,.05)!important;}
.hero-action__icon{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:5px;border-radius:8px;background:rgba(255,255,255,.15);font-size:9px;}
.home-hero--premium .home-hero__microstats{display:flex!important;flex-wrap:wrap;gap:8px!important;margin-top:24px!important;}
.home-hero--premium .home-hero__microstats span{display:flex;align-items:center;gap:7px!important;padding:8px 10px!important;border:1px solid var(--ui-line)!important;border-radius:12px!important;background:rgba(255,255,255,.025)!important;color:#8e9bb8!important;font-size:10px!important;}
.home-hero--premium .home-hero__microstats b{color:#f2f7ff!important;font-size:12px!important;}
.stat-mini-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;font-style:normal;font-weight:900;}
.stat-mini-icon--fire{color:#ffb34a;background:rgba(255,117,35,.1);}.stat-mini-icon--xp{color:#ffe36b;background:rgba(255,212,72,.1);}.stat-mini-icon--path{color:#6deaff;background:rgba(77,225,255,.1);}
.home-hero__visual--dashboard{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:360px!important;border:1px solid rgba(120,171,231,.14)!important;border-radius:25px!important;background:radial-gradient(circle at 50% 42%,rgba(77,225,255,.09),transparent 31%),rgba(255,255,255,.018)!important;overflow:hidden!important;}
.hero-panel__top{position:absolute;left:20px;right:20px;top:18px;display:flex;justify-content:space-between;color:#71809e;font:800 9px/1 'JetBrains Mono',monospace;letter-spacing:.12em;}.hero-panel__top strong{color:#43ef91;}
.hero-progress-orb{position:relative;width:230px;height:230px;display:grid;place-items:center;}
.hero-progress-orb::before,.hero-progress-orb::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(77,225,255,.08);}.hero-progress-orb::before{inset:10px;}.hero-progress-orb::after{inset:-10px;border-color:rgba(157,92,255,.08);}
.hero-progress-orb__ring{width:205px;height:205px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#4de1ff 0deg,#9d5cff 130deg,#ff2e97 220deg,rgba(255,255,255,.06) 220deg 360deg);padding:2px;box-shadow:0 0 45px rgba(77,225,255,.13),0 0 60px rgba(157,92,255,.08);}
.hero-progress-orb__core{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;align-content:center;gap:4px;background:radial-gradient(circle at 50% 35%,#182641,#0a1120 70%);box-shadow:inset 0 0 35px rgba(0,0,0,.35);}
.hero-progress-orb__core img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(77,225,255,.24));}.hero-progress-orb__core span{color:#f6f8ff;font:900 24px/1 'JetBrains Mono',monospace;}
.hero-float{position:absolute!important;display:grid!important;grid-template-columns:24px auto;grid-template-rows:auto auto;column-gap:7px;min-width:92px!important;padding:9px 11px!important;border:1px solid rgba(166,188,224,.14)!important;border-radius:14px!important;background:rgba(9,16,29,.8)!important;backdrop-filter:blur(12px)!important;box-shadow:0 14px 28px rgba(0,0,0,.22)!important;}
.hero-float__icon{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg,rgba(77,225,255,.12),rgba(157,92,255,.18));color:#6eeaff;font-size:12px;}
.hero-float b{font-size:13px;color:#fff;line-height:1;}.hero-float small{font-size:8px;color:#7787a6;text-transform:uppercase;letter-spacing:.08em;}.hero-float--xp{top:82px;right:18px}.hero-float--streak{left:18px;bottom:100px}.hero-float--level{right:22px;bottom:96px}
.hero-panel__goal{position:absolute;left:18px;right:18px;bottom:18px;padding:13px 14px;border:1px solid rgba(77,225,255,.12);border-radius:15px;background:rgba(8,14,26,.72);backdrop-filter:blur(10px);}.hero-panel__goal>span{display:block;color:#6f819f;font:800 9px/1 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.1em;}.hero-panel__goal strong{display:block;margin:5px 0 9px;color:#edf4ff;font-size:13px;}.hero-panel__goal>div{height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;}.hero-panel__goal i{display:block;width:44%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4de1ff,#9d5cff,#ff2e97);}.hero-panel__goal small{display:block;margin-top:7px;color:#71809e;font-size:9px;}
.quest-strip{max-width:100%!important;margin:16px 0 10px!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(77,225,255,.055),rgba(157,92,255,.05))!important;}
.quest-chip{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:38px!important;border:1px solid var(--ui-line)!important;border-radius:11px!important;background:rgba(255,255,255,.035)!important;color:#c9d5ec!important;}.quest-chip.state--selected{background:linear-gradient(105deg,rgba(255,46,151,.18),rgba(157,92,255,.13))!important;border-color:rgba(255,46,151,.35)!important;color:#fff!important;}.quest-chip__icon{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(77,225,255,.1);color:#6eeaff;font-style:normal;font-size:11px;}
.activity-calendar-modal{width:min(1060px,calc(100vw - 24px))!important;border-radius:28px!important;}.activity-calendar__shell{gap:14px!important;}.activity-calendar__stat{border:1px solid var(--ui-line)!important;border-radius:15px!important;background:linear-gradient(145deg,#151f34,#0c1424)!important;}.activity-calendar__calendar,.activity-calendar__insight{border-color:var(--ui-line)!important;background:linear-gradient(145deg,rgba(19,29,49,.86),rgba(10,16,29,.88))!important;border-radius:18px!important;}.activity-calendar__day{border-radius:11px!important;background:#101a2d!important;border-color:rgba(153,181,224,.08)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;}.activity-calendar__day:hover{transform:translateY(-2px);border-color:rgba(77,225,255,.28)!important;}.activity-calendar__day.state--visited{background:linear-gradient(145deg,rgba(77,225,255,.18),rgba(157,92,255,.2))!important;box-shadow:inset 0 0 18px rgba(77,225,255,.06),0 6px 16px rgba(77,225,255,.05)!important;}.activity-calendar__day.state--today{outline:2px solid rgba(255,46,151,.55)!important;outline-offset:2px;}
@media(max-width:900px){.home-hero--premium{grid-template-columns:1fr!important;padding:28px!important;}.home-hero__visual--dashboard{min-height:320px!important;margin-top:5px;}.learning-stage{padding-left:14px!important;padding-right:14px!important;}}
@media(max-width:560px){.home-hero--premium{padding:22px 17px!important;border-radius:22px!important;}.home-hero--premium h2{font-size:36px!important;}.home-hero--premium .home-hero__actions{display:grid!important;grid-template-columns:1fr!important;}.home-hero--premium .home-hero__microstats span{flex:1 1 100%;}.home-hero__visual--dashboard{min-height:300px!important;}.hero-progress-orb{transform:scale(.82);}.hero-float--xp{right:7px!important;top:65px!important}.hero-float--streak{left:7px!important;bottom:84px!important}.hero-float--level{right:7px!important;bottom:84px!important}.hero-panel__goal{left:10px;right:10px;bottom:10px;}.activity-calendar__stats{grid-template-columns:1fr 1fr!important;}}
@media(prefers-reduced-motion:reduce){.home-hero__status-dot{animation:none!important;}.activity-calendar__day:hover{transform:none!important;}}

/* ---------- Home hero (premium variant) — avvalgi app-shell-final.css dan ---------- */
.home-hero--premium{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;min-height:0!important;padding:24px!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(17,27,47,.97),rgba(9,15,27,.98))!important;border:1px solid var(--app-line)!important;box-shadow:var(--app-shadow)!important}
.home-hero--premium::before{opacity:.12!important;background-size:64px 64px!important}
.home-hero__copy{max-width:690px!important}.home-hero__status{font-size:8px!important;letter-spacing:.12em!important;color:#70ddff!important}
.home-hero__eyebrow{font-size:9px!important;margin-bottom:9px!important}.home-hero h2{font-size:clamp(31px,4vw,50px)!important;letter-spacing:-.045em!important}.home-hero__copy>p{font-size:13px!important;line-height:1.55!important;max-width:600px!important;margin:12px 0 16px!important;color:#91a0ba!important}
.home-hero__actions{gap:8px!important}.hero-action{min-height:42px!important;border-radius:12px!important;font-size:11px!important}.home-hero__microstats{margin-top:14px!important;gap:6px!important}.home-hero__microstats span{padding:7px 9px!important;border-radius:10px!important;background:rgba(255,255,255,.025)!important}
.home-hero__visual--dashboard{min-height:250px!important;border-radius:19px!important;background:linear-gradient(145deg,rgba(21,32,54,.86),rgba(9,15,27,.95))!important;border:1px solid var(--app-line)!important}
.hero-progress-orb{transform:scale(.72)}.hero-float{padding:7px 9px!important;border-radius:10px!important}.hero-panel__goal{padding:9px 11px!important;border-radius:11px!important}
.quest-strip{margin:10px 0!important;border-radius:16px!important}
@media(max-width:820px){.home-hero--premium{grid-template-columns:1fr!important}.home-hero__visual--dashboard{min-height:240px!important}}
@media(max-width:520px){.home-hero--premium{padding:18px!important;border-radius:19px!important}.home-hero h2{font-size:32px!important}.home-hero__microstats span{flex:1 1 auto!important}.home-hero__visual--dashboard{min-height:220px!important}.hero-progress-orb{transform:scale(.62)} }

/* ---------- Mobil: Bugungi sessiya/ritm (avvalgi app-mobile-path-fix.css dan) ---------- */
/* ==========================================================================
   MUHIM, ANIQ TOPILGAN XATO TUZATILDI: mobil ekranda (telefon/planshet)
   "Bugungi sessiya" hero banneri (#homeHero) va "Bugungi ritm" bloki
   (.quest-strip) HAR DOIM FAQAT "Asosiy" (Home) tabida ko'rinishi
   kerak, "Yo'l" (Path) tabida EMAS.

   Muammo: bu ikki blok faqat switchTab() ANIQ chaqirilganda to'g'ri
   yashirilardi (JS orqali "state--hidden" klassi qo'shilib) — lekin
   agar onboarding (til tanlash) hali TO'LIQ tugamagan bo'lsa (masalan
   foydalanuvchi hali "kunlik maqsad" bosqichida bo'lsa), switchTab()
   ulgurmagan bo'lardi, va standart HTML holati (bloklar KO'RINGAN
   holatda boshlanadi) o'zgarishsiz qolar edi — natijada "Yo'l"da
   ular noto'g'ri ko'rinib qolardi.

   Yechim: mobil ekranda bu ikki blok ENDI STANDART holatda (hech
   qanday JS ishlamasa ham) YASHIRIN boshlanadi, va FAQAT js
   (render-path.js, switchTab()) tomonidan aniq qo'shiladigan yangi
   ".state--mobile-home-visible" klassi bilan ko'rinadi. Bu
   "fail-safe": agar biror joyda JS ulgurmasa, xato "ko'rinish" emas,
   "yashirin qolish" tomon og'adi.

   FAQAT mobil/planshet (900px va undan tor) — desktop ko'rinishi
   butunlay o'zgarishsiz qoladi.
   ========================================================================== */
@media (max-width: 900px) {
    #homeHero:not(.state--mobile-home-visible),
    .quest-strip:not(.state--mobile-home-visible) {
        display: none !important;
    }
}

/* ==========================================================================
   MUHIM, ANIQ TOPILGAN XATO TUZATILDI: Faollik kalendari mobil ekranda
   "juda noqulay va ishlatib bo'lmaydi" edi — chuqur tekshiruvda aniq
   sabab topildi: modal ochilganda, sarlavha bloki va "Bugungi sovg'a"
   kartasi BIRGALIKDA ekran balandligining deyarli 3/4 qismini egallar
   edi — HAQIQIY KALENDAR esa deyarli ko'rinmasdan, faqat ko'p scroll
   qilingandan keyin paydo bo'lardi (o'lchov bilan tasdiqlandi: modal
   ichki balandligi 1357px, ko'rinadigan joy atigi 625px edi).

   Endi mobilda (480px va undan tor) bu ikki blok sezilarli ixcham
   qilinadi — natijada kalendarning o'zi darhol, scroll qilmasdan
   ko'rinadi. FAQAT mobilga tegishli — desktop o'zgarishsiz qoladi.
   ========================================================================== */
@media (max-width: 480px) {
    .activity-calendar-modal .activity-calendar__intro {
        margin-bottom: 10px;
    }
    .activity-calendar-modal .activity-calendar__intro-icon {
        width: 34px !important;
        height: 34px !important;
        font-size: 16px !important;
    }
    .activity-calendar-modal .modal__eyebrow {
        display: none !important;
    }
    .activity-calendar-modal .activity-calendar__title {
        font-size: 19px !important;
        margin: 0 !important;
    }
    .activity-calendar-modal .activity-calendar__subtitle {
        display: none !important;
    }
    .activity-calendar-modal .daily-gift-card {
        padding: 9px 12px !important;
        margin-bottom: 10px !important;
        gap: 10px !important;
    }
    .activity-calendar-modal .daily-gift-card__icon {
        flex: 0 0 32px !important;
        width: 32px !important;
        height: 32px !important;
        font-size: 15px !important;
    }
    .activity-calendar-modal .daily-gift-card__body strong {
        font-size: 12.5px !important;
    }
    .activity-calendar-modal .daily-gift-card__body p {
        font-size: 10.5px !important;
        line-height: 1.3 !important;
        margin: 2px 0 0 !important;
    }
    .activity-calendar-modal .daily-gift-card button {
        padding: 6px 12px !important;
        font-size: 11.5px !important;
    }
}

.ai-daily-card__games { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.ai-daily-game { border:1px solid rgba(var(--accent-rgb),.18); background:rgba(var(--overlay-rgb),.04); color:var(--fg); border-radius:12px; padding:9px 11px; cursor:pointer; text-align:left; display:flex; flex-direction:column; gap:3px; }
.ai-daily-game small { color:var(--muted); font-size:11px; }
