
/* D2M V36 Final Premium Polish — exact old app, no rebuild, mobile-first polish */
:root{
  --v36-bg:#05070c;
  --v36-cream:#f7f1df;
  --v36-muted:#aebfbb;
  --v36-green:#78f7b2;
  --v36-cyan:#70ddff;
  --v36-gold:#ffe08a;
  --v36-red:#ff6d86;
  --v36-line:rgba(255,255,255,.135);
  --v36-soft:rgba(255,255,255,.065);
  --v36-panel:rgba(255,255,255,.082);
  --v36-shadow:0 30px 90px rgba(0,0,0,.34);
}

/* Premium app feel, not landing */
.appBody:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 0%,rgba(120,247,178,.13),transparent 32%),
    radial-gradient(circle at 88% 12%,rgba(112,221,255,.085),transparent 30%),
    radial-gradient(circle at 52% 100%,rgba(255,224,138,.055),transparent 34%);
  z-index:0;
}
.appShell,.mobileTop{position:relative;z-index:1}
.main{min-width:0!important}
.panel,.card,.quest,.modeCard,.battleCard,.characterHeroCard,.statBlock,.noteCard,.empty,.cleanMetric,.programDay,.achievement,.shopItem,.inventoryItem{
  border-color:var(--v36-line)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.084),rgba(255,255,255,.033))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.045)!important;
}

/* Desktop cleanup */
.side{
  width:258px!important;
  flex:0 0 258px!important;
}
.appShell{
  gap:18px!important;
}
.topbar{
  min-height:88px!important;
}
.dailyHero{
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)!important;
  align-items:stretch!important;
}
.heroPanel h2{
  letter-spacing:-.065em!important;
}
.cleanDashboard{
  grid-template-columns:repeat(3,1fr)!important;
}
.todayQuestMini{
  margin-top:16px!important;
}

/* Better boss: replace cheap emoji with premium symbol */
.battleAvatar{
  position:relative!important;
  isolation:isolate!important;
  display:grid!important;
  place-items:center!important;
  width:118px!important;
  height:118px!important;
  margin:8px auto 12px!important;
  border-radius:38px!important;
  background:
    radial-gradient(circle at 34% 28%,rgba(255,255,255,.18),transparent 18%),
    radial-gradient(circle at 50% 70%,rgba(255,109,134,.18),transparent 38%),
    linear-gradient(145deg,rgba(255,109,134,.14),rgba(255,255,255,.055))!important;
  border:1px solid rgba(255,109,134,.26)!important;
  color:transparent!important;
  text-shadow:none!important;
  box-shadow:0 28px 70px rgba(255,109,134,.12),inset 0 1px 0 rgba(255,255,255,.05)!important;
  overflow:hidden!important;
  font-size:0!important;
}
.battleAvatar:before{
  content:"";
  width:58px;
  height:58px;
  border-radius:50%;
  border:10px solid rgba(255,238,214,.9);
  border-top-color:rgba(255,109,134,.78);
  border-left-color:rgba(112,221,255,.56);
  transform:rotate(-20deg);
  box-shadow:0 0 32px rgba(255,109,134,.32);
}
.battleAvatar:after{
  content:"";
  position:absolute;
  inset:22px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.06));
}

/* Chest / rewards richer */
#chestMsg:not(:empty),.msg.ok:not(:empty){
  margin-top:12px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
  border:1px solid rgba(120,247,178,.25)!important;
  background:rgba(120,247,178,.09)!important;
  color:#dcfff0!important;
  font-weight:900!important;
}
.v36BossMark{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:20px;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.15),rgba(255,109,134,.10));
  border:1px solid rgba(255,109,134,.22);
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.v36BossMark svg{width:34px;height:34px}

/* Player card polish */
#character .characterHeroCard,
.characterHeroCard{
  position:relative!important;
  overflow:hidden!important;
}
#character .characterHeroCard:after,
.characterHeroCard:after{
  content:"";
  position:absolute;
  right:-60px;
  top:-80px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(120,247,178,.12),transparent 62%);
  pointer-events:none;
}
.v36PlayerAura{
  display:grid;
  place-items:center;
  width:92px;
  height:92px;
  border-radius:30px;
  background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.18),rgba(120,247,178,.10));
  border:1px solid rgba(120,247,178,.22);
  font-size:42px;
  box-shadow:0 22px 60px rgba(120,247,178,.12);
}

/* 30-day map premium */
#programMap{
  gap:10px!important;
}
.programDay,.v36DayNode{
  position:relative!important;
  min-height:84px!important;
  border-radius:20px!important;
  overflow:hidden!important;
}
.programDay:nth-child(7n),.v36DayNode.boss{
  border-color:rgba(255,109,134,.32)!important;
  background:linear-gradient(145deg,rgba(255,109,134,.12),rgba(255,255,255,.035))!important;
}
.programDay:nth-child(7n):after,.v36DayNode.boss:after{
  content:"Босс";
  position:absolute;
  right:10px;
  top:10px;
  color:#ffd6dc;
  font-size:10px;
  font-weight:1000;
  text-transform:uppercase;
}
.v36DayNode.done,.programDay.done{
  border-color:rgba(120,247,178,.38)!important;
  background:linear-gradient(145deg,rgba(120,247,178,.13),rgba(255,255,255,.035))!important;
}

/* Money map: make it feel like finance command panel */
#money .panel:before{
  content:"Финансовый штаб";
  display:inline-flex;
  margin-bottom:14px;
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(120,247,178,.22);
  background:rgba(120,247,178,.08);
  color:#dffff0;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.v36MoneySummary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:14px 0 0;
}
.v36MoneySummary span{
  padding:14px;
  border-radius:17px;
  border:1px solid var(--v36-line);
  background:rgba(255,255,255,.045);
}
.v36MoneySummary b{
  display:block;
  margin-top:4px;
  font-size:20px;
  letter-spacing:-.04em;
  color:var(--v36-cream);
}

/* Journal and empty sections */
.emptyPremium,.empty,.noteCard{
  border-radius:24px!important;
}
#inventoryList .emptyPremium,#achList .emptyPremium,#reportGrid .emptyPremium{
  background:linear-gradient(145deg,rgba(255,224,138,.08),rgba(255,255,255,.03))!important;
  border-color:rgba(255,224,138,.20)!important;
}

/* Bottom app nav added by JS */
.v36BottomNav{
  display:none;
}

/* MOBILE: make it feel like an app, not a long webpage */
@media(max-width:760px){
  body{
    overflow-x:hidden!important;
  }
  .appBody{
    padding-bottom:92px!important;
  }
  .mobileTop{
    position:sticky!important;
    top:0!important;
    z-index:40!important;
    min-height:62px!important;
    padding:10px 14px!important;
    background:rgba(5,7,12,.86)!important;
    backdrop-filter:blur(18px)!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .mobileTop .brand span:last-child{
    font-size:18px!important;
  }
  .mobileTop .badge{
    font-size:12px!important;
    padding:9px 11px!important;
  }
  .appShell{
    display:block!important;
    padding:0 12px!important;
  }
  .side{
    display:none!important;
  }
  .main{
    padding:0!important;
  }
  .topbar{
    display:none!important;
  }
  .tab{
    padding-top:12px!important;
  }
  .dailyHero{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .heroPanel{
    padding:18px!important;
    border-radius:26px!important;
  }
  .heroPanel h2{
    font-size:34px!important;
    line-height:.95!important;
    letter-spacing:-.06em!important;
    margin:10px 0 8px!important;
  }
  .heroPanel .sub{
    font-size:15px!important;
    line-height:1.42!important;
    margin-bottom:12px!important;
  }
  .cleanDashboard{
    grid-template-columns:repeat(3,1fr)!important;
    gap:8px!important;
  }
  .cleanMetric{
    padding:11px 10px!important;
    min-height:auto!important;
    border-radius:16px!important;
  }
  .cleanMetric small{
    font-size:9px!important;
  }
  .cleanMetric b{
    font-size:20px!important;
  }
  .bar{
    height:10px!important;
  }
  .todayQuestMini{
    gap:8px!important;
    margin-top:12px!important;
  }
  .miniQuest,.quest{
    display:grid!important;
    grid-template-columns:36px 1fr!important;
    gap:10px!important;
    padding:12px!important;
    border-radius:17px!important;
  }
  .miniQuest span,.quest span{
    grid-column:2!important;
    font-size:11px!important;
  }
  .miniQuest b,.quest b{
    font-size:14px!important;
    line-height:1.18!important;
  }
  .miniQuest small,.quest small{
    width:34px!important;
    height:34px!important;
    border-radius:12px!important;
  }
  .ctas{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:12px!important;
  }
  .btn{
    min-height:50px!important;
    border-radius:16px!important;
  }
  .battleCard{
    padding:18px!important;
    border-radius:26px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .battleAvatar{
    width:82px!important;
    height:82px!important;
    border-radius:27px!important;
    margin:4px 0 10px!important;
  }
  .battleAvatar:before{
    width:40px!important;
    height:40px!important;
    border-width:7px!important;
  }
  .battleCard h3{
    font-size:25px!important;
    margin:6px 0!important;
  }
  .battleCard p{
    font-size:14px!important;
    line-height:1.38!important;
  }
  .menu,.navbtn{
    display:none!important;
  }
  .panel,.card,.modeCard,.characterHeroCard,.battleCard,.statBlock,.noteCard,.empty,.quest{
    border-radius:24px!important;
  }
  .choiceGrid,.modeGrid,.cleanDashboard,.statsGrid,.moneyGrid,#programMap,.shopGrid,.achGrid,.reportGrid{
    grid-template-columns:1fr!important;
  }
  .wizard{
    grid-template-columns:1fr!important;
  }
  .wizardStep{
    padding:16px!important;
    min-height:auto!important;
  }
  #programMap{
    display:grid!important;
    grid-template-columns:repeat(5,1fr)!important;
    gap:8px!important;
  }
  #programMap>*{
    min-height:54px!important;
    border-radius:16px!important;
    padding:8px!important;
  }
  .v36MoneySummary{
    grid-template-columns:1fr!important;
  }
  .v36BottomNav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:80;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:6px;
    padding:8px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(5,7,12,.91);
    backdrop-filter:blur(18px);
    box-shadow:0 18px 55px rgba(0,0,0,.38);
  }
  .v36BottomNav button{
    min-height:48px;
    border:0;
    border-radius:16px;
    background:rgba(255,255,255,.045);
    color:#dce8e3;
    font-size:10px;
    font-weight:1000;
    display:grid;
    place-items:center;
    gap:2px;
  }
  .v36BottomNav button i{
    font-style:normal;
    font-size:17px;
    line-height:1;
  }
  .v36BottomNav button.active{
    color:#061014;
    background:linear-gradient(135deg,#eafff3,#7ef7b8);
  }
}

/* Narrow phones */
@media(max-width:390px){
  .heroPanel h2{font-size:30px!important}
  .cleanDashboard{grid-template-columns:repeat(2,1fr)!important}
  .v36BottomNav button{font-size:9px}
}

.v36NowStatus,.v36PlayerQuick{
  display:flex;
  gap:14px;
  align-items:center;
  margin:14px 0;
  padding:14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.045);
}
.v36NowStatus b,.v36PlayerQuick b{display:block;font-size:16px;letter-spacing:-.02em}
.v36NowStatus span,.v36PlayerQuick span{display:block;color:var(--v36-muted);font-weight:800;font-size:13px;line-height:1.35}
.v36ArtifactGrid,.v36AchievementGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:12px;
}
@media(max-width:760px){
  .v36NowStatus,.v36PlayerQuick{padding:12px;border-radius:18px}
  .v36ArtifactGrid,.v36AchievementGrid{grid-template-columns:1fr}
  .v36BossMark{width:48px;height:48px;border-radius:17px;flex:0 0 48px}
  .v36PlayerAura{width:64px;height:64px;border-radius:22px;font-size:31px;flex:0 0 64px}
}
