/* 全站統一色票 STAR */
:root{--ink:#070810;--ink-2:#090b14;--ink-soft:#0b0e18;--surface:#11131e;--surface-2:#181824;--paper:#f5ece4;--text:#eee6e3;--text-soft:#c9bdc3;--muted:#918995;--gold:#c4a36d;--gold-bright:#efd8a6;--gold-deep:#725836;--blue:#332d49;--wine:#662743;--wine-deep:#3b182d;--plum:#45284f;--rose:#b5657f;--rose-bright:#e5a5ba;--line:rgba(216,185,131,.28);--line-soft:rgba(255,255,255,.09);--danger:#db7d86;--report-surface:#0c0e17;--report-surface-alt:#12131d;--report-accent:#d4b374;--report-line:rgba(212,179,116,.26);--grad-gold:linear-gradient(135deg,#f2ddb2 0%,#c29e64 56%,#7c5a35 100%);--grad-panel:linear-gradient(145deg,rgba(19,18,29,.98),rgba(7,8,15,.99));--grad-report:linear-gradient(145deg,#13141f,#080a12);--grad-wine:linear-gradient(135deg,#612440 0%,#3d1d43 100%);--portrait-filter:saturate(.78) contrast(1.04) brightness(.79);--portrait-filter-active:saturate(.95) contrast(1.02) brightness(.93);}
/* 全站統一色票 END */
/* 全站背景與框架 STAR */
html{background:var(--ink);}
body,.studio-body{background:radial-gradient(circle at 76% 8%,rgba(91,45,79,.19),transparent 29%),radial-gradient(circle at 20% 68%,rgba(58,40,75,.13),transparent 27%),var(--ink);color:var(--text);}
body::before{opacity:.07;}
.site-sidebar{background:radial-gradient(circle at 50% 44%,rgba(67,38,74,.22),transparent 35%),linear-gradient(180deg,#0c101b,#070912);}
.mobile-header,.game-header{background:rgba(8,9,15,.96);}
.ornate-panel,.ornate-card,.service-card,.destiny-card,.plan-card{background:var(--grad-panel);}
.inner-hero,.mentor-profile,.question-workspace,.journal-hero,.points-hero,.final-cta{background:radial-gradient(circle at 82% 24%,rgba(92,42,74,.2),transparent 30%),linear-gradient(120deg,#10111b,#070910);}
.drawer-panel,.credit-dialog-panel{background:radial-gradient(circle at 100% 0,rgba(84,42,78,.24),transparent 30%),var(--ink-soft);}
.site-footer{border-color:var(--line-soft);color:var(--muted);}
/* 全站背景與框架 END */
/* 導覽與操作元件 STAR */
.sidebar-nav a:hover,.sidebar-nav a.is-active{border-color:rgba(216,185,131,.22);background:linear-gradient(90deg,rgba(102,39,67,.45),rgba(69,40,79,.12));}
.sidebar-nav a.is-active::before{background:var(--gold-bright);}
.sidebar-reading{background:radial-gradient(circle at 50% 0,rgba(84,52,94,.36),transparent 58%),rgba(255,255,255,.02);}
.reading-orb{background:radial-gradient(circle at 38% 28%,#fff4d4 0 3px,#8a667f 8%,#422b50 43%,#090b14 74%);box-shadow:0 0 28px rgba(120,65,102,.34);}
.button-primary,.start-button,.member-primary,.studio-primary{border-color:#efd6a1;background:var(--grad-gold);color:#1b120d;}
.button-secondary,.secondary-button,.studio-secondary{border-color:var(--line);background:rgba(9,9,15,.72);color:var(--paper);}
.home-mentor-search,.discover-search{border-color:rgba(181,101,127,.54);background:linear-gradient(100deg,rgba(100,32,65,.92),rgba(65,34,78,.94));box-shadow:0 18px 48px rgba(0,0,0,.3);}
.home-mentor-filter:hover,.home-mentor-filter.is-active,.discovery-filter:hover,.discovery-filter.is-active{border-color:rgba(239,216,166,.48);background:linear-gradient(135deg,var(--rose),#684278);color:#fff;}
.form-select,.form-control,.quick-question input,.chat-composer,.studio-choice{background:#0c0d15;color:var(--text);}
.form-select:focus,.form-control:focus,.quick-question input:focus{border-color:var(--rose-bright);background:#11121c;box-shadow:0 0 0 3px rgba(181,101,127,.12)!important;}
/* 導覽與操作元件 END */
/* 首頁人物卡與濾鏡 STAR */
.home-discovery{background:radial-gradient(circle at 50% 4%,rgba(103,40,77,.28),transparent 27%),radial-gradient(circle at 86% 38%,rgba(66,44,91,.19),transparent 27%),linear-gradient(160deg,#090a11 0%,#0c0d15 54%,#120b13 100%);}
.home-mentor-grid .mentor-card{border-color:rgba(255,255,255,.11);background:#151018;}
.home-mentor-grid .mentor-card img{filter:var(--portrait-filter);}
.home-mentor-grid .mentor-card:hover img,.home-mentor-grid .mentor-card.is-active img{filter:var(--portrait-filter-active);}
.home-mentor-grid .mentor-gradient{inset:0 auto auto 0;width:100%;height:auto;aspect-ratio:.92/1;background:linear-gradient(180deg,rgba(7,8,14,.04) 0%,rgba(7,8,14,.08) 54%,rgba(52,22,43,.54) 100%);pointer-events:none;}
.home-mentor-grid .mentor-info{background:var(--grad-wine);}
.home-selected-mentor{background:rgba(13,12,19,.94);}
/* 首頁人物卡與濾鏡 END */
/* 全站人物影像濾鏡 STAR */
.mentor-card img,.mentor-directory-item img,.mentor-profile-image img,.question-mentor img,.tarot-reader img,.discovery-grid .character-card>img,.character-choice .choice-media img{filter:var(--portrait-filter);}
.mentor-card:hover img,.mentor-card.is-active img,.mentor-directory-item:hover img,.discovery-grid .character-card:hover>img,.discovery-grid .character-card.is-active>img,.character-choice:hover .choice-media img,.character-choice.is-selected .choice-media img{filter:var(--portrait-filter-active);}
.mentor-directory-item>div{inset:0;display:flex;justify-content:flex-end;flex-direction:column;background:linear-gradient(180deg,rgba(7,8,14,.02) 0%,rgba(7,8,14,.12) 48%,rgba(48,20,40,.94) 100%);}
.mentor-profile-image::after{background:linear-gradient(90deg,transparent 55%,#12131d),linear-gradient(0deg,rgba(45,18,38,.8),transparent 48%);}
.question-mentor::after{background:linear-gradient(0deg,rgba(48,19,40,.95),transparent 62%),linear-gradient(90deg,transparent 68%,#12131d);}
.discovery-grid .character-card{background:#14111a;}
.discovery-grid .character-card>span{top:0;display:flex;justify-content:flex-end;flex-direction:column;background:linear-gradient(180deg,rgba(7,8,14,.02),rgba(7,8,14,.08) 47%,rgba(82,27,57,.97) 100%);pointer-events:none;}
.character-choice .choice-media::after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,14,.03),rgba(7,8,14,.08) 55%,rgba(60,24,49,.48));content:"";pointer-events:none;}
/* 全站人物影像濾鏡 END */
/* 占卜命理與內容區塊 STAR */
.service-card,.destiny-card{border-color:var(--line);}
.service-card:hover,.destiny-card:hover{border-color:rgba(239,216,166,.62);}
.service-content>span,.journal-overlay span{border-color:rgba(216,185,131,.36);background:rgba(54,23,43,.58);color:var(--gold-bright);}
.service-button,.plan-button{background:rgba(11,10,17,.76);}
.question-chip:hover,.service-button:hover,.plan-button:hover{background:rgba(102,39,67,.23);}
.journal-overlay{background:linear-gradient(transparent 10%,rgba(10,9,15,.2) 37%,rgba(54,21,44,.96) 100%);}
.reading-console,.reading-result,.synastry-report,.numerology-workspace,.tarot-stage{background:var(--grad-panel);}
/* 占卜命理與內容區塊 END */
/* 沉浸式與戀人片場 STAR */
.discovery-lobby{background:linear-gradient(160deg,#090a11 0%,#0c0d15 54%,#120b13 100%);}
.discovery-sidebar{background:rgba(10,10,16,.94);}
.discovery-nav:hover,.discovery-nav.is-active{background:linear-gradient(90deg,rgba(102,39,67,.45),rgba(69,40,79,.22));}
.discovery-grid .character-card>span{padding-top:72px;background:linear-gradient(transparent,rgba(10,9,15,.16) 45%,rgba(91,28,60,.98));}
.studio-page{background:radial-gradient(circle at 78% 10%,rgba(104,39,72,.17),transparent 32%),linear-gradient(180deg,#0b0d15,#070810);}
.studio-workspace,.studio-preview-panel,.result-panel{background:linear-gradient(180deg,#12131d,#090b13);}
.studio-choice.is-selected{border-color:var(--gold-bright);background:linear-gradient(150deg,rgba(102,39,67,.28),rgba(69,40,79,.2));}
.studio-body .character-choice .choice-media img{filter:var(--portrait-filter);}
.studio-body .character-choice:hover .choice-media img,.studio-body .character-choice.is-selected .choice-media img{filter:var(--portrait-filter-active);}
:root{--studio-rose:var(--rose);--studio-rose-bright:var(--rose-bright);--studio-gold:var(--gold);--studio-panel:var(--surface);--studio-line:var(--line);}
/* 沉浸式與戀人片場 END */
/* 響應式濾鏡比例 STAR */
.site-main>#questions{display:none;}
@media(max-width:767.98px){.home-mentor-grid .mentor-gradient{aspect-ratio:.92/1;}.discovery-grid .character-card>span{padding-top:56px;}}
/* 響應式濾鏡比例 END */

/* 全站黑體與聊天頁視覺語言 STAR */
:root{--fate-sans:"Noto Sans TC","PingFang TC","Microsoft JhengHei","Heiti TC",Arial,sans-serif;--serif:var(--fate-sans);}
html,body,button,input,textarea,select,option,h1,h2,h3,h4,h5,h6,p,a,span,small,strong,b,em,label,legend,blockquote,table{font-family:var(--fate-sans)!important;}
body,.studio-body{background:radial-gradient(circle at 78% 7%,rgba(104,39,72,.2),transparent 30%),radial-gradient(circle at 18% 72%,rgba(69,40,79,.14),transparent 26%),#070810;}
.main-content,.inner-main{background:linear-gradient(160deg,rgba(9,10,17,.96),rgba(12,13,21,.98) 54%,rgba(18,11,19,.98));}
.site-sidebar{background:radial-gradient(circle at 50% 42%,rgba(91,40,78,.24),transparent 38%),linear-gradient(180deg,#0b0c14,#070810);}
.ornate-panel,.ornate-card,.service-card,.destiny-card,.reading-console,.reading-result{border-color:rgba(216,185,131,.22);background:linear-gradient(145deg,rgba(19,18,29,.98),rgba(7,8,15,.99));}
.inner-hero,.mentor-profile,.question-workspace,.journal-hero,.points-hero{background:radial-gradient(circle at 82% 24%,rgba(102,39,67,.22),transparent 31%),linear-gradient(120deg,#11111b,#070810);}
/* 全站黑體與聊天頁視覺語言 END */

/* 全站頂部會員入口 STAR */
.top-member{position:relative;flex:0 0 auto;}
.top-member-login,.top-member-trigger{display:flex;min-height:42px;align-items:center;gap:9px;border:1px solid var(--line);padding:7px 12px;background:rgba(255,255,255,.025);color:var(--text-soft);font-size:12px;line-height:1.2;transition:border-color .2s ease,background .2s ease,color .2s ease;}
.top-member-login:hover,.top-member-trigger:hover,.top-member.is-open>.top-member-trigger{border-color:var(--gold);background:rgba(196,163,109,.1);color:var(--paper);}
.top-member-login>i,.top-member-trigger>i:first-child{color:var(--gold-bright);}
.top-member-trigger .member-copy{display:grid;text-align:left;}
.top-member-trigger .member-copy b{max-width:108px;overflow:hidden;color:var(--paper);font-size:12px;text-overflow:ellipsis;white-space:nowrap;}
.top-member-trigger .member-copy small{color:var(--gold);font-size:9px;letter-spacing:.08em;}
.member-chevron{margin-left:2px;color:var(--muted);font-size:9px;transition:transform .2s ease;}
.top-member.is-open .member-chevron{transform:rotate(180deg);}
.top-member-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:120;width:210px;visibility:hidden;border:1px solid var(--line);padding:8px;background:rgba(9,11,18,.98);box-shadow:0 22px 60px rgba(0,0,0,.42);opacity:0;transform:translateY(-6px);transition:visibility .18s ease,opacity .18s ease,transform .18s ease;}
.top-member.is-open .top-member-menu,.top-member-menu[aria-hidden="false"]{visibility:visible;opacity:1;transform:translateY(0);}
.top-member-menu header{display:grid;gap:2px;margin:0 4px 6px;padding:9px 8px 11px;border-bottom:1px solid var(--line-soft);}
.top-member-menu header small{color:var(--gold);font-size:9px;letter-spacing:.16em;}
.top-member-menu header b{color:var(--paper);font-size:14px;}
.top-member-menu>a,.top-member-menu>button{display:flex;width:100%;min-height:40px;align-items:center;gap:10px;border:0;padding:8px 11px;background:transparent;color:var(--text-soft);font-size:12px;text-align:left;text-decoration:none;transition:background .18s ease,color .18s ease;}
.top-member-menu>a:hover,.top-member-menu>button:hover{background:rgba(196,163,109,.1);color:var(--paper);}
.top-member-menu>a i,.top-member-menu>button i{width:16px;color:var(--gold);text-align:center;}
.top-member-menu>.js-member-logout{margin-top:5px;border-top:1px solid var(--line-soft);color:#d8a4ad;}
.home-top-member .top-member-menu{top:calc(100% + 12px);}
@media(max-width:767.98px){.usage-actions{min-width:0;}.usage-actions>.usage-chip:not(.usage-points){display:none;}.top-member-trigger .member-copy small{display:none;}.top-member-trigger .member-copy b{max-width:74px;}.top-member-login,.top-member-trigger{min-height:40px;padding:6px 9px;}.top-member-menu{position:fixed;left:12px;right:12px;top:72px;width:auto;}.home-top-member .top-member-menu{top:68px;}.game-header .top-member-trigger .member-chevron{display:none;}}
@media(max-width:480px){.top-member-login span{display:none;}.top-member-login{width:40px;justify-content:center;padding:0;}.usage-points small{display:none;}.game-header .member-profile-chip>span{display:none;}.game-header .member-profile-chip{width:42px;justify-content:center;padding:0;}}
/* 全站頂部會員入口 END */

/* 點數中心主視覺 START */
.points-hero {
  position: relative;
  isolation: isolate;
  min-height: 520px;
  overflow: hidden;
  align-items: center;
  padding: clamp(52px, 7vw, 92px) clamp(32px, 7vw, 100px);
  background:
    radial-gradient(circle at 76% 34%, rgba(126, 30, 53, .25), transparent 36%),
    linear-gradient(112deg, #0b0b12 0%, #100a10 55%, #05060a 100%);
}

.points-hero::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(7, 8, 14, .99) 0%, rgba(9, 8, 14, .96) 42%, rgba(9, 7, 12, .48) 64%, rgba(5, 6, 10, .1) 100%),
    linear-gradient(0deg, rgba(5, 6, 10, .78), transparent 42%);
  content: "";
  pointer-events: none;
}

.points-hero-copy {
  position: relative;
  z-index: 3;
  width: min(56%, 720px);
}

.points-hero > div:first-child {
  max-width: none;
}

.points-hero-portrait {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 0;
  width: 56%;
  margin: 0;
  overflow: hidden;
}

.points-hero-portrait::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #080910 0%, transparent 38%),
    linear-gradient(0deg, rgba(5, 6, 10, .32), transparent 45%),
    rgba(24, 6, 13, .04);
  content: "";
}

.points-hero-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 25%;
  filter: brightness(.9) saturate(.92) contrast(1.08);
  transform: scale(1.025);
  animation: pointsPortraitIn 1.15s cubic-bezier(.2, .7, .2, 1) both,
    pointsPortraitDrift 16s ease-in-out 1.15s infinite alternate;
}

.points-balance {
  display: flex;
  width: min(470px, 100%);
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 34px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line-soft);
  padding: 16px 0;
}

.points-balance > span {
  display: flex;
  align-items: baseline;
  gap: 13px;
}

.points-balance small {
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .12em;
}

.points-balance strong {
  color: var(--gold-bright);
  font-size: 22px;
  font-weight: 600;
}

.points-balance em {
  color: #8e8790;
  font-size: 10px;
  font-style: normal;
  letter-spacing: .12em;
}

@keyframes pointsPortraitIn {
  from { opacity: 0; transform: scale(1.08) translateX(18px); }
  to { opacity: 1; transform: scale(1.025) translateX(0); }
}

@keyframes pointsPortraitDrift {
  from { transform: scale(1.025); }
  to { transform: scale(1.065); }
}

@media (max-width: 991.98px) {
  .points-hero-copy { width: min(62%, 610px); }
  .points-hero-portrait { width: 61%; }
}

@media (max-width: 767.98px) {
  .points-hero {
    display: block;
    min-height: 700px;
    padding: 44px 24px 330px;
  }

  .points-hero::before {
    background: linear-gradient(180deg, #090a11 0%, rgba(9, 8, 13, .96) 40%, rgba(8, 7, 12, .25) 67%, rgba(5, 6, 10, .65) 100%);
  }

  .points-hero-copy { width: 100%; }

  .points-hero-portrait {
    inset: auto 0 0;
    width: 100%;
    height: 58%;
  }

  .points-hero-portrait::after {
    background:
      linear-gradient(180deg, #090a11 0%, transparent 33%),
      linear-gradient(0deg, rgba(5, 6, 10, .22), transparent 45%),
      rgba(24, 6, 13, .03);
  }

  .points-hero-portrait img { object-position: center 23%; }
  .points-balance { margin-top: 24px; }
}

@media (max-width: 575.98px) {
  .points-hero {
    min-height: 720px;
    padding-inline: 22px;
  }

  .points-balance {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .points-hero-portrait img {
    animation: none;
    transform: none;
  }
}
/* 點數中心主視覺 END */

/* 全站下拉選單：箭頭固定在右側，避免背景圖重複平鋪。 */
select.form-select:not([multiple]):not([size]) {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 44px !important;
  background-image: var(--bs-form-select-bg-img) !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 16px 12px !important;
}
