html{scroll-behavior:smooth;overflow-y:auto!important}body{overflow-x:hidden!important;overflow-y:auto!important}.vanilla-hidden{display:none!important}
.v-result{margin:18px auto;padding:16px;max-width:900px;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 8px 30px rgba(49,18,80,.18);text-align:center;color:#2b1742}.v-result h3{margin:6px 0 12px;font-size:24px}.v-result p{font-size:18px;line-height:1.5}.v-result a{color:#8b24c9;font-weight:700}.v-card-result{display:flex;gap:14px;justify-content:center;align-items:stretch;flex-wrap:wrap}.v-card-item{width:min(220px,90vw);padding:12px;border-radius:16px;background:#f4edff;box-shadow:0 5px 16px rgba(0,0,0,.14)}.v-card-item img{width:100%;height:310px;object-fit:contain;border-radius:10px}.v-card-item h3{font-size:18px}.list .card{cursor:pointer;transition:transform .2s,filter .2s}.list .card:hover{transform:translateY(-8px);filter:brightness(1.08)}.list.is-shuffling{animation:deckShuffle .6s ease-in-out}.list.is-shuffling .card{pointer-events:none}@keyframes deckShuffle{0%,100%{filter:brightness(1);transform:translateZ(0)}35%{filter:brightness(1.12);transform:translateY(-3px)}70%{filter:brightness(.96);transform:translateY(2px)}}.hat .card img{max-width:100%;max-height:100%;object-fit:contain}.hat .card.v-filled{background:rgba(255,255,255,.82)!important;overflow:hidden}.hat .card.v-filled .num{z-index:2}.q + .a{display:none}.q[aria-expanded=true]+.a{display:block}.q[aria-expanded=true] span:last-child{transform:rotate(45deg)}.theme-dark{filter:none}.theme-dark body{background:#171022!important;color:#f7efff!important}.theme-dark .content,.theme-dark .blocks{color:inherit}.theme-dark .v-result{background:#2b1d3c;color:#fff}.theme-dark .v-card-item{background:#3a2750}.v-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:99999;background:#251337;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s}.v-toast.show{opacity:1}@media(max-width:700px){.v-card-item img{height:250px}.v-result{margin:12px}.hat .cardholders{gap:8px!important}.hat .card{min-width:0!important}}

/* Vanilla layout for the selectable deck: Nuxt previously calculated every card position. */
.cards .list[data-v-95a9db30]{
  position:relative!important;
  display:flex!important;
  align-items:flex-end!important;
  gap:clamp(6px,1vw,14px)!important;
  width:100%!important;
  max-width:100%!important;
  min-height:260px!important;
  padding:90px 24px 24px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  box-sizing:border-box!important;
}
.cards .list[data-v-95a9db30] .h2{
  position:absolute!important;
  top:12px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  max-width:calc(100% - 32px)!important;
  z-index:5!important;
}
.cards .list[data-v-95a9db30] > .card{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  flex:0 0 clamp(72px,7vw,105px)!important;
  width:clamp(72px,7vw,105px)!important;
  height:auto!important;
  margin:0!important;
  scroll-snap-align:center;
  z-index:1!important;
}
.cards .list[data-v-95a9db30] > .card img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:700px){
  .cards .list[data-v-95a9db30]{min-height:220px!important;padding:78px 14px 18px!important;gap:8px!important}
  .cards .list[data-v-95a9db30] > .card{flex-basis:72px!important;width:72px!important}
}

/* Fan all 78 card backs into one visible row on both reading pages. */
.cards .list{
  position:relative!important;
  display:block!important;
  width:min(94vw,1900px)!important;
  max-width:94vw!important;
  height:270px!important;
  min-height:270px!important;
  margin:0 auto!important;
  padding:82px 18px 18px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.cards .list > .h2{
  position:absolute!important;
  top:8px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:max-content!important;
  max-width:calc(100% - 24px)!important;
  z-index:200!important;
}
.cards .list > .card{
  position:absolute!important;
  top:92px!important;
  left:var(--deck-left,18px)!important;
  width:105px!important;
  height:174px!important;
  margin:0!important;
  cursor:pointer!important;
  transition:transform .18s ease,filter .18s ease!important;
  transform-origin:center bottom!important;
}
.cards .list > .card img{
  display:block!important;
  width:105px!important;
  height:174px!important;
  object-fit:fill!important;
}
.cards .list > .card:hover{
  transform:translateY(-12px)!important;
  filter:brightness(1.1)!important;
  z-index:500!important;
}
@media(max-width:700px){
  .cards .list{height:220px!important;min-height:220px!important;padding-top:70px!important}
  .cards .list > .card{top:78px!important;width:78px!important;height:130px!important}
  .cards .list > .card img{width:78px!important;height:130px!important}
}

/* Keep the fanned deck inside the page on every screen size. */
.cards{width:100%!important;max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important}
.cards .list{
  width:calc(100% - 32px)!important;
  max-width:1700px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
}
@media(max-width:700px){
  .cards .list{width:calc(100% - 16px)!important;max-width:calc(100% - 16px)!important}
}

/* Extensionless hosting fix: JS adds inline card positions; keep the one-card spread dense and contained. */
.cards .list{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.cards .list::-webkit-scrollbar{display:none!important}
.cards .list > .card{max-width:none!important}


/* v6: always show a dense full 78-card deck, including elements carrying Nuxt data attributes. */
.cards .list[data-v-95a9db30]{
  position:relative!important;
  display:block!important;
  width:calc(100% - 32px)!important;
  max-width:1700px!important;
  height:270px!important;
  min-height:270px!important;
  margin:0 auto!important;
  padding:82px 18px 18px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.cards .list[data-v-95a9db30] > .card{
  position:absolute!important;
  top:92px!important;
  left:var(--deck-left,18px)!important;
  right:auto!important;
  bottom:auto!important;
  display:block!important;
  flex:none!important;
  width:105px!important;
  min-width:105px!important;
  max-width:none!important;
  height:174px!important;
  margin:0!important;
}
.cards .list[data-v-95a9db30] > .card img{
  display:block!important;
  width:105px!important;
  height:174px!important;
  object-fit:fill!important;
}
@media(max-width:700px){
  .cards .list[data-v-95a9db30]{width:calc(100% - 16px)!important;height:220px!important;min-height:220px!important;padding-top:70px!important}
  .cards .list[data-v-95a9db30] > .card{top:78px!important;width:78px!important;min-width:78px!important;height:130px!important}
  .cards .list[data-v-95a9db30] > .card img{width:78px!important;height:130px!important}
}

/* Personal tarot request modal */
.tarot-modal[hidden]{display:none!important}
.tarot-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:rgba(15,7,28,.72);backdrop-filter:blur(5px)}
.tarot-modal__dialog{position:relative;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:30px;border:2px solid rgba(205,69,255,.55);border-radius:24px;background:#f6f0ff;box-shadow:0 22px 70px rgba(0,0,0,.35);color:#21162e}
.tarot-modal__close{position:absolute;top:12px;right:14px;width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:#5c486c;font-size:34px;line-height:1;cursor:pointer}
.tarot-modal__close:hover{background:rgba(126,45,170,.1)}
.tarot-modal__title{margin:0 44px 8px 0;font-size:clamp(26px,4vw,36px);line-height:1.1}
.tarot-modal__subtitle{margin:0 0 22px;color:#665772;font-size:16px}
.tarot-form{display:grid;gap:15px}
.tarot-form label{display:grid;gap:7px;font-weight:700;font-size:15px}
.tarot-form input,.tarot-form textarea{width:100%;box-sizing:border-box;border:1px solid #bbaaca;border-radius:13px;background:#fff;padding:13px 14px;color:#21162e;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}
.tarot-form textarea{min-height:130px;resize:vertical}
.tarot-form input:focus,.tarot-form textarea:focus{border-color:#bb2df3;box-shadow:0 0 0 4px rgba(187,45,243,.14)}
.tarot-form__submit{border:0;border-radius:14px;padding:14px 18px;background:linear-gradient(90deg,#d64c4b,#69005e);color:#fff;font:700 18px/1.2 inherit;cursor:pointer;box-shadow:0 8px 20px rgba(105,0,94,.22)}
.tarot-form__submit:disabled{opacity:.65;cursor:wait}
.tarot-form__status{min-height:22px;margin:0;font-weight:700;text-align:center}
.tarot-form__status.is-success{color:#16753b}.tarot-form__status.is-error{color:#b42318}
.tarot-form__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.tarot-modal-open{overflow:hidden!important}
.theme-dark .tarot-modal__dialog{background:#21162e;color:#fff}.theme-dark .tarot-modal__subtitle{color:#d5c6df}.theme-dark .tarot-form input,.theme-dark .tarot-form textarea{background:#33243f;color:#fff;border-color:#665171}.theme-dark .tarot-modal__close{color:#fff}
@media(max-width:600px){.tarot-modal{padding:10px}.tarot-modal__dialog{padding:24px 18px 20px;border-radius:18px}.tarot-modal__title{font-size:27px}}
