
.cw-tarot,
.cw-tarot * { box-sizing: border-box; }

.cw-tarot {
  --navy:#061c4e;
  --blue:#0d3f92;
  --blue2:#1557b7;
  --pink:#ff87be;
  --rose:#ff5f8f;
  --gold:#ffd594;
  --cream:#fff7ee;
  --glass:rgba(8,31,82,.72);
  --line:rgba(255,226,180,.55);
  position:relative;
  max-width:100%;
  width:100%;
  margin:0 auto;
  overflow:hidden;
  border-radius:34px;
  color:#fff;
  background:
    radial-gradient(circle at 10% 18%, rgba(255,132,191,.26), transparent 22%),
    radial-gradient(circle at 86% 18%, rgba(255,230,156,.18), transparent 18%),
    radial-gradient(circle at 78% 75%, rgba(131,173,255,.28), transparent 26%),
    radial-gradient(circle at 28% 78%, rgba(241,119,255,.16), transparent 24%),
    linear-gradient(150deg,#081b4a 0%,#173b94 42%,#53388e 72%,#1b2358 100%);
  box-shadow:0 28px 70px rgba(0,20,60,.28);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  isolation:isolate;
}

.cw-tarot::before,
.cw-tarot::after {
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  filter:blur(80px);
  opacity:.24;
  pointer-events:none;
  z-index:0;
}
.cw-tarot::before { background:#ff7eb8; right:-180px; top:170px; }
.cw-tarot::after  { background:#2d8cff; left:-220px; bottom:160px; }

.cw-tarot__sky {
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  overflow:hidden;
}
.cw-tarot__sky i {
  position:absolute;
  width:4px;
  height:4px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 0 10px #fff,0 0 20px #ffd4ea;
  animation:cwTwinkle 2.6s infinite ease-in-out alternate;
}
.cw-tarot__sky i:nth-child(1){left:8%;top:9%;animation-delay:.1s}
.cw-tarot__sky i:nth-child(2){left:23%;top:18%;animation-delay:.8s}
.cw-tarot__sky i:nth-child(3){left:73%;top:11%;animation-delay:1.4s}
.cw-tarot__sky i:nth-child(4){left:90%;top:24%;animation-delay:.4s}
.cw-tarot__sky i:nth-child(5){left:14%;top:47%;animation-delay:1.7s}
.cw-tarot__sky i:nth-child(6){left:84%;top:55%;animation-delay:.9s}
.cw-tarot__sky i:nth-child(7){left:32%;top:77%;animation-delay:1.2s}
.cw-tarot__sky i:nth-child(8){left:66%;top:89%;animation-delay:.2s}
@keyframes cwTwinkle { from{opacity:.3;transform:scale(.7)} to{opacity:1;transform:scale(1.7)} }

.cw-tarot__shell {
  position:relative;
  z-index:2;
  padding:52px 46px 42px;
}

.cw-tarot__hero { text-align:center; overflow-wrap:anywhere; }
.cw-tarot__brand {
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight:900;
  letter-spacing:.20em;
  font-size:20px;
  opacity:.98;
  color:#ffffff;
  text-shadow:
    0 2px 0 rgba(0,0,0,.28),
    0 0 16px rgba(255,255,255,.18);
}
.cw-tarot__eyebrow {
  margin:20px 0 8px;
  color:#ffffff;
  letter-spacing:.08em;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight:800;
  font-size:19px;
  text-shadow:
    -1px -1px 0 rgba(9,28,82,.95),
    1px -1px 0 rgba(9,28,82,.95),
    -1px 1px 0 rgba(9,28,82,.95),
    1px 1px 0 rgba(9,28,82,.95),
    0 0 14px rgba(255,255,255,.10);
}
.cw-tarot__hero h1 { margin:10px 0 8px; line-height:1.08; }
.cw-tarot__hero h1 span {
  display:block;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight:900;
  font-size:clamp(46px,8vw,78px);
  line-height:1.02;
  letter-spacing:.03em;
  background:linear-gradient(90deg,#ffffff 0%,#eef6ff 40%,#fff7bf 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:
    -2px -2px 0 rgba(12,33,92,.95),
    2px -2px 0 rgba(12,33,92,.95),
    -2px 2px 0 rgba(12,33,92,.95),
    2px 2px 0 rgba(12,33,92,.95),
    0 0 24px rgba(255,255,255,.18);
}
.cw-tarot__hero h1 strong {
  display:block;
  margin-top:6px;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight:900;
  font-size:clamp(60px,10vw,100px);
  line-height:1.02;
  letter-spacing:.02em;
  background:linear-gradient(90deg,#fff0f8 0%,#ff94d1 24%,#ffd56d 55%,#9dd9ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:
    -2px -2px 0 rgba(12,33,92,.98),
    2px -2px 0 rgba(12,33,92,.98),
    -2px 2px 0 rgba(12,33,92,.98),
    2px 2px 0 rgba(12,33,92,.98),
    0 0 38px rgba(255,182,219,.28);
}
.cw-tarot__lead {
  margin:22px auto 0;
  max-width:760px;
  font-size:22px;
  font-weight:800;
  line-height:1.8;
  color:#ffffff;
  text-shadow:
    -1px -1px 0 rgba(9,28,82,.9),
    1px -1px 0 rgba(9,28,82,.9),
    -1px 1px 0 rgba(9,28,82,.9),
    1px 1px 0 rgba(9,28,82,.9);
}
.cw-tarot__badges {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin:24px 0 0;
}
.cw-tarot__badges span {
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  padding:10px 16px;
  font-size:14px;
  font-weight:800;
  color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06));
  backdrop-filter:blur(8px);
  text-shadow:0 1px 4px rgba(0,0,0,.2);
}

.cw-tarot__intro {
  margin:42px auto 0;
  text-align:center;
  padding:34px 22px;
  border:1px solid rgba(255,222,171,.38);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
  box-shadow:inset 0 0 40px rgba(255,255,255,.03);
}
.cw-tarot__moon {
  margin:0 auto 12px;
  width:66px;height:66px;
  border:1px solid rgba(255,217,162,.7);
  border-radius:50%;
  display:grid;place-items:center;
  font-size:36px;
  color:#ffe1a6;
  box-shadow:0 0 30px rgba(255,211,134,.16);
}
.cw-tarot__intro p {
  margin:0 0 24px;
  line-height:1.9;
  font-size:19px;
  font-weight:700;
  color:#ffffff;
}
.cw-tarot__start {
  min-width:min(100%,420px);
  padding:19px 28px;
  border-radius:999px;
  color:#fff;
  font-size:17px;
  background:linear-gradient(100deg,#ffad2e 0%,#ff6e84 50%,#ff4f9f 100%);
  box-shadow:0 0 0 5px rgba(255,215,147,.18),0 12px 34px rgba(255,91,138,.32);
}
.cw-tarot__start:hover { transform:translateY(-2px) scale(1.01); box-shadow:0 0 0 7px rgba(255,215,147,.14),0 16px 40px rgba(255,91,138,.38); }

.cw-tarot__reading { margin-top:42px; }
.cw-tarot__choose-title {
  text-align:center;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight:900;
  letter-spacing:.04em;
  font-size:29px;
  color:#ffffff;
  margin-bottom:20px;
  text-shadow:
    -1px -1px 0 rgba(9,28,82,.9),
    1px -1px 0 rgba(9,28,82,.9),
    -1px 1px 0 rgba(9,28,82,.9),
    1px 1px 0 rgba(9,28,82,.9);
}

.cw-tarot__cards {
  display:flex;
  gap:16px;
  align-items:flex-start;
  justify-content:space-between;
  width:100%;
  overflow:hidden;
}
.cw-card {
  position:relative;
  border:0;
  background:transparent;
  padding:0;
  color:#fff;
  cursor:pointer;
  perspective:1200px;
  transition:.35s ease;
  min-width:0;
  flex:0 0 calc((100% - 32px)/3);
  width:calc((100% - 32px)/3);
  max-width:calc((100% - 32px)/3);
}
.cw-card:hover { transform:translateY(-8px); }
.cw-card__inner {
  display:block;
  position:relative;
  width:100%;
  aspect-ratio: .65;
  transform-style:preserve-3d;
  transition:transform .85s cubic-bezier(.2,.7,.15,1);
}
.cw-card.is-revealed .cw-card__inner { transform:rotateY(180deg); }

.cw-card__back,
.cw-card__front {
  position:absolute;
  inset:0;
  border-radius:22px;
  backface-visibility:hidden;
  overflow:hidden;
  border:2px solid rgba(255,218,160,.88);
  box-shadow:0 14px 35px rgba(0,0,0,.25),0 0 25px rgba(255,189,226,.12);
}
.cw-card__back {
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 45%,rgba(128,154,255,.25),transparent 34%),
    radial-gradient(circle at 30% 20%,rgba(255,108,182,.12),transparent 24%),
    linear-gradient(145deg,#081744,#123d86 55%,#0a1b4d);
}
.cw-card__frame {
  position:absolute;
  inset:10px;
  border:1px solid rgba(255,213,150,.58);
  border-radius:16px;
}
.cw-card__frame::before,
.cw-card__frame::after {
  content:"✦";
  position:absolute;
  color:#ffd799;
  font-size:16px;
}
.cw-card__frame::before{top:8px;left:10px}
.cw-card__frame::after{bottom:8px;right:10px}
.cw-card__orb {
  display:grid;
  place-items:center;
  width:88px;height:88px;
  border:1px solid rgba(255,221,168,.68);
  border-radius:50%;
  color:#ffe4a9;
  font-size:50px;
  box-shadow:0 0 34px rgba(116,165,255,.3),inset 0 0 28px rgba(255,255,255,.04);
}
.cw-card__stars {
  position:absolute;
  bottom:22%;
  color:#ffdca5;
  letter-spacing:.4em;
  font-size:14px;
}
.cw-card__front {
  transform:rotateY(180deg);
  background:#071a4d;
}
.cw-card__front svg { width:100%; height:100%; display:block; }
.cw-card__label {
  display:block;
  margin-top:13px;
  padding:9px 8px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight:800;
  font-size:14px;
  color:#fff;
  background:rgba(255,255,255,.08);
  white-space:nowrap;
}
.cw-card.is-muted { opacity:.28; transform:scale(.95); filter:blur(.2px); }

.cw-tarot__cards.is-shuffling .cw-card:nth-child(1){animation:cwShuffleA .95s ease-in-out}
.cw-tarot__cards.is-shuffling .cw-card:nth-child(2){animation:cwShuffleB .95s ease-in-out}
.cw-tarot__cards.is-shuffling .cw-card:nth-child(3){animation:cwShuffleC .95s ease-in-out}
@keyframes cwShuffleA{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(92%) rotate(8deg)}68%{transform:translateX(190%) rotate(-5deg)}}
@keyframes cwShuffleB{0%,100%{transform:translateY(0)}35%{transform:translateY(-18px) rotate(-7deg)}68%{transform:translateY(10px) rotate(6deg)}}
@keyframes cwShuffleC{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(-92%) rotate(-8deg)}68%{transform:translateX(-190%) rotate(5deg)}}

.cw-tarot__result {
  margin-top:46px;
  padding:30px;
  border:1px solid rgba(255,223,178,.5);
  border-radius:30px;
  background:
    linear-gradient(180deg,rgba(4,19,59,.74),rgba(6,31,79,.88));
  box-shadow:0 18px 60px rgba(0,0,0,.23),inset 0 0 60px rgba(75,128,255,.05);
  animation:cwRise .75s ease both;
}
@keyframes cwRise { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }

.cw-result__top {
  display:grid;
  grid-template-columns:minmax(190px,260px) 1fr;
  gap:34px;
  align-items:center;
}
.cw-result__card {
  border-radius:22px;
  overflow:hidden;
  border:2px solid rgba(255,218,160,.9);
  box-shadow:0 15px 36px rgba(0,0,0,.3);
}
.cw-result__card svg { width:100%; display:block; }
.cw-result__caption {
  color:#ffd8e9;
  font-size:12px;
  letter-spacing:.18em;
}
.cw-result__roman {
  margin-top:12px;
  color:#ffd99a;
  font-family:Georgia,serif;
  letter-spacing:.18em;
}
.cw-result__name {
  margin:3px 0 0;
  font-size:clamp(34px,6vw,58px);
  font-family:Georgia,"Yu Mincho",serif;
  line-height:1.1;
}
.cw-result__en {
  margin-top:7px;
  color:#ffd8ea;
  letter-spacing:.22em;
  font-family:Georgia,serif;
  font-size:13px;
}
.cw-result__theme {
  margin:13px 0 20px;
  font-size:18px;
  color:#fff1db;
}
.cw-result__ratings {
  border-top:1px solid rgba(255,255,255,.14);
  padding-top:16px;
}
.cw-result__ratings div {
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:7px 0;
  font-size:14px;
}
.cw-result__ratings b { color:#ffd7a0; letter-spacing:.08em; }

.cw-result__message {
  margin:26px 0 0;
  padding:22px 24px;
  border-radius:20px;
  background:linear-gradient(120deg,rgba(255,124,181,.11),rgba(73,137,255,.12));
  border:1px solid rgba(255,255,255,.13);
}
.cw-result__message-title {
  color:#ffb9d5;
  font-weight:800;
  margin-bottom:8px;
}
.cw-result__message p { margin:0; line-height:1.9; font-size:15px; }

.cw-result__grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:18px;
}
.cw-result__grid article {
  min-height:102px;
  padding:18px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(255,255,255,.045);
  display:grid;
  grid-template-columns:30px 1fr;
  column-gap:10px;
}
.cw-result__icon {
  grid-row:1/3;
  color:#ff9bc7;
  font-size:22px;
}
.cw-result__grid small { opacity:.72; font-size:11px; }
.cw-result__grid strong { margin-top:6px; font-size:14px; line-height:1.55; }

.cw-advice-title {
  margin:34px 0 15px;
  text-align:center;
  font-family:Georgia,"Yu Mincho",serif;
  font-size:20px;
  color:#ffe6bc;
}
.cw-advice {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.cw-advice article {
  display:flex;
  gap:12px;
  padding:18px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:18px;
  background:rgba(255,255,255,.04);
}
.cw-advice article > span {
  flex:0 0 36px;
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,154,203,.55);
  color:#ffafd0;
  font-size:11px;
}
.cw-advice small {
  color:#ffbfd8;
  font-weight:800;
}
.cw-advice p {
  margin:6px 0 0;
  line-height:1.65;
  font-size:13px;
}

.cw-result__actions {
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:14px;
  margin-top:26px;
}
.cw-share,
.cw-event {
  min-height:58px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 20px;
  color:#fff !important;
  font-size:15px;
}
.cw-share {
  background:linear-gradient(120deg,#1669c8,#2d8bf3);
  box-shadow:0 9px 24px rgba(28,112,214,.28);
}
.cw-event {
  background:linear-gradient(100deg,#ffab31,#ff6c88 50%,#ff509e);
  box-shadow:0 9px 28px rgba(255,82,146,.28);
}
.cw-share:hover,.cw-event:hover { transform:translateY(-2px); filter:brightness(1.06); }

.cw-return {
  margin-top:28px;
  text-align:center;
  padding:24px 18px;
  border-top:1px solid rgba(255,255,255,.12);
}
.cw-return__spark { color:#ffd394;font-size:26px;margin-bottom:7px }
.cw-return strong { font-family:Georgia,"Yu Mincho",serif; font-size:17px; }
.cw-return p { margin:6px 0 0; opacity:.66; font-size:12px; }

.cw-tarot__footer {
  text-align:center;
  padding-top:34px;
}
.cw-tarot__footer span {
  font-family:Georgia,serif;
  font-style:italic;
  letter-spacing:.18em;
  color:#ffd7e8;
}
.cw-tarot__footer p {
  margin:12px auto 0;
  max-width:660px;
  font-size:10px;
  line-height:1.7;
  opacity:.48;
}

@media (max-width:720px) {
  .cw-tarot {
    border-radius:0;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow-x:hidden;
  }
  .cw-tarot__shell { padding:22px 6px 24px; }
  .cw-tarot__brand { font-size:14px; letter-spacing:.14em; }
  .cw-tarot__eyebrow { font-size:14px; margin-top:14px; }
  .cw-tarot__hero h1 { margin:8px 0 6px; }
  .cw-tarot__hero h1 span { font-size:clamp(34px,11vw,48px); }
  .cw-tarot__hero h1 strong { font-size:clamp(42px,13vw,60px); line-height:1.08; }
  .cw-tarot__lead { font-size:16px; line-height:1.68; }
  .cw-tarot__badges { gap:8px; }
  .cw-tarot__badges span { padding:8px 10px; font-size:12px; }
  .cw-tarot__intro { margin-top:22px; padding:20px 10px; }
  .cw-tarot__intro p { font-size:15px; line-height:1.7; }
  .cw-tarot__start { min-width:100%; font-size:16px; padding:16px 16px; }
  .cw-tarot__choose-title { font-size:17px; margin-bottom:14px; }
  .cw-tarot__cards { gap:4px; }
  .cw-card {
    flex:0 0 calc((100% - 8px)/3);
    width:calc((100% - 8px)/3);
    max-width:calc((100% - 8px)/3);
    min-width:calc((100% - 8px)/3);
  }
  .cw-card__inner { aspect-ratio:.48; }
  .cw-card__back,.cw-card__front { border-radius:10px; }
  .cw-card__frame { inset:4px; border-radius:7px; }
  .cw-card__frame::before,.cw-card__frame::after { font-size:10px; }
  .cw-card__orb { width:28px; height:28px; font-size:16px; }
  .cw-card__stars { bottom:15%; font-size:8px; letter-spacing:.08em; }
  .cw-card__label {
    font-size:8px;
    padding:4px 1px;
    margin-top:5px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .cw-tarot__result { padding:18px 10px; border-radius:22px; }
  .cw-result__top { grid-template-columns:92px 1fr; gap:10px; align-items:start; }
  .cw-result__caption { font-size:10px; }
  .cw-result__roman { font-size:12px; margin-top:6px; }
  .cw-result__name { font-size:26px; }
  .cw-result__en { font-size:11px; letter-spacing:.12em; }
  .cw-result__theme { font-size:15px; margin-bottom:12px; }
  .cw-result__ratings div { display:block; font-size:14px; }
  .cw-result__ratings b { display:block; margin-top:4px; font-size:16px; }
  .cw-result__message { padding:16px; }
  .cw-result__message p { font-size:14px; }
  .cw-result__grid { grid-template-columns:1fr; }
  .cw-result__grid strong { font-size:15px; }
  .cw-advice { grid-template-columns:1fr; }
  .cw-advice p { font-size:14px; }
  .cw-result__actions { grid-template-columns:1fr; }
  .cw-share,.cw-event { min-height:54px; font-size:15px; }
  .cw-recommend__title { font-size:20px; }
  .cw-recommend__lead { font-size:14px; }
  .cw-recommend__grid { grid-template-columns:1fr; }
}

@media (max-width:460px) {
  .cw-tarot__shell { padding:20px 4px 20px; }
  .cw-tarot__hero h1 span { font-size:32px; }
  .cw-tarot__hero h1 strong { font-size:40px; }
  .cw-tarot__lead { font-size:15px; }
  .cw-tarot__cards { gap:3px; }
  .cw-card {
    flex:0 0 calc((100% - 6px)/3);
    width:calc((100% - 6px)/3);
    max-width:calc((100% - 6px)/3);
    min-width:calc((100% - 6px)/3);
  }
  .cw-card__inner { aspect-ratio:.46; }
  .cw-card__label { font-size:7px; }
}
  .cw-tarot__hero h1 span {
  display:block;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight:900;
  font-size:clamp(46px,8vw,78px);
  line-height:1.02;
  letter-spacing:.03em;
  background:linear-gradient(90deg,#ffffff 0%,#eef6ff 40%,#fff7bf 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:
    -2px -2px 0 rgba(12,33,92,.95),
    2px -2px 0 rgba(12,33,92,.95),
    -2px 2px 0 rgba(12,33,92,.95),
    2px 2px 0 rgba(12,33,92,.95),
    0 0 24px rgba(255,255,255,.18);
}


.cw-tarot__shell::before,
.cw-tarot__shell::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
  opacity:.16;
}
.cw-tarot__shell::before{
  right:-90px;
  top:40px;
  width:260px;
  height:260px;
  border-radius:50%;
  border:1px solid rgba(255,226,175,.55);
  box-shadow:
    0 0 0 24px rgba(255,226,175,.08),
    0 0 0 48px rgba(255,226,175,.04);
}
.cw-tarot__shell::after{
  left:-40px;
  bottom:170px;
  width:180px;
  height:180px;
  border-radius:50%;
  border:1px solid rgba(255,184,226,.38);
  box-shadow:
    0 0 0 16px rgba(255,184,226,.06),
    0 0 0 36px rgba(255,184,226,.03);
}


.cw-recommend{
  margin-top:28px;
  padding:24px 18px 6px;
  border-top:1px solid rgba(255,255,255,.12);
}
.cw-recommend__title{
  margin:0;
  text-align:center;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-size:24px;
  font-weight:900;
  color:#fff;
  text-shadow:
    -1px -1px 0 rgba(9,28,82,.9),
    1px -1px 0 rgba(9,28,82,.9),
    -1px 1px 0 rgba(9,28,82,.9),
    1px 1px 0 rgba(9,28,82,.9);
}
.cw-recommend__lead{
  margin:10px auto 18px;
  text-align:center;
  color:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1.7;
}
.cw-recommend__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.cw-event-card{
  padding:18px 16px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));
  box-shadow:inset 0 0 32px rgba(255,255,255,.03);
}
.cw-event-card__tag{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:linear-gradient(90deg,#ff9fd1,#ffd48b);
  color:#11285d;
  font-weight:900;
  font-size:11px;
}
.cw-event-card h4{
  margin:12px 0 8px;
  font-size:18px;
  line-height:1.5;
  color:#fff;
}
.cw-event-card p{
  margin:0 0 16px;
  font-size:14px;
  line-height:1.7;
  color:#fff;
}
.cw-event-card__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 14px;
  border-radius:999px;
  text-decoration:none !important;
  color:#fff !important;
  font-size:14px;
  font-weight:900;
  background:linear-gradient(100deg,#ffab31,#ff6c88 50%,#ff509e);
  box-shadow:0 9px 28px rgba(255,82,146,.22);
}


/* ===== v1.0.4 VISIBILITY + MOBILE CARD FIX ===== */

.cw-tarot .cw-tarot__title,
.cw-tarot .cw-tarot__title * {
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif !important;
  font-style:normal !important;
  font-weight:900 !important;
}

.cw-tarot .cw-tarot__title {
  position:relative;
  overflow:visible !important;
  margin:12px 0 12px !important;
  line-height:1.02 !important;
}

.cw-tarot .cw-title-today {
  display:block !important;
  margin-bottom:8px !important;
  font-size:clamp(44px,8vw,76px) !important;
  letter-spacing:.03em !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:
    0 3px 0 rgba(7,25,77,.95),
    0 0 12px rgba(255,255,255,.55),
    0 0 28px rgba(116,186,255,.45) !important;
}
.cw-tarot .cw-title-today b {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.cw-tarot .cw-title-today i {
  color:#9fe7ff !important;
  -webkit-text-fill-color:#9fe7ff !important;
}

.cw-tarot .cw-tarot__title strong {
  display:block !important;
  position:relative !important;
  font-size:clamp(60px,10vw,98px) !important;
  line-height:1.03 !important;
  letter-spacing:.01em !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:currentColor !important;
  filter:none !important;
}
.cw-tarot .cw-title-pink,
.cw-tarot .cw-title-gold {
  display:inline-block !important;
  position:relative !important;
  -webkit-text-fill-color:currentColor !important;
  text-shadow:
    0 3px 0 rgba(7,25,77,.95),
    0 0 10px currentColor,
    0 0 24px rgba(255,255,255,.30) !important;
}
.cw-tarot .cw-title-pink {
  color:#ff9fd2 !important;
}
.cw-tarot .cw-title-gold {
  color:#ffd57c !important;
  margin-left:.12em !important;
}
.cw-tarot .cw-tarot__title strong::before,
.cw-tarot .cw-tarot__title strong::after {
  position:absolute;
  z-index:2;
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
  font-size:.34em;
  line-height:1;
  text-shadow:
    0 0 7px #fff,
    0 0 16px #ffd2ec,
    0 0 24px #8fdcff;
  animation:cwTitleSparkle 1.8s ease-in-out infinite alternate;
}
.cw-tarot .cw-tarot__title strong::before {
  content:"✦";
  left:4%;
  top:-6%;
}
.cw-tarot .cw-tarot__title strong::after {
  content:"✧";
  right:4%;
  top:14%;
  animation-delay:.7s;
}
@keyframes cwTitleSparkle {
  from { opacity:.45; transform:scale(.78) rotate(0deg); }
  to   { opacity:1; transform:scale(1.22) rotate(12deg); }
}

/* Force all explanatory copy to true white so WordPress/theme styles cannot darken it */
.cw-tarot .cw-tarot__eyebrow,
.cw-tarot .cw-tarot__lead,
.cw-tarot .cw-tarot__intro p,
.cw-tarot .cw-tarot__choose-title,
.cw-tarot .cw-tarot__badges span,
.cw-tarot .cw-recommend__lead,
.cw-tarot .cw-event-card h4,
.cw-tarot .cw-event-card p,
.cw-tarot .cw-result__message,
.cw-tarot .cw-result__message p,
.cw-tarot .cw-result__grid,
.cw-tarot .cw-advice,
.cw-tarot .cw-return,
.cw-tarot .cw-tarot__footer {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}
.cw-tarot .cw-tarot__lead {
  font-size:22px !important;
  font-weight:900 !important;
}
.cw-tarot .cw-tarot__intro p {
  font-size:19px !important;
  font-weight:800 !important;
}
.cw-tarot .cw-tarot__choose-title {
  font-size:26px !important;
  font-weight:900 !important;
}

/* The card-picking area is always visible */
.cw-tarot .cw-tarot__reading {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
.cw-tarot .cw-tarot__reading[hidden] {
  display:block !important;
}

/* Strong 3-column lock: no theme, flex, min-width, or image rule may expand a card */
.cw-tarot .cw-tarot__cards {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
  align-items:start !important;
}
.cw-tarot .cw-card {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex:none !important;
  margin:0 !important;
  padding:0 !important;
  transform:none;
  overflow:visible !important;
  touch-action:manipulation;
}
.cw-tarot .cw-card__inner {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  aspect-ratio: .62 !important;
}
.cw-tarot .cw-card__back,
.cw-tarot .cw-card__front {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.cw-tarot .cw-card__front svg,
.cw-tarot .cw-result__card svg {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
}
.cw-tarot .cw-card__label {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-weight:900 !important;
}

/* Shuffle remains on-screen instead of flying cards outside the viewport */
.cw-tarot .cw-tarot__cards.is-shuffling .cw-card:nth-child(1) {
  animation:cwSafeShuffleA .65s ease-in-out !important;
}
.cw-tarot .cw-tarot__cards.is-shuffling .cw-card:nth-child(2) {
  animation:cwSafeShuffleB .65s ease-in-out !important;
}
.cw-tarot .cw-tarot__cards.is-shuffling .cw-card:nth-child(3) {
  animation:cwSafeShuffleC .65s ease-in-out !important;
}
@keyframes cwSafeShuffleA {
  0%,100% { transform:translateY(0) rotate(0deg); }
  50% { transform:translateY(-8px) rotate(-3deg); }
}
@keyframes cwSafeShuffleB {
  0%,100% { transform:translateY(0) rotate(0deg); }
  50% { transform:translateY(7px) rotate(2deg); }
}
@keyframes cwSafeShuffleC {
  0%,100% { transform:translateY(0) rotate(0deg); }
  50% { transform:translateY(-6px) rotate(3deg); }
}

/* Result headline appears only after a card is selected */
.cw-tarot .cw-fortune-heading {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0 0 24px;
  text-align:center;
}
.cw-tarot .cw-fortune-heading h2 {
  margin:0 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif !important;
  font-size:34px !important;
  font-weight:900 !important;
  text-shadow:
    0 2px 0 rgba(7,25,77,.95),
    0 0 15px rgba(255,255,255,.35) !important;
}
.cw-tarot .cw-fortune-heading span {
  color:#ffd77f !important;
  -webkit-text-fill-color:#ffd77f !important;
  font-size:22px !important;
  text-shadow:0 0 10px #ffd77f !important;
}

/* Extra astrology sparkle background */
.cw-tarot .cw-tarot__sky::before,
.cw-tarot .cw-tarot__sky::after {
  content:"✦  ·  ✧  ·  ✦  ·  ☾  ·  ✧  ·  ✦";
  position:absolute;
  white-space:nowrap;
  color:rgba(255,255,255,.25);
  font-size:24px;
  letter-spacing:.7em;
  transform:rotate(-14deg);
}
.cw-tarot .cw-tarot__sky::before {
  left:-60px;
  top:28%;
}
.cw-tarot .cw-tarot__sky::after {
  right:-120px;
  top:58%;
  transform:rotate(17deg);
  color:rgba(255,218,156,.22);
}

/* Recommended events are prominent and readable */
.cw-tarot .cw-recommend {
  margin-top:30px !important;
  padding-top:28px !important;
}
.cw-tarot .cw-recommend__title {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:26px !important;
  font-weight:900 !important;
}
.cw-tarot .cw-event-card__btn {
  font-size:15px !important;
  font-weight:900 !important;
}

@media (max-width:720px) {
  .cw-tarot .cw-tarot__shell {
    padding-left:10px !important;
    padding-right:10px !important;
  }
  .cw-tarot .cw-title-today {
    font-size:36px !important;
  }
  .cw-tarot .cw-tarot__title strong {
    font-size:44px !important;
  }
  .cw-tarot .cw-tarot__lead {
    font-size:16px !important;
    line-height:1.7 !important;
  }
  .cw-tarot .cw-tarot__intro p {
    font-size:15px !important;
    line-height:1.7 !important;
  }
  .cw-tarot .cw-tarot__choose-title {
    font-size:17px !important;
    line-height:1.45 !important;
    margin-bottom:14px !important;
  }
  .cw-tarot .cw-tarot__cards {
    gap:5px !important;
  }
  .cw-tarot .cw-card__inner {
    aspect-ratio:.56 !important;
  }
  .cw-tarot .cw-card__orb {
    width:30px !important;
    height:30px !important;
    font-size:17px !important;
  }
  .cw-tarot .cw-card__stars {
    font-size:8px !important;
    letter-spacing:.08em !important;
  }
  .cw-tarot .cw-card__label {
    margin-top:6px !important;
    padding:5px 1px !important;
    font-size:9px !important;
    white-space:nowrap !important;
  }
  .cw-tarot .cw-fortune-heading h2 {
    font-size:25px !important;
  }
  .cw-tarot .cw-recommend__title {
    font-size:21px !important;
  }
}

@media (max-width:390px) {
  .cw-tarot .cw-tarot__shell {
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .cw-tarot .cw-tarot__cards {
    gap:3px !important;
  }
  .cw-tarot .cw-title-today {
    font-size:32px !important;
  }
  .cw-tarot .cw-tarot__title strong {
    font-size:39px !important;
  }
  .cw-tarot .cw-card__label {
    font-size:8px !important;
  }
}


/* ===== v1.1.0 Mystic Tarot Theme ===== */
.cw-tarot {
  background:
    radial-gradient(circle at 14% 18%, rgba(196,126,255,.18), transparent 22%),
    radial-gradient(circle at 84% 14%, rgba(255,223,139,.13), transparent 18%),
    radial-gradient(circle at 80% 70%, rgba(120,178,255,.18), transparent 24%),
    radial-gradient(circle at 24% 78%, rgba(255,155,214,.12), transparent 24%),
    linear-gradient(160deg,#08133f 0%,#182765 32%,#35265d 62%,#171d4c 100%) !important;
}
.cw-tarot .cw-tarot__brand,
.cw-tarot .cw-tarot__eyebrow,
.cw-tarot .cw-fortune-heading h2,
.cw-tarot .cw-recommend__title {
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
  letter-spacing:.06em !important;
}
.cw-tarot .cw-tarot__title,
.cw-tarot .cw-tarot__title * {
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
  font-weight:700 !important;
}
.cw-tarot .cw-title-today {
  color:#f8f5ef !important;
  -webkit-text-fill-color:#f8f5ef !important;
  text-shadow:
    0 2px 0 rgba(7,25,77,.96),
    0 0 16px rgba(255,255,255,.34),
    0 0 34px rgba(170,215,255,.18) !important;
}
.cw-tarot .cw-title-today i {
  color:#d5d0ff !important;
  -webkit-text-fill-color:#d5d0ff !important;
  text-shadow:
    0 2px 0 rgba(7,25,77,.96),
    0 0 16px rgba(213,208,255,.45) !important;
}
.cw-tarot .cw-title-pink {
  color:#d9c6ff !important;
  -webkit-text-fill-color:#d9c6ff !important;
  text-shadow:
    0 2px 0 rgba(11,24,74,.98),
    0 0 10px rgba(217,198,255,.55),
    0 0 24px rgba(217,198,255,.22) !important;
}
.cw-tarot .cw-title-gold {
  color:#e7d0a1 !important;
  -webkit-text-fill-color:#e7d0a1 !important;
  text-shadow:
    0 2px 0 rgba(11,24,74,.98),
    0 0 10px rgba(231,208,161,.55),
    0 0 24px rgba(231,208,161,.22) !important;
}
.cw-tarot .cw-tarot__title strong::before,
.cw-tarot .cw-tarot__title strong::after {
  color:#f8f4ea !important;
  -webkit-text-fill-color:#f8f4ea !important;
  text-shadow:
    0 0 7px rgba(255,255,255,.9),
    0 0 16px rgba(230,210,160,.55),
    0 0 24px rgba(213,208,255,.35) !important;
}
.cw-tarot .cw-card__back {
  background:
    radial-gradient(circle at 50% 38%, rgba(215,197,255,.18), transparent 32%),
    radial-gradient(circle at 50% 78%, rgba(231,208,161,.10), transparent 26%),
    linear-gradient(145deg,#0f1847,#1f2765 58%,#131a4a) !important;
  border-color:rgba(235,210,163,.95) !important;
  box-shadow:
    0 14px 35px rgba(0,0,0,.28),
    0 0 28px rgba(219,198,255,.10),
    inset 0 0 38px rgba(255,255,255,.03) !important;
}
.cw-tarot .cw-card__frame {
  border-color:rgba(235,210,163,.72) !important;
}
.cw-tarot .cw-card__orb {
  color:#ead9ac !important;
  border-color:rgba(235,210,163,.78) !important;
  box-shadow:
    0 0 28px rgba(213,208,255,.18),
    inset 0 0 24px rgba(255,255,255,.04) !important;
}
.cw-tarot .cw-card__stars {
  color:#d7c5ff !important;
}
.cw-tarot .cw-result__theme {
  color:#efe1bf !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
}
.cw-tarot .cw-result__name {
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
}
.cw-tarot .cw-result__en {
  color:#d8c9ff !important;
}
.cw-tarot .cw-recommend__title {
  color:#efe1bf !important;
  -webkit-text-fill-color:#efe1bf !important;
}


/* ===== v1.2.0 premium mystic refinements ===== */
.cw-tarot {
  background:
    radial-gradient(circle at 16% 16%, rgba(203,175,255,.18), transparent 24%),
    radial-gradient(circle at 82% 14%, rgba(255,224,145,.14), transparent 18%),
    radial-gradient(circle at 85% 70%, rgba(111,167,255,.16), transparent 24%),
    radial-gradient(circle at 24% 78%, rgba(226,153,255,.11), transparent 24%),
    linear-gradient(160deg,#09133c 0%,#162560 26%,#2a295f 58%,#161c49 100%) !important;
}

.cw-tarot::before {
  width:580px !important;
  height:580px !important;
  right:-160px !important;
  top:-60px !important;
  background: radial-gradient(circle, rgba(255,224,171,.20) 0%, rgba(214,190,255,.12) 36%, rgba(255,255,255,0) 74%) !important;
}
.cw-tarot::after {
  width:760px !important;
  height:760px !important;
  left:-300px !important;
  bottom:-260px !important;
  background: radial-gradient(circle, rgba(140,176,255,.22) 0%, rgba(206,155,255,.14) 40%, rgba(255,255,255,0) 76%) !important;
}

.cw-tarot .cw-tarot__shell::before {
  right:-70px !important;
  top:36px !important;
  width:300px !important;
  height:300px !important;
  border-color:rgba(239,220,172,.45) !important;
  box-shadow:
    0 0 0 28px rgba(239,220,172,.06),
    0 0 0 56px rgba(239,220,172,.03) !important;
}

.cw-tarot .cw-tarot__hero {
  position:relative;
}
.cw-tarot .cw-tarot__hero::before,
.cw-tarot .cw-tarot__hero::after {
  position:absolute;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  color:rgba(247,221,176,.55);
  pointer-events:none;
  z-index:0;
}
.cw-tarot .cw-tarot__hero::before {
  content:"☾";
  right:12%;
  top:10%;
  font-size:88px;
  text-shadow:0 0 22px rgba(247,221,176,.20);
}
.cw-tarot .cw-tarot__hero::after {
  content:"✦  ✧  ✦";
  left:9%;
  top:34%;
  font-size:24px;
  letter-spacing:.55em;
  color:rgba(221,210,255,.62);
}

.cw-tarot .cw-tarot__brand {
  color:#f1e7cf !important;
  letter-spacing:.18em !important;
}
.cw-tarot .cw-tarot__eyebrow {
  color:#efe7d8 !important;
  font-size:20px !important;
  text-shadow:
    0 1px 0 rgba(11,24,74,.98),
    0 0 10px rgba(255,255,255,.12) !important;
}
.cw-tarot .cw-title-today {
  color:#f5f1e8 !important;
  -webkit-text-fill-color:#f5f1e8 !important;
  text-shadow:
    0 2px 0 rgba(10,24,74,.98),
    0 0 12px rgba(255,255,255,.32),
    0 0 24px rgba(162,173,255,.18) !important;
}
.cw-tarot .cw-title-today i {
  color:#d9d2ff !important;
  -webkit-text-fill-color:#d9d2ff !important;
}
.cw-tarot .cw-title-pink {
  color:#d7ccff !important;
  -webkit-text-fill-color:#d7ccff !important;
}
.cw-tarot .cw-title-gold {
  color:#e7d2a0 !important;
  -webkit-text-fill-color:#e7d2a0 !important;
}
.cw-tarot .cw-tarot__lead,
.cw-tarot .cw-tarot__intro p,
.cw-tarot .cw-tarot__choose-title {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

.cw-tarot .cw-card__front,
.cw-tarot .cw-result__card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)),
    linear-gradient(160deg,#111a4a 0%, #1f2d69 52%, #161d4b 100%) !important;
}

.cw-tarot .cw-result__card {
  border:2px solid rgba(241,220,175,.92) !important;
  border-radius:24px !important;
  box-shadow:
    0 18px 40px rgba(0,0,0,.34),
    0 0 26px rgba(221,200,255,.10) !important;
}

.cw-tarot .cw-result__roman {
  color:#d9c8ff !important;
  -webkit-text-fill-color:#d9c8ff !important;
  font-size:16px !important;
}
.cw-tarot .cw-result__name {
  color:#f5e8bf !important;
  -webkit-text-fill-color:#f5e8bf !important;
  font-size:clamp(40px,6vw,66px) !important;
  line-height:1.08 !important;
  text-shadow:
    0 2px 0 rgba(11,24,74,.98),
    0 0 10px rgba(255,243,211,.18) !important;
}
.cw-tarot .cw-result__en {
  color:#d7cbff !important;
  -webkit-text-fill-color:#d7cbff !important;
  font-size:14px !important;
}
.cw-tarot .cw-result__theme {
  color:#efe1be !important;
  -webkit-text-fill-color:#efe1be !important;
  font-size:20px !important;
}
.cw-tarot .cw-result__summary,
.cw-tarot .cw-result__summary * {
  color:#ffffff !important;
}
.cw-tarot .cw-result__message-title,
.cw-tarot .cw-advice small,
.cw-tarot .cw-result__grid small {
  color:#f0d7ff !important;
  -webkit-text-fill-color:#f0d7ff !important;
}

.cw-tarot .cw-recommend__grid {
  margin-bottom:8px !important;
}
.cw-tarot .cw-return {
  padding-bottom:6px !important;
}
.cw-tarot .cw-tarot__footer,
.cw-tarot .cw-tarot__footer * {
  display:none !important;
}

@media (max-width: 720px) {
  .cw-tarot .cw-tarot__hero::before { font-size:64px !important; right:6% !important; top:8% !important; }
  .cw-tarot .cw-tarot__hero::after { left:3% !important; top:30% !important; font-size:18px !important; }
  .cw-tarot .cw-tarot__eyebrow { font-size:16px !important; }
  .cw-tarot .cw-result__name { font-size:30px !important; }
  .cw-tarot .cw-result__theme { font-size:16px !important; }
}


/* ===== v1.2.1 mobile full-screen + richer card styling ===== */

/* Make the tarot section use the full phone width cleanly */
@media (max-width: 820px){
  .cw-tarot{
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    left:auto !important;
    right:auto !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }
  .cw-tarot .cw-tarot__shell{
    width:100% !important;
    max-width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
  }
}

/* Slightly richer hero */
.cw-tarot .cw-tarot__hero::before{
  content:"☾" !important;
}
.cw-tarot .cw-tarot__hero::after{
  content:"✦   ✧   ✦" !important;
}

/* Stronger mystical card backs */
.cw-tarot .cw-card__back{
  position:relative !important;
  background:
    radial-gradient(circle at 50% 28%, rgba(244,223,177,.16), transparent 18%),
    radial-gradient(circle at 50% 62%, rgba(214,201,255,.14), transparent 28%),
    radial-gradient(circle at 24% 18%, rgba(255,255,255,.10), transparent 10%),
    radial-gradient(circle at 78% 22%, rgba(255,255,255,.08), transparent 12%),
    linear-gradient(160deg,#0d1646 0%,#1d2867 42%,#2c295b 76%,#161c49 100%) !important;
  border:2px solid rgba(236,218,173,.95) !important;
  box-shadow:
    0 16px 36px rgba(0,0,0,.30),
    0 0 26px rgba(211,193,255,.16),
    inset 0 0 46px rgba(255,255,255,.03) !important;
}
.cw-tarot .cw-card__frame{
  inset:8px !important;
  border-radius:15px !important;
  border:1px solid rgba(238,222,185,.72) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05) !important;
}
.cw-tarot .cw-card__frame::before,
.cw-tarot .cw-card__frame::after{
  color:#f0ddb0 !important;
  font-size:14px !important;
}
.cw-tarot .cw-card__back::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.05);
  pointer-events:none;
}
.cw-tarot .cw-card__back::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:72%;
  height:72%;
  border-radius:50%;
  border:1px solid rgba(238,222,185,.18);
  box-shadow:
    0 0 0 18px rgba(238,222,185,.05),
    0 0 0 36px rgba(215,198,255,.03);
  pointer-events:none;
}
.cw-tarot .cw-card__orb{
  position:relative;
  z-index:2;
  width:82px !important;
  height:82px !important;
  font-size:46px !important;
  color:#ecdcae !important;
  border:1px solid rgba(236,220,173,.82) !important;
  background:radial-gradient(circle at 50% 40%, rgba(255,255,255,.08), rgba(255,255,255,0)) !important;
  box-shadow:
    0 0 28px rgba(212,197,255,.18),
    inset 0 0 26px rgba(255,255,255,.04) !important;
}
.cw-tarot .cw-card__glyph{
  position:absolute;
  left:50%;
  top:58%;
  transform:translateX(-50%);
  z-index:2;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:34px;
  color:rgba(244,233,206,.86);
  text-shadow:
    0 0 10px rgba(255,255,255,.18),
    0 0 18px rgba(215,198,255,.20);
  pointer-events:none;
}
.cw-tarot .cw-card__stars{
  z-index:2;
  color:#d6c8ff !important;
  font-size:13px !important;
  letter-spacing:.28em !important;
  text-shadow:0 0 12px rgba(214,200,255,.28) !important;
}
.cw-tarot .cw-card__label{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:13px !important;
  letter-spacing:.04em !important;
  border-color:rgba(255,255,255,.32) !important;
  background:rgba(255,255,255,.06) !important;
}

/* Make revealed/result cards feel higher quality */
.cw-tarot .cw-card__front,
.cw-tarot .cw-result__card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)),
    linear-gradient(160deg,#0f1848 0%,#1f2d69 52%,#161d4b 100%) !important;
}
.cw-tarot .cw-result__card{
  overflow:hidden !important;
}
.cw-tarot .cw-result__card svg{
  display:block !important;
  width:100% !important;
  height:auto !important;
}

/* Full-width mobile card layout that stays centered */
@media (max-width: 820px){
  .cw-tarot .cw-tarot__cards{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    align-items:start !important;
  }
  .cw-tarot .cw-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .cw-tarot .cw-card__inner{
    aspect-ratio:.60 !important;
  }
  .cw-tarot .cw-card__orb{
    width:40px !important;
    height:40px !important;
    font-size:22px !important;
  }
  .cw-tarot .cw-card__glyph{
    font-size:18px !important;
    top:60% !important;
  }
  .cw-tarot .cw-card__stars{
    font-size:8px !important;
    bottom:16% !important;
    letter-spacing:.08em !important;
  }
  .cw-tarot .cw-card__label{
    font-size:8px !important;
    margin-top:6px !important;
    padding:5px 2px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .cw-tarot .cw-card__frame{
    inset:4px !important;
    border-radius:9px !important;
  }
  .cw-tarot .cw-card__back::after{
    width:76% !important;
    height:76% !important;
    box-shadow:
      0 0 0 10px rgba(238,222,185,.05),
      0 0 0 20px rgba(215,198,255,.03) !important;
  }
}

/* Extra small phones */
@media (max-width: 430px){
  .cw-tarot .cw-tarot__shell{
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .cw-tarot .cw-tarot__cards{
    gap:6px !important;
  }
  .cw-tarot .cw-card__inner{
    aspect-ratio:.58 !important;
  }
}

/* Remove any lingering footer spacing if theme cached old markup */
.cw-tarot .cw-tarot__footer{
  display:none !important;
}


/* ===== v1.2.2 advice readability + remove recommended events ===== */
.cw-tarot .cw-advice-title{
  margin:36px 0 16px !important;
  padding:10px 18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  position:relative !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, rgba(205,185,255,.22), rgba(243,216,170,.18)) !important;
  border:1px solid rgba(241,223,183,.34) !important;
  color:#fff3d0 !important;
  -webkit-text-fill-color:#fff3d0 !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:22px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  text-shadow:
    0 1px 0 rgba(9,24,74,.98),
    0 0 10px rgba(255,240,205,.14) !important;
}

.cw-tarot .cw-advice{
  gap:14px !important;
}
.cw-tarot .cw-advice article{
  position:relative !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:18px !important;
  padding:18px 16px !important;
  box-shadow:
    0 10px 24px rgba(0,0,0,.16),
    inset 0 0 22px rgba(255,255,255,.02) !important;
}
.cw-tarot .cw-advice article:nth-child(1){
  background:linear-gradient(135deg, rgba(255,175,210,.18), rgba(125,162,255,.14)) !important;
}
.cw-tarot .cw-advice article:nth-child(2){
  background:linear-gradient(135deg, rgba(173,215,255,.18), rgba(193,179,255,.15)) !important;
}
.cw-tarot .cw-advice article:nth-child(3){
  background:linear-gradient(135deg, rgba(248,217,150,.18), rgba(216,171,255,.14)) !important;
}
.cw-tarot .cw-advice article > span{
  border:1px solid rgba(255,255,255,.32) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-weight:900 !important;
  background:rgba(255,255,255,.12) !important;
  box-shadow:0 0 12px rgba(255,255,255,.06) !important;
}
.cw-tarot .cw-advice small{
  display:inline-block !important;
  padding:4px 10px !important;
  border-radius:999px !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.03em !important;
  color:#102251 !important;
  -webkit-text-fill-color:#102251 !important;
  background:linear-gradient(90deg, #f7e2a8, #f6c4e0) !important;
  box-shadow:0 4px 12px rgba(0,0,0,.10) !important;
}
.cw-tarot .cw-advice p{
  margin-top:10px !important;
  font-size:15px !important;
  line-height:1.8 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-weight:700 !important;
  text-shadow:
    0 1px 0 rgba(9,24,74,.96),
    0 0 8px rgba(255,255,255,.05) !important;
}
.cw-tarot .cw-advice p:empty::before{
  content:"" !important;
}

.cw-tarot .cw-event{
  background:linear-gradient(100deg,#8b6cff,#5b86ff 50%,#43b9ff) !important;
  box-shadow:0 10px 28px rgba(95,120,255,.26) !important;
}

.cw-tarot .cw-recommend,
.cw-tarot .cw-recommend__title,
.cw-tarot .cw-recommend__lead,
.cw-tarot .cw-recommend__grid,
.cw-tarot .cw-event-card,
.cw-tarot .cw-event-card__btn{
  display:none !important;
}

@media (max-width:720px){
  .cw-tarot .cw-advice-title{
    font-size:18px !important;
    padding:9px 14px !important;
    margin-top:28px !important;
  }
  .cw-tarot .cw-advice{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .cw-tarot .cw-advice p{
    font-size:14px !important;
    line-height:1.75 !important;
  }
}


/* ===== v1.3.0 advice centering + cleaner tarot backs + anime-style cards ===== */
.cw-tarot .cw-advice-title{
  left:auto !important;
  transform:none !important;
  display:flex !important;
  width:max-content !important;
  max-width:calc(100% - 20px) !important;
  margin:36px auto 16px !important;
}
.cw-tarot .cw-tarot__cards{
  justify-items:center !important;
}
.cw-tarot .cw-card{
  transform:none !important;
}
.cw-tarot .cw-card__back{
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)),
    linear-gradient(160deg,#131b49 0%, #1e2a67 50%, #161d4b 100%) !important;
  border:2px solid rgba(238,221,181,.96) !important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.22),
    inset 0 0 0 1px rgba(255,255,255,.04) !important;
}
.cw-tarot .cw-card__back::after{
  width:62% !important;
  height:62% !important;
  border-radius:18px !important;
  border:1px solid rgba(238,222,185,.22) !important;
  box-shadow:
    0 0 0 10px rgba(238,222,185,.05),
    0 0 0 20px rgba(215,198,255,.025) !important;
}
.cw-tarot .cw-card__orb{
  width:66px !important;
  height:66px !important;
  font-size:34px !important;
  background:rgba(255,255,255,.04) !important;
}
.cw-tarot .cw-card__glyph{
  display:none !important;
}
.cw-tarot .cw-card__stars{
  bottom:14% !important;
}
.cw-tarot .cw-card__label{
  font-size:12px !important;
}
.cw-tarot .cw-result__card svg,
.cw-tarot .cw-card__front svg{
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.18));
}
@media (max-width:720px){
  .cw-tarot .cw-advice-title{
    margin:28px auto 14px !important;
  }
  .cw-tarot .cw-card__orb{
    width:34px !important;
    height:34px !important;
    font-size:18px !important;
  }
  .cw-tarot .cw-card__label{
    font-size:8px !important;
  }
}


/* ===== v1.4.0 hero visual upgrade + normal face-down cards ===== */

/* Use the supplied visual as the premium hero image */
.cw-tarot .cw-tarot__hero--visual{
  position:relative !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:30px !important;
  min-height:clamp(360px, 52vw, 760px) !important;
  margin-bottom:18px !important;
  border:1px solid rgba(255,223,181,.22) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.22) !important;
}
.cw-tarot .cw-tarot__hero-image{
  position:absolute !important;
  inset:0 !important;
  background-image:
    linear-gradient(90deg, rgba(6,17,59,.28) 0%, rgba(6,17,59,.18) 35%, rgba(6,17,59,.08) 60%, rgba(6,17,59,.18) 100%),
    url('hero-tarot-top.png') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.cw-tarot .cw-tarot__hero-overlay{
  position:relative !important;
  z-index:1 !important;
  min-height:clamp(360px, 52vw, 760px) !important;
  padding:clamp(28px,4vw,52px) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  max-width:62% !important;
}
.cw-tarot .cw-tarot__hero--visual::before,
.cw-tarot .cw-tarot__hero--visual::after{
  display:none !important;
}
.cw-tarot .cw-tarot__brand{
  text-shadow:0 2px 12px rgba(0,0,0,.22) !important;
}
.cw-tarot .cw-tarot__eyebrow{
  color:#fff3df !important;
  text-shadow:
    0 1px 0 rgba(12,27,76,.95),
    0 0 12px rgba(0,0,0,.18) !important;
}
.cw-tarot .cw-tarot__title{
  margin-top:14px !important;
  text-align:left !important;
}
.cw-tarot .cw-tarot__lead{
  max-width:680px !important;
  margin:18px 0 0 !important;
  text-align:left !important;
}
.cw-tarot .cw-tarot__badges{
  justify-content:flex-start !important;
  margin-top:20px !important;
}
.cw-tarot .cw-tarot__badges span{
  background:rgba(7,24,79,.34) !important;
  backdrop-filter:blur(8px) !important;
  border-color:rgba(255,248,235,.35) !important;
}

/* Mobile hero should stay full and readable */
@media (max-width: 900px){
  .cw-tarot .cw-tarot__hero--visual{
    min-height:520px !important;
    border-radius:24px !important;
  }
  .cw-tarot .cw-tarot__hero-image{
    background-position:64% center !important;
  }
  .cw-tarot .cw-tarot__hero-overlay{
    max-width:100% !important;
    min-height:520px !important;
    justify-content:flex-start !important;
    padding:24px 20px 28px !important;
    background:linear-gradient(180deg, rgba(8,20,61,.28) 0%, rgba(8,20,61,.18) 35%, rgba(8,20,61,.44) 72%, rgba(8,20,61,.70) 100%) !important;
  }
  .cw-tarot .cw-tarot__title,
  .cw-tarot .cw-tarot__lead{
    text-align:left !important;
  }
}

/* Make the 3 cards look like normal face-down tarot cards */
.cw-tarot .cw-tarot__cards{
  align-items:flex-start !important;
}
.cw-tarot .cw-card{
  transform:none !important;
}
.cw-tarot .cw-card:hover{
  transform:translateY(-4px) !important;
}
.cw-tarot .cw-card__back{
  background:
    radial-gradient(circle at 50% 44%, rgba(255,227,171,.08), transparent 24%),
    linear-gradient(180deg, #102056 0%, #172b70 50%, #0c1846 100%) !important;
  border:2px solid rgba(239,223,183,.92) !important;
  box-shadow:
    0 12px 24px rgba(0,0,0,.18),
    inset 0 0 0 1px rgba(255,255,255,.05) !important;
}
.cw-tarot .cw-card__frame{
  inset:10px !important;
  border:1.5px solid rgba(240,222,183,.62) !important;
  border-radius:16px !important;
}
.cw-tarot .cw-card__frame::before,
.cw-tarot .cw-card__frame::after{
  content:"" !important;
}
.cw-tarot .cw-card__orb{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:74px !important;
  height:74px !important;
  font-size:38px !important;
  border-color:rgba(240,223,183,.78) !important;
  color:#f4ddb1 !important;
  background:radial-gradient(circle at 50% 42%, rgba(255,255,255,.08), rgba(255,255,255,0)) !important;
  box-shadow:
    0 0 22px rgba(215,198,255,.08),
    inset 0 0 20px rgba(255,255,255,.03) !important;
}
.cw-tarot .cw-card__stars{
  position:absolute !important;
  left:50% !important;
  bottom:18% !important;
  transform:translateX(-50%) !important;
  color:#d8cfff !important;
  letter-spacing:.25em !important;
  font-size:11px !important;
}
.cw-tarot .cw-card__glyph{
  display:none !important;
}
.cw-tarot .cw-card__label{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.26) !important;
}

/* keep cards simple on small screens */
@media (max-width:720px){
  .cw-tarot .cw-card__orb{
    width:36px !important;
    height:36px !important;
    font-size:18px !important;
  }
  .cw-tarot .cw-card__stars{
    font-size:8px !important;
    bottom:15% !important;
  }
}

/* Result illustrations: larger display for the anime-style tarot SVG */
.cw-tarot .cw-result__card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)),
    linear-gradient(160deg,#10194a 0%, #1f2d69 50%, #141c48 100%) !important;
}
.cw-tarot .cw-result__card svg,
.cw-tarot .cw-card__front svg{
  width:100% !important;
  height:auto !important;
  display:block !important;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.18)) !important;
}


/* ===== v1.4.1 readability + tarot back image ===== */

/* Stronger readability on the hero */
.cw-tarot .cw-tarot__hero-image{
  background-image:
    linear-gradient(90deg,
      rgba(6,17,59,.62) 0%,
      rgba(6,17,59,.48) 26%,
      rgba(6,17,59,.28) 50%,
      rgba(6,17,59,.16) 68%,
      rgba(6,17,59,.18) 100%),
    linear-gradient(180deg,
      rgba(10,18,56,.16) 0%,
      rgba(10,18,56,.10) 40%,
      rgba(10,18,56,.20) 100%),
    url('hero-tarot-top.png') !important;
  filter: saturate(.95) brightness(.92) !important;
}
.cw-tarot .cw-tarot__hero-overlay{
  text-shadow:0 2px 12px rgba(0,0,0,.20) !important;
}
.cw-tarot .cw-tarot__brand{
  color:#fff5e7 !important;
  text-shadow:
    0 2px 12px rgba(0,0,0,.35),
    0 0 8px rgba(255,255,255,.08) !important;
}
.cw-tarot .cw-tarot__eyebrow{
  color:#fff7ea !important;
  text-shadow:
    -1px -1px 0 rgba(10,25,74,.92),
    1px -1px 0 rgba(10,25,74,.92),
    -1px 1px 0 rgba(10,25,74,.92),
    1px 1px 0 rgba(10,25,74,.92),
    0 4px 16px rgba(0,0,0,.22) !important;
}
.cw-tarot .cw-tarot__title{
  text-shadow:0 4px 20px rgba(0,0,0,.18) !important;
}
.cw-tarot .cw-tarot__lead{
  color:#ffffff !important;
  text-shadow:
    -1px -1px 0 rgba(9,28,82,.92),
    1px -1px 0 rgba(9,28,82,.92),
    -1px 1px 0 rgba(9,28,82,.92),
    1px 1px 0 rgba(9,28,82,.92),
    0 4px 14px rgba(0,0,0,.22) !important;
}
.cw-tarot .cw-tarot__badges span{
  color:#fff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.20) !important;
}

@media (max-width: 900px){
  .cw-tarot .cw-tarot__hero-overlay{
    background:
      linear-gradient(180deg,
        rgba(8,20,61,.24) 0%,
        rgba(8,20,61,.16) 28%,
        rgba(8,20,61,.38) 62%,
        rgba(8,20,61,.76) 100%) !important;
  }
}

/* Replace the 3 face-down cards with a real tarot back image */
.cw-tarot .cw-card__back{
  background-image:url('tarot-back.png') !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  border:2px solid rgba(242,226,188,.90) !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.20),
    inset 0 0 0 1px rgba(255,255,255,.04) !important;
}
.cw-tarot .cw-card__back::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)) !important;
}
.cw-tarot .cw-card__frame{
  inset:0 !important;
  border:none !important;
}
.cw-tarot .cw-card__orb,
.cw-tarot .cw-card__stars,
.cw-tarot .cw-card__glyph{
  display:none !important;
}
.cw-tarot .cw-card__label{
  margin-top:10px !important;
}


/* ===== v1.4.2 fix face-down tarot card backs ===== */
/* Replace plain blue backs with CSS-drawn tarot backs so they always display */
.cw-tarot .cw-card__back{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,232,180,.12), transparent 18%),
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.06), transparent 8%),
    radial-gradient(circle at 80% 24%, rgba(255,255,255,.05), transparent 10%),
    linear-gradient(180deg, #10215a 0%, #17307a 52%, #10255f 100%) !important;
  border:2px solid rgba(240,224,188,.92) !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.20),
    inset 0 0 0 1px rgba(255,255,255,.04) !important;
}
.cw-tarot .cw-card__back::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:15px;
  border:1.5px solid rgba(240,223,185,.72);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.03), rgba(255,255,255,0) 42%),
    radial-gradient(circle at 50% 50%, rgba(244,222,178,.06), rgba(244,222,178,0) 54%);
  pointer-events:none;
}
.cw-tarot .cw-card__back::after{
  content:"☾";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:72px;
  height:72px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:38px;
  color:#f4ddb1;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.08), rgba(255,255,255,0)),
    rgba(255,255,255,.02);
  border:1.5px solid rgba(240,223,185,.82);
  box-shadow:
    0 0 0 18px rgba(240,223,185,.06),
    0 0 0 36px rgba(216,202,255,.03),
    0 0 18px rgba(255,236,191,.10);
  pointer-events:none;
}
.cw-tarot .cw-card__frame{
  position:absolute !important;
  inset:0 !important;
  border:none !important;
}
.cw-tarot .cw-card__frame::before,
.cw-tarot .cw-card__frame::after{
  content:"✦" !important;
  position:absolute;
  color:rgba(241,224,188,.86) !important;
  font-size:12px !important;
  line-height:1 !important;
}
.cw-tarot .cw-card__frame::before{
  top:14px !important;
  left:14px !important;
}
.cw-tarot .cw-card__frame::after{
  right:14px !important;
  bottom:14px !important;
}
.cw-tarot .cw-card__orb,
.cw-tarot .cw-card__stars,
.cw-tarot .cw-card__glyph{
  display:none !important;
}
.cw-tarot .cw-card__label{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.22) !important;
}
@media (max-width:720px){
  .cw-tarot .cw-card__back::before{
    inset:4px !important;
    border-radius:9px !important;
  }
  .cw-tarot .cw-card__back::after{
    width:34px !important;
    height:34px !important;
    font-size:18px !important;
    box-shadow:
      0 0 0 8px rgba(240,223,185,.06),
      0 0 0 16px rgba(216,202,255,.03),
      0 0 10px rgba(255,236,191,.08) !important;
  }
  .cw-tarot .cw-card__frame::before,
  .cw-tarot .cw-card__frame::after{
    font-size:8px !important;
  }
}


/* ===== v1.4.3 hard-fix tarot card backs ===== */
/* Force a visible tarot back with actual HTML elements, not only pseudo-elements */
.cw-tarot .cw-card__back{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,232,180,.10), transparent 20%),
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.08), transparent 7%),
    radial-gradient(circle at 78% 20%, rgba(255,255,255,.07), transparent 8%),
    radial-gradient(circle at 25% 78%, rgba(216,201,255,.05), transparent 10%),
    linear-gradient(180deg, #0d1d52 0%, #173171 52%, #10245a 100%) !important;
  border:2px solid rgba(241,224,186,.95) !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.22),
    inset 0 0 0 1px rgba(255,255,255,.04) !important;
}
.cw-tarot .cw-card__frame{
  position:absolute !important;
  inset:8px !important;
  display:block !important;
  border:1.5px solid rgba(240,223,184,.72) !important;
  border-radius:16px !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 0 1px rgba(255,225,186,.04) !important;
}
.cw-tarot .cw-card__frame::before,
.cw-tarot .cw-card__frame::after{
  content:"✦" !important;
  position:absolute !important;
  color:rgba(241,224,186,.90) !important;
  font-size:13px !important;
  line-height:1 !important;
  display:block !important;
}
.cw-tarot .cw-card__frame::before{
  top:12px !important;
  left:12px !important;
}
.cw-tarot .cw-card__frame::after{
  right:12px !important;
  bottom:12px !important;
}
.cw-tarot .cw-card__orb{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-56%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:74px !important;
  height:74px !important;
  border-radius:50% !important;
  border:1.5px solid rgba(240,223,184,.84) !important;
  color:#f5dfb4 !important;
  font-size:36px !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.08), rgba(255,255,255,0)),
    rgba(255,255,255,.02) !important;
  box-shadow:
    0 0 0 18px rgba(240,223,184,.06),
    0 0 0 34px rgba(216,202,255,.03),
    0 0 18px rgba(255,236,191,.08) !important;
}
.cw-tarot .cw-card__stars{
  position:absolute !important;
  left:50% !important;
  bottom:19% !important;
  transform:translateX(-50%) !important;
  display:block !important;
  color:#dccfff !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.22em !important;
  text-shadow:0 0 8px rgba(255,255,255,.08) !important;
}
.cw-tarot .cw-card__glyph{
  display:none !important;
}

/* small top and bottom accent lines to avoid plain blue rectangles */
.cw-tarot .cw-card__back::before{
  content:"" !important;
  position:absolute !important;
  left:14px !important;
  right:14px !important;
  top:12px !important;
  height:2px !important;
  background:linear-gradient(90deg, rgba(240,223,184,.0), rgba(240,223,184,.92), rgba(240,223,184,.0)) !important;
  opacity:.95 !important;
}
.cw-tarot .cw-card__back::after{
  content:"" !important;
  position:absolute !important;
  left:22px !important;
  right:22px !important;
  bottom:16px !important;
  height:1px !important;
  background:linear-gradient(90deg, rgba(220,207,255,.0), rgba(220,207,255,.95), rgba(220,207,255,.0)) !important;
  opacity:.75 !important;
}

@media (max-width:720px){
  .cw-tarot .cw-card__frame{
    inset:4px !important;
    border-radius:9px !important;
  }
  .cw-tarot .cw-card__frame::before,
  .cw-tarot .cw-card__frame::after{
    font-size:8px !important;
  }
  .cw-tarot .cw-card__orb{
    width:34px !important;
    height:34px !important;
    font-size:18px !important;
    transform:translate(-50%,-54%) !important;
    box-shadow:
      0 0 0 8px rgba(240,223,184,.06),
      0 0 0 16px rgba(216,202,255,.03),
      0 0 8px rgba(255,236,191,.08) !important;
  }
  .cw-tarot .cw-card__stars{
    font-size:7px !important;
    bottom:16% !important;
    letter-spacing:.08em !important;
  }
  .cw-tarot .cw-card__back::before{
    left:8px !important; right:8px !important; top:7px !important;
  }
  .cw-tarot .cw-card__back::after{
    left:12px !important; right:12px !important; bottom:10px !important;
  }
}


/* v1.5.0 card image overrides */
.cw-tarot .cw-card__back,
.cw-tarot .cw-card__front,
.cw-tarot .cw-result__card {
  overflow:hidden !important;
}

.cw-tarot .cw-card__back,
.cw-tarot .cw-card__front {
  padding:0 !important;
  background:transparent !important;
}

.cw-tarot .cw-card__back .cw-card__frame,
.cw-tarot .cw-card__back .cw-card__orb,
.cw-tarot .cw-card__back .cw-card__stars {
  display:none !important;
}

.cw-tarot .cw-card__front img,
.cw-tarot .cw-card__back-image,
.cw-tarot .cw-result__card img {
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}

.cw-tarot .cw-card__front img,
.cw-tarot .cw-card__back-image {
  border-radius:14px !important;
}

.cw-tarot .cw-result__card img {
  border-radius:20px !important;
}

.cw-tarot .cw-card__front img,
.cw-tarot .cw-card__back-image {
  pointer-events:none;
  user-select:none;
}


/* ===== v1.5.1 selected card large under fortune heading ===== */
.cw-tarot .cw-result__top{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:24px !important;
  width:100% !important;
}

.cw-tarot .cw-result__card{
  width:min(430px, 74vw) !important;
  max-width:430px !important;
  aspect-ratio:2 / 3 !important;
  margin:0 auto !important;
  border-radius:24px !important;
  border:2px solid rgba(243,222,176,.92) !important;
  background:#111b4a !important;
  box-shadow:
    0 22px 50px rgba(0,0,0,.32),
    0 0 38px rgba(231,211,255,.12) !important;
}

.cw-tarot .cw-result__card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:21px !important;
}

.cw-tarot .cw-result__summary{
  width:100% !important;
  max-width:760px !important;
  margin:0 auto !important;
  text-align:center !important;
}

.cw-tarot .cw-result__caption{
  margin-top:2px !important;
}

.cw-tarot .cw-result__ratings{
  max-width:620px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:720px){
  .cw-tarot .cw-result__top{
    gap:18px !important;
  }

  .cw-tarot .cw-result__card{
    width:min(82vw, 360px) !important;
    max-width:360px !important;
    border-radius:20px !important;
  }

  .cw-tarot .cw-result__card img{
    border-radius:17px !important;
  }
}


/* ===== v1.5.2 premium result details + moving sparkle CTA ===== */

/* Keyword / Lucky color / Lucky action / Compatibility */
.cw-tarot .cw-result__grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-top:26px !important;
}

.cw-tarot .cw-result__grid article{
  position:relative !important;
  overflow:hidden !important;
  min-height:132px !important;
  padding:18px 18px 18px 20px !important;
  border-radius:20px !important;
  border:1px solid rgba(244,226,188,.28) !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(238,216,255,.16), transparent 28%),
    linear-gradient(135deg, rgba(18,37,92,.86), rgba(55,42,91,.76)) !important;
  box-shadow:
    0 12px 30px rgba(0,0,0,.18),
    inset 0 0 24px rgba(255,255,255,.025) !important;
}

.cw-tarot .cw-result__grid article::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:4px !important;
  height:100% !important;
  background:linear-gradient(180deg,#f5dda6,#d8c6ff,#9fd8ff) !important;
  opacity:.95 !important;
}

.cw-tarot .cw-result__grid article::after{
  content:"✦" !important;
  position:absolute !important;
  right:14px !important;
  top:10px !important;
  color:rgba(247,226,180,.42) !important;
  font-size:18px !important;
  text-shadow:0 0 10px rgba(247,226,180,.20) !important;
}

.cw-tarot .cw-result__icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:36px !important;
  height:36px !important;
  margin-bottom:10px !important;
  border-radius:50% !important;
  border:1px solid rgba(245,224,177,.48) !important;
  background:rgba(255,255,255,.06) !important;
  color:#f5ddb0 !important;
  -webkit-text-fill-color:#f5ddb0 !important;
  font-size:18px !important;
  box-shadow:0 0 16px rgba(220,201,255,.08) !important;
}

.cw-tarot .cw-result__grid small{
  display:block !important;
  margin-bottom:8px !important;
  color:#d9ccff !important;
  -webkit-text-fill-color:#d9ccff !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.09em !important;
  line-height:1.4 !important;
  text-shadow:0 1px 8px rgba(0,0,0,.18) !important;
}

.cw-tarot .cw-result__grid strong{
  display:block !important;
  color:#fff7e7 !important;
  -webkit-text-fill-color:#fff7e7 !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
  font-size:19px !important;
  font-weight:700 !important;
  line-height:1.55 !important;
  letter-spacing:.025em !important;
  text-shadow:
    0 1px 0 rgba(7,22,66,.95),
    0 0 12px rgba(255,239,202,.06) !important;
}

/* Give each information tile its own subtle accent */
.cw-tarot .cw-result__grid article:nth-child(1){
  background:
    radial-gradient(circle at 88% 12%, rgba(217,197,255,.20), transparent 28%),
    linear-gradient(135deg,rgba(19,35,88,.90),rgba(65,45,96,.76)) !important;
}
.cw-tarot .cw-result__grid article:nth-child(2){
  background:
    radial-gradient(circle at 88% 12%, rgba(159,216,255,.18), transparent 28%),
    linear-gradient(135deg,rgba(15,47,91,.90),rgba(35,57,105,.78)) !important;
}
.cw-tarot .cw-result__grid article:nth-child(3){
  background:
    radial-gradient(circle at 88% 12%, rgba(246,217,155,.18), transparent 28%),
    linear-gradient(135deg,rgba(45,36,85,.90),rgba(80,54,87,.78)) !important;
}
.cw-tarot .cw-result__grid article:nth-child(4){
  background:
    radial-gradient(circle at 88% 12%, rgba(247,190,221,.16), transparent 28%),
    linear-gradient(135deg,rgba(52,38,86,.90),rgba(77,47,91,.78)) !important;
}

/* Event button: luminous gradient + travelling sparkle */
.cw-tarot .cw-event{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  min-height:62px !important;
  border:1px solid rgba(255,236,189,.58) !important;
  border-radius:999px !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
  font-size:18px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-shadow:0 1px 8px rgba(22,14,78,.32) !important;
  background:
    linear-gradient(105deg,#6d56d9 0%,#8b65e8 30%,#607eea 58%,#5bb8ef 100%) !important;
  box-shadow:
    0 14px 34px rgba(93,105,225,.30),
    inset 0 0 20px rgba(255,255,255,.10),
    0 0 0 1px rgba(255,255,255,.05) !important;
}

.cw-tarot .cw-event::before{
  content:"" !important;
  position:absolute !important;
  z-index:-1 !important;
  top:-70% !important;
  left:-38% !important;
  width:30% !important;
  height:240% !important;
  transform:rotate(18deg) !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.18),
    rgba(255,255,255,.82),
    rgba(255,255,255,.18),
    rgba(255,255,255,0)
  ) !important;
  filter:blur(1px) !important;
  animation:cwEventShine 2.6s cubic-bezier(.45,0,.25,1) infinite !important;
}

.cw-tarot .cw-event::after{
  content:"✦  ✧  ✦" !important;
  position:absolute !important;
  z-index:2 !important;
  top:50% !important;
  left:-28% !important;
  transform:translateY(-50%) !important;
  color:#fff8d6 !important;
  -webkit-text-fill-color:#fff8d6 !important;
  font-size:15px !important;
  letter-spacing:.28em !important;
  white-space:nowrap !important;
  text-shadow:
    0 0 5px #fff,
    0 0 12px rgba(255,232,170,.95),
    0 0 20px rgba(217,204,255,.75) !important;
  animation:cwEventSparkleTravel 3.1s ease-in-out infinite !important;
  pointer-events:none !important;
}

.cw-tarot .cw-event:hover{
  transform:translateY(-2px) scale(1.012) !important;
  filter:brightness(1.07) !important;
  box-shadow:
    0 17px 40px rgba(93,105,225,.38),
    inset 0 0 24px rgba(255,255,255,.14),
    0 0 18px rgba(217,204,255,.13) !important;
}

@keyframes cwEventShine{
  0%   { left:-42%; opacity:0; }
  12%  { opacity:.9; }
  52%  { opacity:1; }
  72%  { left:116%; opacity:.65; }
  100% { left:116%; opacity:0; }
}

@keyframes cwEventSparkleTravel{
  0%   { left:-28%; opacity:0; transform:translateY(-50%) scale(.82); }
  15%  { opacity:1; }
  55%  { opacity:1; transform:translateY(-50%) scale(1.08); }
  85%  { left:102%; opacity:.7; }
  100% { left:112%; opacity:0; transform:translateY(-50%) scale(.9); }
}

/* Respect reduced-motion settings */
@media (prefers-reduced-motion:reduce){
  .cw-tarot .cw-event::before,
  .cw-tarot .cw-event::after{
    animation:none !important;
  }
}

@media (max-width:720px){
  .cw-tarot .cw-result__grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .cw-tarot .cw-result__grid article{
    min-height:auto !important;
    padding:16px 16px 16px 18px !important;
    border-radius:17px !important;
  }

  .cw-tarot .cw-result__grid small{
    font-size:12px !important;
  }

  .cw-tarot .cw-result__grid strong{
    font-size:17px !important;
  }

  .cw-tarot .cw-event{
    min-height:58px !important;
    font-size:17px !important;
  }
}


/* ===== v1.5.3 premium fortune stars ===== */
.cw-tarot .cw-result__ratings{
  border-top:1px solid rgba(255,255,255,.16) !important;
  padding-top:18px !important;
  display:grid !important;
  gap:12px !important;
}

.cw-tarot .cw-result__ratings > div{
  align-items:center !important;
  padding:14px 16px !important;
  border-radius:18px !important;
  border:1px solid rgba(244,226,188,.18) !important;
  background:
    radial-gradient(circle at 90% 16%, rgba(230,208,255,.14), transparent 24%),
    linear-gradient(135deg, rgba(20,38,95,.68), rgba(57,43,95,.62)) !important;
  box-shadow:
    0 10px 26px rgba(0,0,0,.14),
    inset 0 0 20px rgba(255,255,255,.025) !important;
}

.cw-tarot .cw-result__ratings > div span{
  color:#fff1d5 !important;
  -webkit-text-fill-color:#fff1d5 !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
  font-size:18px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-shadow:
    0 1px 0 rgba(10,26,73,.95),
    0 0 10px rgba(255,240,211,.06) !important;
}

.cw-tarot .cw-result__ratings b{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  min-width:160px !important;
  font-weight:700 !important;
}

.cw-tarot .cw-stars{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  font-size:28px !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}

.cw-tarot .cw-star{
  position:relative !important;
  display:inline-block !important;
  transition:transform .25s ease, filter .25s ease !important;
}

.cw-tarot .cw-star.is-on{
  color:#ffe4b6 !important;
  -webkit-text-fill-color:#ffe4b6 !important;
  text-shadow:
    0 0 8px rgba(255,229,173,.30),
    0 0 16px rgba(255,203,116,.18) !important;
}

.cw-tarot .cw-star.is-off{
  color:rgba(203,198,222,.36) !important;
  -webkit-text-fill-color:rgba(203,198,222,.36) !important;
  text-shadow:none !important;
}

.cw-tarot .cw-stars.is-perfect .cw-star.is-on{
  color:#f6d36d !important;
  -webkit-text-fill-color:#f6d36d !important;
  text-shadow:
    0 0 8px rgba(255,214,97,.42),
    0 0 16px rgba(255,214,97,.32),
    0 0 26px rgba(255,246,207,.20) !important;
  animation:cwStarFloatGlow 1.8s ease-in-out infinite alternate !important;
}

.cw-tarot .cw-stars.is-perfect .cw-star:nth-child(1){ animation-delay:0s !important; }
.cw-tarot .cw-stars.is-perfect .cw-star:nth-child(2){ animation-delay:.12s !important; }
.cw-tarot .cw-stars.is-perfect .cw-star:nth-child(3){ animation-delay:.24s !important; }
.cw-tarot .cw-stars.is-perfect .cw-star:nth-child(4){ animation-delay:.36s !important; }
.cw-tarot .cw-stars.is-perfect .cw-star:nth-child(5){ animation-delay:.48s !important; }

.cw-tarot .cw-stars.is-perfect::after{
  content:"✦  ✧  ✦" !important;
  position:absolute !important;
  top:50% !important;
  left:-20% !important;
  transform:translateY(-50%) !important;
  color:#fff4cc !important;
  -webkit-text-fill-color:#fff4cc !important;
  font-size:13px !important;
  letter-spacing:.22em !important;
  white-space:nowrap !important;
  opacity:0 !important;
  text-shadow:
    0 0 5px rgba(255,255,255,.95),
    0 0 12px rgba(255,229,173,.90),
    0 0 20px rgba(255,214,97,.55) !important;
  pointer-events:none !important;
  animation:cwPerfectStarsSweep 2.9s ease-in-out infinite !important;
}

@keyframes cwStarFloatGlow{
  0%{
    transform:translateY(0) scale(1);
    filter:brightness(1);
  }
  100%{
    transform:translateY(-1px) scale(1.08);
    filter:brightness(1.12);
  }
}

@keyframes cwPerfectStarsSweep{
  0%{
    left:-26%;
    opacity:0;
    transform:translateY(-50%) scale(.86);
  }
  12%{
    opacity:1;
  }
  56%{
    opacity:1;
    transform:translateY(-50%) scale(1.04);
  }
  84%{
    left:100%;
    opacity:.7;
  }
  100%{
    left:110%;
    opacity:0;
    transform:translateY(-50%) scale(.92);
  }
}

@media (prefers-reduced-motion:reduce){
  .cw-tarot .cw-stars.is-perfect .cw-star,
  .cw-tarot .cw-stars.is-perfect::after{
    animation:none !important;
  }
}

@media (max-width:720px){
  .cw-tarot .cw-result__ratings > div{
    padding:12px 14px !important;
  }

  .cw-tarot .cw-result__ratings > div span{
    font-size:16px !important;
  }

  .cw-tarot .cw-result__ratings b{
    min-width:132px !important;
  }

  .cw-tarot .cw-stars{
    gap:4px !important;
    font-size:24px !important;
  }

  .cw-tarot .cw-stars.is-perfect::after{
    font-size:10px !important;
  }
}


/* ===== v1.5.4 rating layout + tighter advice + stronger CTA sparkle ===== */

/* make "あなたが選んだカード" bigger and more elegant */
.cw-tarot .cw-result__caption{
  font-size:18px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  color:#fff0d7 !important;
  -webkit-text-fill-color:#fff0d7 !important;
  text-shadow:
    0 1px 0 rgba(9,25,73,.95),
    0 0 10px rgba(255,236,191,.08) !important;
  margin-bottom:8px !important;
}

/* center the rating stars */
.cw-tarot .cw-result__ratings{
  gap:14px !important;
}
.cw-tarot .cw-result__ratings > div{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:10px !important;
  padding:16px 18px !important;
}
.cw-tarot .cw-result__ratings > div span{
  text-align:center !important;
}
.cw-tarot .cw-result__ratings b{
  justify-content:center !important;
  min-width:0 !important;
  width:100% !important;
}

/* stars bigger and centered, sparkle stays on the stars area */
.cw-tarot .cw-stars{
  position:relative !important;
  justify-content:center !important;
  align-items:center !important;
  width:fit-content !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:4px 10px !important;
  overflow:hidden !important;
  border-radius:999px !important;
}
.cw-tarot .cw-star{
  font-size:34px !important;
}
.cw-tarot .cw-stars.is-perfect::after{
  content:"✦ ✧ ✦" !important;
  position:absolute !important;
  top:50% !important;
  left:-8% !important;
  transform:translateY(-50%) scale(.88) !important;
  color:#fff6d7 !important;
  -webkit-text-fill-color:#fff6d7 !important;
  font-size:12px !important;
  letter-spacing:.16em !important;
  white-space:nowrap !important;
  opacity:0 !important;
  text-shadow:
    0 0 5px rgba(255,255,255,.95),
    0 0 10px rgba(255,229,173,.90),
    0 0 18px rgba(255,214,97,.58) !important;
  pointer-events:none !important;
  animation:cwPerfectStarsSweepTight 2.6s ease-in-out infinite !important;
}
@keyframes cwPerfectStarsSweepTight{
  0%{
    left:-8%;
    opacity:0;
    transform:translateY(-50%) scale(.82);
  }
  12%{
    opacity:1;
  }
  54%{
    opacity:1;
    transform:translateY(-50%) scale(1.03);
  }
  82%{
    left:72%;
    opacity:.65;
  }
  100%{
    left:82%;
    opacity:0;
    transform:translateY(-50%) scale(.90);
  }
}

/* tighten today's advice labels next to numbers */
.cw-tarot .cw-advice{
  gap:12px !important;
}
.cw-tarot .cw-advice article{
  display:grid !important;
  grid-template-columns:38px 1fr !important;
  align-items:flex-start !important;
  gap:8px !important;
}
.cw-tarot .cw-advice article > span{
  flex:none !important;
  width:34px !important;
  height:34px !important;
  font-size:11px !important;
  margin-top:1px !important;
}
.cw-tarot .cw-advice article > div{
  min-width:0 !important;
}
.cw-tarot .cw-advice small{
  display:block !important;
  margin:1px 0 4px !important;
  font-size:14px !important;
  line-height:1.2 !important;
}
.cw-tarot .cw-advice p{
  margin:0 !important;
}

/* make event button even more glittery */
.cw-tarot .cw-event{
  position:relative !important;
  overflow:hidden !important;
  border:1px solid rgba(255,241,197,.72) !important;
  box-shadow:
    0 18px 42px rgba(93,105,225,.34),
    inset 0 0 24px rgba(255,255,255,.12),
    0 0 18px rgba(255,228,165,.12) !important;
}
.cw-tarot .cw-event span{ position:relative; z-index:2; }
.cw-tarot .cw-event::before{
  width:24% !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.15),
    rgba(255,255,255,.90),
    rgba(255,255,255,.20),
    rgba(255,255,255,0)
  ) !important;
  animation:cwEventShine 2.2s cubic-bezier(.45,0,.25,1) infinite !important;
}
.cw-tarot .cw-event::after{
  content:"✦  ✧  ✦  ✧" !important;
  top:50% !important;
  left:-24% !important;
  transform:translateY(-50%) !important;
  font-size:15px !important;
  animation:cwEventSparkleTravel 2.8s ease-in-out infinite !important;
}
.cw-tarot .cw-event:hover{
  transform:translateY(-2px) scale(1.015) !important;
}

/* mobile tune */
@media (max-width:720px){
  .cw-tarot .cw-result__caption{
    font-size:16px !important;
  }
  .cw-tarot .cw-star{
    font-size:30px !important;
  }
  .cw-tarot .cw-stars.is-perfect::after{
    font-size:10px !important;
  }
  .cw-tarot .cw-advice article{
    grid-template-columns:34px 1fr !important;
    gap:8px !important;
  }
  .cw-tarot .cw-advice small{
    font-size:13px !important;
  }
}


/* ===== v1.5.5 hard override layout fixes ===== */

/* 1) Bigger "あなたが選んだカード" */
.cw-tarot .cw-result__caption{
  display:block !important;
  text-align:center !important;
  font-size:22px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  color:#fff2da !important;
  -webkit-text-fill-color:#fff2da !important;
  margin:4px 0 12px !important;
  text-shadow:
    0 1px 0 rgba(9,25,73,.95),
    0 0 12px rgba(255,236,191,.10) !important;
}

/* 2) Rating cards stacked with stars centered */
.cw-tarot .cw-result__ratings{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  border-top:1px solid rgba(255,255,255,.16) !important;
  padding-top:18px !important;
}

.cw-tarot .cw-result__ratings > div{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:10px !important;
  padding:16px 18px !important;
  border-radius:22px !important;
  border:1px solid rgba(244,226,188,.18) !important;
  background:
    radial-gradient(circle at 90% 16%, rgba(230,208,255,.14), transparent 24%),
    linear-gradient(135deg, rgba(20,38,95,.68), rgba(57,43,95,.62)) !important;
  box-shadow:
    0 10px 26px rgba(0,0,0,.14),
    inset 0 0 20px rgba(255,255,255,.025) !important;
}

.cw-tarot .cw-result__ratings > div > span{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  color:#fff1d5 !important;
  -webkit-text-fill-color:#fff1d5 !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
  font-size:22px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
}

.cw-tarot .cw-love-stars,
.cw-tarot .cw-meet-stars{
  display:block !important;
  width:100% !important;
  text-align:center !important;
}

.cw-tarot .cw-result__ratings b{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 auto !important;
  font-weight:700 !important;
}

/* 3) Stars centered and sparkle disappears above stars only */
.cw-tarot .cw-stars{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  margin:0 auto !important;
  padding:6px 14px !important;
  width:auto !important;
  max-width:100% !important;
  overflow:hidden !important;
  border-radius:999px !important;
}

.cw-tarot .cw-star{
  display:inline-block !important;
  font-size:34px !important;
  line-height:1 !important;
}

.cw-tarot .cw-stars.is-perfect::after{
  content:"✦ ✧ ✦" !important;
  position:absolute !important;
  top:50% !important;
  left:2% !important;
  transform:translateY(-50%) scale(.82) !important;
  color:#fff6d7 !important;
  -webkit-text-fill-color:#fff6d7 !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
  white-space:nowrap !important;
  opacity:0 !important;
  text-shadow:
    0 0 5px rgba(255,255,255,.95),
    0 0 10px rgba(255,229,173,.90),
    0 0 18px rgba(255,214,97,.58) !important;
  pointer-events:none !important;
  animation:cwPerfectStarsSweepOnTop 2.4s ease-in-out infinite !important;
}

@keyframes cwPerfectStarsSweepOnTop{
  0%{
    left:4%;
    opacity:0;
    transform:translateY(-50%) scale(.82);
  }
  15%{
    opacity:1;
  }
  58%{
    opacity:1;
    transform:translateY(-50%) scale(1.02);
  }
  82%{
    left:58%;
    opacity:.55;
  }
  100%{
    left:66%;
    opacity:0;
    transform:translateY(-50%) scale(.90);
  }
}

/* 4) Advice items: label tight next to number */
.cw-tarot .cw-advice{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
}

.cw-tarot .cw-advice article{
  display:grid !important;
  grid-template-columns:42px 1fr !important;
  align-items:start !important;
  gap:10px !important;
  padding:16px 16px 16px 14px !important;
  border:1px solid rgba(255,255,255,.15) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.04) !important;
}

.cw-tarot .cw-advice article > span{
  display:grid !important;
  place-items:center !important;
  width:36px !important;
  height:36px !important;
  margin:0 !important;
  font-size:11px !important;
  line-height:1 !important;
  border-radius:50% !important;
}

.cw-tarot .cw-advice article > div{
  min-width:0 !important;
}

.cw-tarot .cw-advice small{
  display:block !important;
  margin:0 0 4px !important;
  font-size:16px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
}

.cw-tarot .cw-advice p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.7 !important;
}

/* 5) Event button: explicit sparkles */
.cw-tarot .cw-event{
  position:relative !important;
  overflow:hidden !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:0 28px !important;
  min-height:64px !important;
  width:min(100%, 460px) !important;
  margin:0 auto !important;
  border:1px solid rgba(255,241,197,.72) !important;
  border-radius:999px !important;
  background:
    linear-gradient(105deg,#7457df 0%,#8b65e8 30%,#607eea 58%,#5bb8ef 100%) !important;
  box-shadow:
    0 18px 42px rgba(93,105,225,.34),
    inset 0 0 24px rgba(255,255,255,.12),
    0 0 18px rgba(255,228,165,.12) !important;
  color:#fff !important;
  text-decoration:none !important;
}

.cw-tarot .cw-event__label{
  position:relative !important;
  z-index:2 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
  font-size:19px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-shadow:0 1px 8px rgba(22,14,78,.32) !important;
}

.cw-tarot .cw-event__sparkles{
  position:absolute !important;
  z-index:2 !important;
  top:50% !important;
  left:-22% !important;
  transform:translateY(-50%) !important;
  color:#fff8d6 !important;
  -webkit-text-fill-color:#fff8d6 !important;
  font-size:15px !important;
  letter-spacing:.28em !important;
  white-space:nowrap !important;
  text-shadow:
    0 0 5px #fff,
    0 0 12px rgba(255,232,170,.95),
    0 0 20px rgba(217,204,255,.75) !important;
  animation:cwEventSparkleTravelReal 2.8s ease-in-out infinite !important;
  pointer-events:none !important;
}

.cw-tarot .cw-event::before{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  top:-70% !important;
  left:-34% !important;
  width:22% !important;
  height:240% !important;
  transform:rotate(18deg) !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.15),
    rgba(255,255,255,.90),
    rgba(255,255,255,.20),
    rgba(255,255,255,0)
  ) !important;
  filter:blur(1px) !important;
  animation:cwEventShineReal 2.1s cubic-bezier(.45,0,.25,1) infinite !important;
}

@keyframes cwEventShineReal{
  0%   { left:-38%; opacity:0; }
  14%  { opacity:.9; }
  56%  { opacity:1; }
  80%  { left:112%; opacity:.65; }
  100% { left:112%; opacity:0; }
}

@keyframes cwEventSparkleTravelReal{
  0%   { left:-22%; opacity:0; transform:translateY(-50%) scale(.82); }
  15%  { opacity:1; }
  56%  { opacity:1; transform:translateY(-50%) scale(1.05); }
  86%  { left:96%; opacity:.72; }
  100% { left:108%; opacity:0; transform:translateY(-50%) scale(.9); }
}

@media (max-width:720px){
  .cw-tarot .cw-result__caption{
    font-size:18px !important;
  }
  .cw-tarot .cw-result__ratings > div > span{
    font-size:19px !important;
  }
  .cw-tarot .cw-star{
    font-size:30px !important;
  }
  .cw-tarot .cw-advice article{
    grid-template-columns:38px 1fr !important;
    padding:14px 14px 14px 12px !important;
  }
  .cw-tarot .cw-advice small{
    font-size:14px !important;
  }
  .cw-tarot .cw-advice p{
    font-size:14px !important;
  }
  .cw-tarot .cw-event{
    min-height:58px !important;
    width:100% !important;
  }
  .cw-tarot .cw-event__label{
    font-size:17px !important;
  }
}


/* ===== v1.5.6 change card-bottom color from light blue to purple ===== */
.cw-tarot .cw-card__label{
  background:
    linear-gradient(135deg, rgba(95,68,176,.88), rgba(129,92,214,.88)) !important;
  border:1px solid rgba(233,217,255,.34) !important;
  color:#fff7ff !important;
  -webkit-text-fill-color:#fff7ff !important;
  box-shadow:
    inset 0 0 14px rgba(255,255,255,.06),
    0 6px 18px rgba(69,45,121,.22) !important;
}

/* if the card button area itself looks blue on some themes, tint the lower section purple */
.cw-tarot .cw-card{
  background:transparent !important;
}

.cw-tarot .cw-card__inner + .cw-card__label{
  position:relative !important;
}

@media (max-width:720px){
  .cw-tarot .cw-card__label{
    background:
      linear-gradient(135deg, rgba(89,63,169,.90), rgba(122,84,205,.90)) !important;
  }
}


/* ===== v1.5.7 bigger stars + shimmer on selected card ===== */

/* 星をさらに大きく */
.cw-tarot .cw-star{
  font-size:42px !important;
  line-height:1 !important;
}

.cw-tarot .cw-stars{
  gap:7px !important;
  padding:8px 16px !important;
}

.cw-tarot .cw-stars.is-perfect::after{
  font-size:13px !important;
}

/* 大きく表示されたカードにキラキラ・光沢演出 */
.cw-tarot .cw-result__card{
  position:relative !important;
  overflow:hidden !important;
  border:2px solid rgba(248,226,173,.95) !important;
  box-shadow:
    0 24px 54px rgba(0,0,0,.34),
    0 0 26px rgba(255,220,150,.18),
    0 0 44px rgba(210,195,255,.14) !important;
}

.cw-tarot .cw-result__card::before{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  top:-18% !important;
  left:-32% !important;
  width:32% !important;
  height:140% !important;
  transform:rotate(18deg) !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.08),
    rgba(255,255,255,.46),
    rgba(255,249,233,.92),
    rgba(255,255,255,.20),
    rgba(255,255,255,0)
  ) !important;
  filter:blur(1px) !important;
  pointer-events:none !important;
  animation:cwCardGlossSweep 3.2s ease-in-out infinite !important;
}

.cw-tarot .cw-result__card::after{
  content:"✦   ✧   ✦" !important;
  position:absolute !important;
  z-index:3 !important;
  left:10% !important;
  top:14% !important;
  color:#fff4d0 !important;
  -webkit-text-fill-color:#fff4d0 !important;
  font-size:16px !important;
  letter-spacing:.28em !important;
  text-shadow:
    0 0 6px rgba(255,255,255,.95),
    0 0 14px rgba(255,228,165,.85),
    0 0 24px rgba(219,205,255,.55) !important;
  pointer-events:none !important;
  animation:cwCardSparkleFloat 2.8s ease-in-out infinite !important;
}

.cw-tarot .cw-result__card img{
  filter:saturate(1.04) brightness(1.02) !important;
}

/* subtle extra glow ring */
.cw-tarot .cw-result__card img{
  box-shadow:inset 0 0 24px rgba(255,255,255,.04) !important;
}

@keyframes cwCardGlossSweep{
  0%{
    left:-34%;
    opacity:0;
  }
  12%{
    opacity:.9;
  }
  55%{
    opacity:1;
  }
  82%{
    left:106%;
    opacity:.45;
  }
  100%{
    left:112%;
    opacity:0;
  }
}

@keyframes cwCardSparkleFloat{
  0%{
    transform:translateY(0) scale(.92);
    opacity:.55;
  }
  50%{
    transform:translateY(-4px) scale(1.05);
    opacity:1;
  }
  100%{
    transform:translateY(0) scale(.95);
    opacity:.68;
  }
}

@media (max-width:720px){
  .cw-tarot .cw-star{
    font-size:36px !important;
  }
  .cw-tarot .cw-stars{
    gap:5px !important;
    padding:6px 12px !important;
  }
  .cw-tarot .cw-stars.is-perfect::after{
    font-size:11px !important;
  }
  .cw-tarot .cw-result__card::after{
    font-size:12px !important;
    top:12% !important;
    left:8% !important;
  }
}


/* ===== v1.5.8 stronger card gloss + bigger stars + hide voice section helper ===== */

/* 星をさらにもうワンサイズ大きく */
.cw-tarot .cw-star{
  font-size:50px !important;
  line-height:1 !important;
}
.cw-tarot .cw-stars{
  gap:8px !important;
  padding:10px 18px !important;
}
.cw-tarot .cw-stars.is-perfect::after{
  font-size:14px !important;
}

/* 大きなカード全体に光沢を強くし、右下にも光沢 */
.cw-tarot .cw-result__card{
  position:relative !important;
  overflow:hidden !important;
  border:2px solid rgba(248,226,173,.96) !important;
  background:
    radial-gradient(circle at 18% 14%, rgba(255,250,230,.14), transparent 24%),
    radial-gradient(circle at 86% 86%, rgba(255,237,189,.22), transparent 30%),
    linear-gradient(160deg, rgba(255,255,255,.03), rgba(255,255,255,0)) !important;
  box-shadow:
    0 26px 60px rgba(0,0,0,.36),
    0 0 30px rgba(255,220,150,.18),
    0 0 56px rgba(210,195,255,.16),
    inset 0 0 32px rgba(255,255,255,.05) !important;
}

.cw-tarot .cw-result__card::before{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  top:-14% !important;
  left:-38% !important;
  width:48% !important;
  height:150% !important;
  transform:rotate(18deg) !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.10),
    rgba(255,255,255,.44),
    rgba(255,249,233,.98),
    rgba(255,255,255,.30),
    rgba(255,255,255,.08),
    rgba(255,255,255,0)
  ) !important;
  filter:blur(1px) !important;
  pointer-events:none !important;
  animation:cwCardGlossSweepWide 3.4s ease-in-out infinite !important;
}

.cw-tarot .cw-result__card::after{
  content:"✦   ✧   ✦" !important;
  position:absolute !important;
  z-index:3 !important;
  right:8% !important;
  bottom:10% !important;
  color:#fff4d0 !important;
  -webkit-text-fill-color:#fff4d0 !important;
  font-size:17px !important;
  letter-spacing:.26em !important;
  text-shadow:
    0 0 6px rgba(255,255,255,.95),
    0 0 14px rgba(255,228,165,.85),
    0 0 24px rgba(219,205,255,.55) !important;
  pointer-events:none !important;
  animation:cwCardSparkleCorner 3.0s ease-in-out infinite !important;
}

.cw-tarot .cw-result__card img{
  filter:saturate(1.06) brightness(1.03) contrast(1.02) !important;
  box-shadow:
    inset 0 0 30px rgba(255,255,255,.05),
    inset -26px -24px 42px rgba(255,245,214,.06) !important;
}

@keyframes cwCardGlossSweepWide{
  0%{
    left:-42%;
    opacity:0;
  }
  12%{
    opacity:.95;
  }
  55%{
    opacity:1;
  }
  86%{
    left:108%;
    opacity:.52;
  }
  100%{
    left:114%;
    opacity:0;
  }
}

@keyframes cwCardSparkleCorner{
  0%{
    transform:translate(0,0) scale(.90);
    opacity:.55;
  }
  50%{
    transform:translate(-3px,-4px) scale(1.07);
    opacity:1;
  }
  100%{
    transform:translate(0,0) scale(.94);
    opacity:.7;
  }
}

@media (max-width:720px){
  .cw-tarot .cw-star{
    font-size:42px !important;
  }
  .cw-tarot .cw-stars{
    gap:6px !important;
    padding:8px 14px !important;
  }
  .cw-tarot .cw-stars.is-perfect::after{
    font-size:12px !important;
  }
  .cw-tarot .cw-result__card::after{
    font-size:13px !important;
    right:7% !important;
    bottom:9% !important;
  }
}


/* ===== v1.5.9 gold metallic stars + sparkle only on 5 stars ===== */

/* Base: filled stars look gold metallic */
.cw-tarot .cw-star.is-on{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  background:
    linear-gradient(
      180deg,
      #fff7d8 0%,
      #f9e7a8 16%,
      #f3cf67 34%,
      #d5a93a 52%,
      #fff2bf 68%,
      #d29e2f 84%,
      #8f6420 100%
    ) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  text-shadow:
    0 1px 0 rgba(255,250,230,.35),
    0 0 7px rgba(255,216,120,.18) !important;
  filter:drop-shadow(0 1px 1px rgba(84,54,8,.18)) !important;
}

.cw-tarot .cw-star.is-off{
  color:rgba(182,175,204,.38) !important;
  -webkit-text-fill-color:rgba(182,175,204,.38) !important;
  background:none !important;
  text-shadow:none !important;
  animation:none !important;
  filter:none !important;
}

/* Default states: NO sparkle animation for 4 stars or below */
.cw-tarot .cw-stars:not(.is-perfect) .cw-star{
  animation:none !important;
  transform:none !important;
}
.cw-tarot .cw-stars:not(.is-perfect)::after{
  content:none !important;
  animation:none !important;
}

/* Only 5-star ratings get moving sparkle */
.cw-tarot .cw-stars.is-perfect .cw-star.is-on{
  background:
    linear-gradient(
      180deg,
      #fffce9 0%,
      #fff2c6 10%,
      #f8dc7b 28%,
      #d4a436 46%,
      #fff5c6 62%,
      #d39a25 80%,
      #8d6118 100%
    ) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  text-shadow:
    0 1px 0 rgba(255,252,238,.42),
    0 0 10px rgba(255,221,132,.28),
    0 0 18px rgba(255,212,95,.16) !important;
  animation:cwPerfectGoldPulse 1.8s ease-in-out infinite alternate !important;
}

.cw-tarot .cw-stars.is-perfect::after{
  content:"✦ ✧ ✦" !important;
  position:absolute !important;
  top:50% !important;
  left:4% !important;
  transform:translateY(-50%) scale(.84) !important;
  color:#fff5d1 !important;
  -webkit-text-fill-color:#fff5d1 !important;
  font-size:12px !important;
  letter-spacing:.16em !important;
  white-space:nowrap !important;
  opacity:0 !important;
  text-shadow:
    0 0 5px rgba(255,255,255,.95),
    0 0 12px rgba(255,231,156,.95),
    0 0 20px rgba(255,205,84,.55) !important;
  pointer-events:none !important;
  animation:cwPerfectStarsGoldSweep 2.4s ease-in-out infinite !important;
}

.cw-tarot .cw-stars.is-perfect .cw-star:nth-child(1){ animation-delay:0s !important; }
.cw-tarot .cw-stars.is-perfect .cw-star:nth-child(2){ animation-delay:.08s !important; }
.cw-tarot .cw-stars.is-perfect .cw-star:nth-child(3){ animation-delay:.16s !important; }
.cw-tarot .cw-stars.is-perfect .cw-star:nth-child(4){ animation-delay:.24s !important; }
.cw-tarot .cw-stars.is-perfect .cw-star:nth-child(5){ animation-delay:.32s !important; }

@keyframes cwPerfectGoldPulse{
  0%{
    transform:translateY(0) scale(1);
    filter:drop-shadow(0 1px 1px rgba(84,54,8,.18)) brightness(1);
  }
  100%{
    transform:translateY(-1px) scale(1.06);
    filter:drop-shadow(0 2px 2px rgba(84,54,8,.24)) brightness(1.08);
  }
}

@keyframes cwPerfectStarsGoldSweep{
  0%{
    left:4%;
    opacity:0;
    transform:translateY(-50%) scale(.82);
  }
  14%{
    opacity:1;
  }
  56%{
    opacity:1;
    transform:translateY(-50%) scale(1.03);
  }
  84%{
    left:60%;
    opacity:.62;
  }
  100%{
    left:68%;
    opacity:0;
    transform:translateY(-50%) scale(.92);
  }
}

@media (prefers-reduced-motion:reduce){
  .cw-tarot .cw-stars:not(.is-perfect) .cw-star,
  .cw-tarot .cw-stars.is-perfect .cw-star,
  .cw-tarot .cw-stars.is-perfect::after{
    animation:none !important;
  }
}

@media (max-width:720px){
  .cw-tarot .cw-stars.is-perfect::after{
    font-size:11px !important;
  }
}


/* ===== v1.6.0 page-visibility safety fix ===== */
/* Safety: testimonial-hiding helper must never hide the tarot UI itself. */
.cw-tarot{
  visibility:visible !important;
  opacity:1 !important;
}


/* ===== v1.6.1 result stars + card gloss refinement + straight backs ===== */

/* 診断結果の星をもう少し大きく */
.cw-tarot .cw-stars{
  gap:9px !important;
  padding:10px 18px !important;
}
.cw-tarot .cw-star{
  font-size:56px !important;
  line-height:1 !important;
}
.cw-tarot .cw-stars.is-perfect::after{
  font-size:12px !important;
}

/* カード内の不要なキラキラ文字をなくし、右下にも左上と同系統の光沢を追加 */
.cw-tarot .cw-result__card{
  position:relative !important;
  overflow:hidden !important;
}

.cw-tarot .cw-result__card::before{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  top:-14% !important;
  left:-38% !important;
  width:48% !important;
  height:150% !important;
  transform:rotate(18deg) !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.10),
    rgba(255,255,255,.44),
    rgba(255,249,233,.98),
    rgba(255,255,255,.30),
    rgba(255,255,255,.08),
    rgba(255,255,255,0)
  ) !important;
  filter:blur(1px) !important;
  pointer-events:none !important;
  animation:cwCardGlossSweepWide 3.4s ease-in-out infinite !important;
}

/* 右下にも同系統の光沢。キラキラ文字は使わない */
.cw-tarot .cw-result__card::after{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  right:-36% !important;
  bottom:-16% !important;
  width:48% !important;
  height:150% !important;
  transform:rotate(18deg) !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.08),
    rgba(255,255,255,.28),
    rgba(255,247,224,.86),
    rgba(255,255,255,.24),
    rgba(255,255,255,.06),
    rgba(255,255,255,0)
  ) !important;
  filter:blur(1px) !important;
  pointer-events:none !important;
  animation:cwCardGlossSweepCorner 3.8s ease-in-out infinite !important;
}

@keyframes cwCardGlossSweepCorner{
  0%{
    right:-38%;
    opacity:0;
  }
  16%{
    opacity:.78;
  }
  56%{
    opacity:.94;
  }
  86%{
    right:16%;
    opacity:.38;
  }
  100%{
    right:22%;
    opacity:0;
  }
}

/* 裏返し3枚は斜めにせず、きれいに整列 */
.cw-tarot .cw-tarot__cards{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
  justify-items:center !important;
  align-items:start !important;
}

.cw-tarot .cw-card{
  transform:none !important;
  rotate:0deg !important;
}

.cw-tarot .cw-card:hover{
  transform:translateY(-4px) !important;
  rotate:0deg !important;
}

.cw-tarot .cw-card:nth-child(1),
.cw-tarot .cw-card:nth-child(2),
.cw-tarot .cw-card:nth-child(3){
  transform:none !important;
  rotate:0deg !important;
  margin-top:0 !important;
}

@media (max-width:720px){
  .cw-tarot .cw-star{
    font-size:46px !important;
  }
  .cw-tarot .cw-stars{
    gap:6px !important;
    padding:8px 12px !important;
  }
  .cw-tarot .cw-tarot__cards{
    gap:10px !important;
  }
}


/* ===== v1.6.2 event button gothic font + left-to-right sparkle ===== */

/* ボタン全体をよりゴシック調で見やすく */
.cw-tarot .cw-event{
  position:relative !important;
  overflow:hidden !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:64px !important;
  width:min(100%, 460px) !important;
  margin:0 auto !important;
  padding:0 28px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,241,197,.72) !important;
  background:
    linear-gradient(105deg,#7656e4 0%,#8d66e9 32%,#617fea 60%,#62b8ef 100%) !important;
  box-shadow:
    0 18px 42px rgba(93,105,225,.34),
    inset 0 0 24px rgba(255,255,255,.12),
    0 0 18px rgba(255,228,165,.12) !important;
  text-decoration:none !important;
}

.cw-tarot .cw-event__label{
  position:relative !important;
  z-index:3 !important;
  font-family:"Hiragino Sans","Yu Gothic","Meiryo",sans-serif !important;
  font-size:19px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:
    0 1px 8px rgba(22,14,78,.32),
    0 0 10px rgba(255,255,255,.08) !important;
}

/* 左から右へ流れる光沢 */
.cw-tarot .cw-event::before{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  top:-70% !important;
  left:-32% !important;
  width:22% !important;
  height:240% !important;
  transform:rotate(18deg) !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.12),
    rgba(255,255,255,.92),
    rgba(255,255,255,.20),
    rgba(255,255,255,0)
  ) !important;
  filter:blur(1px) !important;
  animation:cwEventShineFlow 2.15s cubic-bezier(.45,0,.25,1) infinite !important;
}

/* 左から右へキラキラが横断 */
.cw-tarot .cw-event__sparkles{
  position:absolute !important;
  z-index:2 !important;
  top:50% !important;
  left:-24% !important;
  transform:translateY(-50%) !important;
  color:#fff8d6 !important;
  -webkit-text-fill-color:#fff8d6 !important;
  font-size:15px !important;
  letter-spacing:.28em !important;
  white-space:nowrap !important;
  text-shadow:
    0 0 5px #fff,
    0 0 12px rgba(255,232,170,.95),
    0 0 20px rgba(217,204,255,.75) !important;
  pointer-events:none !important;
  animation:cwEventSparkleFlow 2.8s ease-in-out infinite !important;
}

.cw-tarot .cw-event:hover{
  transform:translateY(-2px) scale(1.015) !important;
  filter:brightness(1.07) !important;
}

@keyframes cwEventShineFlow{
  0%   { left:-34%; opacity:0; }
  14%  { opacity:.92; }
  58%  { opacity:1; }
  84%  { left:112%; opacity:.65; }
  100% { left:112%; opacity:0; }
}

@keyframes cwEventSparkleFlow{
  0%   { left:-24%; opacity:0; transform:translateY(-50%) scale(.82); }
  14%  { opacity:1; }
  55%  { opacity:1; transform:translateY(-50%) scale(1.05); }
  86%  { left:96%; opacity:.72; }
  100% { left:108%; opacity:0; transform:translateY(-50%) scale(.9); }
}

@media (prefers-reduced-motion:reduce){
  .cw-tarot .cw-event::before,
  .cw-tarot .cw-event__sparkles{
    animation:none !important;
  }
}

@media (max-width:720px){
  .cw-tarot .cw-event{
    min-height:58px !important;
    width:100% !important;
  }
  .cw-tarot .cw-event__label{
    font-size:17px !important;
  }
  .cw-tarot .cw-event__sparkles{
    font-size:13px !important;
  }
}


/* ===== v1.6.3 hard override button + vertical face-down cards ===== */

/* ボタンを確実に変更するための強め上書き */
.cw-tarot .cw-result__actions .cw-event,
.cw-tarot .cw-result__actions a.cw-event{
  position:relative !important;
  overflow:hidden !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(100%, 460px) !important;
  min-height:64px !important;
  margin:0 auto !important;
  padding:0 28px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,241,197,.76) !important;
  background:linear-gradient(90deg,#7054df 0%,#8662e7 34%,#6d83ec 66%,#67b9ef 100%) !important;
  box-shadow:
    0 18px 42px rgba(93,105,225,.34),
    inset 0 0 24px rgba(255,255,255,.12),
    0 0 18px rgba(255,228,165,.12) !important;
  text-decoration:none !important;
  transform:none !important;
}

.cw-tarot .cw-result__actions .cw-event .cw-event__label{
  position:relative !important;
  z-index:3 !important;
  font-family:"Hiragino Sans","Yu Gothic","Meiryo",sans-serif !important;
  font-size:19px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:
    0 1px 8px rgba(22,14,78,.32),
    0 0 10px rgba(255,255,255,.08) !important;
}

.cw-tarot .cw-result__actions .cw-event::before{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  top:-70% !important;
  left:-34% !important;
  width:22% !important;
  height:240% !important;
  transform:rotate(18deg) !important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.14),
    rgba(255,255,255,.92),
    rgba(255,255,255,.20),
    rgba(255,255,255,0)
  ) !important;
  filter:blur(1px) !important;
  animation:cwEventShineFlowV163 2.15s cubic-bezier(.45,0,.25,1) infinite !important;
}

.cw-tarot .cw-result__actions .cw-event .cw-event__sparkles{
  position:absolute !important;
  z-index:2 !important;
  top:50% !important;
  left:-24% !important;
  transform:translateY(-50%) !important;
  color:#fff8d6 !important;
  -webkit-text-fill-color:#fff8d6 !important;
  font-size:15px !important;
  letter-spacing:.28em !important;
  white-space:nowrap !important;
  text-shadow:
    0 0 5px #fff,
    0 0 12px rgba(255,232,170,.95),
    0 0 20px rgba(217,204,255,.75) !important;
  pointer-events:none !important;
  animation:cwEventSparkleFlowV163 2.8s ease-in-out infinite !important;
}

.cw-tarot .cw-result__actions .cw-event:hover{
  transform:translateY(-2px) scale(1.015) !important;
  filter:brightness(1.07) !important;
}

@keyframes cwEventShineFlowV163{
  0%   { left:-34%; opacity:0; }
  14%  { opacity:.92; }
  58%  { opacity:1; }
  84%  { left:112%; opacity:.65; }
  100% { left:112%; opacity:0; }
}
@keyframes cwEventSparkleFlowV163{
  0%   { left:-24%; opacity:0; transform:translateY(-50%) scale(.82); }
  14%  { opacity:1; }
  55%  { opacity:1; transform:translateY(-50%) scale(1.05); }
  86%  { left:96%; opacity:.72; }
  100% { left:108%; opacity:0; transform:translateY(-50%) scale(.9); }
}

/* 裏返し3枚カードを縦に整列 */
.cw-tarot .cw-tarot__cards{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px !important;
}

.cw-tarot .cw-card{
  width:min(220px, 72vw) !important;
  max-width:min(220px, 72vw) !important;
  min-width:min(220px, 72vw) !important;
  flex:none !important;
  margin:0 !important;
  transform:none !important;
  rotate:0deg !important;
}

.cw-tarot .cw-card:nth-child(1),
.cw-tarot .cw-card:nth-child(2),
.cw-tarot .cw-card:nth-child(3){
  margin:0 !important;
  transform:none !important;
  rotate:0deg !important;
}

.cw-tarot .cw-card:hover{
  transform:translateY(-4px) !important;
  rotate:0deg !important;
}

@media (max-width:720px){
  .cw-tarot .cw-result__actions .cw-event{
    min-height:58px !important;
    width:100% !important;
  }
  .cw-tarot .cw-result__actions .cw-event .cw-event__label{
    font-size:17px !important;
  }
  .cw-tarot .cw-result__actions .cw-event .cw-event__sparkles{
    font-size:13px !important;
  }
  .cw-tarot .cw-tarot__cards{
    gap:12px !important;
  }
  .cw-tarot .cw-card{
    width:min(200px, 74vw) !important;
    max-width:min(200px, 74vw) !important;
    min-width:min(200px, 74vw) !important;
  }
}


/* ===== v1.6.4 three face-down cards in one straight horizontal row ===== */
.cw-tarot .cw-tarot__cards{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:14px !important;
  flex-wrap:nowrap !important;
}

.cw-tarot .cw-card{
  width:calc((100% - 28px) / 3) !important;
  max-width:180px !important;
  min-width:0 !important;
  flex:1 1 0 !important;
  margin:0 !important;
  transform:none !important;
  rotate:0deg !important;
}

.cw-tarot .cw-card:nth-child(1),
.cw-tarot .cw-card:nth-child(2),
.cw-tarot .cw-card:nth-child(3){
  margin:0 !important;
  transform:none !important;
  rotate:0deg !important;
}

.cw-tarot .cw-card:hover{
  transform:translateY(-4px) !important;
  rotate:0deg !important;
}

@media (max-width:720px){
  .cw-tarot .cw-tarot__cards{
    gap:8px !important;
  }
  .cw-tarot .cw-card{
    width:calc((100% - 16px) / 3) !important;
    max-width:calc((100% - 16px) / 3) !important;
    min-width:calc((100% - 16px) / 3) !important;
    flex:0 0 calc((100% - 16px) / 3) !important;
  }
}


/* ===== v1.6.5 initial three cards: straight portrait cards in one horizontal row ===== */

/* 起動時のシャッフル・傾き演出は完全に無効 */
.cw-tarot .cw-tarot__cards.is-shuffling .cw-card,
.cw-tarot .cw-tarot__cards.is-shuffling .cw-card:nth-child(1),
.cw-tarot .cw-tarot__cards.is-shuffling .cw-card:nth-child(2),
.cw-tarot .cw-tarot__cards.is-shuffling .cw-card:nth-child(3){
  animation:none !important;
  transform:none !important;
  rotate:0deg !important;
}

/* 3枚を横一列、同じ高さから綺麗に並べる */
.cw-tarot .cw-tarot__cards{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  align-items:start !important;
  justify-items:center !important;
  gap:14px !important;
  width:100% !important;
  overflow:visible !important;
}

/* 各カードは縦向き（ポートレート）で、斜めなし */
.cw-tarot .cw-card,
.cw-tarot .cw-card:nth-child(1),
.cw-tarot .cw-card:nth-child(2),
.cw-tarot .cw-card:nth-child(3){
  display:block !important;
  width:100% !important;
  max-width:180px !important;
  min-width:0 !important;
  margin:0 !important;
  align-self:start !important;
  transform:none !important;
  rotate:0deg !important;
  animation:none !important;
}

/* 裏返し状態のカード本体も傾けない */
.cw-tarot .cw-card:not(.is-revealed) .cw-card__inner{
  transform:none !important;
  rotate:0deg !important;
}

/* カードの縦長比率を統一 */
.cw-tarot .cw-card__inner{
  width:100% !important;
  aspect-ratio:0.65 !important;
}

/* PCでもホバー時に斜めにならない */
.cw-tarot .cw-card:hover{
  transform:translateY(-4px) !important;
  rotate:0deg !important;
}

/* 選択後の未選択カードも傾けない */
.cw-tarot .cw-card.is-muted{
  transform:scale(.95) !important;
  rotate:0deg !important;
}

@media (max-width:720px){
  .cw-tarot .cw-tarot__cards{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:8px !important;
    padding:0 2px !important;
  }

  .cw-tarot .cw-card,
  .cw-tarot .cw-card:nth-child(1),
  .cw-tarot .cw-card:nth-child(2),
  .cw-tarot .cw-card:nth-child(3){
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    transform:none !important;
    rotate:0deg !important;
  }

  .cw-tarot .cw-card:not(.is-revealed) .cw-card__inner{
    transform:none !important;
    rotate:0deg !important;
  }
}


/* ===== v1.6.6 smartphone straight-back hard reset ===== */

/* 3枚は必ず横一列 */
.cw-tarot .cw-tarot__cards{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  align-items:start !important;
  justify-items:stretch !important;
  gap:8px !important;
  width:100% !important;
}

/* ボタン自体を完全に水平・回転なし */
.cw-tarot .cw-card,
.cw-tarot .cw-card:nth-child(1),
.cw-tarot .cw-card:nth-child(2),
.cw-tarot .cw-card:nth-child(3){
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  rotate:0deg !important;
  perspective:none !important;
  animation:none !important;
}

/* 初期の裏面は2:3の縦長カード */
.cw-tarot .cw-card__inner{
  width:100% !important;
  aspect-ratio:2 / 3 !important;
  transform:none !important;
  rotate:0deg !important;
  perspective:none !important;
  transform-style:flat !important;
}

/* 裏面の箱も一切傾けない */
.cw-tarot .cw-card__back{
  inset:0 !important;
  transform:none !important;
  rotate:0deg !important;
  perspective:none !important;
  clip-path:none !important;
}

/* 裏面画像そのものを強制的に真っ直ぐ表示 */
.cw-tarot .cw-card__back-image{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;

  object-fit:fill !important;
  object-position:center center !important;

  transform:none !important;
  rotate:0deg !important;
  scale:1 !important;
  translate:none !important;
  perspective:none !important;
  clip-path:none !important;

  border-radius:12px !important;
  filter:none !important;
}

/* hoverでも傾けない */
.cw-tarot .cw-card:hover{
  transform:translateY(-3px) !important;
  rotate:0deg !important;
}

/* スマホではさらに厳密に固定 */
@media (max-width:720px){
  .cw-tarot .cw-tarot__cards{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:7px !important;
    padding:0 2px !important;
  }

  .cw-tarot .cw-card,
  .cw-tarot .cw-card:nth-child(1),
  .cw-tarot .cw-card:nth-child(2),
  .cw-tarot .cw-card:nth-child(3){
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    transform:none !important;
    rotate:0deg !important;
    perspective:none !important;
  }

  .cw-tarot .cw-card__inner,
  .cw-tarot .cw-card:not(.is-revealed) .cw-card__inner,
  .cw-tarot .cw-card__back,
  .cw-tarot .cw-card__back-image{
    transform:none !important;
    rotate:0deg !important;
    perspective:none !important;
  }

  .cw-tarot .cw-card__inner{
    aspect-ratio:2 / 3 !important;
  }
}


/* ===== v1.6.8 flip action + once-per-day restore ===== */

/* 3枚は必ず縦長・横一列・斜めなし */
.cw-tarot .cw-tarot__cards{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  align-items:start !important;
}

.cw-tarot .cw-card,
.cw-tarot .cw-card:nth-child(1),
.cw-tarot .cw-card:nth-child(2),
.cw-tarot .cw-card:nth-child(3){
  transform:none !important;
  rotate:0deg !important;
  perspective:1200px !important;
}

.cw-tarot .cw-card__inner{
  aspect-ratio:2 / 3 !important;
  transform-style:preserve-3d !important;
  transition:transform .9s cubic-bezier(.2,.75,.15,1) !important;
}

.cw-tarot .cw-card:not(.is-revealed) .cw-card__inner{
  transform:rotateY(0deg) !important;
}

.cw-tarot .cw-card.is-revealed .cw-card__inner{
  transform:rotateY(180deg) !important;
}

.cw-tarot .cw-card__back,
.cw-tarot .cw-card__front{
  -webkit-backface-visibility:hidden !important;
  backface-visibility:hidden !important;
  transform-style:preserve-3d !important;
}

.cw-tarot .cw-card__front{
  transform:rotateY(180deg) !important;
}

.cw-tarot .cw-card__back,
.cw-tarot .cw-card__back-image{
  transform:none !important;
  rotate:0deg !important;
}

/* めくる前のアクション */
.cw-tarot .cw-card.is-picking{
  animation:cwTarotPickLift .42s ease forwards !important;
  filter:drop-shadow(0 0 18px rgba(255,235,170,.36)) !important;
}

.cw-tarot .cw-card.is-picking::after{
  content:"" !important;
  position:absolute !important;
  inset:-4px !important;
  border-radius:24px !important;
  background:radial-gradient(circle at 50% 50%, rgba(255,241,193,.26), rgba(255,241,193,0) 65%) !important;
  animation:cwTarotPickGlow .42s ease forwards !important;
  pointer-events:none !important;
}

@keyframes cwTarotPickLift{
  0%{ transform:translateY(0) scale(1) !important; }
  45%{ transform:translateY(-8px) scale(1.04) !important; }
  100%{ transform:translateY(-2px) scale(1.01) !important; }
}

@keyframes cwTarotPickGlow{
  0%{ opacity:0; }
  30%{ opacity:1; }
  100%{ opacity:.15; }
}

/* ホバーでも斜め禁止 */
.cw-tarot .cw-card:hover{
  transform:translateY(-4px) !important;
  rotate:0deg !important;
}

.cw-tarot .cw-card.is-muted{
  transform:scale(.95) !important;
  rotate:0deg !important;
}

@media (max-width:720px){
  .cw-tarot .cw-tarot__cards{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    padding:0 2px !important;
  }

  .cw-tarot .cw-card,
  .cw-tarot .cw-card:nth-child(1),
  .cw-tarot .cw-card:nth-child(2),
  .cw-tarot .cw-card:nth-child(3){
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
  }
}


/* ===== v1.7.0 staff auto tarot page ===== */

.cw-tarot-staff{
  position:relative;
  color:#fff;
  margin:0 auto;
  padding:28px 0;
  background:
    radial-gradient(circle at top, rgba(130,108,255,.20), transparent 30%),
    linear-gradient(180deg,#061640 0%,#122563 52%,#221950 100%);
  border-radius:28px;
  overflow:hidden;
}

.cw-tarot-staff__sky{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.65;
}
.cw-tarot-staff__sky i{
  position:absolute;
  width:4px;height:4px;
  border-radius:50%;
  background:#fff6df;
  box-shadow:0 0 12px rgba(255,245,210,.95);
  animation:cwStaffTwinkle 3.8s ease-in-out infinite;
}
.cw-tarot-staff__sky i:nth-child(1){top:8%;left:10%}
.cw-tarot-staff__sky i:nth-child(2){top:12%;left:74%;animation-delay:.7s}
.cw-tarot-staff__sky i:nth-child(3){top:24%;left:89%;animation-delay:1.3s}
.cw-tarot-staff__sky i:nth-child(4){top:41%;left:7%;animation-delay:1.9s}
.cw-tarot-staff__sky i:nth-child(5){top:56%;left:84%;animation-delay:.4s}
.cw-tarot-staff__sky i:nth-child(6){top:82%;left:18%;animation-delay:2.2s}

@keyframes cwStaffTwinkle{
  0%,100%{opacity:.25;transform:scale(.7)}
  50%{opacity:1;transform:scale(1.2)}
}

.cw-tarot-staff__shell{
  position:relative;
  z-index:1;
  max-width:1120px;
  margin:0 auto;
  padding:0 22px;
}

.cw-tarot-staff__hero{
  text-align:center;
  padding:8px 0 18px;
}
.cw-tarot-staff__brand{
  font-size:14px;
  letter-spacing:.2em;
  color:#f4e6bb;
  font-weight:700;
  margin-bottom:8px;
}
.cw-tarot-staff__eyebrow{
  margin:0 0 8px;
  color:#d8caff;
  letter-spacing:.15em;
  font-size:12px;
}
.cw-tarot-staff__title{
  margin:0;
  font-size:clamp(28px,4vw,44px);
  line-height:1.15;
  color:#fff7ea;
}
.cw-tarot-staff__lead{
  max-width:760px;
  margin:14px auto 0;
  color:#f5edf9;
  line-height:1.8;
}

.cw-tarot-staff__controls{
  display:flex;
  gap:12px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  margin-top:12px;
}

.cw-staff-start,
.cw-staff-reset{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:14px 26px;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight:800;
  font-size:15px;
  cursor:pointer;
  transition:.25s ease;
}
.cw-staff-start{
  color:#fff;
  background:linear-gradient(135deg,#ff8f2b,#ff4da0);
  box-shadow:0 10px 28px rgba(255,107,173,.28);
}
.cw-staff-reset{
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.22);
}
.cw-staff-start:hover,
.cw-staff-reset:hover{
  transform:translateY(-2px);
}
.cw-staff-start:disabled,
.cw-staff-reset:disabled{
  opacity:.6;
  cursor:not-allowed;
  transform:none;
}

.cw-staff-status{
  margin:16px auto 0;
  text-align:center;
  color:#ffe8bb;
  font-weight:700;
  letter-spacing:.04em;
}

.cw-staff-board{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.cw-staff-card{
  position:relative;
  border:0;
  background:transparent;
  padding:0;
  color:#fff;
  min-width:0;
  width:100%;
  pointer-events:none;
  transition:.25s ease;
}

.cw-staff-card__inner{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:2 / 3;
  transform-style:preserve-3d;
  transition:transform .9s cubic-bezier(.2,.75,.15,1);
}

.cw-staff-card__back,
.cw-staff-card__front{
  position:absolute;
  inset:0;
  border-radius:18px;
  overflow:hidden;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  border:2px solid rgba(255,226,170,.88);
  box-shadow:0 10px 28px rgba(0,0,0,.24);
  background:#071a4d;
}

.cw-staff-card__front{
  transform:rotateY(180deg);
}
.cw-staff-card__back-image,
.cw-staff-card__image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.cw-staff-card.is-active{
  transform:translateY(-6px) scale(1.03);
}
.cw-staff-card.is-active .cw-staff-card__back{
  box-shadow:0 0 0 2px rgba(255,248,204,.62),0 0 25px rgba(255,224,153,.55),0 14px 28px rgba(0,0,0,.28);
  border-color:#fff3c1;
}
.cw-staff-card.is-selected{
  transform:translateY(-8px) scale(1.04);
}
.cw-staff-card.is-selected .cw-staff-card__inner{
  transform:rotateY(180deg);
}
.cw-staff-card.is-selected::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:22px;
  border:2px solid rgba(255,240,180,.82);
  box-shadow:0 0 30px rgba(255,226,160,.55);
  pointer-events:none;
}

.cw-staff-result{
  margin-top:28px;
  padding:28px;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(6,24,71,.82),rgba(9,33,88,.94));
  border:1px solid rgba(255,230,182,.38);
  box-shadow:0 16px 48px rgba(0,0,0,.24);
}
.cw-staff-result__top{
  display:grid;
  grid-template-columns:minmax(200px,280px) 1fr;
  gap:28px;
  align-items:center;
}
.cw-staff-result__card{
  border-radius:20px;
  overflow:hidden;
  border:2px solid rgba(255,218,160,.9);
  box-shadow:0 15px 36px rgba(0,0,0,.3);
  background:#071a4d;
}
.cw-staff-result__image{
  width:100%;
  display:block;
}
.cw-staff-result__picked{
  color:#ffd6ea;
  font-size:12px;
  letter-spacing:.16em;
  margin-bottom:10px;
}
.cw-staff-result__roman{
  color:#ffd99a;
  font-family:Georgia,serif;
  letter-spacing:.18em;
}
.cw-staff-result__name{
  margin:4px 0 0;
  font-size:clamp(32px,5vw,52px);
  line-height:1.08;
  font-family:Georgia,"Yu Mincho",serif;
}
.cw-staff-result__en{
  margin-top:8px;
  color:#ffd8ea;
  letter-spacing:.18em;
  font-family:Georgia,serif;
  font-size:13px;
}
.cw-staff-result__theme{
  margin:14px 0 18px;
  font-size:18px;
  color:#fff0d8;
}
.cw-staff-result__ratings{
  border-top:1px solid rgba(255,255,255,.15);
  padding-top:14px;
}
.cw-staff-result__ratings div{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:7px 0;
  font-size:15px;
}
.cw-staff-result__ratings b{ color:#ffd7a0; }

.cw-staff-result__message{
  margin-top:22px;
  padding:20px 22px;
  border-radius:20px;
  background:linear-gradient(120deg,rgba(255,124,181,.11),rgba(73,137,255,.12));
  border:1px solid rgba(255,255,255,.13);
}
.cw-staff-result__message-title{
  color:#ffb9d5;
  font-weight:800;
  margin-bottom:8px;
}
.cw-staff-result__message p{
  margin:0;
  line-height:1.9;
}

.cw-staff-result__grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:18px;
}
.cw-staff-result__grid article{
  min-height:96px;
  padding:18px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.cw-staff-result__grid small{
  display:block;
  color:#d7d9ff;
  font-size:12px;
  margin-bottom:8px;
}
.cw-staff-result__grid strong{
  color:#fff8ee;
  line-height:1.65;
  font-size:17px;
}

@media (max-width:960px){
  .cw-staff-board{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:720px){
  .cw-staff-board{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
  }
  .cw-staff-result{
    padding:22px 16px;
  }
  .cw-staff-result__top{
    grid-template-columns:1fr;
  }
  .cw-staff-result__card{
    max-width:280px;
    margin:0 auto;
  }
  .cw-staff-result__grid{
    grid-template-columns:1fr;
  }
}


/* ===== v1.7.1 deluxe staff page + full screen reveal ===== */

.cw-tarot-staff{
  box-shadow:
    0 26px 70px rgba(5,10,34,.24),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.cw-tarot-staff::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,220,147,.18), transparent 20%),
    radial-gradient(circle at 82% 14%, rgba(255,164,219,.14), transparent 22%),
    radial-gradient(circle at 50% 100%, rgba(162,123,255,.12), transparent 34%);
  pointer-events:none;
}

.cw-tarot-staff__shell{
  padding-bottom:10px;
}

.cw-tarot-staff__hero{
  position:relative;
  padding:18px 0 24px;
}

.cw-tarot-staff__hero::after{
  content:"";
  display:block;
  width:min(180px,38vw);
  height:2px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,rgba(255,220,170,.92),transparent);
  box-shadow:0 0 20px rgba(255,220,170,.32);
}

.cw-tarot-staff__title{
  text-shadow:0 2px 18px rgba(255,240,207,.12);
}

.cw-tarot-staff__controls{
  margin-top:8px;
}

.cw-staff-start,
.cw-staff-reset,
.cw-staff-sound{
  position:relative;
  overflow:hidden;
  min-width:144px;
}

.cw-staff-sound{
  appearance:none;
  border-radius:999px;
  padding:14px 22px;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-weight:800;
  font-size:15px;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.22);
  transition:.25s ease;
}
.cw-staff-sound.is-muted{
  opacity:.72;
  background:linear-gradient(135deg,rgba(86,97,138,.42),rgba(52,59,97,.44));
}
.cw-staff-start::after,
.cw-staff-reset::after,
.cw-staff-sound::after{
  content:"";
  position:absolute;
  top:-80%;
  left:-45%;
  width:28%;
  height:260%;
  transform:rotate(20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),rgba(255,255,255,.75),transparent);
  animation:cwStaffBtnShine 4s ease-in-out infinite;
  pointer-events:none;
}
.cw-staff-reset::after{ animation-delay:1.1s; }
.cw-staff-sound::after{ animation-delay:1.9s; }

@keyframes cwStaffBtnShine{
  0%{ left:-45%; opacity:0; }
  14%{ opacity:1; }
  32%{ left:130%; opacity:.7; }
  100%{ left:130%; opacity:0; }
}

.cw-staff-board{
  position:relative;
  padding:16px;
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)),
    linear-gradient(180deg, rgba(5,16,48,.22), rgba(8,24,67,.22));
  border:1px solid rgba(255,232,182,.14);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 18px 40px rgba(0,0,0,.18);
}

.cw-staff-card{
  transform-origin:center center;
}

.cw-staff-card__back,
.cw-staff-card__front{
  border-radius:20px;
}

.cw-staff-card.is-active{
  transform:translateY(-10px) scale(1.05);
}
.cw-staff-card.is-active .cw-staff-card__back{
  box-shadow:
    0 0 0 2px rgba(255,248,204,.7),
    0 0 30px rgba(255,228,156,.58),
    0 18px 32px rgba(0,0,0,.32);
}
.cw-staff-card.is-selected{
  transform:translateY(-12px) scale(1.07);
}

.cw-staff-status{
  padding:10px 14px;
  border-radius:999px;
  width:fit-content;
  max-width:100%;
  background:linear-gradient(90deg, rgba(255,226,174,.14), rgba(255,196,234,.08));
  border:1px solid rgba(255,235,199,.16);
}

.cw-staff-overlay{
  position:fixed;
  inset:0;
  z-index:999999;
}
.cw-staff-overlay[hidden]{
  display:none !important;
}
.cw-staff-overlay__backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(5,10,30,.82);
  backdrop-filter:blur(10px);
  cursor:pointer;
}
.cw-staff-overlay__content{
  position:relative;
  z-index:2;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px 18px;
  text-align:center;
  color:#fff;
  animation:cwStaffOverlayIn .55s cubic-bezier(.18,.8,.18,1) both;
}
.cw-staff-overlay__halo{
  position:absolute;
  width:min(78vw,620px);
  aspect-ratio:1/1;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,237,183,.28) 0%, rgba(255,202,237,.12) 35%, rgba(116,100,255,.04) 60%, transparent 72%);
  filter:blur(2px);
  animation:cwStaffHaloPulse 2.8s ease-in-out infinite;
}
.cw-staff-overlay__picked{
  position:relative;
  z-index:3;
  color:#ffe0bd;
  letter-spacing:.22em;
  font-size:12px;
  margin-bottom:14px;
}
.cw-staff-overlay__card{
  position:relative;
  z-index:3;
  width:min(48vw,360px);
  min-width:240px;
  border-radius:24px;
  overflow:hidden;
  border:3px solid rgba(255,232,181,.92);
  box-shadow:
    0 0 0 2px rgba(255,255,255,.18),
    0 0 42px rgba(255,222,149,.28),
    0 26px 60px rgba(0,0,0,.35);
  transform:translateY(0) scale(1);
  animation:cwStaffRevealFloat 2.6s ease-in-out infinite;
  background:#09184a;
}
.cw-staff-overlay__image{
  display:block;
  width:100%;
}
.cw-staff-overlay__roman{
  position:relative;
  z-index:3;
  margin-top:18px;
  color:#ffd89d;
  letter-spacing:.2em;
  font-family:Georgia,serif;
}
.cw-staff-overlay__name{
  position:relative;
  z-index:3;
  margin:6px 0 0;
  font-size:clamp(36px,7vw,72px);
  line-height:1.06;
  color:#fff8ee;
  text-shadow:0 4px 24px rgba(255,213,143,.18);
  font-family:Georgia,"Yu Mincho",serif;
}
.cw-staff-overlay__en{
  position:relative;
  z-index:3;
  margin-top:8px;
  color:#f8dce9;
  letter-spacing:.24em;
  font-size:13px;
  font-family:Georgia,serif;
}
.cw-staff-overlay__theme{
  position:relative;
  z-index:3;
  max-width:640px;
  margin:16px auto 0;
  line-height:1.8;
  color:#fff0d8;
  font-size:clamp(16px,2.2vw,22px);
}
.cw-staff-overlay__close{
  position:relative;
  z-index:3;
  margin-top:24px;
  appearance:none;
  border:0;
  border-radius:999px;
  padding:14px 30px;
  color:#fff;
  font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  background:linear-gradient(135deg,#ff8f2b,#ff4da0);
  box-shadow:0 12px 28px rgba(255,108,176,.24);
}

@keyframes cwStaffOverlayIn{
  0%{ opacity:0; }
  100%{ opacity:1; }
}
@keyframes cwStaffHaloPulse{
  0%,100%{ transform:scale(.94); opacity:.66; }
  50%{ transform:scale(1.04); opacity:1; }
}
@keyframes cwStaffRevealFloat{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-8px) scale(1.015); }
}

.cw-staff-result{
  margin-top:30px;
  background:
    linear-gradient(180deg,rgba(7,24,71,.92),rgba(9,33,88,.97)),
    radial-gradient(circle at top right, rgba(255,184,222,.08), transparent 24%);
}

body.cw-tarot-staff-page .cw-love-tarot-fixed,
body.cw-tarot-staff-page .cw-follow-button,
body.cw-tarot-staff-page .cw-floating-button,
body.cw-tarot-staff-page .floating-banner,
body.cw-tarot-staff-page .sticky-cta,
body.cw-tarot-staff-page .fixed-cta{
  display:none !important;
}

@media (max-width:720px){
  .cw-staff-start,
  .cw-staff-reset,
  .cw-staff-sound{
    min-width:0;
    width:100%;
  }
  .cw-tarot-staff__controls{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .cw-staff-status{
    text-align:center;
    width:100%;
  }
  .cw-staff-board{
    padding:10px;
    border-radius:20px;
  }
  .cw-staff-overlay__card{
    width:min(76vw,360px);
    min-width:0;
  }
}


/* ===== v1.7.2 staff single-card roulette ===== */

.cw-tarot-staff .cw-staff-board{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:520px !important;
  padding:32px 18px !important;
  overflow:visible !important;
}

.cw-staff-single{
  position:relative;
  width:min(300px,62vw);
  perspective:1400px;
  transform-style:preserve-3d;
}

.cw-staff-single__shadow{
  position:absolute;
  left:50%;
  bottom:-34px;
  width:72%;
  height:30px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.36),rgba(0,0,0,0) 72%);
  filter:blur(7px);
  transition:.45s ease;
}

.cw-staff-single__inner{
  position:relative;
  width:100%;
  aspect-ratio:2 / 3;
  transform-style:preserve-3d;
  will-change:transform;
}

.cw-staff-single__back,
.cw-staff-single__front{
  position:absolute;
  inset:0;
  border-radius:24px;
  overflow:hidden;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  border:3px solid rgba(255,231,178,.92);
  box-shadow:
    0 0 0 2px rgba(255,255,255,.10),
    0 22px 50px rgba(0,0,0,.32),
    0 0 26px rgba(255,220,156,.16);
  background:#08184b;
}

.cw-staff-single__front{
  transform:rotateY(180deg);
}

.cw-staff-single__back-image,
.cw-staff-single__image{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}

.cw-staff-single.is-spinning{
  animation:cwStaffSingleFloat .85s ease-in-out infinite alternate;
}

.cw-staff-single.is-spinning .cw-staff-single__shadow{
  width:58%;
  opacity:.65;
}

.cw-staff-single.is-spinning::before,
.cw-staff-single.is-spinning::after{
  content:"✦";
  position:absolute;
  z-index:5;
  color:#fff3c6;
  text-shadow:
    0 0 6px #fff,
    0 0 14px rgba(255,224,157,.95),
    0 0 24px rgba(204,190,255,.75);
  pointer-events:none;
  animation:cwStaffSingleSpark 1.1s ease-in-out infinite alternate;
}

.cw-staff-single.is-spinning::before{
  left:-26px;
  top:18%;
  font-size:20px;
}

.cw-staff-single.is-spinning::after{
  right:-24px;
  bottom:20%;
  font-size:16px;
  animation-delay:.35s;
}

.cw-staff-single.is-final{
  animation:cwStaffFinalPulse 1.6s ease-in-out 1;
}

.cw-staff-single.is-final .cw-staff-single__front{
  box-shadow:
    0 0 0 3px rgba(255,248,220,.28),
    0 0 46px rgba(255,224,145,.52),
    0 30px 70px rgba(0,0,0,.38);
}

@keyframes cwStaffSingleFloat{
  0%{ transform:translateY(0) scale(1); }
  100%{ transform:translateY(-10px) scale(1.02); }
}

@keyframes cwStaffSingleSpark{
  0%{ opacity:.2; transform:scale(.7) rotate(0deg); }
  100%{ opacity:1; transform:scale(1.25) rotate(14deg); }
}

@keyframes cwStaffFinalPulse{
  0%{ transform:scale(1); }
  35%{ transform:scale(1.06); }
  100%{ transform:scale(1); }
}

@media (max-width:720px){
  .cw-tarot-staff .cw-staff-board{
    min-height:430px !important;
    padding:24px 10px !important;
  }

  .cw-staff-single{
    width:min(72vw,290px);
  }
}


/* ===== v1.7.3 readability + divine reveal ===== */

.cw-tarot-staff{
  background:
    radial-gradient(circle at 50% 0%, rgba(255,225,154,.12), transparent 26%),
    radial-gradient(circle at 20% 18%, rgba(255,193,227,.10), transparent 24%),
    radial-gradient(circle at 78% 16%, rgba(165,138,255,.13), transparent 22%),
    linear-gradient(180deg,#0a174b 0%, #162b75 48%, #1d1f63 100%) !important;
}

.cw-tarot-staff__brand{
  color:#fff0c8 !important;
  text-shadow:0 0 10px rgba(255,229,167,.18);
}

.cw-tarot-staff__eyebrow{
  color:#d9c9ff !important;
  opacity:.95;
  text-shadow:0 1px 12px rgba(223,207,255,.14);
}

.cw-tarot-staff__title{
  color:#fff !important;
  background:linear-gradient(180deg,#fffdf8 0%, #ffe7c7 42%, #f0d9ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:none !important;
  letter-spacing:.02em;
}

.cw-tarot-staff__lead{
  color:#ffffff !important;
  font-size:clamp(17px,2vw,22px);
  font-weight:700;
  line-height:1.9;
  text-shadow:0 2px 16px rgba(0,0,0,.18);
  max-width:700px;
}

.cw-staff-status{
  color:#ffffff !important;
  font-weight:800 !important;
  letter-spacing:.06em;
  background:
    linear-gradient(90deg, rgba(255,234,188,.12), rgba(230,215,255,.08)) !important;
  border:1px solid rgba(255,237,199,.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 8px 18px rgba(0,0,0,.10);
}

/* remove duplicate explanation feel: keep this concise, white, centered */
.cw-tarot-staff__hero + .cw-tarot-staff__controls + .cw-staff-status{
  margin-top:16px;
}

.cw-staff-overlay__backdrop{
  background:
    radial-gradient(circle at 50% 24%, rgba(255,228,171,.24), transparent 18%),
    radial-gradient(circle at 50% 45%, rgba(245,214,255,.16), transparent 24%),
    linear-gradient(180deg, rgba(7,12,36,.94), rgba(13,18,54,.97)) !important;
  backdrop-filter:blur(12px);
}

.cw-staff-overlay__content{
  background:
    radial-gradient(circle at 50% 22%, rgba(255,233,180,.14), transparent 20%),
    radial-gradient(circle at 50% 65%, rgba(180,145,255,.10), transparent 26%);
}

.cw-staff-overlay__content::before,
.cw-staff-overlay__content::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.cw-staff-overlay__content::before{
  width:min(82vw,760px);
  aspect-ratio:1/1;
  background:radial-gradient(circle, rgba(255,236,189,.12) 0%, rgba(255,236,189,0) 68%);
  filter:blur(10px);
}
.cw-staff-overlay__content::after{
  inset:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.85) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 18%, rgba(255,245,221,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 34%, rgba(255,237,198,.7) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 24% 72%, rgba(255,246,228,.72) 0 1.6px, transparent 2.4px),
    radial-gradient(circle at 66% 78%, rgba(255,238,208,.8) 0 2px, transparent 3px);
  opacity:.9;
}

.cw-staff-overlay__picked{
  color:#ffe2b7 !important;
  text-shadow:0 0 10px rgba(255,227,172,.2);
}

.cw-staff-overlay__roman{
  color:#ffd99b !important;
  text-shadow:0 0 10px rgba(255,221,155,.24);
}

.cw-staff-overlay__name{
  background:linear-gradient(180deg,#fffef9 0%, #ffe6b7 38%, #f7ddff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.cw-staff-overlay__en{
  color:#ffe5ef !important;
}

.cw-staff-overlay__theme{
  color:#fff9ec !important;
  font-weight:700;
  text-shadow:0 2px 12px rgba(0,0,0,.16);
}

.cw-staff-overlay__close{
  background:linear-gradient(135deg,#f8a03b,#f25fa9) !important;
}

.cw-staff-result{
  background:
    radial-gradient(circle at 50% 0%, rgba(255,228,168,.10), transparent 20%),
    radial-gradient(circle at 85% 12%, rgba(255,179,221,.08), transparent 22%),
    linear-gradient(180deg, rgba(9,24,72,.98), rgba(20,17,69,.98)) !important;
  border:1px solid rgba(255,226,173,.24) !important;
  box-shadow:
    0 20px 44px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.cw-staff-result__message{
  background:
    linear-gradient(135deg, rgba(255,216,162,.08), rgba(214,184,255,.10)) !important;
  border:1px solid rgba(255,228,186,.16) !important;
}

.cw-staff-result__grid article{
  background:
    linear-gradient(135deg, rgba(255,230,182,.06), rgba(184,164,255,.08)) !important;
  border:1px solid rgba(255,229,184,.14) !important;
}

.cw-staff-result__picked,
.cw-staff-result__roman{
  color:#ffd9a0 !important;
}

.cw-staff-result__name{
  color:#fffaf2 !important;
}

.cw-staff-result__theme,
.cw-staff-message,
.cw-staff-result__grid strong{
  color:#ffffff !important;
}

@media (max-width:720px){
  .cw-tarot-staff__title{
    font-size:clamp(34px, 10vw, 58px);
    line-height:1.1;
  }
  .cw-tarot-staff__lead{
    font-size:18px;
    line-height:1.85;
  }
  .cw-staff-status{
    font-size:16px;
    line-height:1.6;
  }
}


/* ===== v1.7.4 mobile width + no awkward line breaks ===== */

.cw-tarot-staff__shell{
  max-width:1260px !important;
  padding-left:16px !important;
  padding-right:16px !important;
}

.cw-tarot-staff__hero{
  max-width:980px;
  margin:0 auto;
}

.cw-tarot-staff__title{
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
  letter-spacing:0 !important;
}

.cw-tarot-staff__lead{
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
}

@media (max-width:720px){
  .cw-tarot-staff{
    border-radius:24px !important;
  }

  .cw-tarot-staff__shell{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .cw-tarot-staff__hero{
    padding:12px 0 18px !important;
  }

  .cw-tarot-staff__title{
    font-size:clamp(28px, 8.2vw, 44px) !important;
    line-height:1.18 !important;
    max-width:100% !important;
  }

  .cw-tarot-staff__lead{
    font-size:15px !important;
    line-height:1.75 !important;
    max-width:100% !important;
    margin-top:12px !important;
  }

  .cw-tarot-staff__eyebrow{
    font-size:11px !important;
    letter-spacing:.12em !important;
  }

  .cw-staff-status{
    font-size:14px !important;
    padding:10px 12px !important;
  }

  .cw-staff-result{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}


/* ===== v1.7.5 isolate staff page content ===== */
body.cw-tarot-staff-page .cw-staff-page-hidden{
  display:none !important;
}

body.cw-tarot-staff-page .cw-staff-page-keep{
  display:block !important;
}


/* ===== v1.7.6 stronger isolate logic ===== */
body.cw-tarot-staff-page .cw-staff-page-hidden,
body.cw-tarot-staff-page .cw-staff-page-hidden *{
  display:none !important;
}
