
:root{
  --acs-bg:#120d1e;
  --acs-card:#1a1328;
  --acs-card-2:#20172f;
  --acs-border:#3e305e;
  --acs-border-strong:#6248a0;
  --acs-text:#f4efff;
  --acs-muted:#c3b9de;
  --acs-gold:#f2d592;
  --acs-purple:#8b68ff;
  --acs-purple-2:#ab91ff;
  --acs-shadow:0 24px 54px rgba(0,0,0,.34);
  --acs-radius-xl:34px;
  --acs-radius-lg:24px;
  --acs-radius-md:18px;
}

.acs-tarot-page{
  background:linear-gradient(180deg,#0d0916 0%, #120d1e 100%);
}

.acs-tarot-ui,
.acs-tarot-ui *{box-sizing:border-box}

.acs-tarot-ui{
  width:min(1320px, calc(100% - 40px));
  margin:0 auto;
  padding:38px 0 84px;
  color:var(--acs-text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.acs-shell[data-theme="dark"]{
  --acs-bg:#120d1e;
  --acs-card:#1a1328;
  --acs-card-2:#20172f;
  --acs-border:#3e305e;
  --acs-border-strong:#6248a0;
  --acs-text:#f4efff;
  --acs-muted:#c3b9de;
  --acs-gold:#f2d592;
  --acs-purple:#8b68ff;
  --acs-purple-2:#ab91ff;
  --acs-shadow:0 24px 54px rgba(0,0,0,.34);
}

.acs-shell{
  position:relative;
  color:var(--acs-text);
}


.acs-tarot-ui .acs-shell,
.acs-tarot-ui .acs-shell p,
.acs-tarot-ui .acs-shell span,
.acs-tarot-ui .acs-shell strong,
.acs-tarot-ui .acs-shell label,
.acs-tarot-ui .acs-shell li{
  color:inherit;
}

.acs-tarot-ui .acs-shell h1,
.acs-tarot-ui .acs-shell h2,
.acs-tarot-ui .acs-shell h3,
.acs-tarot-ui .acs-shell h4,
.acs-tarot-ui .acs-shell h5{
  color:var(--acs-text) !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  -webkit-text-fill-color:currentColor !important;
  text-shadow:none !important;
}

.acs-topbar,
.acs-board-head,
.acs-controls,
.acs-results-head,
.acs-stage-meta,
.acs-summary-meta,
.acs-share-row,
.acs-results-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.acs-topbar{justify-content:space-between;margin-bottom:26px}
.acs-kicker{
  font-size:18px;
  font-weight:800;
  letter-spacing:.02em;
  background:linear-gradient(90deg,var(--acs-gold),var(--acs-purple));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.acs-topbar-actions{display:flex;gap:10px}

.acs-chip,
.acs-btn,
.acs-choice,
.acs-spread,
.acs-meta-pill{
  border:1px solid rgba(0,0,0,0);
  border-radius:18px;
  background:rgba(255,255,255,.74);
  color:var(--acs-text) !important;
  box-shadow:var(--acs-shadow);
}

.acs-shell[data-theme="dark"] .acs-chip,
.acs-shell[data-theme="dark"] .acs-btn,
.acs-shell[data-theme="dark"] .acs-choice,
.acs-shell[data-theme="dark"] .acs-spread,
.acs-shell[data-theme="dark"] .acs-meta-pill{
  background:rgba(255,255,255,.05);
}

.acs-chip,
.acs-meta-pill{
  padding:10px 16px;
  font-size:14px;
  font-weight:600;
}

.acs-chip-icon{
  width:46px;
  height:46px;
  padding:0;
  display:grid;
  place-items:center;
  font-size:18px;
}

.acs-hero{
  text-align:center;
  margin-bottom:24px;
}

.acs-hero p{
  margin:0 0 14px;
  color:var(--acs-muted);
  font-size:18px;
}

.acs-hero h1{
  margin:0 0 18px;
  font-size:clamp(36px,5vw,56px);
  line-height:1.05;
  font-weight:800;
  color:var(--acs-text);
}

.acs-stage-meta{justify-content:center}
.acs-meta-pill{background:rgba(255,255,255,.5)}

.acs-board-section{
  display:grid;
  gap:18px;
}

.acs-board-head{justify-content:space-between}
.acs-inline-note{color:var(--acs-muted);font-size:15px;font-weight:600}

.acs-board{
  background:var(--acs-card);
  border-radius:var(--acs-radius-xl);
  padding:38px 34px;
  box-shadow:var(--acs-shadow);
  border:1px solid rgba(255,255,255,.5);
}

.acs-slots{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:28px;
}

.acs-slot{display:grid;gap:14px;justify-items:center}
.acs-slot-card{
  width:min(100%, 240px);
  position:relative;
}

.acs-slot-frame,
.acs-card-image-wrap,
.acs-product-media{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(244,239,255,.94));
  border:2px dashed var(--acs-border-strong);
}

.acs-shell[data-theme="dark"] .acs-slot-frame,
.acs-shell[data-theme="dark"] .acs-card-image-wrap,
.acs-shell[data-theme="dark"] .acs-product-media{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
}

.acs-slot-frame{aspect-ratio:5/8; width:100%; display:grid; place-items:center}
.acs-slot-image,
.acs-card-image,
.acs-product-image{width:100%;height:100%;object-fit:cover;display:block}

.acs-card-placeholder,
.acs-card-image-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  min-height:180px;
  padding:18px;
  color:var(--acs-muted);
  text-align:center;
  font-weight:700;
}

.acs-slot-overlay{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  border-radius:16px;
  padding:10px 12px;
  background:rgba(29,19,50,.72);
  color:#fff;
  display:grid;
  gap:4px;
  opacity:0;
  transform:translateY(8px);
  transition:.28s ease;
  pointer-events:none;
}

.acs-slot-overlay.is-visible{opacity:1;transform:none}
.acs-slot-overlay strong{font-size:14px;line-height:1.25}
.acs-slot-overlay span{font-size:12px;color:rgba(255,255,255,.78)}
.acs-slot-label{font-size:16px;font-weight:700;text-align:center;color:var(--acs-text)}

.acs-slot.is-entering .acs-slot-frame{animation:acsSlotPop .7s ease}
.acs-slot.is-flipping .acs-slot-frame{animation:acsSlotFlip .62s ease}
@keyframes acsSlotPop{0%{transform:scale(.92)}60%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes acsSlotFlip{0%{transform:rotateY(90deg)}100%{transform:rotateY(0deg)}}

.acs-deck-area{display:flex;justify-content:center}
.acs-deck{
  position:relative;
  width:min(100%, 1040px);
  height:184px;
  border:none;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(247,243,252,.95));
  box-shadow:0 24px 54px rgba(76,47,154,.16);
  cursor:pointer;
  overflow:hidden;
  display:block;
  isolation:isolate;
}

.acs-shell[data-theme="dark"] .acs-deck{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));
  box-shadow:0 24px 54px rgba(19,8,43,.5);
}

.acs-deck-fan{
  position:absolute;
  inset:18px 30px 26px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:0;
  pointer-events:none;
}

.acs-deck-card{
  width:50px;
  height:124px;
  margin-left:-22px;
  border-radius:18px;
  border:1px solid rgba(230,191,117,.7);
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(249,245,252,.98)),
    repeating-linear-gradient(90deg, transparent 0 14px, rgba(230,191,117,.25) 14px 16px, transparent 16px 17px);
  box-shadow:0 12px 24px rgba(55,36,105,.12);
  transform:translateY(calc((var(--i) % 4) * 1px)) rotate(calc((var(--i) - 11) * 0.6deg));
  transform-origin:bottom center;
  transition:transform .28s ease, box-shadow .28s ease;
}

.acs-shell[data-theme="dark"] .acs-deck-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06)),
    repeating-linear-gradient(90deg, transparent 0 14px, rgba(230,191,117,.32) 14px 16px, transparent 16px 17px);
}

.acs-deck-core{
  position:absolute;
  left:50%;
  top:50%;
  width:122px;
  height:154px;
  transform:translate(-50%,-52%);
  border-radius:24px;
  border:1px solid rgba(230,191,117,.76);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,243,252,.98));
  box-shadow:0 16px 36px rgba(64,43,122,.2);
  display:grid;
  place-items:center;
  z-index:2;
}

.acs-shell[data-theme="dark"] .acs-deck-core{
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07));
}

.acs-deck-core span{
  font-size:20px;
  font-weight:900;
  letter-spacing:.22em;
  color:var(--acs-purple);
}

.acs-deck-label{
  position:absolute;
  left:24px;
  right:24px;
  bottom:16px;
  z-index:3;
  text-align:center;
  font-size:14px;
  font-weight:800;
  color:var(--acs-muted);
  letter-spacing:.02em;
}

.acs-deck:hover .acs-deck-card{
  transform:translateY(-4px) rotate(calc((var(--i) - 11) * 0.7deg));
}

.acs-deck:hover .acs-deck-core{
  transform:translate(-50%,-56%);
}

.acs-deck.is-ready .acs-deck-core span{color:var(--acs-purple)}
.acs-deck.is-shuffling{animation:acsDeckPulse .85s ease infinite}
.acs-deck.is-shuffling .acs-deck-card{animation:acsDeckShuffle .7s ease-in-out infinite}
.acs-deck.is-shuffling .acs-deck-core{animation:acsDeckCoreFloat .7s ease-in-out infinite}

@keyframes acsDeckPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes acsDeckShuffle{0%,100%{transform:translateY(0) rotate(calc((var(--i) - 11) * 0.6deg))}50%{transform:translateY(-8px) rotate(calc((var(--i) - 11) * 0.9deg))}}
@keyframes acsDeckCoreFloat{0%,100%{transform:translate(-50%,-52%)}50%{transform:translate(-50%,-56%)}}

.acs-controls{justify-content:center}

.acs-btn,
.acs-choice,
.acs-spread{
  appearance:none;
  border:none;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 24px;
  min-height:58px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  transition:.22s ease;
}

.acs-btn:hover,
.acs-choice:hover,
.acs-spread:hover,
.acs-chip:hover{transform:translateY(-1px)}

.acs-btn-primary,
.acs-choice.is-active,
.acs-spread.is-active{
  background:linear-gradient(90deg,var(--acs-purple),var(--acs-purple-2));
  color:#fff;
}

.acs-btn-ghost{background:rgba(255,255,255,.7)}
.acs-shell[data-theme="dark"] .acs-btn-ghost{background:rgba(255,255,255,.08)}

.acs-selection-panel{
  display:grid;
  gap:16px;
}

.acs-selection-group{
  background:rgba(255,255,255,.28);
  border-radius:28px;
  padding:22px;
}

.acs-shell[data-theme="dark"] .acs-selection-group{background:rgba(255,255,255,.03)}

.acs-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.acs-section-head--center{justify-content:center}
.acs-section-head h2{margin:0;font-size:18px}

.acs-category-grid,
.acs-spread-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.acs-choice,
.acs-spread{
  width:100%;
  min-height:62px;
  padding:14px 16px;
  font-size:16px;
}

.acs-choice span:first-child{font-size:0}
.acs-choice span:last-child,
.acs-spread strong{font-size:16px;font-weight:700}
.acs-spread em{display:block;font-style:normal;font-size:12px;color:var(--acs-muted);font-weight:600}
.acs-spread.is-active em,.acs-choice.is-active span:last-child{color:rgba(255,255,255,.9)}

.acs-progress-row{display:grid;gap:10px}
.acs-progress-copy{font-size:14px;color:var(--acs-muted);font-weight:700;text-align:center}
.acs-progress{height:10px;background:rgba(255,255,255,.7);border-radius:999px;overflow:hidden}
.acs-shell[data-theme="dark"] .acs-progress{background:rgba(255,255,255,.08)}
.acs-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acs-gold),var(--acs-purple));border-radius:999px;transition:width .28s ease}

.acs-error{padding:14px 16px;border-radius:16px;background:#fff2f3;color:#9d3249;font-weight:700}
.acs-shell[data-theme="dark"] .acs-error{background:rgba(255,120,135,.12);color:#ffb5c1}

.acs-results{margin-top:28px}
.acs-results-shell{
  background:var(--acs-card);
  border-radius:36px;
  padding:28px;
  box-shadow:var(--acs-shadow);
  border:1px solid rgba(255,255,255,.45);
}

.acs-results-head{justify-content:space-between;align-items:flex-start;margin-bottom:22px}
.acs-results-kicker{margin:0 0 6px;color:var(--acs-muted);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.acs-results-head h2{margin:0;font-size:36px;line-height:1.1}
.acs-results-actions{justify-content:flex-end}
.acs-results-content{display:grid;gap:18px}

.acs-reading-section{
  background:var(--acs-card-2);
  border-radius:26px;
  padding:24px;
  border:1px solid var(--acs-border);
}

.acs-shell[data-theme="dark"] .acs-reading-section{background:rgba(255,255,255,.03)}

.acs-reading-summary{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:flex-start;
}

.acs-summary-badge{
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:28px;
  background:linear-gradient(180deg,var(--acs-purple),var(--acs-purple-2));
  color:#fff;
}

.acs-summary-copy h3{margin:0 0 12px;font-size:32px}
.acs-summary-meta{margin-bottom:12px}
.acs-summary-meta span{padding:10px 14px;border-radius:999px;background:rgba(109,70,199,.08);font-size:13px;font-weight:700}
.acs-shell[data-theme="dark"] .acs-summary-meta span{background:rgba(255,255,255,.06)}

.acs-astro-lines{display:grid;gap:10px;color:var(--acs-muted)}
.acs-astro-lines p{margin:0}

.acs-reading-section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.acs-reading-section-head h3{margin:0;font-size:26px}
.acs-reading-richtext{display:grid;gap:14px}
.acs-reading-richtext p{margin:0;line-height:1.9;font-size:17px}
.acs-reading-emphasis,
.acs-inline-callout{
  padding:16px 18px;
  border-radius:18px;
  background:rgba(143,109,241,.08);
  border-left:4px solid var(--acs-purple-2);
}

.acs-reading-cards-grid{display:grid;gap:18px}
.acs-reading-card-block{
  border-radius:22px;
  padding:22px;
  background:rgba(143,109,241,.06);
  border:1px solid rgba(143,109,241,.18);
}

.acs-reading-card-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.acs-reading-card-top h4{margin:4px 0 0;font-size:28px}
.acs-card-position{margin:0;color:var(--acs-muted);font-size:14px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.acs-card-orientation{padding:8px 12px;border-radius:999px;background:rgba(109,70,199,.1);font-size:13px;font-weight:800}
.acs-reading-card-body{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:18px;align-items:flex-start}
.acs-card-image-wrap{aspect-ratio:5/8}
.acs-reading-card-copy{display:grid;gap:12px}
.acs-reading-card-copy p{margin:0;line-height:1.85;font-size:17px}

.acs-crystals{display:flex;flex-wrap:wrap;gap:10px}
.acs-crystal-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(109,70,199,.08);
  color:var(--acs-text);
  font-weight:800;
}

.acs-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.acs-product-card{
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--acs-border);
  background:rgba(255,255,255,.6);
}
.acs-shell[data-theme="dark"] .acs-product-card{background:rgba(255,255,255,.03)}
.acs-product-media{aspect-ratio:1/1;border:none;border-bottom:1px solid var(--acs-border)}
.acs-product-copy{padding:18px;display:grid;gap:10px}
.acs-product-copy h4{margin:0;font-size:22px;line-height:1.25}
.acs-product-subtitle,.acs-product-price{margin:0;color:var(--acs-muted);line-height:1.6}
.acs-product-price{font-weight:800;color:var(--acs-text)}
.acs-product-cta{width:100%}

.acs-empty-products{
  grid-column:1/-1;
  display:grid;
  gap:14px;
  justify-items:start;
  padding:4px;
}

.acs-share-section .acs-btn,
.acs-results-actions .acs-btn{
  min-height:46px;
  padding:12px 16px;
  border-radius:999px;
  font-size:14px;
}

.acs-share-row{justify-content:flex-start}
.acs-footer-disclaimer{margin-top:18px;text-align:center;color:var(--acs-muted);font-size:13px}

.acs-modal{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(19,12,32,.42);
  z-index:9999;
  padding:20px;
}

.acs-modal[hidden]{display:none}

.acs-modal-card{
  width:min(520px,100%);
  background:var(--acs-card-2);
  color:var(--acs-text);
  border-radius:28px;
  padding:24px;
  box-shadow:0 26px 70px rgba(21,14,36,.24);
  border:1px solid var(--acs-border);
}
.acs-modal-card h3{margin:0 0 10px;font-size:26px}
.acs-modal-card p{margin:0 0 16px;line-height:1.8;color:var(--acs-muted)}

.acs-field{display:grid;gap:10px;margin-bottom:16px}
.acs-field span{font-weight:800}
.acs-field-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.acs-field-row select,
.acs-field-row input{
  width:100%;
  min-height:52px;
  padding:0 14px;
  border-radius:16px;
  border:1px solid var(--acs-border);
  background:#fff;
  color:var(--acs-text);
}
.acs-check{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
.acs-check input{margin-top:3px}
.acs-inline-link{padding:0;border:none;background:none;color:var(--acs-purple);font-weight:800;cursor:pointer}
.acs-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

.acs-loading-overlay{
  position:fixed;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(241,237,247,.58);
  z-index:9998;
}
.acs-shell[data-theme="dark"] .acs-loading-overlay{background:rgba(8,6,14,.62)}
.acs-loading-overlay[hidden]{display:none}
.acs-loading-card{
  min-width:220px;
  padding:22px 24px;
  border-radius:24px;
  background:var(--acs-card-2);
  border:1px solid var(--acs-border);
  box-shadow:var(--acs-shadow);
  text-align:center;
}
.acs-loading-spinner{
  width:40px;height:40px;margin:0 auto 12px;border-radius:50%;
  border:4px solid rgba(109,70,199,.16);border-top-color:var(--acs-purple);animation:acsSpin .8s linear infinite
}
@keyframes acsSpin{to{transform:rotate(360deg)}}
.acs-loading-text{font-weight:700}

.acs-tarot-toast{
  position:fixed;
  left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);
  background:#1f1531;color:#fff;padding:12px 16px;border-radius:999px;opacity:0;pointer-events:none;transition:.22s ease;z-index:10000
}
.acs-tarot-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.acs-draw-fly{
  position:fixed;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,248,253,.96));
  border:1px solid rgba(230,191,117,.55);
  box-shadow:0 18px 40px rgba(67,53,105,.14);
  z-index:9997;
  pointer-events:none;
  transition:transform .6s ease, left .6s ease, top .6s ease, width .6s ease, height .6s ease, opacity .6s ease;
}
.acs-draw-fly::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg, transparent 0 30px, rgba(230,191,117,.65) 30px 32px, transparent 32px 33px)}
.acs-draw-fly.is-arriving{opacity:.92}

@media (max-width:1100px){
  .acs-category-grid,.acs-spread-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .acs-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:820px){
  .acs-tarot-ui{width:min(100% - 24px, 1320px);padding:24px 0 58px}
  .acs-board{padding:24px 18px}
  .acs-slots{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}
  .acs-category-grid,.acs-spread-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acs-reading-card-body{grid-template-columns:1fr}
  .acs-product-grid{grid-template-columns:1fr}
  .acs-results-shell{padding:18px}
  .acs-results-head h2,.acs-summary-copy h3{font-size:28px}
}

@media (max-width:560px){
  .acs-hero h1{font-size:34px}
  .acs-hero p{font-size:16px}
  .acs-deck{height:92px}
  .acs-btn,.acs-choice,.acs-spread{min-height:52px;padding:12px 14px}
  .acs-category-grid,.acs-spread-grid{grid-template-columns:1fr}
  .acs-results-actions{justify-content:flex-start}
  .acs-reading-section-head h3{font-size:22px}
  .acs-reading-card-top h4{font-size:24px}
  .acs-modal-card{padding:18px}
  .acs-field-row{grid-template-columns:1fr}
}


.acs-tarot-ui .acs-btn,
.acs-tarot-ui .acs-choice,
.acs-tarot-ui .acs-spread,
.acs-tarot-ui .acs-chip,
.acs-tarot-ui .acs-meta-pill,
.acs-tarot-ui .acs-results-kicker,
.acs-tarot-ui .acs-card-position,
.acs-tarot-ui .acs-card-orientation,
.acs-tarot-ui .acs-product-subtitle,
.acs-tarot-ui .acs-product-price,
.acs-tarot-ui .acs-inline-note,
.acs-tarot-ui .acs-progress-copy,
.acs-tarot-ui .acs-slot-label,
.acs-tarot-ui .acs-loading-text,
.acs-tarot-ui .acs-modal-card p,
.acs-tarot-ui .acs-modal-card span,
.acs-tarot-ui .acs-modal-card label,
.acs-tarot-ui .acs-reading-richtext p,
.acs-tarot-ui .acs-reading-card-copy p,
.acs-tarot-ui .acs-empty-products p,
.acs-tarot-ui .acs-astro-lines p,
.acs-tarot-ui .acs-footer-disclaimer{
  color:var(--acs-text) !important;
}

.acs-tarot-ui .acs-inline-note,
.acs-tarot-ui .acs-progress-copy,
.acs-tarot-ui .acs-results-kicker,
.acs-tarot-ui .acs-card-position,
.acs-tarot-ui .acs-product-subtitle,
.acs-tarot-ui .acs-modal-card p,
.acs-tarot-ui .acs-footer-disclaimer,
.acs-tarot-ui .acs-astro-lines p{
  color:var(--acs-muted) !important;
}

.acs-tarot-ui .acs-btn-primary{
  background:linear-gradient(90deg,var(--acs-purple),var(--acs-purple-2)) !important;
  color:#fff !important;
}

.acs-tarot-ui .acs-btn-ghost{
  background:rgba(255,255,255,.82) !important;
  color:var(--acs-text) !important;
}

.acs-shell[data-theme="dark"] .acs-btn-ghost{
  background:rgba(255,255,255,.12) !important;
}

.acs-tarot-ui .acs-inline-link{
  all:unset;
  display:inline;
  margin-left:6px;
  cursor:pointer;
  color:var(--acs-purple) !important;
  font-weight:800;
  text-decoration:underline;
}

.acs-tarot-ui .acs-check input{
  width:18px;
  height:18px;
  accent-color:var(--acs-purple);
}

.acs-tarot-ui .acs-modal-actions .acs-btn{
  min-width:140px;
}

.acs-tarot-ui .acs-reading-section-head h3,
.acs-tarot-ui .acs-summary-copy h3,
.acs-tarot-ui .acs-results-head h2,
.acs-tarot-ui .acs-reading-card-top h4,
.acs-tarot-ui .acs-product-copy h4,
.acs-tarot-ui .acs-modal-card h3,
.acs-tarot-ui .acs-section-head h2{
  color:var(--acs-text) !important;
}

.acs-tarot-ui .acs-choice,
.acs-tarot-ui .acs-spread{
  border:1px solid rgba(123,96,194,.08);
}

.acs-tarot-ui .acs-choice.is-active,
.acs-tarot-ui .acs-spread.is-active{
  color:#fff !important;
}

.acs-tarot-ui .acs-choice.is-active span,
.acs-tarot-ui .acs-spread.is-active strong,
.acs-tarot-ui .acs-spread.is-active span{
  color:#fff !important;
}

.acs-tarot-ui .acs-reading-section,
.acs-tarot-ui .acs-results-shell,
.acs-tarot-ui .acs-board,
.acs-tarot-ui .acs-selection-group,
.acs-tarot-ui .acs-product-card,
.acs-tarot-ui .acs-modal-card,
.acs-tarot-ui .acs-loading-card{
  backdrop-filter:blur(8px);
}

.acs-tarot-ui .acs-draw-fly span{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  font-weight:900;
  letter-spacing:.18em;
  color:var(--acs-purple);
}

@media (max-width:820px){
  .acs-deck{height:156px}
  .acs-deck-card{width:42px;height:108px;margin-left:-20px}
  .acs-deck-core{width:102px;height:134px}
}

@media (max-width:560px){
  .acs-deck{height:136px}
  .acs-deck-card{width:32px;height:88px;margin-left:-18px;border-radius:14px}
  .acs-deck-core{width:84px;height:112px;border-radius:18px}
  .acs-deck-core span{font-size:15px;letter-spacing:.14em}
  .acs-deck-label{font-size:12px}
}


/* 1.5.2 targeted UI refinements */
.acs-board-head{
  justify-content:space-between;
  align-items:center;
}

.acs-inline-note{
  color:var(--acs-text);
  font-weight:800;
  letter-spacing:.01em;
}

.acs-deck-area{
  margin-top:2px;
}

.acs-deck{
  height:168px;
  border:1px solid rgba(230,191,117,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(245,241,251,.9));
  box-shadow:0 12px 28px rgba(58,37,115,.12), inset 0 1px 0 rgba(255,255,255,.5);
}

.acs-shell[data-theme="dark"] .acs-deck{
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  box-shadow:0 12px 28px rgba(8,4,19,.34), inset 0 1px 0 rgba(255,255,255,.04);
}

.acs-deck-fan{
  inset:16px 34px 18px;
}

.acs-deck-card{
  width:58px;
  height:116px;
  margin-left:-28px;
  border-radius:18px;
  box-shadow:0 8px 18px rgba(55,36,105,.1);
  transform:translateY(calc((var(--i) % 3) * 1px)) rotate(calc((var(--i) - 7) * 1deg));
}

.acs-shell[data-theme="dark"] .acs-deck-card{
  border-color:rgba(230,191,117,.5);
  box-shadow:0 8px 18px rgba(0,0,0,.26);
}

.acs-deck-core{
  width:118px;
  height:144px;
  transform:translate(-50%,-50%);
  box-shadow:0 10px 24px rgba(64,43,122,.16);
}

.acs-deck-core span{
  font-size:19px;
  letter-spacing:.18em;
}

.acs-deck-label{
  left:50%;
  right:auto;
  bottom:12px;
  transform:translateX(-50%);
  width:auto;
  max-width:calc(100% - 24px);
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:var(--acs-text);
  box-shadow:0 6px 16px rgba(47,31,96,.08);
  line-height:1;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.acs-shell[data-theme="dark"] .acs-deck-label{
  background:rgba(255,255,255,.08);
  color:rgba(244,239,255,.92);
  box-shadow:none;
}

.acs-deck:hover .acs-deck-card{
  transform:translateY(-2px) rotate(calc((var(--i) - 7) * 1.05deg));
}

.acs-deck:hover .acs-deck-core{
  transform:translate(-50%,-52%);
}

.acs-deck.is-shuffling{
  animation:acsDeckPulse .8s ease infinite;
}

@keyframes acsDeckPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
@keyframes acsDeckShuffle{0%,100%{transform:translateY(0) rotate(calc((var(--i) - 7) * 1deg))}50%{transform:translateY(-5px) rotate(calc((var(--i) - 7) * 1.22deg))}}
@keyframes acsDeckCoreFloat{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-53%)}}

.acs-field-row select,
.acs-field-row input{
  font-size:16px;
  font-weight:700;
  color:var(--acs-text) !important;
  background:#fff !important;
  border:1px solid var(--acs-border-strong);
}

.acs-shell[data-theme="dark"] .acs-field-row select,
.acs-shell[data-theme="dark"] .acs-field-row input{
  color:#f6f1ff !important;
  background:rgba(255,255,255,.96) !important;
}

.acs-field-row select:focus,
.acs-field-row input:focus{
  outline:none;
  border-color:var(--acs-purple);
  box-shadow:0 0 0 3px rgba(143,109,241,.18);
}

.acs-field-row select option{
  color:#231942;
  background:#ffffff;
}

.acs-tarot-ui .acs-choice,
.acs-tarot-ui .acs-spread,
.acs-tarot-ui .acs-meta-pill{
  color:var(--acs-text) !important;
}

.acs-shell[data-theme="dark"] .acs-choice,
.acs-shell[data-theme="dark"] .acs-spread,
.acs-shell[data-theme="dark"] .acs-meta-pill{
  color:#f4efff !important;
  border-color:rgba(143,109,241,.18);
  background:rgba(255,255,255,.06);
}

.acs-tarot-ui .acs-choice span:last-child,
.acs-tarot-ui .acs-spread strong,
.acs-tarot-ui .acs-spread span,
.acs-tarot-ui .acs-meta-pill{
  font-weight:800;
}

.acs-shell[data-theme="dark"] .acs-choice span:last-child,
.acs-shell[data-theme="dark"] .acs-spread strong,
.acs-shell[data-theme="dark"] .acs-spread span,
.acs-shell[data-theme="dark"] .acs-meta-pill{
  color:#f4efff !important;
}

.acs-crystal-pill{
  background:rgba(109,70,199,.12);
  color:var(--acs-text) !important;
  border:1px solid rgba(143,109,241,.14);
}

.acs-shell[data-theme="dark"] .acs-crystal-pill{
  background:rgba(143,109,241,.16);
  color:#f8f5ff !important;
  border-color:rgba(143,109,241,.24);
}

.acs-draw-fly{
  box-shadow:0 12px 24px rgba(44,26,96,.12);
}

.acs-shell[data-theme="dark"] .acs-draw-fly{
  box-shadow:0 12px 24px rgba(6,3,15,.28);
}

@media (max-width:820px){
  .acs-deck{height:148px}
  .acs-deck-card{width:44px;height:102px;margin-left:-22px}
  .acs-deck-core{width:100px;height:128px}
}

@media (max-width:560px){
  .acs-deck{height:128px}
  .acs-deck-fan{inset:14px 18px 16px}
  .acs-deck-card{width:34px;height:84px;margin-left:-16px;border-radius:14px}
  .acs-deck-core{width:82px;height:106px;border-radius:18px}
  .acs-deck-core span{font-size:15px;letter-spacing:.14em}
  .acs-deck-label{font-size:11px;padding:7px 12px}
}

/* 1.5.3 dark modal select readability */
.acs-shell[data-theme="dark"] .acs-modal-card{
  background:rgba(26,19,40,.98) !important;
}

.acs-shell[data-theme="dark"] .acs-field-row select,
.acs-shell[data-theme="dark"] .acs-field-row input{
  background:rgba(255,255,255,.12) !important;
  color:#ffffff !important;
  border-color:rgba(171,145,255,.34) !important;
  -webkit-text-fill-color:#ffffff !important;
}

.acs-shell[data-theme="dark"] .acs-field-row select:focus,
.acs-shell[data-theme="dark"] .acs-field-row input:focus{
  background:rgba(255,255,255,.16) !important;
  color:#ffffff !important;
}

.acs-shell[data-theme="dark"] .acs-field-row select option,
.acs-shell[data-theme="dark"] .acs-field-row select optgroup{
  color:#231942 !important;
  background:#ffffff !important;
}

.acs-shell[data-theme="dark"] .acs-field-row select::-ms-value,
.acs-shell[data-theme="dark"] .acs-field-row input::-ms-value{
  color:#ffffff !important;
}

/* 1.5.4 solid-shell cleanup */
.acs-shell{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:40px;
}

.acs-shell::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(243,240,247,.98),rgba(238,235,244,.98));
}

.acs-shell[data-theme="dark"]::before{
  background:linear-gradient(180deg, rgba(16,11,27,1), rgba(11,8,19,1));
}

.acs-tarot-ui .acs-reading-section,
.acs-tarot-ui .acs-results-shell,
.acs-tarot-ui .acs-board,
.acs-tarot-ui .acs-selection-group,
.acs-tarot-ui .acs-product-card,
.acs-tarot-ui .acs-modal-card,
.acs-tarot-ui .acs-loading-card{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.acs-selection-group{
  background:rgba(255,255,255,.82);
}

.acs-shell[data-theme="dark"] .acs-selection-group{
  background:rgba(24,17,38,1);
  border:1px solid rgba(98,72,160,.28);
}

.acs-shell[data-theme="dark"] .acs-board,
.acs-shell[data-theme="dark"] .acs-results-shell,
.acs-shell[data-theme="dark"] .acs-reading-section,
.acs-shell[data-theme="dark"] .acs-product-card,
.acs-shell[data-theme="dark"] .acs-modal-card,
.acs-shell[data-theme="dark"] .acs-loading-card{
  background:rgba(24,17,38,1) !important;
  border-color:rgba(98,72,160,.28) !important;
}

.acs-shell[data-theme="dark"] .acs-board{
  background:rgba(30,22,47,1) !important;
}

.acs-shell[data-theme="dark"] .acs-inline-callout,
.acs-shell[data-theme="dark"] .acs-reading-emphasis{
  background:rgba(143,109,241,.12);
  color:#f7f2ff !important;
}

.acs-inline-callout:empty,
.acs-reading-card-copy p:empty,
.acs-reading-richtext p:empty{
  display:none !important;
}

.acs-inline-callout{
  color:var(--acs-text) !important;
}


/* 1.5.6 result cleanup */
.acs-reading-card-body--text-only{
  display:block !important;
}

.acs-reading-card-copy--full{
  max-width:none;
}

.acs-reading-richtext--crystal-cta{
  display:grid;
  gap:18px;
}

.acs-crystal-cta-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.acs-crystal-main-cta{
  min-width:260px;
}

.acs-shell[data-theme="dark"] .acs-reading-richtext--crystal-cta p,
.acs-shell[data-theme="dark"] .acs-reading-card-copy--full p,
.acs-shell[data-theme="dark"] .acs-reading-card-copy--full strong,
.acs-shell[data-theme="dark"] .acs-reading-section-head h3,
.acs-shell[data-theme="dark"] .acs-product-copy h4,
.acs-shell[data-theme="dark"] .acs-product-copy p,
.acs-shell[data-theme="dark"] .acs-results-head h2,
.acs-shell[data-theme="dark"] .acs-results-kicker{
  color:#f4efff !important;
}

.acs-shell[data-theme="dark"] .acs-reading-richtext--crystal-cta .acs-btn,
.acs-shell[data-theme="dark"] .acs-product-cta{
  color:#ffffff !important;
}


.acs-slot-image.is-reversed{transform:rotate(180deg) !important;transform-origin:center center}

.acs-crystal-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.acs-crystal-cta-row--triple .acs-crystal-product-btn{flex:1 1 220px;min-width:0}
.acs-crystal-product-btn{justify-content:center;text-align:center;white-space:normal;line-height:1.35;min-height:56px}

.acs-deck{height:168px}
.acs-deck-fan{inset:22px 48px 22px;align-items:center}
.acs-deck-card{width:54px;height:118px;margin-left:-18px;transform:translateY(0) rotate(calc((var(--i) - 7) * 0.35deg));box-shadow:0 10px 20px rgba(55,36,105,.10)}
.acs-deck-core{width:112px;height:146px;transform:translate(-50%,-50%)}
.acs-deck:hover .acs-deck-card{transform:translateY(-2px) rotate(calc((var(--i) - 7) * 0.4deg))}
.acs-deck:hover .acs-deck-core{transform:translate(-50%,-52%)}
@keyframes acsDeckCoreFloat{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-53%)}}
@keyframes acsDeckShuffle{0%,100%{transform:translateY(0) rotate(calc((var(--i) - 7) * 0.35deg))}50%{transform:translateY(-6px) rotate(calc((var(--i) - 7) * 0.5deg))}}

.acs-shell[data-theme=dark] .acs-reading-richtext--crystal-cta p,
.acs-shell[data-theme=dark] .acs-reading-richtext--crystal-cta,
.acs-shell[data-theme=dark] .acs-reading-richtext--crystal-cta strong{color:var(--acs-text)!important}

@media (max-width:820px){
  .acs-deck{height:148px}
  .acs-deck-fan{inset:18px 28px 18px}
  .acs-deck-card{width:42px;height:98px;margin-left:-14px}
  .acs-deck-core{width:92px;height:122px}
}
@media (max-width:560px){
  .acs-deck{height:124px}
  .acs-deck-card{width:30px;height:76px;margin-left:-12px}
  .acs-deck-core{width:78px;height:104px}
}


.acs-slot-frame{padding:0}
.acs-slot-frame .acs-slot-image{width:100%;height:100%;object-fit:cover;backface-visibility:hidden}
.acs-deck{height:184px}
.acs-deck-fan{inset:20px 64px 20px;justify-content:center;gap:0}
.acs-deck-card{width:58px;height:122px;margin-left:-24px;transform:translateY(0) rotate(calc((var(--i) - 8) * 0.9deg));opacity:.95}
.acs-deck-card:first-child{margin-left:0}
.acs-deck-core{width:118px;height:150px;box-shadow:0 16px 36px rgba(20,10,46,.34)}
.acs-deck:hover .acs-deck-card{transform:translateY(-3px) rotate(calc((var(--i) - 8) * 1deg))}
@media (max-width:820px){.acs-deck{height:160px}.acs-deck-fan{inset:18px 30px 18px}.acs-deck-card{width:44px;height:104px;margin-left:-19px}.acs-deck-core{width:96px;height:132px}}


/* 1.5.9 fixes */
.acs-slot-card.is-reversed .acs-slot-frame,
.acs-slot.is-reversed .acs-slot-frame{transform:rotate(180deg) !important; transform-origin:center center;}
.acs-slot-frame.is-reversed{transform:rotate(180deg) !important; transform-origin:center center;}
.acs-slot-frame .acs-slot-image{object-fit:contain;background:transparent;}
.acs-crystal-cta-row--triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.acs-crystal-cta-row--triple .acs-crystal-product-btn{width:100%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
@media (max-width:900px){.acs-crystal-cta-row--triple{grid-template-columns:1fr;}}


/* v1.5.11 overrides */
.acs-slot-card.is-reversed .acs-slot-frame,
.acs-slot.is-reversed .acs-slot-frame,
.acs-slot-frame.is-reversed{transform:none !important;}
.acs-slot-frame .acs-slot-image.is-reversed,
.acs-slot-frame .acs-slot-image[style*="rotate(180deg)"]{transform:rotate(180deg) !important;transform-origin:center center !important;}
.acs-slot-frame .acs-slot-image{transition:transform .35s ease;}
.acs-deck{height:170px !important;display:flex;align-items:center;justify-content:center;}
.acs-deck-fan{inset:24px 56px 22px !important;display:flex !important;align-items:center;justify-content:center;gap:0 !important;overflow:hidden;}
.acs-deck-card{width:50px !important;height:112px !important;margin-left:-16px !important;border-radius:18px !important;transform:translateY(0) rotate(0deg) !important;opacity:.92;}
.acs-deck-card:first-child{margin-left:0 !important;}
.acs-deck-core{width:108px !important;height:142px !important;border-radius:22px !important;transform:translate(-50%,-50%) !important;}
.acs-deck:hover .acs-deck-card{transform:translateY(-2px) rotate(0deg) !important;}
.acs-deck:hover .acs-deck-core{transform:translate(-50%,-51%) !important;}
@media (max-width: 820px){.acs-deck{height:150px !important;}.acs-deck-fan{inset:18px 24px 18px !important;}.acs-deck-card{width:40px !important;height:96px !important;margin-left:-14px !important;}.acs-deck-core{width:90px !important;height:118px !important;}}
@media (max-width: 560px){.acs-deck{height:128px !important;}.acs-deck-fan{inset:14px 16px 14px !important;}.acs-deck-card{width:30px !important;height:76px !important;margin-left:-10px !important;}.acs-deck-core{width:74px !important;height:98px !important;border-radius:18px !important;}.acs-deck-core span{font-size:15px !important;letter-spacing:.12em !important;}}

/* v1.5.12 final layout + auth gate */
.acs-modal-card--auth{
  max-width:560px;
  text-align:center;
}
.acs-modal-actions--auth{
  justify-content:center;
}
.acs-modal-actions--auth .acs-btn,
.acs-modal-actions--auth a.acs-btn{
  min-width:140px;
  text-decoration:none;
}

/* force deck centered cleanly inside frame */
.acs-deck-area{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
.acs-deck{
  position:relative !important;
  display:block !important;
  width:min(100%, 1040px) !important;
  height:188px !important;
  margin:0 auto !important;
  overflow:hidden !important;
}
.acs-deck-fan{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  inset:auto !important;
  width:min(760px, calc(100% - 120px)) !important;
  height:126px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  overflow:visible !important;
  pointer-events:none !important;
}
.acs-deck-card{
  position:relative !important;
  flex:0 0 auto !important;
  width:46px !important;
  height:118px !important;
  margin-left:-18px !important;
  transform:none !important;
}
.acs-deck-card:first-child{ margin-left:0 !important; }
.acs-deck-core{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:116px !important;
  height:148px !important;
  z-index:3 !important;
}
.acs-deck-label{
  position:absolute !important;
  left:50% !important;
  bottom:14px !important;
  transform:translateX(-50%) !important;
  margin:0 !important;
  z-index:4 !important;
  white-space:nowrap !important;
}
.acs-deck:hover .acs-deck-card,
.acs-deck.is-shuffling .acs-deck-card{
  transform:none !important;
}
.acs-deck:hover .acs-deck-core{
  transform:translate(-50%,-50%) !important;
}
@media (max-width: 820px){
  .acs-deck{height:164px !important;}
  .acs-deck-fan{width:calc(100% - 72px) !important;height:108px !important;}
  .acs-deck-card{width:36px !important;height:96px !important;margin-left:-14px !important;}
  .acs-deck-core{width:92px !important;height:122px !important;}
}
@media (max-width: 560px){
  .acs-deck{height:142px !important;}
  .acs-deck-fan{width:calc(100% - 40px) !important;height:92px !important;}
  .acs-deck-card{width:28px !important;height:76px !important;margin-left:-11px !important;}
  .acs-deck-core{width:74px !important;height:100px !important;}
  .acs-deck-label{bottom:10px !important;font-size:11px !important;padding:6px 12px !important;}
}

/* guarantee reversed slot images rotate even if older theme/css conflicts */
.acs-slot-frame > img.acs-slot-image.is-reversed,
.acs-slot-frame > img.acs-slot-image[data-reversed="1"]{
  transform:rotate(180deg) !important;
  transform-origin:center center !important;
}


/* v1.5.13 final deck centering + reversed frame fix */
.acs-slot-frame.is-reversed,
.acs-slot.is-reversed .acs-slot-frame,
.acs-slot-card.is-reversed .acs-slot-frame{
  transform:rotate(180deg) !important;
  transform-origin:center center !important;
}
.acs-slot-frame > img.acs-slot-image{
  transform:none !important;
}
.acs-deck{
  height:182px !important;
}
.acs-deck-fan{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:min(720px, calc(100% - 140px)) !important;
  height:122px !important;
  transform:translate(-50%,-50%) !important;
  inset:auto !important;
  overflow:visible !important;
}
.acs-deck-card{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  margin-left:0 !important;
  width:48px !important;
  height:116px !important;
  transform:translate(calc((var(--i) - 7) * 26px), -50%) !important;
}
.acs-deck-card:first-child{margin-left:0 !important;}
.acs-deck-core{
  z-index:3 !important;
  width:112px !important;
  height:146px !important;
}
.acs-deck-label{
  bottom:12px !important;
}
.acs-deck:hover .acs-deck-card,
.acs-deck.is-shuffling .acs-deck-card{
  transform:translate(calc((var(--i) - 7) * 26px), -50%) !important;
}
@media (max-width: 820px){
  .acs-deck{height:158px !important;}
  .acs-deck-fan{width:calc(100% - 84px) !important;height:104px !important;}
  .acs-deck-card{width:38px !important;height:94px !important;transform:translate(calc((var(--i) - 7) * 20px), -50%) !important;}
  .acs-deck:hover .acs-deck-card,.acs-deck.is-shuffling .acs-deck-card{transform:translate(calc((var(--i) - 7) * 20px), -50%) !important;}
  .acs-deck-core{width:92px !important;height:122px !important;}
}
@media (max-width: 560px){
  .acs-deck{height:136px !important;}
  .acs-deck-fan{width:calc(100% - 40px) !important;height:88px !important;}
  .acs-deck-card{width:30px !important;height:74px !important;transform:translate(calc((var(--i) - 7) * 15px), -50%) !important;}
  .acs-deck:hover .acs-deck-card,.acs-deck.is-shuffling .acs-deck-card{transform:translate(calc((var(--i) - 7) * 15px), -50%) !important;}
  .acs-deck-core{width:78px !important;height:102px !important;}
}


/* v1.5.14 final fixes: translatable UI, centered deck, guest preview */
.acs-tarot-ui,.acs-shell{translate:initial;}
.acs-deck-area{display:flex !important;justify-content:center !important;align-items:center !important;}
.acs-deck{position:relative !important;display:flex !important;justify-content:center !important;align-items:center !important;width:min(100%, 980px) !important;height:170px !important;padding:0 40px !important;overflow:hidden !important;}
.acs-deck-fan{position:absolute !important;left:50% !important;top:50% !important;transform:translate(-50%,-50%) !important;width:min(640px, calc(100% - 120px)) !important;height:120px !important;pointer-events:none !important;}
.acs-deck-card{position:absolute !important;left:50% !important;top:50% !important;width:44px !important;height:112px !important;margin:0 !important;transform:translate(-50%,-50%) translateX(calc((var(--i) - 7) * 22px)) !important;opacity:.96 !important;}
.acs-deck:hover .acs-deck-card,.acs-deck.is-shuffling .acs-deck-card{transform:translate(-50%,-50%) translateX(calc((var(--i) - 7) * 22px)) !important;}
.acs-deck-core{position:absolute !important;left:50% !important;top:50% !important;transform:translate(-50%,-50%) !important;width:106px !important;height:142px !important;z-index:3 !important;}
.acs-deck-label{position:absolute !important;left:50% !important;bottom:14px !important;transform:translateX(-50%) !important;z-index:4 !important;}
.acs-slot-frame.is-reversed,.acs-slot.is-reversed .acs-slot-frame,.acs-slot-card.is-reversed .acs-slot-frame{transform:none !important;}
.acs-slot-image.is-reversed,.acs-slot-image[data-reversed="1"]{transform:rotate(180deg) !important;transform-origin:center center !important;}
.acs-preview-lock .acs-reading-richtext{display:flex;flex-direction:column;gap:16px;}
@media (max-width: 820px){
  .acs-deck{height:152px !important;padding:0 20px !important;}
  .acs-deck-fan{width:calc(100% - 72px) !important;height:102px !important;}
  .acs-deck-card{width:36px !important;height:92px !important;transform:translate(-50%,-50%) translateX(calc((var(--i) - 7) * 18px)) !important;}
  .acs-deck:hover .acs-deck-card,.acs-deck.is-shuffling .acs-deck-card{transform:translate(-50%,-50%) translateX(calc((var(--i) - 7) * 18px)) !important;}
  .acs-deck-core{width:90px !important;height:118px !important;}
}
@media (max-width: 560px){
  .acs-deck{height:132px !important;padding:0 12px !important;}
  .acs-deck-fan{width:calc(100% - 34px) !important;height:84px !important;}
  .acs-deck-card{width:28px !important;height:72px !important;transform:translate(-50%,-50%) translateX(calc((var(--i) - 7) * 14px)) !important;}
  .acs-deck:hover .acs-deck-card,.acs-deck.is-shuffling .acs-deck-card{transform:translate(-50%,-50%) translateX(calc((var(--i) - 7) * 14px)) !important;}
  .acs-deck-core{width:72px !important;height:96px !important;}
}


/* v1.5.15 final overrides */
.acs-deck{display:flex !important;align-items:center !important;justify-content:center !important;position:relative !important;overflow:hidden !important;}
.acs-deck-fan{position:absolute !important;left:50% !important;top:50% !important;inset:auto !important;transform:translate(-50%,-50%) !important;width:min(720px, calc(100% - 260px)) !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:0 !important;overflow:visible !important;pointer-events:none !important;}
.acs-deck-card{flex:0 0 auto !important;width:42px !important;height:108px !important;margin-left:-12px !important;transform:translateY(0) rotate(calc((var(--i) - 7) * .45deg)) !important;}
.acs-deck-card:first-child{margin-left:0 !important;}
.acs-deck-core{position:absolute !important;left:50% !important;top:50% !important;transform:translate(-50%,-50%) !important;width:96px !important;height:128px !important;z-index:3 !important;}
.acs-deck-label{position:absolute !important;left:50% !important;bottom:12px !important;transform:translateX(-50%) !important;z-index:4 !important;}
.acs-deck:hover .acs-deck-card{transform:translateY(-2px) rotate(calc((var(--i) - 7) * .5deg)) !important;}
.acs-deck:hover .acs-deck-core{transform:translate(-50%,-51%) !important;}
@media (max-width: 900px){.acs-deck-fan{width:min(540px, calc(100% - 180px)) !important;}.acs-deck-card{width:34px !important;height:92px !important;margin-left:-10px !important;}.acs-deck-core{width:84px !important;height:112px !important;}}
@media (max-width: 640px){.acs-deck{height:142px !important;}.acs-deck-fan{width:min(320px, calc(100% - 120px)) !important;}.acs-deck-card{width:24px !important;height:72px !important;margin-left:-8px !important;}.acs-deck-core{width:74px !important;height:98px !important;}.acs-deck-label{bottom:8px !important;font-size:11px !important;padding:6px 10px !important;}}


/* v1.5.16 contrast + deck layout + shuffle animation */
.acs-shell[data-theme="dark"]{
  --acs-text:#fbf8ff;
  --acs-muted:#ddd4f7;
  --acs-border:#59438b;
  --acs-border-strong:#8a67ec;
}

.acs-shell[data-theme="dark"] .acs-results-kicker,
.acs-shell[data-theme="dark"] .acs-inline-note,
.acs-shell[data-theme="dark"] .acs-progress-copy,
.acs-shell[data-theme="dark"] .acs-spread em,
.acs-shell[data-theme="dark"] .acs-astro-lines p,
.acs-shell[data-theme="dark"] .acs-footer-disclaimer,
.acs-shell[data-theme="dark"] .acs-modal-card p,
.acs-shell[data-theme="dark"] .acs-modal-card label,
.acs-shell[data-theme="dark"] .acs-reading-card-copy p,
.acs-shell[data-theme="dark"] .acs-reading-richtext p,
.acs-shell[data-theme="dark"] .acs-empty-products p,
.acs-shell[data-theme="dark"] .acs-product-subtitle,
.acs-shell[data-theme="dark"] .acs-product-price,
.acs-shell[data-theme="dark"] .acs-card-position,
.acs-shell[data-theme="dark"] .acs-card-orientation{
  color:var(--acs-muted) !important;
}

.acs-shell[data-theme="dark"] .acs-meta-pill,
.acs-shell[data-theme="dark"] .acs-summary-meta span,
.acs-shell[data-theme="dark"] .acs-chip,
.acs-shell[data-theme="dark"] .acs-btn,
.acs-shell[data-theme="dark"] .acs-choice,
.acs-shell[data-theme="dark"] .acs-spread{
  color:var(--acs-text) !important;
  background:rgba(139,104,255,.14) !important;
  border:1px solid rgba(171,145,255,.30) !important;
  box-shadow:0 14px 34px rgba(4,2,12,.28) !important;
}

.acs-shell[data-theme="dark"] .acs-choice,
.acs-shell[data-theme="dark"] .acs-spread{
  background:rgba(255,255,255,.06) !important;
}

.acs-shell[data-theme="dark"] .acs-choice span:last-child,
.acs-shell[data-theme="dark"] .acs-spread strong,
.acs-shell[data-theme="dark"] .acs-spread span,
.acs-shell[data-theme="dark"] .acs-summary-meta span,
.acs-shell[data-theme="dark"] .acs-meta-pill,
.acs-shell[data-theme="dark"] .acs-deck-label,
.acs-shell[data-theme="dark"] .acs-inline-note{
  color:var(--acs-text) !important;
}

.acs-shell[data-theme="dark"] .acs-summary-meta span,
.acs-shell[data-theme="dark"] .acs-meta-pill{
  background:rgba(139,104,255,.16) !important;
  border:1px solid rgba(198,180,255,.28) !important;
}

.acs-shell[data-theme="dark"] .acs-board,
.acs-shell[data-theme="dark"] .acs-results-shell,
.acs-shell[data-theme="dark"] .acs-reading-section,
.acs-shell[data-theme="dark"] .acs-selection-group{
  box-shadow:0 24px 56px rgba(0,0,0,.22) !important;
}

.acs-deck-area{
  margin-top:10px;
}

.acs-deck{
  position:relative !important;
  width:min(100%, 980px) !important;
  height:228px !important;
  margin:0 auto !important;
  border-radius:34px !important;
  border:1px solid rgba(230,191,117,.28) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(245,241,251,.98)) !important;
  box-shadow:0 24px 56px rgba(62,38,130,.18), inset 0 1px 0 rgba(255,255,255,.6) !important;
  overflow:hidden !important;
}

.acs-shell[data-theme="dark"] .acs-deck{
  background:radial-gradient(circle at top, rgba(137,105,255,.12), rgba(18,12,31,.98) 62%), linear-gradient(180deg,rgba(20,14,34,.98),rgba(12,8,22,.98)) !important;
  border-color:rgba(230,191,117,.24) !important;
  box-shadow:0 26px 60px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.acs-deck::before,
.acs-deck::after{
  content:"";
  position:absolute;
  inset:auto;
  pointer-events:none;
}

.acs-deck::before{
  left:-12%;
  right:-12%;
  top:10%;
  height:68%;
  background:radial-gradient(circle at center, rgba(143,109,241,.16), transparent 62%);
  opacity:.9;
}

.acs-deck::after{
  left:50%;
  top:50%;
  width:180px;
  height:180px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle at center, rgba(230,191,117,.14), transparent 68%);
  opacity:.7;
}

.acs-deck-fan{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  transform:none !important;
  pointer-events:none !important;
  overflow:visible !important;
}

.acs-deck-card{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:60px !important;
  height:140px !important;
  margin:0 !important;
  border-radius:20px !important;
  transform:translate(-50%,-58%) translateX(var(--tx)) rotate(var(--rot)) !important;
  transform-origin:center 88% !important;
  opacity:.98 !important;
  box-shadow:0 18px 30px rgba(38,24,86,.18) !important;
}

.acs-shell[data-theme="dark"] .acs-deck-card{
  box-shadow:0 18px 30px rgba(0,0,0,.28) !important;
}

.acs-deck-core{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:132px !important;
  height:170px !important;
  transform:translate(-50%,-54%) !important;
  border-radius:28px !important;
  z-index:6 !important;
  border:1px solid rgba(230,191,117,.72) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,242,252,.98)) !important;
  box-shadow:0 22px 42px rgba(45,27,96,.24) !important;
}

.acs-shell[data-theme="dark"] .acs-deck-core{
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08)) !important;
  box-shadow:0 20px 44px rgba(0,0,0,.34) !important;
}

.acs-deck-core span{
  font-size:20px !important;
  letter-spacing:.22em !important;
}

.acs-deck-label{
  position:absolute !important;
  left:50% !important;
  bottom:18px !important;
  transform:translateX(-50%) !important;
  min-width:170px;
  max-width:calc(100% - 40px);
  padding:10px 16px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(143,109,241,.14) !important;
  color:var(--acs-text) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  line-height:1.1 !important;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(42,26,88,.14) !important;
  z-index:7 !important;
  white-space:nowrap;
}

.acs-shell[data-theme="dark"] .acs-deck-label{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(198,180,255,.22) !important;
  box-shadow:none !important;
}

.acs-deck:hover .acs-deck-card{
  transform:translate(-50%,-61%) translateX(var(--tx)) rotate(calc(var(--rot) * 1.04)) !important;
}

.acs-deck:hover .acs-deck-core{
  transform:translate(-50%,-56%) !important;
}

.acs-deck.is-shuffling::before{
  animation:acsDeckGlowSweep 1.2s linear infinite;
}

.acs-deck.is-shuffling .acs-deck-card{
  animation:acsDeckRealShuffle 950ms cubic-bezier(.45,.05,.2,1) infinite;
  animation-delay:var(--delay);
}

.acs-deck.is-shuffling .acs-deck-core{
  animation:acsDeckCenterShuffle 950ms ease-in-out infinite;
}

@keyframes acsDeckGlowSweep{
  0%{transform:translateX(-7%) scale(1);opacity:.28;}
  50%{transform:translateX(7%) scale(1.06);opacity:.55;}
  100%{transform:translateX(-7%) scale(1);opacity:.28;}
}

@keyframes acsDeckRealShuffle{
  0%,100%{top:50%;opacity:.98;filter:brightness(1);}
  22%{top:45%;opacity:1;filter:brightness(1.06);}
  48%{top:53%;opacity:.94;filter:brightness(.98);}
  72%{top:47%;opacity:1;filter:brightness(1.04);}
}

@keyframes acsDeckCenterShuffle{
  0%,100%{top:50%;box-shadow:0 22px 42px rgba(45,27,96,.24);}
  30%{top:47%;box-shadow:0 28px 48px rgba(45,27,96,.28);}
  60%{top:51%;box-shadow:0 18px 36px rgba(45,27,96,.22);}
}

@media (max-width: 900px){
  .acs-deck{
    height:196px !important;
  }
  .acs-deck-card{
    width:50px !important;
    height:122px !important;
    transform:translate(-50%,-57%) translateX(calc(var(--tx) * .8)) rotate(calc(var(--rot) * .85)) !important;
  }
  .acs-deck:hover .acs-deck-card,
  .acs-deck.is-shuffling .acs-deck-card{
    transform:translate(-50%,-60%) translateX(calc(var(--tx) * .8)) rotate(calc(var(--rot) * .88)) !important;
  }
  .acs-deck-core{
    width:112px !important;
    height:148px !important;
  }
}

@media (max-width: 640px){
  .acs-deck{
    height:168px !important;
    border-radius:28px !important;
  }
  .acs-deck-card{
    width:38px !important;
    height:96px !important;
    transform:translate(-50%,-56%) translateX(calc(var(--tx) * .58)) rotate(calc(var(--rot) * .72)) !important;
  }
  .acs-deck:hover .acs-deck-card,
  .acs-deck.is-shuffling .acs-deck-card{
    transform:translate(-50%,-58%) translateX(calc(var(--tx) * .58)) rotate(calc(var(--rot) * .76)) !important;
  }
  .acs-deck-core{
    width:92px !important;
    height:122px !important;
    transform:translate(-50%,-53%) !important;
  }
  .acs-deck-core span{
    font-size:16px !important;
    letter-spacing:.16em !important;
  }
  .acs-deck-label{
    bottom:12px !important;
    min-width:140px;
    padding:8px 12px !important;
    font-size:10px !important;
    letter-spacing:.06em !important;
  }
}


/* 1.5.25 mobile three-card result layout
   Keep three-card spreads visible together on phones instead of stacking each
   large card into its own row. Other spread sizes retain their existing layout. */
@media (max-width: 820px){
  .acs-slots[data-card-count="3"]{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
    align-items:start;
  }

  .acs-slots[data-card-count="3"] .acs-slot{
    min-width:0;
    gap:8px;
  }

  .acs-slots[data-card-count="3"] .acs-slot-card{
    width:100% !important;
    max-width:150px;
  }

  .acs-slots[data-card-count="3"] .acs-slot-frame{
    border-radius:14px;
    border-width:1px;
  }

  .acs-slots[data-card-count="3"] .acs-slot-overlay{
    left:5px;
    right:5px;
    bottom:5px;
    gap:1px;
    padding:5px 6px;
    border-radius:9px;
  }

  .acs-slots[data-card-count="3"] .acs-slot-overlay strong{
    font-size:10px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .acs-slots[data-card-count="3"] .acs-slot-overlay span{
    font-size:8px;
    line-height:1.1;
  }

  .acs-slots[data-card-count="3"] .acs-slot-label{
    width:100%;
    min-width:0;
    font-size:11px;
    line-height:1.25;
    text-align:center;
    overflow-wrap:anywhere;
  }
}

@media (max-width: 560px){
  .acs-board[data-card-count="3"]{
    padding:14px 10px !important;
    border-radius:22px;
  }

  .acs-slots[data-card-count="3"]{
    gap:7px !important;
  }

  .acs-slots[data-card-count="3"] .acs-slot{
    gap:6px;
  }

  .acs-slots[data-card-count="3"] .acs-slot-frame{
    border-radius:11px;
  }

  .acs-slots[data-card-count="3"] .acs-slot-overlay{
    left:3px;
    right:3px;
    bottom:3px;
    padding:4px;
    border-radius:7px;
  }

  .acs-slots[data-card-count="3"] .acs-slot-overlay strong{
    font-size:9px;
  }

  .acs-slots[data-card-count="3"] .acs-slot-overlay span{
    font-size:7px;
  }

  .acs-slots[data-card-count="3"] .acs-slot-label{
    font-size:9px;
    line-height:1.2;
  }
}

/* 1.5.25 card-back bridge fix
   A WP-configured Tarot card-back image must win over the dark-theme gradients
   for the deck, unopened positions, and the draw-flight animation. */
.acs-shell[data-has-card-back="1"] .acs-deck-card,
.acs-shell[data-has-card-back="1"] .acs-deck-core,
.acs-shell[data-has-card-back="1"] .acs-slot:not(.is-filled) .acs-slot-frame,
.acs-draw-fly[data-has-card-back="1"]{
  background-color:#160f26 !important;
  background-image:var(--acs-card-back-image) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.acs-shell[data-has-card-back="1"] .acs-deck-core::before,
.acs-shell[data-has-card-back="1"] .acs-deck-core::after{
  opacity:0 !important;
}

.acs-shell[data-has-card-back="1"] .acs-deck-core > span,
.acs-shell[data-has-card-back="1"] .acs-slot:not(.is-filled) .acs-card-placeholder,
.acs-draw-fly[data-has-card-back="1"] > span{
  opacity:0 !important;
}

.acs-shell[data-has-card-back="1"] .acs-deck-card,
.acs-shell[data-has-card-back="1"] .acs-deck-core,
.acs-shell[data-has-card-back="1"] .acs-slot:not(.is-filled) .acs-slot-frame,
.acs-draw-fly[data-has-card-back="1"]{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16), 0 10px 28px rgba(0,0,0,.28);
}

