/* My Idol Life — direção visual novel, paleta oficial 2026 */
:root{
  --mil-yellow:#FFCE4A;
  --mil-purple:#CF86FA;
  --mil-pink:#FC61AA;
  --mil-blush:#F3D7E8;
  --mil-cream:#FFFFFF;
  --mil-blue:#93D2FE;
  --mil-white:#FFFFFF;
  --mil-ink:#2D2730;
  --mil-smoke:#5B515F;
  --mil-scene-shadow:0 24px 64px rgba(45,39,48,.18);
  --mil-float-shadow:0 12px 30px rgba(91,81,95,.16);
}

html,body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}

html{background:var(--mil-blush);accent-color:var(--mil-pink)}
body{color:var(--mil-ink);background:var(--mil-blush)}
button,a,input,textarea,select{font-family:"Nunito","Segoe UI",Arial,sans-serif}
:where(h1,h2,h3,.story-copy h1,.boutique-stage-title h2){text-wrap:balance}

/* O contorno alternado quebra o aspecto de dashboard sem prejudicar o conteúdo. */
:where(.glass-card,.story-card,.community-card,.daily-card,.wardrobe-card,.valentine-card,
  .shop-card,.bank-card,.gallery-card,.character-card,.settings-card,.social-panel,
  .post-card,.boutique-main-card,.boutique-tips-card,.boutique-how-card){
  border-color:rgba(207,134,250,.36)!important;
  border-radius:34px 14px 38px 18px!important;
  box-shadow:var(--mil-float-shadow)!important;
}

:where(button,a)[class*="action"],
:where(button,a)[class*="primary"],
:where(button,a)[class*="secondary"],
:where(button,a)[class*="claim"]{
  border-radius:999px!important;
}

:where(button,a):focus-visible{outline:3px solid rgba(147,210,254,.8)!important;outline-offset:3px}

/* Páginas de sistema continuam funcionais, mas passam a parecer telas do jogo. */
:where(.wardrobe-panel,.gallery-albums,.gallery-browser,.gallery-detail,.characters-header,
  .characters-browser,.character-detail,.settings-panel,.currency-hub,.combo-feature-card,
  .episode-feature,.episode-card,.post-composer,.feed-tabs,.compact-profile-card,
  .profile-mini-panel,.social-note){
  border-color:rgba(207,134,250,.34)!important;
  border-radius:34px 13px 38px 17px!important;
  background-color:rgba(255,255,255,.88)!important;
  box-shadow:var(--mil-float-shadow)!important;
}
:where(.wardrobe-title,.gallery-heading,.characters-header,.settings-header,.bank-heading,.episodes-heading) h1,
:where(.wardrobe-title,.gallery-heading,.characters-header,.settings-header,.bank-heading,.episodes-heading) h2{
  font-family:Georgia,"Times New Roman",serif!important;
  color:var(--mil-ink)!important;
}
.wardrobe-panel{background:rgba(255,255,255,.9)!important;backdrop-filter:blur(14px)}
.wardrobe-category-strip,.gallery-tabs,.feed-tabs{border-radius:30px 9px 30px 9px!important;background:rgba(243,215,232,.58)!important}
.wardrobe-tab,.episode-filter-tab,.gallery-tabs button,.feed-tabs button{border-radius:999px 14px 999px 14px!important}
.wardrobe-tab.active,.episode-filter-tab.active,.gallery-tabs button.active,.feed-tabs button.active{background:linear-gradient(100deg,var(--mil-purple),var(--mil-pink))!important;color:var(--mil-ink)!important}
.wardrobe-grid .wardrobe-item,.shop-grid .wardrobe-item{border-radius:28px 10px 30px 14px!important;background:rgba(243,215,232,.5)!important}
.wardrobe-grid .wardrobe-item:nth-child(even),.shop-grid .wardrobe-item:nth-child(even){border-radius:12px 30px 14px 28px!important}
.episode-card:nth-child(even){border-radius:14px 38px 17px 34px!important}
.currency-hub:nth-child(even),.settings-panel:nth-child(even){border-radius:14px 38px 17px 34px!important}
.gallery-preview,.detail-hero,.episode-feature-art{border-radius:38px 14px 34px 18px!important;overflow:hidden}
.gallery-albums .album-button,.settings-nav{border-radius:9px 24px 24px 9px!important}
.gallery-albums .album-button:hover,.settings-nav:hover{transform:translateX(4px)}
.post-card{background:rgba(255,255,255,.88)!important;backdrop-filter:blur(12px)}
.post-composer textarea{border-radius:22px 22px 7px 22px!important;background:rgba(243,215,232,.62)!important}

/* Moldura principal: um palco contínuo, com navegação em forma de fita. */
.mil-shell{grid-template-columns:190px minmax(0,1fr)!important;background:var(--mil-blush)!important}
.shell-sidebar,.panel-shell>.sidebar{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(243,215,232,.96))!important;
  border:0!important;
  border-radius:0 44px 44px 0!important;
  box-shadow:16px 0 42px rgba(91,81,95,.16)!important;
}
.sidebar .brand img{filter:drop-shadow(0 7px 12px rgba(252,97,170,.18))}
.side-nav{gap:3px!important;padding-inline:13px!important}
.nav-item{
  min-height:42px!important;
  border-radius:7px 24px 24px 7px!important;
  color:var(--mil-smoke)!important;
  transition:transform .18s ease,background .18s ease,color .18s ease!important;
}
.nav-item:hover{transform:translateX(5px)!important;background:rgba(147,210,254,.28)!important;color:var(--mil-ink)!important}
.nav-item.active{
  background:linear-gradient(90deg,rgba(252,97,170,.2),rgba(207,134,250,.28))!important;
  color:var(--mil-pink)!important;
  box-shadow:inset 4px 0 0 var(--mil-pink)!important;
}
.profile-card{border-radius:28px 12px 34px 16px!important;background:rgba(255,255,255,.84)!important}

.shell-main{padding:10px 12px 12px!important;grid-template-rows:74px minmax(0,1fr)!important;gap:8px!important;background:transparent!important}
.shell-header{
  height:74px!important;
  border:0!important;
  border-radius:12px 38px 16px 34px!important;
  background:linear-gradient(100deg,rgba(255,255,255,.94),rgba(243,215,232,.92))!important;
  box-shadow:var(--mil-float-shadow)!important;
}
.shell-header::before{
  content:"";
  position:absolute;
  left:76px;
  right:22%;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,var(--mil-pink),var(--mil-purple),var(--mil-blue),transparent);
}
.shell-page-icon{border-radius:50% 42% 54% 46%!important;background:linear-gradient(145deg,var(--mil-pink),var(--mil-purple))!important;color:var(--mil-white)!important}
.shell-page-identity h1{font-family:Georgia,"Times New Roman",serif!important;font-size:27px!important;color:var(--mil-ink)!important}
.shell-page-identity p,.shell-page-identity small{color:var(--mil-smoke)!important}
.shell-viewport{border-radius:38px 16px 42px 20px!important;box-shadow:var(--mil-scene-shadow)!important;background:var(--mil-cream)!important}

.currency-pill{
  border:1px solid rgba(207,134,250,.38)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 8px 20px rgba(91,81,95,.14)!important;
}
.currency-plus{background:var(--mil-pink)!important;color:var(--mil-cream)!important}
.currency-plus.purple{background:var(--mil-purple)!important;color:var(--mil-ink)!important}

/* Painel: cenário, personagem, caixa de diálogo e escolhas flutuantes. */
.dashboard{background:var(--mil-cream)!important}
.dashboard .room-wash{background:linear-gradient(90deg,rgba(243,215,232,.22),rgba(255,255,255,.02) 54%,rgba(207,134,250,.1))!important}
.dashboard .content-stack{
  top:22px!important;
  left:28px!important;
  bottom:26px!important;
  width:min(660px,calc(100% - min(38vw,590px) - 72px))!important;
  display:grid!important;
  grid-template-rows:minmax(210px,1.32fr) minmax(120px,.62fr) minmax(145px,.78fr)!important;
  gap:14px!important;
}
.dashboard .story-card{position:relative;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.dashboard .story-card::before{
  content:"SOLE₋TE";
  position:absolute;
  z-index:8;
  left:25px;
  bottom:145px;
  padding:7px 20px;
  border-radius:18px 18px 4px 4px;
  background:var(--mil-pink);
  color:var(--mil-cream);
  font:900 10px/1 "Nunito",sans-serif;
  letter-spacing:.12em;
  box-shadow:0 7px 18px rgba(91,81,95,.16);
}
.dashboard .story-banner{
  position:absolute!important;
  inset:auto 0 0!important;
  min-height:170px!important;
  border:3px solid rgba(255,255,255,.88)!important;
  border-radius:38px 18px 42px 16px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:var(--mil-scene-shadow)!important;
  overflow:visible!important;
  backdrop-filter:blur(14px);
}
.dashboard .story-banner::after{
  content:"";
  position:absolute;
  right:36px;
  bottom:-14px;
  width:28px;
  height:28px;
  background:var(--mil-cream);
  clip-path:polygon(0 0,100% 0,100% 100%);
  rotate:8deg;
}
.dashboard .story-banner-bg,.dashboard .story-shade{display:none!important}
.dashboard .story-copy{max-width:none!important;padding:29px 30px 22px!important;color:var(--mil-ink)!important;justify-content:flex-start!important}
.dashboard .story-copy h1{margin:10px 0 4px!important;color:var(--mil-ink)!important;font:700 clamp(25px,2.25vw,36px)/1.04 Georgia,serif!important;text-shadow:none!important}
.dashboard .story-copy p{color:var(--mil-smoke)!important;margin-bottom:13px!important}
.dashboard .story-progress-row{position:absolute;right:20px;bottom:15px;z-index:8;width:45%;height:32px!important;padding:0!important;grid-template-columns:0 minmax(70px,1fr) 34px!important;gap:8px!important}
.dashboard .story-progress-row>div:first-child{display:none!important}
.dashboard .story-progress-row .progress-track{background:rgba(243,215,232,.85)!important}
.dashboard .community-card,.dashboard .bottom-grid>*{background:rgba(255,255,255,.9)!important;backdrop-filter:blur(12px)}
.dashboard .community-card{border-radius:32px 11px 34px 16px!important;overflow:visible!important}
.dashboard .community-art{border-radius:50% 36% 48% 40%!important;background:linear-gradient(145deg,var(--mil-blue),var(--mil-blush),var(--mil-white))!important;overflow:hidden!important}
.dashboard .bottom-grid{gap:14px!important}
.dashboard .daily-card{border-radius:38px 14px 30px 18px!important}
.dashboard .wardrobe-card{border-radius:14px 38px 18px 32px!important}
.dashboard .main-avatar{filter:drop-shadow(0 22px 24px rgba(45,39,48,.22))!important;animation:milCharacterIdle 5.6s ease-in-out infinite}
.dashboard .avatar-note{border-radius:24px 24px 8px 24px!important;background:var(--mil-cream)!important;color:var(--mil-smoke)!important}

/* Boutique: palco contínuo; Jia apresenta, e as ações se comportam como escolhas. */
.boutique-stage{background-color:var(--mil-cream)!important}
.boutique-shell{inset:10px 14px 12px 14px!important;grid-template-rows:48px minmax(0,1fr)!important;gap:9px!important}
.boutique-tabs{
  border:0!important;
  border-radius:30px 10px 30px 10px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:var(--mil-float-shadow)!important;
}
.boutique-tab{border-radius:999px 18px 999px 18px!important;color:var(--mil-smoke)!important}
.boutique-tab.active{background:linear-gradient(100deg,rgba(252,97,170,.3),rgba(207,134,250,.35))!important;color:var(--mil-ink)!important;box-shadow:none!important}
.boutique-scene{grid-template-columns:minmax(190px,.62fr) minmax(520px,2.4fr) minmax(210px,.72fr)!important;grid-template-rows:minmax(0,1fr)!important;gap:10px!important}
.boutique-host{border:0!important;border-radius:42px 12px 38px 18px!important;background:linear-gradient(180deg,rgba(147,210,254,.16),rgba(243,215,232,.62))!important;box-shadow:var(--mil-float-shadow)!important;overflow:visible!important}
.boutique-host-speech{
  top:18px!important;
  left:14px!important;
  right:14px!important;
  width:auto!important;
  border:2px solid rgba(255,255,255,.92)!important;
  border-radius:28px 28px 28px 7px!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--mil-ink)!important;
  box-shadow:var(--mil-float-shadow)!important;
}
.boutique-host-jia{height:min(76vh,700px)!important;bottom:-82px!important;left:48%!important;filter:drop-shadow(0 20px 22px rgba(45,39,48,.2))!important;animation:milCharacterIdle 5.2s ease-in-out infinite}
.boutique-host-bottom{z-index:9!important;background:transparent!important}
.boutique-guide-button{border-radius:26px 26px 8px 26px!important;background:rgba(255,255,255,.94)!important;box-shadow:var(--mil-float-shadow)!important}
.boutique-main-card{border:0!important;border-radius:42px 16px 46px 18px!important;background:rgba(255,255,255,.86)!important;box-shadow:var(--mil-scene-shadow)!important;backdrop-filter:blur(16px)}
.boutique-stage-title{margin-inline:auto!important;max-width:650px!important;border:0!important;border-radius:28px 28px 9px 28px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 8px 22px rgba(91,81,95,.12)!important}
.boutique-stage-title h2{font:700 clamp(22px,2vw,31px)/1 Georgia,serif!important;color:var(--mil-ink)!important}
.boutique-gallery-stage,.boutique-create-stage,.boutique-mine-stage,.boutique-collection-stage{border-radius:34px 12px 38px 16px!important;background:rgba(243,215,232,.42)!important}
.boutique-gallery-empty,.boutique-collection-empty{border-radius:40px 15px 36px 20px!important;background:rgba(255,255,255,.94)!important;box-shadow:var(--mil-float-shadow)!important}
.boutique-tips-card{border:0!important;border-radius:16px 38px 18px 42px!important;background:rgba(255,255,255,.82)!important;box-shadow:var(--mil-float-shadow)!important;backdrop-filter:blur(14px)}
.boutique-tips-card article{border:0!important;border-radius:24px 24px 7px 24px!important;background:rgba(243,215,232,.72)!important;transition:transform .18s ease!important}
.boutique-tips-card article:hover{transform:translateX(-5px)}
.boutique-how-card{display:none!important}

/* Diálogos e modais seguem a mesma linguagem da narrativa. */
:where([role="dialog"],.shell-notification-drawer){color:var(--mil-ink)}
.mil-boutique-submit{background:rgba(45,39,48,.62)!important}
.mil-boutique-submit::before,.mil-boutique-submit::after{
  content:"✦";
  position:fixed;
  z-index:1;
  color:var(--mil-yellow);
  font-size:30px;
  filter:drop-shadow(0 0 10px rgba(255,206,74,.8));
  animation:milStarPulse 2.1s ease-in-out infinite;
}
.mil-boutique-submit::before{left:7vw;top:14vh}.mil-boutique-submit::after{right:8vw;bottom:12vh;animation-delay:-1s}
.mil-boutique-submit-card{
  width:min(1040px,calc(100vw - 40px))!important;
  height:min(650px,calc(100vh - 40px))!important;
  grid-template-columns:minmax(350px,.92fr) minmax(0,1.08fr)!important;
  border:0!important;
  border-radius:48px 18px 52px 20px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.mil-boutique-submit-preview{
  border-radius:44px 14px 44px 18px!important;
  background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.98),rgba(147,210,254,.3) 54%,rgba(207,134,250,.32))!important;
  box-shadow:var(--mil-scene-shadow)!important;
}
.mil-boutique-submit-copy{
  position:relative;
  align-self:center;
  min-height:430px!important;
  margin-left:-18px;
  padding:38px 42px 30px 54px!important;
  border:3px solid rgba(255,255,255,.9)!important;
  border-radius:18px 46px 22px 48px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:var(--mil-scene-shadow)!important;
  backdrop-filter:blur(16px);
}
.mil-boutique-submit-copy::before{
  content:"";
  position:absolute;
  left:-24px;
  bottom:70px;
  width:32px;
  height:34px;
  background:var(--mil-cream);
  clip-path:polygon(100% 0,100% 100%,0 60%);
}
.mil-boutique-submit-step h2{font-family:Georgia,"Times New Roman",serif!important;color:var(--mil-ink)!important}
.mil-boutique-submit-field input,.mil-boutique-submit-field textarea{border:0!important;border-bottom:2px solid rgba(207,134,250,.6)!important;border-radius:16px 16px 5px 5px!important;background:rgba(243,215,232,.42)!important;color:var(--mil-ink)!important}
.mil-boutique-submit-actions .primary{background:linear-gradient(100deg,var(--mil-pink),var(--mil-purple))!important;color:var(--mil-ink)!important}
.mil-boutique-submit-actions .secondary{background:rgba(147,210,254,.24)!important;color:var(--mil-smoke)!important}
.mil-boutique-submit-close{right:-14px!important;top:-14px!important;background:var(--mil-yellow)!important;color:var(--mil-ink)!important;box-shadow:var(--mil-float-shadow)!important}
.daily-reward-card,.boutique-review-card,.mil-outfit-reward-card{
  border-radius:44px 16px 48px 20px!important;
  background:var(--mil-cream)!important;
  border-color:rgba(207,134,250,.46)!important;
  box-shadow:var(--mil-scene-shadow)!important;
}

@keyframes milCharacterIdle{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes milStarPulse{0%,100%{opacity:.35;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.12) rotate(38deg)}}

@media (min-aspect-ratio:21/9){
  .mil-shell{grid-template-columns:210px minmax(0,1fr)!important}
  .shell-main{padding-inline:clamp(12px,4vw,76px)!important}
  .dashboard .content-stack{left:clamp(28px,4vw,80px)!important;width:min(720px,42vw)!important}
  .boutique-scene{grid-template-columns:minmax(220px,.65fr) minmax(620px,2.5fr) minmax(240px,.76fr)!important}
}

@media (max-height:700px) and (min-width:761px){
  .mil-shell{grid-template-columns:172px minmax(0,1fr)!important}
  .nav-item{min-height:34px!important;font-size:9px!important}
  .shell-main{grid-template-rows:62px minmax(0,1fr)!important}
  .shell-header{height:62px!important}
  .dashboard .content-stack{top:10px!important;bottom:12px!important;grid-template-rows:minmax(175px,1.15fr) minmax(105px,.6fr) minmax(120px,.7fr)!important;gap:9px!important}
  .dashboard .story-banner{min-height:145px!important}
  .dashboard .story-card::before{bottom:120px!important}
  .boutique-host-jia{height:min(82vh,590px)!important}
}

@media (max-width:760px), (max-aspect-ratio:4/5){
  .mil-shell{display:block!important;padding-bottom:68px!important}
  .shell-sidebar,.panel-shell>.sidebar{
    position:fixed!important;
    z-index:300!important;
    inset:auto 0 0!important;
    width:100%!important;
    height:68px!important;
    min-height:68px!important;
    border-radius:30px 30px 0 0!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 -10px 30px rgba(45,39,48,.16)!important;
  }
  .shell-sidebar::after,.panel-shell>.sidebar::after,.sidebar .brand,.sidebar .profile-card{display:none!important}
  .side-nav{height:100%!important;display:flex!important;align-items:center!important;gap:5px!important;padding:8px 10px!important;overflow-x:auto!important;scrollbar-width:none}
  .side-nav{flex-direction:row!important;justify-content:flex-start!important;overflow-y:hidden!important}
  .nav-item{flex:0 0 54px!important;width:54px!important;min-height:50px!important;padding:0!important;border-radius:22px 22px 8px 22px!important;display:grid!important;place-items:center!important}
  .nav-item span{display:none!important}.nav-item svg{width:23px!important;height:23px!important}
  .shell-main{height:calc(100dvh - 68px)!important;padding:7px!important;grid-template-rows:62px minmax(0,1fr)!important}
  .shell-header{height:62px!important;padding:8px 10px!important;border-radius:9px 26px 10px 24px!important}
  .shell-page-icon{width:42px!important;height:42px!important}.shell-page-identity p{display:none!important}.shell-page-identity h1{font-size:21px!important}
  .shell-wallet .currency-pill{min-width:78px!important;width:78px!important}.shell-wallet .currency-pill strong{min-width:30px!important;font-size:11px!important}.shell-wallet .currency-plus{display:none!important}
  .shell-viewport{border-radius:28px 10px 30px 12px!important}

  .dashboard .content-stack{position:relative!important;inset:auto!important;width:auto!important;margin:12px!important;padding-bottom:72px!important;display:flex!important;flex-direction:column!important;gap:12px!important}
  .dashboard .story-card{height:270px!important;min-height:270px!important;order:1}
  .dashboard .story-banner{min-height:215px!important}
  .dashboard .story-card::before{bottom:190px!important}
  .dashboard .story-progress-row{width:38%!important}
  .dashboard .community-card{order:2;min-height:160px!important}.dashboard .bottom-grid{order:3;grid-template-columns:1fr!important}
  .dashboard .avatar-zone{position:relative!important;right:auto!important;width:100%!important;height:60vh!important;min-height:430px!important;margin-top:-34px!important}
  .dashboard .main-avatar{height:min(72vh,660px)!important}

  .boutique-stage{height:auto!important;min-height:100dvh!important;padding-bottom:70px!important}
  .boutique-shell{position:relative!important;inset:auto!important;margin:8px!important}
  .boutique-scene{display:flex!important;flex-direction:column!important}
  .boutique-host{height:470px!important;min-height:470px!important;order:1;overflow:hidden!important}
  .boutique-host-jia{height:490px!important;bottom:-64px!important}
  .boutique-host-speech{top:auto!important;bottom:82px!important;z-index:10!important}
  .boutique-main-card{order:2;min-height:620px!important}
  .boutique-tips-card{order:3;min-height:auto!important}
  .boutique-tips-card article{min-height:82px!important}
  .mil-boutique-submit-card{display:block!important;width:min(540px,calc(100vw - 16px))!important;height:auto!important;max-height:calc(100dvh - 16px)!important;overflow:auto!important}
  .mil-boutique-submit-preview{min-height:280px!important;border-radius:32px 12px 30px 14px!important}
  .mil-boutique-submit-copy{min-height:430px!important;margin:-18px 8px 8px!important;padding:34px 24px 24px!important;border-radius:14px 34px 16px 36px!important}
  .mil-boutique-submit-copy::before{display:none}
  .mil-boutique-submit-close{right:8px!important;top:8px!important}
}

@media (prefers-reduced-motion:reduce){
  .dashboard .main-avatar,.boutique-host-jia,.mil-boutique-submit::before,.mil-boutique-submit::after{animation:none!important}
}

/* Revisão de conforto visual: branco como superfície, creme apenas como acento. */
:where(.wardrobe-panel,.gallery-albums,.gallery-browser,.gallery-detail,.characters-header,
  .characters-browser,.character-detail,.settings-panel,.currency-hub,.combo-feature-card,
  .episode-feature,.episode-card,.post-composer,.feed-tabs,.compact-profile-card,
  .profile-mini-panel,.social-panel,.social-note,.post-card){
  background-color:rgba(255,255,255,.92)!important;
}
.shell-sidebar,.panel-shell>.sidebar{
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(243,215,232,.78))!important;
}
.shell-sidebar::after,.panel-shell>.sidebar::after{display:none!important;content:none!important}
.profile-card,.shell-header,.currency-pill{background:rgba(255,255,255,.94)!important}
.shell-header{background:linear-gradient(100deg,rgba(255,255,255,.97),rgba(243,215,232,.76))!important}
.shell-viewport{background:var(--mil-white)!important}
.dashboard{background:var(--mil-white)!important}
.dashboard .story-banner,
.dashboard .community-card,
.dashboard .bottom-grid>*,
.dashboard .avatar-note{background:rgba(255,255,255,.94)!important}
.dashboard .story-banner::after{background:var(--mil-white)!important}
.boutique-tabs,.boutique-host-speech,.boutique-guide-button,.boutique-main-card,
.boutique-stage-title,.boutique-gallery-empty,.boutique-collection-empty,.boutique-tips-card{
  background:rgba(255,255,255,.94)!important;
}
.boutique-host{overflow:hidden!important}

/* Todas as cortinas de modal clareiam o cenário em vez de acinzentá-lo. */
:is(.mil-boutique-submit,.mil-outfit-reward,.daily-reward-modal,.boutique-review-modal,.boutique-tutorial,
  .modal-backdrop,.crush-modal,.cg-unlock-notice,.love-cherry-unlock-modal,
  .replay-picker-backdrop,.bank-history-backdrop,.shell-notification-backdrop,
  .shop-cart-backdrop,.tool-drawer-backdrop,.drawer-backdrop,.phone-backdrop,.detail-backdrop){
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(243,215,232,.50))!important;
  -webkit-backdrop-filter:blur(20px) brightness(1.12) saturate(.82)!important;
  backdrop-filter:blur(20px) brightness(1.12) saturate(.82)!important;
}

/* Cards de modal usam uma moldura única; nenhum enfeite escapa da área. */
:is(.account-modal,.hypeline-modal,.crush-modal-card,.bank-history-modal,
  .boutique-review-card,.daily-reward-card,.replay-picker,.shop-cart-drawer,
  .wardrobe-tool-drawer,.shell-notification-drawer){
  background:linear-gradient(150deg,#FFFFFF 0%,#FFFFFF 72%,rgba(243,215,232,.78) 100%)!important;
  border:1px solid rgba(207,134,250,.34)!important;
  border-radius:30px!important;
  box-shadow:0 28px 74px rgba(91,81,95,.2),inset 0 1px 0 #FFFFFF!important;
  overflow:hidden;
}
:is(.account-modal,.hypeline-modal,.crush-modal-card,.bank-history-modal,
  .boutique-review-card,.daily-reward-card,.replay-picker)::before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(243,215,232,.82);
  border-radius:22px;
  pointer-events:none;
}
:is(.modal-close,.community-close,.crush-modal-card button[class*="close"],
  .daily-reward-close,.mil-outfit-reward-close,.mil-boutique-submit-close){
  background:var(--mil-white)!important;
  color:var(--mil-smoke)!important;
  border:1px solid rgba(207,134,250,.34)!important;
  box-shadow:0 8px 20px rgba(91,81,95,.12)!important;
}

/* Publicação da Boutique: composição coesa e manequim na escala do palco. */
.mil-boutique-submit{padding:22px!important}
.mil-boutique-submit::before,.mil-boutique-submit::after{display:none!important;content:none!important}
.mil-boutique-submit-card{
  width:min(980px,calc(100vw - 44px))!important;
  height:min(620px,calc(100dvh - 44px))!important;
  min-height:520px!important;
  grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr)!important;
  gap:0!important;
  border:1px solid rgba(207,134,250,.34)!important;
  border-radius:34px!important;
  background:var(--mil-white)!important;
  box-shadow:0 32px 82px rgba(91,81,95,.22),inset 0 1px 0 #FFFFFF!important;
  overflow:hidden!important;
}
.mil-boutique-submit-preview{
  min-width:0!important;
  padding:22px 24px 16px!important;
  border-radius:0!important;
  background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.98),rgba(243,215,232,.66) 62%,rgba(207,134,250,.26))!important;
  box-shadow:none!important;
}
.mil-boutique-submit-preview::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.9);
  pointer-events:none;
}
.mil-boutique-submit-preview::after{inset:18px!important;border-radius:24px!important;border-color:rgba(207,134,250,.25)!important}
.mil-boutique-submit-stage{
  width:min(94%,350px)!important;
  max-height:calc(100% - 54px)!important;
  margin:8px auto 0!important;
}
.mil-boutique-submit-copy{
  align-self:stretch!important;
  min-height:0!important;
  margin:0!important;
  padding:44px 42px 30px!important;
  border:0!important;
  border-radius:0!important;
  background:var(--mil-white)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.mil-boutique-submit-copy::before{display:none!important;content:none!important}
.mil-boutique-submit-field input,.mil-boutique-submit-field textarea{background:rgba(255,255,255,.96)!important}
.mil-boutique-submit-info,.mil-boutique-submit-review-description{background:rgba(243,215,232,.58)!important}
.mil-boutique-submit-close{right:18px!important;top:18px!important;background:rgba(255,255,255,.96)!important}

/* Brinde de outfit: a Solete ocupa o palco e os controles continuam legíveis. */
.mil-outfit-reward-card{
  background:var(--mil-white)!important;
  border-radius:34px!important;
  overflow:hidden!important;
}
.mil-outfit-reward-preview{
  background:radial-gradient(circle at 50% 38%,#FFFFFF,rgba(243,215,232,.68) 64%,rgba(207,134,250,.24))!important;
}
.mil-outfit-reward-preview::after{inset:14px!important;border-radius:24px!important;border-color:rgba(207,134,250,.24)!important}
.mil-outfit-reward-preview-frame{width:min(96%,380px)!important;max-height:96%!important}
.mil-outfit-reward-copy{background:var(--mil-white)!important}
.mil-outfit-reward-note,.mil-outfit-reward-color{background:rgba(255,255,255,.96)!important}
.mil-outfit-reward-stars{
  inset:50% auto auto 50%!important;
  width:min(910px,calc(100vw - 36px))!important;
  height:min(610px,calc(100dvh - 38px))!important;
  translate:-50% -50%;
  border-radius:34px;
  overflow:hidden;
}
.daily-reward-stars{
  inset:50% auto auto 50%!important;
  width:min(500px,calc(100vw - 34px))!important;
  height:min(560px,calc(100dvh - 34px))!important;
  translate:-50% -50%;
  border-radius:30px;
  overflow:hidden;
}
.daily-reward-card{background:linear-gradient(150deg,#FFFFFF 0%,#FFFFFF 68%,rgba(243,215,232,.76))!important}
.daily-reward-values>div{background:rgba(255,255,255,.92)!important}

/* Memórias e CGs mantêm a imagem protagonista, com legenda clara. */
.love-cherry-unlock-stars,.cg-unlock-stars{
  inset:50% auto auto 50%!important;
  width:min(1120px,calc(100vw - 40px))!important;
  height:min(760px,calc(100dvh - 40px))!important;
  translate:-50% -50%;
  border-radius:32px;
  overflow:hidden;
}
.love-cherry-unlock-copy,.cg-unlock-caption{
  background:rgba(255,255,255,.9)!important;
  border-color:rgba(207,134,250,.32)!important;
  color:var(--mil-ink)!important;
}
.love-cherry-unlock-copy h2,.cg-unlock-caption h2{color:var(--mil-ink)!important;text-shadow:none!important}
.love-cherry-unlock-copy p,.love-cherry-unlock-copy small,.cg-unlock-caption p{color:var(--mil-smoke)!important}
.love-cherry-unlock-art,.cg-unlock-preview{background:var(--mil-white)!important}

/* Enquadramento coerente para arte de banner e sprites transparentes. */
:where(.episode-feature-art,.episode-feature-media,.episode-special-art,.gallery-card-art,
  .gallery-preview,.detail-hero,.combo-feature-art,.valentine-outdoor-art,.valentine-looks){overflow:hidden!important}
:where(.episode-feature-art,.episode-feature-media,.gallery-card-art)>img,
:where(img.episode-card-art,.valentine-outdoor-art>img){
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
.detail-hero-art{
  width:min(72%,480px)!important;
  height:100%!important;
  max-height:none!important;
  right:-4%!important;
  object-fit:contain!important;
  object-position:right bottom!important;
}
.combo-feature-art img{width:min(92%,380px)!important;height:min(92%,420px)!important;object-fit:contain!important}
.valentine-looks{isolation:isolate}

/* Tutorial da Jia segue o mesmo quadro e mantém personagem e enfeites contidos. */
.boutique-tutorial{padding:22px!important}
.boutique-tutorial-wrap{
  width:min(940px,calc(100vw - 44px))!important;
  height:min(570px,calc(100dvh - 44px))!important;
  min-height:500px!important;
  grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr)!important;
  align-items:stretch!important;
  border:1px solid rgba(207,134,250,.34)!important;
  border-radius:34px!important;
  background:var(--mil-white)!important;
  box-shadow:0 32px 82px rgba(91,81,95,.22)!important;
  filter:none!important;
  overflow:hidden!important;
}
.boutique-tutorial-character{
  height:100%!important;
  overflow:hidden!important;
  background:radial-gradient(circle at 50% 35%,#FFFFFF,rgba(243,215,232,.72) 66%,rgba(207,134,250,.26))!important;
}
.boutique-tutorial-character img{
  left:50%!important;
  bottom:-80px!important;
  height:min(112%,650px)!important;
  max-width:96%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
.boutique-tutorial-card{
  align-self:stretch!important;
  height:auto!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--mil-white)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.boutique-tutorial-inner{padding:54px 46px 32px!important}
.boutique-tutorial-card::before{inset:12px!important;border-radius:22px!important;border-color:rgba(243,215,232,.82)!important}
.boutique-tutorial-emblem{top:18px!important;border-color:#FFFFFF!important}
.boutique-tutorial-close{right:18px!important;top:16px!important}

@media (max-width:760px), (max-aspect-ratio:4/5){
  .shell-sidebar,.panel-shell>.sidebar{background:rgba(255,255,255,.98)!important}
  .mil-boutique-submit{padding:8px!important}
  .mil-boutique-submit-card{
    width:calc(100vw - 16px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 16px)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    border-radius:26px!important;
    overflow:auto!important;
  }
  .mil-boutique-submit-preview{min-height:350px!important;padding:18px 18px 12px!important}
  .mil-boutique-submit-stage{width:min(82%,230px)!important;max-height:310px!important}
  .mil-boutique-submit-copy{min-height:390px!important;padding:30px 20px 22px!important}
  .mil-boutique-submit-close{right:12px!important;top:12px!important}
  .mil-outfit-reward-preview{min-height:400px!important;max-height:46vh!important}
  .mil-outfit-reward-preview-frame{width:min(88%,270px)!important}
  .boutique-tutorial{padding:8px!important}
  .boutique-tutorial-wrap{
    width:calc(100vw - 16px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 16px)!important;
    grid-template-columns:1fr!important;
    overflow:auto!important;
    border-radius:26px!important;
  }
  .boutique-tutorial-character{position:relative!important;inset:auto!important;width:100%!important;height:330px!important;min-height:330px!important}
  .boutique-tutorial-character img{height:390px!important;bottom:-58px!important}
  .boutique-tutorial-card{width:100%!important;min-height:360px!important;margin:0!important}
  .boutique-tutorial-inner{padding:42px 22px 24px!important}
}
