/*
   GEAR APEX - advisor page premium layer.
   Scoped to body.advisor-page. Uses existing character poster assets only.
*/

body.advisor-page{
  --adv-cyan:#38d5ff;
  --adv-violet:#a855f7;
  --adv-gold:#fbbf24;
  --adv-rose:#fb7185;
  --adv-panel:rgba(8,10,22,.9);
  overflow-x:hidden;
}

body.advisor-page #gax-buddy,
body.advisor-page #gc-mascot,
body.advisor-page #sfx-toggle,
body.advisor-page #pwa-install-btn{
  display:none !important;
}

body.advisor-page main{
  position:relative;
}

body.advisor-page .hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(56,213,255,.18);
  background:
    radial-gradient(circle at 50% 0, rgba(168,85,247,.18), transparent 38%),
    linear-gradient(180deg, rgba(9,10,23,.94), rgba(8,9,19,.84)) !important;
}

body.advisor-page .hero::before,
body.advisor-page .hero::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

body.advisor-page .hero::before{
  inset:0;
  opacity:.24;
  background:
    repeating-linear-gradient(0deg, transparent 0 29px, rgba(56,213,255,.16) 30px, transparent 31px),
    repeating-linear-gradient(90deg, transparent 0 47px, rgba(168,85,247,.12) 48px, transparent 49px);
}

body.advisor-page .hero::after{
  left:50%;
  bottom:-72px;
  width:min(560px,78vw);
  aspect-ratio:1;
  transform:translateX(-50%);
  border:1px solid rgba(56,213,255,.24);
  border-radius:50%;
  box-shadow:0 0 28px rgba(56,213,255,.12), inset 0 0 32px rgba(168,85,247,.10);
}

body.advisor-page .hero > *{
  position:relative;
  z-index:1;
}

body.advisor-page .hero h1{
  font-family:var(--gx-disp, 'Oxanium', 'Inter', system-ui, sans-serif);
}

body.advisor-page.adv-mode-intro .hero{
  padding-top:.75rem !important;
  padding-bottom:.35rem !important;
}

body.advisor-page.adv-mode-intro .hero p{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}

body.advisor-page .vn-stage{
  max-width:1760px;
}

body.advisor-page.adv-mode-intro .vn-stage{
  min-height:0 !important;
  align-items:start !important;
  padding-top:.85rem;
}

body.advisor-page.adv-mode-intro .vn-char{
  margin-top:1.8rem !important;
}

body.advisor-page.adv-mode-intro .vn-center.adv-wrap{
  align-self:start !important;
  margin:.65rem auto 2rem !important;
  padding:1.2rem 1.25rem 1.5rem !important;
  border-radius:12px !important;
  clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.018)),
    radial-gradient(circle at 0 0, rgba(56,213,255,.12), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(168,85,247,.16), transparent 38%),
    var(--adv-panel) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.10);
}

body.advisor-page .adv-sys-status,
body.advisor-page .adv-mission-label,
body.advisor-page .adv-prog-txt,
body.advisor-page .adv-menu-card .ami-tag,
body.advisor-page .adv-result-banner .arb-title{
  font-family:var(--gx-disp, 'Oxanium', 'Inter', system-ui, sans-serif);
}

body.advisor-page .adv-result-banner .arb-txt{
  min-width:0;
  gap:.28rem;
}

body.advisor-page .adv-result-banner .arb-title,
body.advisor-page .adv-result-banner .arb-sub{
  display:block;
  line-height:1.35;
}

body.advisor-page .adv-menu{
  gap:.7rem !important;
}

body.advisor-page .adv-menu .adv-menu-card{
  border-radius:10px !important;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  min-height:178px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

body.advisor-page .adv-menu .adv-menu-card:active,
body.advisor-page .adv-opt:active,
body.advisor-page .adv-retry:active,
body.advisor-page #pf-go:active{
  transform:translateY(1px) scale(.98) !important;
  filter:brightness(1.08);
}

body.advisor-page .adv-opt{
  border-radius:8px !important;
  min-height:60px;
}

body.advisor-page .adv-opts{
  min-height:0 !important;
}

body.advisor-page .adv-prog{
  padding:.55rem .7rem .15rem;
  border:1px solid rgba(56,213,255,.16);
  border-radius:10px;
  background:rgba(255,255,255,.025);
}

body.advisor-page .adv-card,
body.advisor-page .adv-cards .item-card{
  border-radius:10px !important;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  border-color:rgba(56,213,255,.22) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.016)),
    linear-gradient(145deg, rgba(8,10,22,.92), rgba(20,14,34,.84)) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.07);
}

body.advisor-page .adv-card:hover,
body.advisor-page .adv-cards .item-card:hover{
  border-color:rgba(56,213,255,.52) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.46), 0 0 24px rgba(56,213,255,.12), inset 0 1px 0 rgba(255,255,255,.11);
}

body.advisor-page .adv-catrec{
  content-visibility:auto;
  contain-intrinsic-size:430px;
}

body.advisor-page .adv-result-banner{
  border-radius:10px;
}

body.advisor-page .adv-actions{
  border-top-color:rgba(56,213,255,.16) !important;
}

body.advisor-page .advisor-mobile-standees{
  display:none;
}

@media (max-width:920px){
  body.advisor-page .vn-char,
  body.advisor-page.adv-mode-intro .vn-char,
  body.advisor-page #vn-char-mio,
  body.advisor-page #vn-char-hina{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    width:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  body.advisor-page #to-top{
    display:none !important;
  }

  body.advisor-page .hero,
  body.advisor-page.adv-mode-intro .hero{
    padding:.72rem 16px .55rem !important;
  }

  body.advisor-page .hero h1{
    font-size:1.45rem !important;
    line-height:1.2 !important;
  }

  body.advisor-page .hero p{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    max-width:100%;
    font-size:.82rem !important;
    line-height:1.55 !important;
    margin-top:.38rem !important;
  }

  body.advisor-page .container{
    padding:0 !important;
  }

  body.advisor-page .vn-stage,
  body.advisor-page.adv-mode-intro .vn-stage{
    display:block !important;
    width:100%;
    min-height:0 !important;
    max-width:100%;
    margin:0 auto !important;
    padding:.75rem 16px 2.2rem !important;
  }

  body.advisor-page .vn-ambiance,
  body.advisor-page .vn-emblem{
    display:none !important;
  }

  body.advisor-page .vn-center.adv-wrap,
  body.advisor-page.adv-mode-intro .vn-center.adv-wrap{
    width:100% !important;
    max-width:520px !important;
    margin:0 auto 1.2rem !important;
    padding:.82rem .76rem 1rem !important;
  }

  body.advisor-page .vn-center.adv-wrap::before,
  body.advisor-page .vn-center.adv-wrap::after{
    display:none !important;
  }

  body.advisor-page .advisor-mobile-standees{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    height:clamp(154px, 22vw, 190px);
    margin:0 0 .72rem;
    padding:8px;
    border:1px solid rgba(56,213,255,.24);
    border-radius:10px;
    background:
      linear-gradient(90deg, rgba(7,9,20,.72), rgba(13,11,28,.48), rgba(7,9,20,.72)),
      repeating-linear-gradient(90deg, rgba(56,213,255,.08) 0 1px, transparent 1px 24px);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.06), 0 10px 24px rgba(0,0,0,.26);
    overflow:hidden;
  }

  body.advisor-page .ams-pane{
    position:relative;
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(168,85,247,.28);
    border-radius:8px;
    background:rgba(6,8,18,.64);
  }

  body.advisor-page .ams-pane::before,
  body.advisor-page .ams-pane::after{
    content:"";
    position:absolute;
    pointer-events:none;
    z-index:2;
  }

  body.advisor-page .ams-pane::before{
    inset:0;
    background:
      linear-gradient(180deg, rgba(255,255,255,.08), transparent 18%, rgba(0,0,0,.18)),
      repeating-linear-gradient(0deg, transparent 0 4px, rgba(0,0,0,.12) 4px 5px);
    mix-blend-mode:screen;
    opacity:.35;
  }

  body.advisor-page .ams-pane::after{
    left:8px;
    right:8px;
    bottom:5px;
    height:2px;
    background:linear-gradient(90deg, transparent, rgba(56,213,255,.75), transparent);
    box-shadow:0 0 10px rgba(56,213,255,.42);
  }

  body.advisor-page .ams-mio{
    border-color:rgba(167,139,250,.40);
  }

  body.advisor-page .ams-hina{
    border-color:rgba(251,113,133,.38);
  }

  body.advisor-page .ams-pane video{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 42%;
    transform:scale(1.06);
    transform-origin:center 34%;
    filter:drop-shadow(0 0 10px rgba(168,85,247,.20));
  }

  body.advisor-page .ams-mio video{
    object-position:52% 42%;
    transform:scale(1.07);
  }

  body.advisor-page .ams-hina video{
    object-position:50% 42%;
    transform:scale(1.06);
  }

  body.advisor-page .adv-panel-deco{
    opacity:.72;
  }

  body.advisor-page #advisor-root{
    width:100%;
  }

  body.advisor-page #advisor-root .adv-msg{
    display:none !important;
  }

  body.advisor-page .adv-sys-status{
    margin-bottom:.68rem !important;
    font-size:.62rem !important;
    gap:.38rem !important;
  }

  body.advisor-page .adv-intro-title{
    font-size:.94rem !important;
    line-height:1.35 !important;
    margin:.05rem 0 .7rem !important;
  }

  body.advisor-page .adv-menu{
    grid-template-columns:1fr !important;
    gap:.58rem !important;
  }

  body.advisor-page .adv-menu .adv-menu-card{
    min-height:0;
    padding:.78rem .78rem .72rem !important;
    gap:.18rem !important;
  }

  body.advisor-page .adv-menu-card .ami-ic{
    width:36px !important;
    height:36px !important;
    border-radius:9px !important;
    margin-bottom:.22rem !important;
    font-size:1rem !important;
  }

  body.advisor-page .adv-menu-card .ami-t{
    font-size:.95rem !important;
  }

  body.advisor-page .adv-menu-card .ami-d{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:.74rem !important;
    line-height:1.45 !important;
  }

  body.advisor-page .adv-trust{
    gap:.48rem !important;
    margin-top:.7rem !important;
    font-size:.66rem !important;
  }

  body.advisor-page .adv-trust span{
    padding:.28rem .5rem;
    border:1px solid rgba(168,85,247,.20);
    border-radius:999px;
    background:rgba(255,255,255,.035);
  }

  body.advisor-page .adv-mission{
    margin:.08rem 0 .72rem !important;
    padding:.55rem .62rem !important;
    gap:.52rem !important;
  }

  body.advisor-page .adv-mission-no{
    font-size:1.38rem !important;
  }

  body.advisor-page .adv-mission-q{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:.86rem !important;
  }

  body.advisor-page .adv-opts{
    gap:.45rem !important;
  }

  body.advisor-page .adv-opt{
    height:auto !important;
    min-height:52px;
    padding:.52rem .72rem !important;
    font-size:.82rem !important;
    line-height:1.35 !important;
  }

  body.advisor-page .opt-key{
    width:26px !important;
    height:26px !important;
    font-size:.72rem !important;
  }

  body.advisor-page .adv-prog{
    margin:.72rem 0 0 !important;
  }

  body.advisor-page .adv-form{
    padding:.9rem .78rem !important;
  }

  body.advisor-page .adv-row2{
    grid-template-columns:1fr !important;
  }

  body.advisor-page .adv-cards,
  body.advisor-page .adv-cards:has(> *:nth-child(2)):not(:has(> *:nth-child(3))){
    grid-template-columns:1fr !important;
    max-width:none !important;
  }

  body.advisor-page .adv-cards .item-image{
    height:118px !important;
  }

  body.advisor-page .adv-result-banner{
    padding:.72rem .78rem !important;
    gap:.55rem !important;
  }

  body.advisor-page .adv-result-banner .arb-ic{
    width:36px !important;
    height:36px !important;
    font-size:1.08rem !important;
  }

  body.advisor-page .adv-result-banner .arb-title{
    font-size:.76rem !important;
  }

  body.advisor-page .adv-result-banner .arb-sub{
    font-size:.58rem !important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.advisor-page .adv-menu .adv-menu-card,
  body.advisor-page .adv-card,
  body.advisor-page .adv-opt{
    transition:none !important;
  }
}
