/* ═══ 萬神 디자인 시스템 — 옻칠과 금박 (2026-10-14) — 맨 마지막에 읽는다 ═══
   방향: 옻칠한 나무처럼 깊은 검정 위에 한지색 글자, 금박은 꼭 필요한 곳(주요 버튼·선택·아이콘)에만.
   · 색   : 바탕 #0E0B0A · 면 #17120F · 올린 면 #201914 · 눌린 면 #2A211A · 글자 #EFE7DA/#A99D8C/#6F665B · 금박 #C9A35F · 주사 #8E3B2E
   · 모양 : 모서리 6(꼬리표) · 10(버튼·입력·썸네일) · 14(카드·말풍선) · 20(시트·팝업). 테두리 없음, 면의 밝기로만 구분.
   · 글자 : 제목 Noto Serif KR 600, 나머지 Pretendard. 12/13/15/17/20/26. 대문자 꼬리표·이탤릭·글자 그림자 없음.
   · 빛   : 배경 그림은 어둡고 따뜻하게 보정해 질감으로만. 보라 빛·빛기둥·광택 애니메이션 없음. */
:root{
  --bg:#0e0b0a; --s1:#17120f; --s2:#201914; --s3:#2a211a;
  --t1:#efe7da; --t2:#a99d8c; --t3:#6f665b;
  --gold:#c9a35f; --gold-hi:#d8b676; --gold-t:#1a130b; --cin:#8e3b2e;
  --r-xs:6px; --r-sm:10px; --r-md:14px; --r-lg:20px;
  --sh-pop:0 20px 50px rgba(0,0,0,.55);
  --serif:"Noto Serif KR","Nanum Myeongjo",serif; --sans:Pretendard,-apple-system,system-ui,sans-serif;
}
body[data-ms-fx] #root{ filter:none!important; }

/* ── 배경: 따뜻하고 어둡게 보정한 질감. 보라 구체·빛기둥·빛 궤적 제거 ── */
#ms-fx{ background:var(--bg)!important; }
#ms-fx .bg{ filter:grayscale(.3) sepia(.22) saturate(.85) brightness(.62) contrast(1.06); }
#ms-fx .rays, #ms-fx .trail, #ms-fx .orb, #ms-fx .crest .ring, #ms-fx .crest .ring2, #ms-fx .crest .ring3, #ms-fx .crest .beam, #ms-fx .crest .node{ display:none!important; }
#ms-fx .crest .halo{ inset:30px!important; background:radial-gradient(closest-side,rgba(232,196,128,.20),rgba(232,196,128,.06) 50%,transparent 75%)!important; }
#ms-fx .dust{ opacity:.45; }
#ms-fx .tint{ background:linear-gradient(180deg,rgba(14,11,10,.55) 0%,rgba(14,11,10,.35) 38%,rgba(14,11,10,.86) 100%)!important; }
#ms-fx:is([data-bg="saju"],[data-bg="astro"],[data-bg="tarot"],[data-bg="dream"],[data-bg="other"]) .tint{ background:linear-gradient(180deg,rgba(14,11,10,.80) 0%,rgba(14,11,10,.70) 30%,rgba(14,11,10,.80) 65%,rgba(14,11,10,.96) 100%)!important; }
#ms-fx .vig{ background:radial-gradient(120% 85% at 50% 40%,transparent 50%,rgba(6,4,3,.8))!important; }
.ms-sheen{ display:none!important; }
body[data-ms-fx] #root div.relative.w-full.h-full.flex.flex-col.overflow-hidden > div.absolute.inset-0.pointer-events-none{ display:none!important; }   /* 번들의 보라 안개·반짝이 층 */

/* ── 공통 정리: 번들의 보라 글자·테두리·그림자·글자 번짐 ── */
body[data-ms-fx] #root :is([style*="color: rgb(196, 181, 253)"],[style*="color: rgb(167, 139, 250)"],[style*="color: rgb(233, 213, 255)"],[style*="color: rgb(221, 214, 254)"],[style*="color: rgb(192, 132, 252)"]){ color:var(--t2)!important; }
body[data-ms-fx] #root :is(div.relative.w-full.h-full.flex.flex-col.overflow-hidden, div.absolute.inset-0.z-\[78\], .grid.grid-cols-2.gap-3) :is([style*="border"],[class*="border"]){ border-color:transparent!important; }
body[data-ms-fx] #root :is(div.relative.w-full.h-full.flex.flex-col.overflow-hidden, div.absolute.inset-0.z-\[78\], .grid.grid-cols-2.gap-3) [style*="box-shadow"]{ box-shadow:none!important; }
body[data-ms-fx] #root :is(div.relative.w-full.h-full.flex.flex-col.overflow-hidden, div.absolute.inset-0.z-\[78\]) *{ text-shadow:none!important; }
body[data-ms-fx] #root :is(div.relative.w-full.h-full.flex.flex-col.overflow-hidden, div.absolute.inset-0.z-\[78\]) :is([style*="rgba(147, 51, 234"],[style*="rgba(167, 139, 250"],[style*="rgba(139, 92, 246"],[style*="rgba(124, 58, 237"],[style*="rgb(26, 15, 46)"],[style*="rgba(26, 15, 46"]):not(div.z-50 *):not(div.relative.px-3.py-3.z-10):not(div.relative.px-3.py-3.z-10 *){ background:var(--s2)!important; }
body[data-ms-fx] #root [style*="box-shadow: rgb(147, 51, 234) 0px 0px"]{ display:none!important; }
body[data-ms-fx] img[src*="crystal"]{ filter:grayscale(1) sepia(1) saturate(2.2) hue-rotate(-12deg) brightness(.95)!important; }   /* 보라 다이아 → 금박 */

/* ── 홈 ── */
body[data-ms-fx][data-ms-theme="home"] div.text-center.flex-shrink-0 > div:nth-child(1){
  background:linear-gradient(180deg,#e9cf98,#c9a35f 60%,#a8823f)!important; -webkit-background-clip:text!important; background-clip:text!important;
  color:transparent!important; -webkit-text-fill-color:transparent!important; filter:none!important; text-shadow:none!important;
}
body[data-ms-fx][data-ms-theme="home"] div.text-center.flex-shrink-0 > div:nth-child(2){ color:var(--t1)!important; font-style:normal!important; letter-spacing:.32em!important; font-size:13px!important; font-family:var(--serif)!important; font-weight:500!important; }
body[data-ms-fx][data-ms-theme="home"] div.text-center.flex-shrink-0 > div:nth-child(3){ color:var(--t2)!important; letter-spacing:.14em!important; }
body[data-ms-fx] #root > div > div > div.z-50 > button{ background:rgba(23,18,15,.88)!important; border:0!important; box-shadow:none!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; border-radius:999px!important; }
body[data-ms-fx] #root > div > div > div.z-50 > button span{ color:var(--t1)!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5{ gap:10px!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button{
  height:136px; border:0!important; border-radius:var(--r-md)!important; overflow:hidden!important; padding:0!important;
  background:rgba(34,27,22,.94)!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; box-shadow:0 10px 24px rgba(0,0,0,.35)!important;
}
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button::before{ filter:none!important; width:30px!important; height:30px!important; margin-bottom:14px!important; opacity:1!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button::after{ display:none!important; content:none!important; }
/* 아이콘 — 같은 굵기(1.5)·같은 금박색·빛 번짐 없이 다시 그림 */
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(1)::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23c9a35f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='16' r='12'/%3E%3Cpath d='M16 4a6 6 0 0 1 0 12a6 6 0 0 0 0 12'/%3E%3Ccircle cx='16' cy='10' r='1.3' fill='%23c9a35f' stroke='none'/%3E%3Ccircle cx='16' cy='22' r='1.3'/%3E%3C/svg%3E")!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(2)::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23c9a35f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='4' width='16' height='24' rx='2.5'/%3E%3Cpath d='M16 10.5l1.4 4.1 4.1 1.4-4.1 1.4-1.4 4.1-1.4-4.1-4.1-1.4 4.1-1.4z'/%3E%3C/svg%3E")!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(3)::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23c9a35f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 5l1.8 5.7L21.5 12.5l-5.7 1.8L14 20l-1.8-5.7L6.5 12.5l5.7-1.8z'/%3E%3Ccircle cx='24' cy='22' r='1.4'/%3E%3Ccircle cx='19' cy='27' r='1.1'/%3E%3Ccircle cx='26.5' cy='8' r='1.1'/%3E%3Cpath d='M24 22l-5 5' stroke-opacity='.55'/%3E%3C/svg%3E")!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(4)::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23c9a35f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 5.5A11 11 0 1 0 26.5 22 9 9 0 0 1 20 5.5z'/%3E%3Cpath d='M24.5 6.5l.7 1.8 1.8.7-1.8.7-.7 1.8-.7-1.8-1.8-.7 1.8-.7z'/%3E%3C/svg%3E")!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button > div:nth-child(5){ font:600 17px/1.2 var(--serif)!important; letter-spacing:.02em!important; color:var(--t1)!important; text-shadow:none!important; margin:0!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button > div:nth-child(6){ font:500 12px/1.3 var(--sans)!important; color:var(--t2)!important; margin:6px 0 0!important; letter-spacing:0!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:active{ transform:scale(.98)!important; background:rgba(42,33,26,.95)!important; box-shadow:none!important; border:0!important; }
body[data-ms-fx] #mansin-ad-cta{ background:rgba(34,27,22,.94)!important; border:0!important; border-radius:var(--r-md)!important; box-shadow:none!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
body[data-ms-fx] #mansin-ad-cta::before{ color:var(--t1)!important; font:500 14px var(--sans)!important; }
body[data-ms-fx] #mansin-ad-cta::after{ color:var(--gold)!important; background:transparent!important; font:600 12px var(--sans)!important; padding:0!important; }

/* ── 오늘 띠·시트 ── */
body[data-ms-fx] #ms-today-strip{ background:rgba(34,27,22,.94)!important; border:0!important; border-radius:var(--r-md)!important; box-shadow:none!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
body[data-ms-fx] #ms-today-strip .d{ border-right:0!important; padding-right:6px!important; }
body[data-ms-fx] #ms-today-strip .d b{ color:var(--t1)!important; font:600 16px var(--serif)!important; }
body[data-ms-fx] #ms-today-strip .d small{ color:var(--t3)!important; font-size:10px!important; }
body[data-ms-fx] #ms-today-strip .t small{ color:var(--gold)!important; font:600 11px var(--sans)!important; letter-spacing:0!important; }
body[data-ms-fx] #ms-today-strip .t span{ color:var(--t1)!important; font:500 13px var(--sans)!important; }
body[data-ms-fx] #ms-today-strip .a{ color:var(--t3)!important; }
body[data-ms-fx] #ms-today-sheet{ background:rgba(6,4,3,.7)!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
body[data-ms-fx] #ms-today-sheet .p{ border:0!important; border-radius:var(--r-lg) var(--r-lg) 0 0!important; background:var(--s1)!important; box-shadow:var(--sh-pop)!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
body[data-ms-fx] #ms-today-sheet .g{ background:var(--s3)!important; }
body[data-ms-fx] #ms-today-sheet .x{ border:0!important; background:var(--s2)!important; color:var(--t2)!important; }
body[data-ms-fx] #ms-today-sheet .cap{ color:var(--t3)!important; font:600 12px var(--sans)!important; letter-spacing:0!important; }
body[data-ms-fx] #ms-today-sheet h3{ color:var(--t1)!important; font:600 22px/1.3 var(--serif)!important; }
body[data-ms-fx] #ms-today-sheet .dim{ color:var(--t3)!important; }
body[data-ms-fx] #ms-today-sheet .box{ border:0!important; border-radius:var(--r-md)!important; background:var(--s2)!important; box-shadow:none!important; }
body[data-ms-fx] #ms-today-sheet .line{ color:var(--t1)!important; font:600 17px/1.6 var(--serif)!important; }
body[data-ms-fx] #ms-today-sheet .tag{ background:var(--s3)!important; color:var(--gold)!important; border-radius:var(--r-xs)!important; font:600 11px var(--sans)!important; }
body[data-ms-fx] #ms-today-sheet .row{ border-top:0!important; padding:6px 0!important; color:var(--t1)!important; }
body[data-ms-fx] #ms-today-sheet .row b{ color:var(--t3)!important; font-weight:500!important; }
body[data-ms-fx] #ms-today-sheet .ci img{ border-radius:var(--r-sm)!important; box-shadow:0 10px 24px rgba(0,0,0,.45)!important; }
body[data-ms-fx] #ms-today-sheet .ct, body[data-ms-fx] #ms-today-sheet .ct p{ color:var(--t2)!important; }
body[data-ms-fx] #ms-today-sheet .ct .hint{ color:var(--gold)!important; font-weight:600!important; }
body[data-ms-fx] #ms-today-sheet .m b{ color:var(--t1)!important; font-family:var(--serif)!important; }
body[data-ms-fx] #ms-today-sheet .note{ color:var(--t3)!important; }
body[data-ms-fx] #ms-today-sheet .btn{ background:var(--gold)!important; color:var(--gold-t)!important; border-radius:var(--r-sm)!important; height:50px!important; font:600 15px var(--sans)!important; box-shadow:none!important; }
body[data-ms-fx] #ms-today-sheet .btn:active{ background:var(--gold-hi)!important; }

/* ── 대화 화면 ── */
body[data-ms-fx]:not([data-ms-theme="home"]) #root div.flex.items-center.gap-3.px-4.z-50{
  background:linear-gradient(180deg,rgba(14,11,10,.96),rgba(14,11,10,.88))!important; border:0!important; box-shadow:none!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
}
body[data-ms-fx] #root div.flex.items-center.gap-3.px-4.z-50 > div.flex-1.min-w-0{ overflow:hidden!important; }
body[data-ms-fx] #root div.flex.items-center.gap-3.px-4.z-50 > div.flex-1.min-w-0 > div:first-child{ display:block!important; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; font:600 16px/1.3 var(--serif)!important; font-style:normal!important; letter-spacing:0!important; color:var(--t1)!important; text-shadow:none!important; }
body[data-ms-fx] #root div.flex.items-center.gap-3.px-4.z-50 > div.flex-1.min-w-0 > div:nth-child(2){ color:var(--t3)!important; opacity:1!important; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; font-size:11px!important; letter-spacing:0!important; }
body[data-ms-fx] #root div.flex.items-center.gap-3.px-4.z-50 button{ background:var(--s2)!important; border:0!important; box-shadow:none!important; color:var(--t1)!important; border-radius:var(--r-sm)!important; }
body[data-ms-fx] #root div.flex.items-center.gap-3.px-4.z-50 > button:first-child{ border-radius:999px!important; }
body[data-ms-fx] #root div.flex.items-center.gap-3.px-4.z-50 button[aria-label="다이아 충전"]{ border-radius:999px!important; }
body[data-ms-fx] #root div.flex.items-center.gap-3.px-4.z-50 button svg{ color:var(--t1)!important; stroke:currentColor; }
body[data-ms-fx] #root div.flex.items-center.gap-3.px-4.z-50 > div.flex-shrink-0{ border:0!important; box-shadow:none!important; background:var(--s2)!important; }
/* 말풍선 */
body[data-ms-fx] #root div.flex.justify-start div[style*="linear-gradient"]:is(.max-w-\[75\%\],[class*="px-4"]){
  background:var(--s1)!important; border:0!important; border-radius:4px var(--r-md) var(--r-md) var(--r-md)!important; box-shadow:none!important;
  -webkit-backdrop-filter:none!important; backdrop-filter:none!important; color:var(--t1)!important; font:400 15px/1.7 var(--sans)!important;
}
body[data-ms-fx] #root div.flex.justify-end div[style*="linear-gradient"]{
  background:var(--s3)!important; border:0!important; border-radius:var(--r-md) 4px var(--r-md) var(--r-md)!important; box-shadow:none!important;
  -webkit-backdrop-filter:none!important; backdrop-filter:none!important; color:var(--t1)!important; font:500 15px/1.6 var(--sans)!important;
}
/* 대화 속 이미지(캐릭터 초상 등) — 모서리 통일 */
body[data-ms-fx] #root div.relative.w-full.h-full.flex.flex-col.overflow-hidden img:not([src*="crystal"]){ border-radius:var(--r-md); }
body[data-ms-fx] #root div.relative.w-full.h-full.flex.flex-col.overflow-hidden div.flex.justify-start > div:first-child img{ border-radius:999px; }
/* 추천 질문 */
body[data-ms-fx] #root div.grid.grid-cols-2.gap-1\.5 > button{
  background:var(--s2)!important; border:0!important; border-radius:var(--r-sm)!important; box-shadow:none!important; color:var(--t1)!important; font:500 13px/1.35 var(--sans)!important;
  -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
}
body[data-ms-fx] #root div.grid.grid-cols-2.gap-1\.5 > button:active{ background:var(--s3)!important; }
/* 입력 */
body[data-ms-fx] #root div.relative.px-3.py-3.z-10{ background:var(--bg)!important; border:0!important; box-shadow:none!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
body[data-ms-fx] #root div.relative.px-3.py-3.z-10 textarea{ background:var(--s2)!important; border:0!important; border-radius:var(--r-sm)!important; box-shadow:none!important; color:var(--t1)!important; font:400 15px var(--sans)!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
body[data-ms-fx] #root div.relative.px-3.py-3.z-10 textarea::placeholder{ color:var(--t3)!important; }
body[data-ms-fx] #root div.relative.px-3.py-3.z-10 button{ background:var(--gold)!important; color:var(--gold-t)!important; border:0!important; border-radius:var(--r-sm)!important; box-shadow:none!important; animation:none!important; }
body[data-ms-fx] #root div.relative.px-3.py-3.z-10 button:disabled{ background:var(--s2)!important; color:var(--t3)!important; opacity:1!important; }
body[data-ms-fx] #root div.relative.px-3.py-3.z-10 .rounded-full:not(button){ background:var(--gold)!important; box-shadow:none!important; }
body[data-ms-fx] #root div.relative.px-3.py-3.z-10 :is(span,div):not(.rounded-full){ color:var(--t3); }
/* 사주 원국 */
body[data-ms-fx] #root div[style*="padding: 12px; background: linear-gradient(160deg"]{ background:var(--s1)!important; border:0!important; border-radius:var(--r-md)!important; box-shadow:none!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
body[data-ms-fx] #root div[style*="aspect-ratio: 1 / 1"]{ border:0!important; border-radius:var(--r-sm)!important; box-shadow:none!important; }
body[data-ms-fx] #root div[style*="aspect-ratio: 1 / 1"][style*="rgb(21, 128, 61)"]{ background:#3c4d39!important; }
body[data-ms-fx] #root div[style*="aspect-ratio: 1 / 1"][style*="rgb(185, 28, 28)"]{ background:#6b3329!important; }
body[data-ms-fx] #root div[style*="aspect-ratio: 1 / 1"][style*="rgb(161, 98, 7)"]{ background:#6c5734!important; }
body[data-ms-fx] #root div[style*="aspect-ratio: 1 / 1"][style*="rgb(82, 82, 82)"]{ background:#55504a!important; }
body[data-ms-fx] #root div[style*="aspect-ratio: 1 / 1"]:is([style*="rgb(29, 78, 216)"],[style*="rgb(30, 64, 175)"],[style*="rgb(37, 99, 235)"],[style*="rgb(3, 105, 161)"],[style*="rgb(30, 58, 138)"]){ background:#2f3a50!important; }
body[data-ms-fx] #root div[style*="width: 44px; height: 44px"][style*="linear-gradient(135deg, rgb("]{ border:0!important; box-shadow:none!important; border-radius:var(--r-sm)!important; background:#6b3329!important; }

/* ── 별자리 카드 ── */
body[data-ms-fx] .mansin-astro-graphic{ background:var(--s1)!important; border:0!important; border-radius:var(--r-md)!important; box-shadow:none!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
body[data-ms-fx] .mansin-astro-graphic::before{ display:none!important; }
body[data-ms-fx] .mansin-astro-graphic .mg-spark{ display:none!important; }
body[data-ms-fx] .mansin-astro-graphic .msg-graphic-head{ color:var(--t1)!important; font:600 14px var(--serif)!important; letter-spacing:0!important; }
body[data-ms-fx] .mansin-astro-graphic .mg-sub{ color:var(--t3)!important; letter-spacing:0!important; }
body[data-ms-fx] .mansin-astro-graphic .mag-sun{ background:var(--s2)!important; border:0!important; box-shadow:none!important; border-radius:var(--r-sm)!important; }
body[data-ms-fx] .mansin-astro-graphic .mag-glyph{ background:var(--gold)!important; color:var(--gold-t)!important; box-shadow:none!important; font-weight:400!important; }
body[data-ms-fx] .mansin-astro-graphic .mag-sign-name{ color:var(--t1)!important; font:600 16px var(--serif)!important; }
body[data-ms-fx] .mansin-astro-graphic .mag-sign-sub{ color:var(--t2)!important; }
body[data-ms-fx] .mansin-astro-graphic .mgp-title{ color:var(--t3)!important; }
body[data-ms-fx] .mansin-astro-graphic .mag-aspect{ background:var(--s2)!important; border:0!important; color:var(--t2)!important; border-radius:var(--r-sm)!important; }
body[data-ms-fx] .mansin-planet-row{ background:var(--s2)!important; border:0!important; border-radius:var(--r-sm)!important; box-shadow:none!important; }
body[data-ms-fx] .mansin-planet-row .pl-orb{ background:var(--s3)!important; color:var(--gold)!important; box-shadow:none!important; font-weight:400!important; }
body[data-ms-fx] .mansin-planet-row .pl-name{ color:var(--t1)!important; font-weight:600!important; }
body[data-ms-fx] .mansin-planet-row .pl-role{ color:var(--t3)!important; }
body[data-ms-fx] .mansin-planet-row .pl-sign{ background:var(--s3)!important; color:var(--gold)!important; box-shadow:none!important; border-radius:var(--r-xs)!important; font-weight:600!important; }
body[data-ms-fx] .mansin-planet-row .pl-one{ color:var(--t2)!important; font-size:13px!important; line-height:1.55!important; }

/* ── 사주 선택(캐릭터 카드) ── */
body[data-ms-fx][data-ms-theme="saju"] #root .grid.grid-cols-2.gap-3 > div > div.relative.w-full > div.relative.overflow-hidden{
  background:var(--s1)!important; border:0!important; border-radius:var(--r-md)!important; box-shadow:none!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
}
body[data-ms-fx][data-ms-theme="saju"] #root .grid.grid-cols-2.gap-3 div.relative.overflow-hidden > div.relative:first-child{ border:0!important; border-radius:var(--r-sm)!important; box-shadow:none!important; overflow:hidden!important; }
body[data-ms-fx][data-ms-theme="saju"] #root .grid.grid-cols-2.gap-3 div.relative.overflow-hidden > div.relative:first-child > img{ filter:none!important; }
body[data-ms-fx][data-ms-theme="saju"] #root .grid.grid-cols-2.gap-3 div.relative.overflow-hidden > div.relative:first-child > div.bottom-0.px-4 > div{ font:600 15px var(--serif)!important; color:var(--t1)!important; text-shadow:0 1px 8px rgba(0,0,0,.7)!important; }
body[data-ms-fx][data-ms-theme="saju"] #root .grid.grid-cols-2.gap-3 div.relative.flex-1 span.px-2{ background:var(--s2)!important; border:0!important; color:var(--t2)!important; border-radius:var(--r-xs)!important; font-weight:500!important; }
body[data-ms-fx][data-ms-theme="saju"] #root .grid.grid-cols-2.gap-3 div.relative.flex-1 span.px-2:first-child{ color:var(--gold)!important; background:var(--s3)!important; font-weight:600!important; }
body[data-ms-fx][data-ms-theme="saju"] #root .grid.grid-cols-2.gap-3 div.relative.flex-1 > button{ background:var(--s2)!important; border:0!important; border-radius:var(--r-sm)!important; color:var(--t1)!important; font:600 13px var(--sans)!important; box-shadow:none!important; }
body[data-ms-fx][data-ms-theme="saju"] #root .grid.grid-cols-2.gap-3 img{ border-radius:var(--r-sm); }

/* ── 타로 스프레드 등 전체화면 패널 ── */
body[data-ms-fx] #root div.absolute.inset-0.z-\[78\]{ background:var(--bg)!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
body[data-ms-fx] #root div.absolute.inset-0.z-\[78\] button{ border-radius:var(--r-md)!important; }

/* ── 팝업 ── */
body[data-ms-fx] :is(#mansin-entry-gate,#mansin-continue-gate,#mansin-kakao-login-prompt,#mansin-ad-reward-popup,#mansin-char-gate,#mansin-coin-paywall){ background:rgba(6,4,3,.72)!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
body[data-ms-fx] :is(#mansin-entry-gate,#mansin-continue-gate,#mansin-kakao-login-prompt,#mansin-ad-reward-popup,#mansin-char-gate,#mansin-coin-paywall) > div{
  background:var(--s1)!important; border:0!important; border-radius:var(--r-lg)!important; box-shadow:var(--sh-pop)!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
}
body[data-ms-fx] :is(#mansin-entry-gate,#mansin-continue-gate,#mansin-kakao-login-prompt,#mansin-ad-reward-popup,#mansin-char-gate,#mansin-coin-paywall) > div :is([style*="border"]){ border-color:transparent!important; }
body[data-ms-fx] :is(#mansin-entry-gate,#mansin-continue-gate,#mansin-kakao-login-prompt,#mansin-ad-reward-popup,#mansin-char-gate,#mansin-coin-paywall) > div button{ border-radius:var(--r-sm)!important; box-shadow:none!important; }

/* ── 무속(천귀덕·정판수) ── */
#gwideok-modal::before, #janpansu-modal::before{ filter:grayscale(.3) sepia(.2) brightness(.6); }
body[data-ms-fx] :is(#gwideok-modal,#janpansu-modal) *{ border-color:transparent!important; text-shadow:none!important; box-shadow:none!important; }
body[data-ms-fx] :is(#gwideok-modal,#janpansu-modal) img{ border-radius:var(--r-sm); }

/* ── 마감 손질 ── */
/* 대화 속 캐릭터 초상: 보라 빛 번짐 → 어두운 그림자만 */
body[data-ms-fx] #root img[style*="drop-shadow(rgba(139, 92, 246"]{ filter:drop-shadow(0 14px 28px rgba(0,0,0,.6))!important; border-radius:var(--r-md)!important; }
/* 머리말: 다이아 옆 '-12' 숨겨 이름 자리 확보 */
body[data-ms-fx] #root div.z-50 > button[aria-label="다이아 충전"] > span:nth-of-type(2){ display:none!important; }
body[data-ms-fx] #root div.flex.items-center.gap-3.px-4.z-50{ gap:10px!important; }
body[data-ms-fx] #root div.flex.items-center.gap-3.px-4.z-50 > div.flex-1.min-w-0 > div:first-child{ font-size:15px!important; }
/* 영문 이탤릭 제목(TAROT 등) → 명조 바로 세움 */
body[data-ms-fx] #root :is(div.absolute.inset-0.z-\[78\], div.relative.w-full.h-full.flex.flex-col.overflow-hidden) [style*="Cormorant"]{ font-family:var(--serif)!important; font-style:normal!important; letter-spacing:.12em!important; color:var(--t1)!important; }
/* 남은 보라 바탕(원국 강조 줄 등) */
body[data-ms-fx] #root :is(div.relative.w-full.h-full.flex.flex-col.overflow-hidden, div.absolute.inset-0.z-\[78\]) :is([style*="rgba(196, 181, 253"],[style*="rgba(192, 132, 252"],[style*="rgba(168, 85, 247"],[style*="rgba(109, 40, 217"],[style*="rgba(91, 33, 182"],[style*="rgb(45, 31, 79)"]):not(div.z-50 *):not(div.relative.px-3.py-3.z-10 *){ background:var(--s2)!important; }
/* 홈: 번들의 장식 층(보라 안개·보라 원광·반짝이 점·빛기둥) 전부 숨김 — 배경은 #ms-fx 가 그린다 */
body[data-ms-fx][data-ms-theme="home"] #root > div > div.absolute.inset-0.flex.flex-col.items-center > div.pointer-events-none{ display:none!important; }

/* ═══ v2 — 더 어둡게, '에거사(마녀)' 분위기: 먹빛 검정 + 촛불빛 금 · 메뉴는 아치형 타로 카드 ═══ */
:root{ --bg:#08070a; --s1:#121014; --s2:#1a171c; --s3:#242026; }
#ms-fx{ background:#060507!important; }
#ms-fx .bg{ filter:grayscale(.4) sepia(.18) saturate(.75) brightness(.42) contrast(1.1)!important; }
#ms-fx .tint{ background:linear-gradient(180deg,rgba(6,5,7,.62) 0%,rgba(6,5,7,.45) 35%,rgba(6,5,7,.92) 100%)!important; }
#ms-fx:is([data-bg="saju"],[data-bg="astro"],[data-bg="tarot"],[data-bg="dream"],[data-bg="other"]) .tint{ background:linear-gradient(180deg,rgba(6,5,7,.86) 0%,rgba(6,5,7,.80) 35%,rgba(6,5,7,.88) 70%,rgba(6,5,7,.97) 100%)!important; }
#ms-fx .vig{ background:radial-gradient(110% 80% at 50% 38%,transparent 42%,rgba(3,2,4,.92))!important; }
/* 촛불처럼 일렁이는 타이틀 뒤 빛 */
@keyframes msCandle{ 0%{opacity:.75} 18%{opacity:.95} 33%{opacity:.8} 52%{opacity:1} 70%{opacity:.82} 86%{opacity:.96} 100%{opacity:.78} }
#ms-fx .crest .halo{ inset:40px!important; background:radial-gradient(closest-side,rgba(240,190,110,.26),rgba(220,160,80,.08) 50%,transparent 76%)!important; animation:msCandle 3.6s ease-in-out infinite alternate!important; }

/* 홈 메뉴 — 아치형 타로 카드 + 금박 문장 */
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5{ gap:12px!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button{
  height:188px!important; max-height:none!important; min-height:188px!important; aspect-ratio:auto!important; border-radius:999px 999px var(--r-md) var(--r-md)!important; justify-content:flex-end!important; padding:0 0 18px!important;
  background:radial-gradient(70% 46% at 50% 34%,rgba(214,168,92,.16),transparent 72%),linear-gradient(180deg,#17141a,#0f0d11)!important;
  box-shadow:0 18px 36px rgba(0,0,0,.55)!important;
}
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button::before{
  position:absolute!important; left:50%!important; top:22px!important; width:96px!important; height:96px!important; margin:0 0 0 -48px!important;
  background-size:contain!important; background-position:center!important; background-repeat:no-repeat!important;
  filter:drop-shadow(0 0 14px rgba(220,170,90,.28))!important;
}
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(1)::before{ background-image:url('/icons/emb_saju.png')!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(2)::before{ background-image:url('/icons/emb_tarot.png')!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(3)::before{ background-image:url('/icons/emb_astro.png')!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(4)::before{ background-image:url('/icons/emb_dream.png')!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button > div:nth-child(5){ font:600 19px/1.2 var(--serif)!important; letter-spacing:.06em!important; color:#f3ead9!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button > div:nth-child(6){ font:500 11.5px/1.3 var(--sans)!important; color:var(--t2)!important; margin-top:6px!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:active{
  transform:translateY(1px) scale(.985)!important;
  background:radial-gradient(70% 46% at 50% 34%,rgba(232,186,104,.30),transparent 72%),linear-gradient(180deg,#1d1920,#121014)!important;
}
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:active::before{ filter:drop-shadow(0 0 22px rgba(240,190,110,.6))!important; }
body[data-ms-fx] #ms-today-strip, body[data-ms-fx] #mansin-ad-cta{ background:rgba(20,17,22,.94)!important; }

/* ═══ v3 — 홈 메뉴 슬라이드(가로로 넘기는 카드) ═══ */
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5{
  display:flex!important; flex-wrap:nowrap!important; overflow-x:auto!important; overflow-y:visible!important;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none;
  width:100%!important; max-width:none!important; gap:14px!important; padding:6px 13vw 10px!important; box-sizing:border-box!important;
}
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5::-webkit-scrollbar{ display:none; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button{
  flex:0 0 74vw!important; max-width:300px!important; height:min(54vh,420px)!important; min-height:340px!important; max-height:none!important;
  scroll-snap-align:center; scroll-snap-stop:always;
  border-radius:150px 150px 20px 20px!important; justify-content:flex-end!important; padding:0 18px 26px!important;
  background-color:#120f14!important; background-size:cover!important; background-position:center!important;
  box-shadow:0 24px 50px rgba(0,0,0,.6)!important;
  transform:scale(.9); opacity:.55; transition:transform .35s cubic-bezier(.2,.7,.2,1), opacity .35s ease!important;
}
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button[data-ms-on]{ transform:scale(1); opacity:1; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:active{ transform:scale(.98)!important; }
/* 카드 그림(신당 일러스트) — 아래쪽은 글자 읽히게 어둡게 */
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(1){ background-image:linear-gradient(180deg,rgba(8,7,10,0) 40%,rgba(8,7,10,.92) 88%),var(--card-saju,radial-gradient(60% 40% at 50% 38%,rgba(214,168,92,.18),transparent 70%))!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(2){ background-image:linear-gradient(180deg,rgba(8,7,10,0) 40%,rgba(8,7,10,.92) 88%),var(--card-tarot,radial-gradient(60% 40% at 50% 38%,rgba(214,168,92,.18),transparent 70%))!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(3){ background-image:linear-gradient(180deg,rgba(8,7,10,0) 40%,rgba(8,7,10,.92) 88%),var(--card-astro,radial-gradient(60% 40% at 50% 38%,rgba(214,168,92,.18),transparent 70%))!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(4){ background-image:linear-gradient(180deg,rgba(8,7,10,0) 40%,rgba(8,7,10,.92) 88%),var(--card-dream,radial-gradient(60% 40% at 50% 38%,rgba(214,168,92,.18),transparent 70%))!important; }
/* 그림이 없을 때만 금박 문장을 크게(그림이 들어오면 :root 변수로 숨김) */
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button::before{ top:56px!important; width:150px!important; height:150px!important; margin-left:-75px!important; opacity:var(--emb-op,1)!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button > div:nth-child(5){ font:600 28px/1.15 var(--serif)!important; letter-spacing:.08em!important; color:#f5ecdb!important; text-shadow:0 2px 16px rgba(0,0,0,.8)!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button > div:nth-child(6){ font:500 13px/1.4 var(--sans)!important; color:#c9bda9!important; margin-top:8px!important; text-shadow:0 1px 10px rgba(0,0,0,.8)!important; }
/* 슬라이드 위치 점 */
#ms-dots{ position:fixed; z-index:3; display:none; gap:8px; justify-content:center; pointer-events:none; }
#ms-dots i{ width:6px; height:6px; border-radius:6px; background:rgba(239,231,218,.25); transition:width .3s ease, background .3s ease; }
#ms-dots i.on{ width:20px; background:#c9a35f; }
/* 출석완료 카드 — 눌러서 오늘의 한 줄 다시 보기 */
button[data-ms-att-done]{ opacity:1!important; position:relative; }
button[data-ms-att-done] img{ opacity:.55!important; }
button[data-ms-att-done]::after{ content:'오늘의 한 줄 보기'; position:absolute; left:0; right:0; bottom:8px; text-align:center; font:600 10.5px Pretendard,sans-serif; color:#c9a35f; }

/* ═══ v4 — 영험한 신당(그래픽 일러스트, 매그니픽 무료) ═══ */
#ms-fx[data-bg="home"] .bg{ background-image:url('/icons/shrine_bg.jpg')!important; background-position:center top!important; filter:saturate(.9) brightness(.78) contrast(1.05)!important; }
#ms-fx[data-bg="home"] .tint{ background:linear-gradient(180deg,rgba(6,5,7,.35) 0%,rgba(6,5,7,.15) 30%,rgba(6,5,7,.55) 60%,rgba(6,5,7,.92) 100%)!important; }
:root{ --card-saju:url('/icons/card_saju.jpg'); }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(1)::before{ opacity:0!important; }
#ms-fx[data-bg="home"] .tint{ background:radial-gradient(70% 22% at 50% 13%,rgba(6,5,7,.82),rgba(6,5,7,.35) 70%,transparent),linear-gradient(180deg,rgba(6,5,7,.45) 0%,rgba(6,5,7,.15) 32%,rgba(6,5,7,.55) 60%,rgba(6,5,7,.92) 100%)!important; }
body[data-ms-fx][data-ms-theme="home"] div.text-center.flex-shrink-0 > div{ text-shadow:0 2px 14px rgba(0,0,0,.9)!important; }
body[data-ms-fx][data-ms-theme="home"] div.text-center.flex-shrink-0 > div:nth-child(1){ filter:drop-shadow(0 3px 14px rgba(0,0,0,.9))!important; }
:root{ --card-tarot:url('/icons/card_tarot.jpg'); }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(2)::before{ opacity:0!important; }
:root{ --card-astro:url('/icons/card_astro.jpg'); }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(3)::before{ opacity:0!important; }
:root{ --card-dream:url('/icons/card_dream.jpg'); }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button:nth-child(4)::before{ opacity:0!important; }
button[data-ms-att-done] > div > div:last-child{ display:none!important; }   /* '내일 다시' 자리에 '오늘의 한 줄 보기' */
button[data-ms-att-done]::after{ position:static!important; display:block; margin-top:3px; }

/* ═══ v5 — 더 어둡고 무겁게 + 모션(불티·카드 부유·카드 빛) ═══ */
#ms-fx .embers{ inset:0; pointer-events:none; }
#ms-fx .embers b{ position:absolute; bottom:-10px; border-radius:50%; background:#f1c97c; box-shadow:0 0 6px 2px rgba(241,190,110,.55); opacity:0; animation:msEmber linear infinite; will-change:transform,opacity; }
@keyframes msEmber{ 0%{ transform:translate3d(0,0,0); opacity:0; } 12%{ opacity:.9; } 70%{ opacity:.55; } 100%{ transform:translate3d(var(--dx,0),-92vh,0); opacity:0; } }
/* 다른 화면 배경도 더 어둡게 */
#ms-fx:not([data-bg="home"]) .bg{ filter:grayscale(.35) saturate(.7) brightness(.34) contrast(1.1)!important; }
/* 가운데 카드: 살짝 떠 있고, 뒤에서 금빛이 숨 쉬고, 가끔 빛이 훑고 지나감 */
@keyframes msCardFloat{ 0%,100%{ transform:translateY(0) scale(1); } 50%{ transform:translateY(-7px) scale(1); } }
@keyframes msCardGlow{ 0%,100%{ opacity:.45; } 50%{ opacity:.9; } }
@keyframes msCardSweep{ 0%,70%{ transform:translateX(-140%) skewX(-18deg); opacity:0; } 74%{ opacity:1; } 100%{ transform:translateX(260%) skewX(-18deg); opacity:0; } }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button[data-ms-on]{ animation:msCardFloat 5s ease-in-out infinite!important; box-shadow:0 30px 60px rgba(0,0,0,.7),0 0 46px rgba(214,168,92,.16)!important; }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button[data-ms-on]::after{
  content:''!important; display:block!important; position:absolute!important; top:0!important; bottom:0!important; left:0!important; width:45%!important; height:auto!important; margin:0!important;
  background:linear-gradient(90deg,transparent,rgba(255,232,180,.16),transparent)!important; opacity:0;
  animation:msCardSweep 6.5s ease-in-out infinite!important; pointer-events:none;
}
@media (prefers-reduced-motion:reduce){ #ms-fx .embers{ display:none; } body[data-ms-fx] .grid.max-w-md.flex-shrink-0.px-5 > button{ animation:none!important; } }
/* 홈 배경: 금선 신당 문 + 달(레퍼런스풍 다크 그래픽) */
#ms-fx[data-bg="home"] .bg{ background-image:url('/icons/gate_bg.jpg')!important; background-position:center top!important; filter:none!important; }
#ms-fx[data-bg="home"] .tint{ background:radial-gradient(60% 16% at 50% 14%,rgba(6,5,7,.6),rgba(6,5,7,.2) 70%,transparent),linear-gradient(180deg,rgba(6,5,7,.15) 0%,rgba(6,5,7,0) 30%,rgba(6,5,7,.5) 52%,rgba(6,5,7,.94) 66%,rgba(6,5,7,.97) 100%)!important; }
/* 금박 카드(레퍼런스풍) */
:root{ --card-saju:url('/icons/gcard_saju.jpg'); }
body[data-ms-fx][data-ms-theme="home"] .grid.max-w-md.flex-shrink-0.px-5 > button{ background-size:cover, cover!important; }
:root{ --card-tarot:url('/icons/gcard_tarot.jpg'); --card-astro:url('/icons/gcard_astro.jpg'); }
:root{ --card-dream:url('/icons/gcard_dream.jpg'); }
#ms-fx[data-bg="home"] .bg{ background-position:center 34px!important; }
