
/* D2M V43 — native mobile Command Center. Desktop remains original premium dashboard. */

:root{
  --v43-bg:#05070c;
  --v43-card:rgba(255,255,255,.075);
  --v43-line:rgba(255,255,255,.135);
  --v43-cream:#f7f1df;
  --v43-muted:#aebfbb;
  --v43-green:#79f7b2;
  --v43-cyan:#70ddff;
  --v43-gold:#ffe08a;
  --v43-red:#ff6b84;
}

/* Boss: serious, consistent symbol */
.battleAvatar,.bossOrb,.v43BossOrb{
  color:transparent!important;
  font-size:0!important;
  text-shadow:none!important;
  position:relative!important;
  isolation:isolate!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 50%,rgba(2,4,8,.98) 0 18%,rgba(255,107,132,.28) 19% 36%,transparent 37%),
    radial-gradient(circle at 32% 22%,rgba(255,255,255,.22),transparent 18%),
    linear-gradient(145deg,rgba(255,107,132,.20),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,107,132,.34)!important;
  box-shadow:0 32px 88px rgba(255,107,132,.16),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.battleAvatar:before,.bossOrb:before,.v43BossOrb:before{
  content:""!important;
  position:absolute!important;
  width:66%!important;
  height:66%!important;
  border-radius:38% 62% 42% 58%!important;
  background:conic-gradient(from 220deg,#79f7b2,#70ddff,#ffe08a,#ff6b84,#79f7b2)!important;
  mask:radial-gradient(circle,transparent 0 34%,#000 35% 48%,transparent 49%)!important;
  -webkit-mask:radial-gradient(circle,transparent 0 34%,#000 35% 48%,transparent 49%)!important;
  transform:rotate(-17deg)!important;
  filter:drop-shadow(0 0 18px rgba(255,107,132,.30))!important;
}
.battleAvatar:after,.bossOrb:after,.v43BossOrb:after{
  content:""!important;
  position:absolute!important;
  width:27%!important;
  height:27%!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(0,0,0,.98),rgba(0,0,0,.58),transparent 70%)!important;
  box-shadow:0 0 28px rgba(0,0,0,.7),0 0 44px rgba(255,107,132,.20)!important;
}

/* Desktop: hide mobile command overlay */
@media(min-width:761px){
  .v43MobileHome,.v43BottomNav{display:none!important}
  .mobileTop{display:none!important}
  .appShell{max-width:1560px!important}
}

/* Mobile app: use a native command center home instead of compressed desktop hero */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden!important}
  .appBody{
    min-height:100svh!important;
    padding-bottom:112px!important;
    background:
      radial-gradient(circle at 50% -16%,rgba(121,247,178,.16),transparent 34%),
      radial-gradient(circle at 98% 20%,rgba(112,221,255,.09),transparent 30%),
      linear-gradient(180deg,#05070c,#07110f 50%,#05070c)!important;
  }
  .side,.menu,.topbar{display:none!important}
  .appShell{display:block!important;padding:0 10px!important}
  .main{padding:0!important;min-width:0!important}
  .tab{padding-top:10px!important}

  .mobileTop{
    position:sticky!important;
    top:0!important;
    z-index:80!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:58px!important;
    padding:9px 12px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    background:rgba(5,7,12,.92)!important;
    backdrop-filter:blur(22px)!important;
  }
  .mobileTop .brand{gap:9px!important;min-width:0!important}
  .mobileTop .brand .logo{width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:15px!important;font-size:13px!important}
  .mobileTop .brand span:last-child{font-size:0!important}
  .mobileTop .brand span:last-child:after{content:"D2M Game";font-size:17px!important;font-weight:1000!important;letter-spacing:-.045em!important;color:var(--v43-cream)}
  .mobileTop .badge{max-width:42vw!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;padding:8px 10px!important;border-radius:999px!important;font-size:11px!important}

  #home .dailyHero{display:none!important}
  .v43MobileHome{
    display:grid!important;
    gap:11px!important;
    padding:0 0 8px!important;
  }
  .v43Command{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    border:1px solid var(--v43-line);
    background:
      radial-gradient(circle at 18% 0%,rgba(121,247,178,.16),transparent 40%),
      radial-gradient(circle at 100% 15%,rgba(112,221,255,.10),transparent 36%),
      linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.034));
    box-shadow:0 28px 78px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06);
    padding:16px;
  }
  .v43CommandTop{
    display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  }
  .v43CommandTop small{
    display:block;
    color:var(--v43-green);
    font-size:10px;
    font-weight:1000;
    letter-spacing:.09em;
    text-transform:uppercase;
  }
  .v43CommandTop h2{
    margin:5px 0 0;
    color:var(--v43-cream);
    font-size:32px;
    line-height:.92;
    letter-spacing:-.07em;
  }
  .v43ModePill{
    flex:0 0 auto;
    max-width:112px;
    padding:8px 10px;
    border-radius:16px;
    border:1px solid rgba(121,247,178,.20);
    background:rgba(121,247,178,.08);
    color:#ddfff0;
    font-weight:1000;
    font-size:11px;
    line-height:1.1;
    text-align:center;
  }
  .v43Stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:7px;
    margin-top:14px;
  }
  .v43Stats span{
    min-height:54px;
    padding:9px 7px;
    border-radius:15px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.048);
  }
  .v43Stats small{
    display:block;
    color:rgba(226,238,232,.62);
    font-size:8px;
    font-weight:1000;
    text-transform:uppercase;
  }
  .v43Stats b{
    display:block;
    margin-top:4px;
    color:var(--v43-cream);
    font-size:17px;
    letter-spacing:-.045em;
  }
  .v43Progress{
    height:10px;
    border-radius:999px;
    overflow:hidden;
    background:rgba(255,255,255,.08);
    margin-top:12px;
  }
  .v43Progress i{
    display:block;
    height:100%;
    width:0%;
    border-radius:999px;
    background:linear-gradient(90deg,#79f7b2,#70ddff,#a989ff);
  }
  .v43Route{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:7px;
    margin-top:12px;
  }
  .v43Route span{
    min-height:52px;
    display:grid;
    place-items:center;
    text-align:center;
    padding:8px 5px;
    border-radius:15px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.045);
    color:var(--v43-cream);
    font-size:10px;
    line-height:1.1;
    font-weight:1000;
  }
  .v43Quick{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:7px;
    margin-top:12px;
  }
  .v43Quick button,.v43Quest button,.v43Chest{
    min-height:42px;
    border:0;
    border-radius:15px;
    font-size:11px;
    font-weight:1000;
    color:var(--v43-cream);
    background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
  }
  .v43Quick button:first-child,.v43Quest button:not(.done),.v43Chest{
    color:#07100f;
    background:linear-gradient(135deg,#eafff3,#7ef7b8);
  }

  .v43BossCard,.v43QuestCard{
    border-radius:28px;
    border:1px solid var(--v43-line);
    background:linear-gradient(145deg,rgba(255,255,255,.082),rgba(255,255,255,.032));
    box-shadow:0 24px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);
    padding:14px;
  }
  .v43BossRow{
    display:grid;
    grid-template-columns:82px 1fr;
    gap:13px;
    align-items:center;
  }
  .v43BossOrb{
    width:82px;
    height:82px;
    border-radius:26px;
  }
  .v43BossCard small,.v43QuestCard small{
    display:block;
    color:var(--v43-green);
    text-transform:uppercase;
    font-size:10px;
    letter-spacing:.08em;
    font-weight:1000;
  }
  .v43BossCard h3,.v43QuestCard h3{
    color:var(--v43-cream);
    margin:5px 0;
    font-size:24px;
    line-height:.96;
    letter-spacing:-.055em;
  }
  .v43BossCard p{
    color:rgba(226,238,232,.70);
    font-size:13px;
    line-height:1.32;
    font-weight:800;
    margin:0;
  }
  .v43BossHP{
    height:9px;
    border-radius:999px;
    overflow:hidden;
    background:rgba(255,255,255,.08);
    margin-top:11px;
  }
  .v43BossHP i{
    display:block;
    height:100%;
    width:100%;
    background:linear-gradient(90deg,#79f7b2,#70ddff,#ff6b84);
  }

  .v43QuestList{
    display:grid;
    gap:8px;
    margin-top:12px;
  }
  .v43Quest{
    display:grid;
    grid-template-columns:32px 1fr auto;
    gap:9px;
    align-items:center;
    padding:10px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.045);
  }
  .v43Quest.done{
    border-color:rgba(121,247,178,.30);
    background:rgba(121,247,178,.08);
  }
  .v43QuestNum{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:rgba(121,247,178,.10);
    color:#ddfff0;
    font-size:11px;
    font-weight:1000;
  }
  .v43Quest b{
    display:block;
    color:var(--v43-cream);
    font-size:13px;
    line-height:1.15;
  }
  .v43Quest em{
    display:block;
    margin-top:3px;
    font-style:normal;
    color:rgba(226,238,232,.62);
    font-size:10px;
    font-weight:900;
  }
  .v43Quest button{
    min-width:74px;
    padding:0 8px;
  }
  .v43Quest button.done{
    background:rgba(255,255,255,.06);
    color:#dce8e3;
  }
  .v43Chest{
    width:100%;
    margin-top:10px;
    min-height:48px;
    font-size:13px;
  }

  /* Other tabs also more product-like */
  .panel,.card,.modeCard,.characterHeroCard,.battleCard,.statBlock,.noteCard,.empty{
    padding:15px!important;
    border-radius:26px!important;
  }
  .tab h2,.sectionTitle h2,.pageTitle h2{
    font-size:28px!important;
    line-height:.98!important;
    letter-spacing:-.058em!important;
  }
  .choiceGrid,.modeGrid,.statsGrid,.moneyGrid,.shopGrid,.achGrid,.reportGrid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  #programMap{
    display:grid!important;
    grid-template-columns:repeat(5,1fr)!important;
    gap:8px!important;
  }
  #programMap>*{
    min-height:50px!important;
    padding:8px!important;
    border-radius:16px!important;
    font-size:11px!important;
  }

  .v36BottomNav,.v37BottomNav,.v38BottomNav,.v40BottomNav,.v41BottomNav,.v42BottomNav{
    display:none!important;
  }
  .v43BottomNav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:120;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:6px;
    padding:8px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(5,7,12,.94);
    backdrop-filter:blur(22px);
    box-shadow:0 20px 60px rgba(0,0,0,.46);
  }
  .v43BottomNav button{
    min-height:49px;
    border:0;
    border-radius:17px;
    background:rgba(255,255,255,.052);
    color:#dce8e3;
    font-size:10px;
    font-weight:1000;
    display:grid;
    place-items:center;
    gap:2px;
  }
  .v43BottomNav button i{
    font-style:normal;
    font-size:17px;
    line-height:1;
  }
  .v43BottomNav button.active{
    color:#061014;
    background:linear-gradient(135deg,#eafff3,#7ef7b8);
    box-shadow:0 12px 30px rgba(126,247,184,.18);
  }
}

@media(max-width:390px){
  .v43CommandTop h2{font-size:29px}
  .v43Stats{grid-template-columns:repeat(2,1fr)}
  .v43Route{grid-template-columns:repeat(2,1fr)}
  .v43Quest{grid-template-columns:30px 1fr}
  .v43Quest button{grid-column:1/3;width:100%}
}
