.acscalc{
  --acsc-bg:#0b0f1a;
  --acsc-surface:#0f172a;
  --acsc-card:#111c34;
  --acsc-border:rgba(255,255,255,.10);
  --acsc-text:rgba(255,255,255,.92);
  --acsc-muted:rgba(255,255,255,.70);
  --acsc-fine:rgba(255,255,255,.55);
  --acsc-accent:#a78bfa;
  --acsc-accent2:#38bdf8;
  --acsc-danger:#ff7b7b;
  --acsc-radius:22px;
  --acsc-shadow:0 18px 60px rgba(0,0,0,.35);

  max-width:980px;
  margin:18px auto;
  padding:14px;
  border-radius:calc(var(--acsc-radius) + 8px);
  background:radial-gradient(1200px 500px at 10% 0%, rgba(167,139,250,.22), transparent 55%),
             radial-gradient(900px 420px at 90% 15%, rgba(56,189,248,.18), transparent 52%),
             linear-gradient(180deg, var(--acsc-bg), #070a12 65%);
  color:var(--acsc-text);
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  box-shadow:var(--acsc-shadow);
  border:1px solid rgba(255,255,255,.06);
}

/* Full-width starfield backdrop (removes white gutters from theme containers) */
.acscalc__viewport{
  position:relative;
  width:100vw;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  padding:44px 14px 70px;
  background:
    radial-gradient(1000px 520px at 50% 10%, rgba(167,139,250,.20), transparent 60%),
    radial-gradient(900px 520px at 80% 30%, rgba(236,72,153,.14), transparent 62%),
    radial-gradient(900px 520px at 20% 45%, rgba(56,189,248,.12), transparent 62%),
    radial-gradient(1200px 800px at 50% 110%, rgba(0,0,0,.55), transparent 60%),
    linear-gradient(180deg, rgba(22,12,38,1), rgba(10,8,18,1));
  overflow:hidden;
}
.acscalc__viewport::before,
.acscalc__viewport::after{
  content:"";
  position:absolute;
  inset:-200px;
  pointer-events:none;
  z-index:0;
}

/* ensure actual calculator UI stays above the backdrop */
.acscalc__viewport > *{ position:relative; z-index:1; }
.acscalc__viewport::before{
  opacity:1;
  /* denser starfield using 2 repeatable inline SVG layers (small + large stars) */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520'%3E%3Crect width='520' height='520' fill='none'/%3E%3Cg fill='white'%3E%3Ccircle cx='24' cy='40' r='1.2' opacity='.95'/%3E%3Ccircle cx='78' cy='110' r='1' opacity='.65'/%3E%3Ccircle cx='122' cy='28' r='.9' opacity='.6'/%3E%3Ccircle cx='160' cy='164' r='1.2' opacity='.8'/%3E%3Ccircle cx='214' cy='74' r='.9' opacity='.55'/%3E%3Ccircle cx='256' cy='132' r='1.2' opacity='.9'/%3E%3Ccircle cx='314' cy='52' r='.9' opacity='.6'/%3E%3Ccircle cx='352' cy='118' r='1.1' opacity='.8'/%3E%3Ccircle cx='408' cy='36' r='.9' opacity='.6'/%3E%3Ccircle cx='452' cy='168' r='1.3' opacity='.95'/%3E%3Ccircle cx='498' cy='92' r='.9' opacity='.55'/%3E%3Ccircle cx='40' cy='246' r='1' opacity='.65'/%3E%3Ccircle cx='112' cy='282' r='1.2' opacity='.9'/%3E%3Ccircle cx='184' cy='252' r='.9' opacity='.55'/%3E%3Ccircle cx='246' cy='330' r='1.1' opacity='.8'/%3E%3Ccircle cx='312' cy='284' r='.9' opacity='.6'/%3E%3Ccircle cx='372' cy='372' r='1.3' opacity='.95'/%3E%3Ccircle cx='438' cy='256' r='.9' opacity='.6'/%3E%3Ccircle cx='498' cy='344' r='1.2' opacity='.85'/%3E%3Ccircle cx='34' cy='470' r='1.2' opacity='.9'/%3E%3Ccircle cx='108' cy='430' r='.9' opacity='.6'/%3E%3Ccircle cx='176' cy='498' r='1.1' opacity='.8'/%3E%3Ccircle cx='244' cy='420' r='1.3' opacity='.95'/%3E%3Ccircle cx='308' cy='468' r='.9' opacity='.55'/%3E%3Ccircle cx='372' cy='428' r='1.1' opacity='.8'/%3E%3Ccircle cx='444' cy='498' r='1.2' opacity='.9'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='920' height='920' viewBox='0 0 920 920'%3E%3Crect width='920' height='920' fill='none'/%3E%3Cg fill='white'%3E%3Ccircle cx='120' cy='160' r='2.2' opacity='.45'/%3E%3Ccircle cx='330' cy='90' r='2.4' opacity='.35'/%3E%3Ccircle cx='720' cy='220' r='2.6' opacity='.38'/%3E%3Ccircle cx='560' cy='520' r='2.4' opacity='.32'/%3E%3Ccircle cx='210' cy='640' r='2.5' opacity='.36'/%3E%3Ccircle cx='820' cy='720' r='2.6' opacity='.3'/%3E%3Ccircle cx='640' cy='820' r='2.3' opacity='.28'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:repeat, repeat;
  background-size:520px 520px, 920px 920px;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 2px rgba(255,255,255,.25));
}
.acscalc__viewport::after{
  background:radial-gradient(70% 70% at 50% 25%, transparent 0 60%, rgba(0,0,0,.55) 100%);
  /* reduce vignette so stars remain visible */
  opacity:.55;
}

/* ------------------------------------------------------------
   Astral theme (purple starfield like the reference screenshot)
------------------------------------------------------------ */
.acscalc{
  position:relative;
  overflow:hidden;
  max-width:1100px;
  margin:32px auto;
  padding:26px;
  border-radius:32px;
  background:
    radial-gradient(1200px 700px at 45% 15%, rgba(167,139,250,.22), transparent 60%),
    radial-gradient(900px 520px at 70% 25%, rgba(236,72,153,.16), transparent 58%),
    radial-gradient(900px 520px at 25% 45%, rgba(56,189,248,.12), transparent 62%),
    linear-gradient(180deg, rgba(34,16,54,.92), rgba(19,12,34,.96));
  border:1px solid rgba(255,255,255,.08);
  /* second shadow is a "gutter cover"; keep it translucent so starfield stays visible */
  box-shadow:0 30px 120px rgba(0,0,0,.45), 0 0 0 100vmax rgba(16,10,28,.35);
}

.acscalc::before,
.acscalc::after{
  content:"";
  position:absolute;
  inset:-120px;
  pointer-events:none;
}

/* star speckles */
.acscalc::before{
  background:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.85) 0 1px, transparent 2px),
    radial-gradient(circle at 30% 70%, rgba(255,255,255,.7) 0 1px, transparent 2px),
    radial-gradient(circle at 80% 30%, rgba(255,255,255,.7) 0 1px, transparent 2px),
    radial-gradient(circle at 60% 80%, rgba(255,255,255,.65) 0 1px, transparent 2px),
    radial-gradient(circle at 15% 85%, rgba(255,255,255,.55) 0 1px, transparent 2px),
    radial-gradient(circle at 95% 55%, rgba(255,255,255,.55) 0 1px, transparent 2px);
  opacity:.55;
  filter:blur(.2px);
}

/* soft vignette */
.acscalc::after{
  background:radial-gradient(70% 70% at 50% 35%, transparent 0 58%, rgba(0,0,0,.42) 100%);
  opacity:.9;
}

.acscalc__shell{position:relative;z-index:2;padding:10px}

.acscalc__top{display:block;margin-bottom:16px}

.acscalc__appTop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:rgba(255,255,255,.92)}
.acscalc__appBrand{display:flex;align-items:center;gap:10px;font-weight:800}
.acscalc__appDot{width:14px;height:14px;border-radius:999px;background:rgba(167,139,250,.95);box-shadow:none}
.acscalc__appRight{display:flex;align-items:center;gap:12px}
.acscalc__appLink{color:rgba(255,255,255,.75);text-decoration:none;font-size:13px;display:none}
.acscalc__appLink:hover{color:#fff}

/* Show top-right Back only on result pages */
.acscalc.is-results .acscalc__appLink{display:inline-flex}

.acscalc__brand{padding:16px 16px 14px;border-radius:22px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);backdrop-filter:blur(6px)}
.acscalc__brandMark{width:44px;height:44px;border-radius:999px;background:radial-gradient(circle at 30% 30%, rgba(167,139,250,1), rgba(99,102,241,.35));border:1px solid rgba(255,255,255,.18)}
.acscalc__title{font-size:18px;font-weight:850}
.acscalc__subtitle{margin-top:6px;color:rgba(255,255,255,.66)}

.acscalc__tabs--astral{
  margin:16px auto 0;
  padding:8px;
  border-radius:999px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.12);
  justify-content:center;
  gap:10px;
  max-width:520px;
}
.acscalc__tabs--astral .acscalc__tab{
  flex:1 1 0;
  min-width:0;
  padding:12px 16px;
  border-radius:999px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.14);
}
.acscalc__tabs--astral .acscalc__tab.is-active{background:rgba(167,139,250,.22);border-color:rgba(167,139,250,.55);color:#fff;box-shadow:0 10px 30px rgba(167,139,250,.18)}

/* Don't show mode switch on result pages */
.acscalc.is-results .acscalc__tabs{display:none!important}

.acscalc__hero{display:none}
.acscalc__card{background:rgba(0,0,0,.18)}
.acscalc__card--trust{display:none}
.acscalc__card--nav{display:none}

.acscalc__cta{background:linear-gradient(90deg, rgba(217,70,239,.95), rgba(167,139,250,.95));color:#fff}
.acscalc__cta:hover{filter:brightness(1.05)}

.acscalc__details{margin-top:14px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.16);overflow:hidden}
.acscalc__detailsSummary{cursor:pointer;list-style:none;padding:14px 16px;color:rgba(255,255,255,.88);font-weight:750}
.acscalc__detailsSummary::-webkit-details-marker{display:none}
.acscalc__detailsBody{padding:16px;border-top:1px solid rgba(255,255,255,.10)}
.acscalc__detailsTitle{font-weight:850;margin-bottom:12px}
.acscalc__detailsCols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:860px){.acscalc__detailsCols{grid-template-columns:1fr}}
.acscalc__detailsHd{font-weight:800;margin:10px 0 6px;color:rgba(255,255,255,.9)}
.acscalc__detailsList{margin:0;padding-left:18px;color:rgba(255,255,255,.72);line-height:1.55}
.acscalc__detailsList li{margin:4px 0}

.acscalc *{box-sizing:border-box}

.acscalc__shell{padding:10px}

.acscalc__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.acscalc__brand{display:flex;gap:12px;align-items:flex-start}
.acscalc__brandMark{width:42px;height:42px;border-radius:14px;background:rgba(167,139,250,.18);display:grid;place-items:center;border:1px solid rgba(167,139,250,.35);color:#e9ddff;font-size:18px}
.acscalc__kicker{font-size:12px;letter-spacing:.08em;color:rgba(255,255,255,.66);text-transform:uppercase;margin:2px 0 2px}
.acscalc__title{margin:0;font-size:20px;line-height:1.15}
.acscalc__subtitle{margin:6px 0 0 0;color:var(--acsc-muted);font-size:13px;line-height:1.45}

.acscalc__trust{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.acscalc__pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:rgba(255,255,255,.86);font-size:12px;white-space:nowrap}

.acscalc__tabs{display:flex;gap:8px;margin:10px 0 14px;padding:6px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}
.acscalc__tab{appearance:none;border:0;background:transparent;border-radius:999px;padding:10px 14px;font-size:13px;color:rgba(255,255,255,.78);cursor:pointer;flex:1}
.acscalc__tab.is-active{background:linear-gradient(90deg, rgba(167,139,250,.95), rgba(56,189,248,.85));color:#0b0f1a;font-weight:750}

.acscalc__panel{display:none !important}
.acscalc__panel.is-active{display:block !important}

.acscalc__hero{border-radius:var(--acsc-radius);padding:14px 14px 12px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.03));margin:10px 0 12px}
.acscalc__heroTitle{font-size:16px;font-weight:780;margin:0 0 6px}
.acscalc__heroSub{font-size:13px;color:var(--acsc-muted);line-height:1.45}
.acscalc__hero--quick{border-color:rgba(167,139,250,.22)}
.acscalc__hero--precise{border-color:rgba(56,189,248,.22)}

.acscalc__layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
@media (max-width:860px){.acscalc__layout{grid-template-columns:1fr}}

.acscalc__card{border-radius:var(--acsc-radius);border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));padding:14px}
.acscalc__card--form{background:linear-gradient(180deg, rgba(17,28,52,.78), rgba(10,15,26,.55))}
.acscalc__card--resultWrap{background:linear-gradient(180deg, rgba(10,15,26,.55), rgba(17,28,52,.55))}

.acscalc__sectionHd{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px}
.acscalc__sectionTitle{font-size:14px;font-weight:760}
.acscalc__sectionHint{font-size:12px;color:var(--acsc-fine);line-height:1.35;text-align:right;max-width:56%}
@media (max-width:860px){.acscalc__sectionHint{max-width:60%}}

.acscalc__form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:860px){.acscalc__form{grid-template-columns:1fr}}

.acscalc__field{display:flex;flex-direction:column;gap:7px;position:relative}
.acscalc__field--full{grid-column:1/-1}
.acscalc__label{font-size:12px;color:rgba(255,255,255,.82)}
.acscalc__input{width:100%;padding:12px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--acsc-text);font-size:14px;outline:none}
.acscalc__input:focus{border-color:rgba(167,139,250,.55);box-shadow:0 0 0 4px rgba(167,139,250,.12)}
.acscalc__help{font-size:12px;color:var(--acsc-fine);line-height:1.35}

.acscalc__checkbox{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.72);font-size:12px;line-height:1.45}
.acscalc__checkbox input{margin-top:2px}

.acscalc__formActions{grid-column:1/-1;margin-top:2px}
.acscalc__cta{width:100%;appearance:none;border:0;border-radius:18px;padding:12px 14px;
  background:linear-gradient(90deg, rgba(167,139,250,.95), rgba(56,189,248,.85));
  color:#0b0f1a;font-weight:800;font-size:14px;cursor:pointer}
.acscalc__cta:active{transform:translateY(1px)}
.acscalc__loading{margin-top:10px;font-size:13px;color:rgba(255,255,255,.74)}
.acscalc__fineprint{margin-top:10px;font-size:12px;color:var(--acsc-fine)}

.acscalc__empty{padding:14px;border-radius:18px;border:1px dashed rgba(255,255,255,.16);color:rgba(255,255,255,.65);font-size:13px;line-height:1.55}

.acscalc__alert{padding:12px 12px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:13px;line-height:1.45;margin:10px 0 12px}
.acscalc__alert--error{border-color:rgba(255,123,123,.35);background:rgba(255,123,123,.10);color:#ffd6d6}
.acscalc__alert--info{border-color:rgba(56,189,248,.35);background:rgba(56,189,248,.10);color:#d8f1ff}

/* Result UI (new PPT-like structure) */
.acscalc__result{display:block}
.acscalc__resultHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.acscalc__resultTitle{font-size:16px;font-weight:820;margin:0}
.acscalc__resultMeta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.acscalc__tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:12px;color:rgba(255,255,255,.84)}
.acscalc__tag--accent{border-color:rgba(167,139,250,.35);background:rgba(167,139,250,.12)}
.acscalc__tag--warn{border-color:rgba(255,123,123,.35);background:rgba(255,123,123,.10)}

.acscalc__block{padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);margin-top:10px}
.acscalc__blockTitle{font-size:13px;font-weight:780;margin:0 0 8px}
.acscalc__para{margin:0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.6}

.acscalc__crystals{display:grid;gap:10px;margin-top:10px}
.acscalc__crystal{padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.14)}
.acscalc__crystalName{font-weight:820}
.acscalc__crystalDesc{margin-top:6px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.55}

/* Product cards (used in "查看详情") */
.acscalc__products{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
@media (max-width:860px){.acscalc__products{grid-template-columns:1fr}}
.acscalc__product{padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.14)}
.acscalc__product a{display:block;margin-top:6px;color:rgba(255,255,255,.92);text-decoration:none;font-weight:780}
.acscalc__product p{margin:6px 0 0 0;color:rgba(255,255,255,.70);font-size:12px;line-height:1.45}
.acscalc__product img{width:100%;height:auto;border-radius:14px;display:block}

.acscalc__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.acscalc__btn{appearance:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(255,255,255,.88);border-radius:16px;padding:10px 12px;font-size:13px;cursor:pointer;flex:1;min-width:140px}
.acscalc__btn--primary{border-color:rgba(167,139,250,.35);background:linear-gradient(90deg, rgba(167,139,250,.95), rgba(56,189,248,.85));color:#0b0f1a;font-weight:820}
.acscalc__btn--ghost{background:transparent}

.acscalc__divider{height:1px;background:rgba(255,255,255,.10);margin:14px 0}

.acscalc__upgrade{margin-top:14px;border-radius:var(--acsc-radius);border:1px solid rgba(56,189,248,.25);background:radial-gradient(900px 300px at 20% 0%, rgba(56,189,248,.16), transparent 60%),
                linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  padding:14px}
.acscalc__upgradeTitle{font-size:14px;font-weight:850;margin:0 0 8px}
.acscalc__upgradeList{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.acscalc__upgradeList li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.78);font-size:13px;line-height:1.55}
.acscalc__upgradeDot{width:18px;height:18px;border-radius:6px;background:rgba(56,189,248,.18);border:1px solid rgba(56,189,248,.30);flex:0 0 auto;margin-top:2px}

.acscalc__footer{margin-top:14px;color:rgba(255,255,255,.55);font-size:12px;line-height:1.5}
.acscalc__footer p{margin:0}

/* Astral header (top bar like the screenshot) */
.acscalc__top{flex-direction:column;gap:12px;margin-bottom:16px}
.acscalc__appTop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 2px}
.acscalc__appBrand{display:flex;align-items:center;gap:10px;font-weight:780;letter-spacing:.01em;color:rgba(255,255,255,.92)}
.acscalc__appDot{width:14px;height:14px;border-radius:999px;background:linear-gradient(180deg, rgba(196,181,253,1), rgba(167,139,250,1));box-shadow:none}
.acscalc__appRight{display:flex;align-items:center;gap:12px}
.acscalc__appLink{display:none;color:rgba(255,255,255,.78);text-decoration:none;font-size:12px}
.acscalc__appLink:hover{color:rgba(255,255,255,.92)}
.acscalc.is-results .acscalc__appLink{display:inline-flex}

/* Social proof block (top-right, pseudo-dynamic) */
.acscalc__top{position:relative}
.acscalc__socialProof{
  position:absolute;
  top:8px;
  right:16px;
  max-width:300px;
  text-align:center;
  padding:10px 10px 8px;
  border-radius:18px;
  background:rgba(0,0,0,.14);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 60px rgba(0,0,0,.25);
  backdrop-filter:blur(6px);
}
.acscalc__spBadge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.12);
  margin-bottom:6px;
}
.acscalc__spStars{letter-spacing:1px;font-size:12px;line-height:1}
.acscalc__spStars{color:rgba(251,191,36,.95);text-shadow:0 0 8px rgba(251,191,36,.25)}
.acscalc__spScore{font-weight:900;font-size:12px;line-height:1}
.acscalc__spLine{font-size:12px;color:rgba(255,255,255,.86);line-height:1.35}
.acscalc__spLine--small{font-size:11px;color:rgba(255,255,255,.62);margin-bottom:2px}

/* ------------------------------------------------------------
 * Login gate modal (Premium requires login)
 * ------------------------------------------------------------ */
.acscalc__modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:18px}
.acscalc__modal[aria-hidden="false"]{display:flex}
.acscalc__modalOverlay{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
.acscalc__modalCard{position:relative;max-width:520px;width:100%;border-radius:22px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg, rgba(28,18,52,.92), rgba(12,10,24,.92));box-shadow:0 22px 70px rgba(0,0,0,.55);padding:18px 18px 16px}
.acscalc__modalTitle{font-size:16px;font-weight:850;color:rgba(255,255,255,.95);margin-bottom:8px}
.acscalc__modalText{font-size:13px;color:rgba(255,255,255,.72);line-height:1.45;margin-bottom:14px}
.acscalc__modalActions{display:flex;gap:10px;flex-wrap:wrap}
.acscalc__modalBtn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:rgba(255,255,255,.92);font-weight:750;font-size:13px;text-decoration:none;cursor:pointer}
.acscalc__modalBtn:hover{filter:brightness(1.06)}
.acscalc__modalBtn--primary{border:0;background:linear-gradient(90deg, rgba(217,70,239,.95), rgba(167,139,250,.95));}
.acscalc__modalBtn--ghost{background:transparent}

/* keep it from crowding on small screens */
@media (max-width:980px){
  .acscalc__socialProof{position:static;max-width:none;margin-top:10px;text-align:center}
}

/* Header card title row */
.acscalc__brand{padding:14px 16px;border-radius:22px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02))}
.acscalc__brandMark{width:40px;height:40px;border-radius:999px;background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.22), rgba(167,139,250,.14));border:1px solid rgba(255,255,255,.14)}
.acscalc__title{font-size:18px;font-weight:800}
.acscalc__subtitle{font-size:12px;color:rgba(255,255,255,.68)}

/* Mode switch -> Basic/Premium */
.acscalc__tabs--astral{margin:16px auto 0;padding:8px;border-radius:999px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.12);justify-content:center;gap:10px;max-width:520px}
.acscalc__tabs--astral .acscalc__tab{flex:1 1 0;min-width:0;padding:12px 16px;border-radius:999px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.14)}
.acscalc__tabs--astral .acscalc__tab.is-active{background:rgba(167,139,250,.22);border-color:rgba(167,139,250,.55);color:#fff;box-shadow:0 10px 30px rgba(167,139,250,.18)}

/* Primary CTA like screenshot */
.acscalc__cta{border-radius:14px;padding:12px 14px;background:linear-gradient(180deg, rgba(236,72,153,.85), rgba(167,139,250,.85));color:white;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.acscalc__cta:hover{filter:brightness(1.05)}

/* Details accordion */
.acscalc__details{margin-top:14px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
.acscalc__detailsSummary{cursor:pointer;list-style:none;padding:14px 16px;color:rgba(255,255,255,.90);font-weight:780}
.acscalc__detailsSummary::-webkit-details-marker{display:none}
.acscalc__detailsBody{padding:16px;border-top:1px solid rgba(255,255,255,.08)}
.acscalc__detailsTitle{font-weight:800;margin:0 0 12px;color:rgba(255,255,255,.95)}
.acscalc__detailsCols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:860px){.acscalc__detailsCols{grid-template-columns:1fr}}
.acscalc__detailsHd{font-weight:800;margin:14px 0 8px;color:rgba(255,255,255,.90)}
.acscalc__detailsList{margin:0;padding-left:18px;color:rgba(255,255,255,.78);font-size:13px;line-height:1.6}

/* Upgrade teaser (quick results) */
.acscalc__upgradeTeaser{margin-top:14px;border-radius:var(--acsc-radius);border:1px solid rgba(167,139,250,.25);
  background:radial-gradient(900px 300px at 70% 0%, rgba(167,139,250,.22), transparent 60%),
             radial-gradient(900px 320px at 10% 10%, rgba(56,189,248,.16), transparent 65%),
             linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  padding:16px}
.acscalc__upgradeTeaserTitle{font-weight:920;font-size:16px;letter-spacing:.2px}
.acscalc__upgradeTeaserSub{margin-top:6px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.5}

/* Upgrade page (PPT slide-06) */
.acscalc__upgradePage{border-radius:22px;border:1px solid rgba(56,189,248,.20);
  background:radial-gradient(1200px 520px at 60% 0%, rgba(56,189,248,.22), transparent 70%),
             radial-gradient(900px 520px at 20% 0%, rgba(167,139,250,.18), transparent 70%),
             linear-gradient(180deg, rgba(9,14,28,.88), rgba(6,10,20,.88));
  padding:26px;position:relative;overflow:hidden}
.acscalc__upgradeGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}
@media (max-width:920px){.acscalc__upgradeGrid{grid-template-columns:1fr;gap:16px}}
.acscalc__upgradeGrid:before{content:"";position:absolute;left:calc(57% - 1px);top:88px;bottom:26px;width:2px;
  background:repeating-linear-gradient(to bottom, rgba(56,189,248,.55), rgba(56,189,248,.55) 6px, rgba(56,189,248,0) 6px, rgba(56,189,248,0) 14px);
  opacity:.55}
@media (max-width:920px){.acscalc__upgradeGrid:before{display:none}}

.acscalc__upgradeHd{font-size:40px;font-weight:950;letter-spacing:1px}
@media (max-width:920px){.acscalc__upgradeHd{font-size:32px}}
.acscalc__upgradeSub{margin-top:10px;font-size:24px;font-weight:860;color:rgba(255,255,255,.92)}

.acscalc__upgradeBullets{margin:18px 0 0 0;padding:0;list-style:none;display:grid;gap:18px;max-width:540px}
.acscalc__upgradeBullets li{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start}
.acscalc__uIcon{width:22px;height:22px;border-radius:11px;border:1px solid rgba(56,189,248,.65);
  background:radial-gradient(circle at 30% 30%, rgba(56,189,248,.45), rgba(56,189,248,.10));
  margin-top:4px}
.acscalc__uTitle{font-weight:900;font-size:18px}
.acscalc__uDesc{margin-top:6px;color:rgba(255,255,255,.68);font-size:14px;line-height:1.6}

.acscalc__upgradeRight{padding-top:78px}
@media (max-width:920px){.acscalc__upgradeRight{padding-top:8px}}
.acscalc__upgradeRTitle{font-size:28px;font-weight:920;color:rgba(255,255,255,.92);margin-bottom:18px}
.acscalc__upgradeCtas{display:grid;gap:16px;max-width:520px}
.acscalc__upgradeBtn{appearance:none;border-radius:22px;padding:18px 18px;font-size:22px;font-weight:950;cursor:pointer;width:100%;
  border:2px solid rgba(56,189,248,.75);background:transparent;color:rgba(255,255,255,.92)}
.acscalc__upgradeBtn--primary{border:none;background:rgba(167,139,250,.90);color:#0b0f1a;box-shadow:0 18px 50px rgba(167,139,250,.25)}
.acscalc__upgradeFoot{margin-top:18px;color:rgba(255,255,255,.58);font-size:14px;line-height:1.7;max-width:520px}

/* Suggestions dropdown */
.acscalc__suggestions{
  position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:9999;
  background:#0b1020;border:1px solid rgba(255,255,255,.14);border-radius:18px;
  box-shadow:0 14px 36px rgba(0,0,0,.45);max-height:260px;overflow:auto;padding:6px
}
.acscalc__suggestion{padding:10px 10px;border-radius:14px;cursor:pointer;font-size:14px;color:rgba(255,255,255,.88)}
.acscalc__suggestion:hover{background:rgba(255,255,255,.06)}
.acscalc__suggestion small{display:block;color:rgba(255,255,255,.60);font-size:12px;margin-top:2px}

/* Birth date dropdown row */
.acscalc__dateRow{
  display:flex;
  gap:10px;
}
.acscalc__dateRow .acscalc__input{
  flex:1 1 0;
}

/* Birth time dropdown row (Hour / Minute) */
.acscalc__timeRow{
  display:flex;
  gap:10px;
}
.acscalc__timeRow .acscalc__input{
  flex:1 1 0;
}


/* Birth chart (precise mode) */
.acscalc__chartWrap{
  width:100%;
  max-width:520px;
  margin:10px auto 0 auto;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.acscalc__chartSvg{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 1 / 1;
}
.acscalc__chartLegend{
  list-style:none;
  padding:0;
  margin:10px 0 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 10px;
  color:rgba(255,255,255,.78);
  font-size:12px;
  line-height:1.4;
}
@media (max-width:520px){
  .acscalc__chartLegend{grid-template-columns:1fr}
}
.acscalc__chartLegend li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}
.acscalc__legendK{color:rgba(255,255,255,.72)}
.acscalc__legendV{color:rgba(255,255,255,.92);font-weight:700}

/* ============================================================
   Precise results: “个人星盘核心数据”表格（仅展示结果）
   ============================================================ */
.acscalc__coreCard{
  border:1px solid rgba(56,189,248,.45);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border-radius:18px;
  padding:14px 14px 12px;
}
.acscalc__coreHead{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.acscalc__coreBadge{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:12px;
  background:rgba(56,189,248,.12);
  border:1px solid rgba(56,189,248,.30);
  color:rgba(255,255,255,.92);
  font-weight:800;
}
.acscalc__coreTitle{
  font-size:16px;
  font-weight:800;
  color:rgba(255,255,255,.92);
}
.acscalc__coreTable{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.acscalc__coreRow{
  display:grid;
  grid-template-columns:34px 78px 1fr;
  align-items:center;
  gap:10px;
  padding:10px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}
.acscalc__coreIcon{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:12px;
  background:rgba(56,189,248,.10);
  border:1px solid rgba(56,189,248,.22);
  color:rgba(255,255,255,.92);
  font-weight:800;
}
.acscalc__coreLabel{
  color:rgba(255,255,255,.78);
  font-weight:700;
}
.acscalc__coreValue{
  color:rgba(255,255,255,.92);
  font-weight:800;
}
@media (max-width:520px){
  .acscalc__coreRow{grid-template-columns:34px 70px 1fr}
}


/* ============================================================
   移动端滚轮选择器样式 (Wheel Picker)
   ============================================================ */

/* 移动端触发输入框 - 默认隐藏 */
.acscalc__mobileDateTrigger,
.acscalc__mobileTimeTrigger {
  display: none !important; /* 默认强制隐藏 */
  cursor: pointer;
  caret-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 20px;
  padding-right: 40px !important;
}

.acscalc__mobileDateTrigger:focus,
.acscalc__mobileTimeTrigger:focus {
  border-color: rgba(167, 139, 250, 0.55);
  box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.12);
}

/* 桌面端（宽度 > 800px）：强制显示下拉框，强制隐藏移动端触发器 */
@media (min-width: 801px) {
  .acscalc__dateRow,
  .acscalc__timeRow {
    display: flex !important;
  }

  .acscalc__mobileDateTrigger,
  .acscalc__mobileTimeTrigger {
    display: none !important;
  }
}

/* 滚轮选择器容器 */
.acscalc-wheel-picker {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999999;
  display: none;
}

.acscalc-wheel-picker.is-active {
  display: block;
}

/* 遮罩层 */
.acscalc-wheel-picker__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.3s ease;
}

.acscalc-wheel-picker.is-active .acscalc-wheel-picker__overlay {
  background: rgba(0, 0, 0, 0.5);
}

/* 选择器主体容器 */
.acscalc-wheel-picker__container {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, #1a1f2e 0%, #0d1117 100%);
  border-radius: 22px 22px 0 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: none;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
  overflow: hidden;
  max-height: 50vh;
  /* iOS安全区域适配 */
  padding-bottom: env(safe-area-inset-bottom, 0);
}

.acscalc-wheel-picker.is-active .acscalc-wheel-picker__container {
  transform: translateY(0);
}

/* 头部栏 */
.acscalc-wheel-picker__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}

.acscalc-wheel-picker__title {
  font-size: 16px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
}

.acscalc-wheel-picker__btn {
  appearance: none;
  border: none;
  background: transparent;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  padding: 8px 4px;
  min-width: 60px;
}

.acscalc-wheel-picker__btn--cancel {
  color: rgba(255, 255, 255, 0.6);
}

.acscalc-wheel-picker__btn--confirm {
  color: var(--acsc-accent, #a78bfa);
}

.acscalc-wheel-picker__btn:active {
  opacity: 0.7;
}

/* 滚轮主体区域 */
.acscalc-wheel-picker__body {
  position: relative;
  height: 220px; /* 5个选项 × 44px */
  overflow: hidden;
}

/* 选中项高亮背景 */
.acscalc-wheel-picker__highlight {
  position: absolute;
  top: 50%;
  left: 16px;
  right: 16px;
  height: 44px;
  transform: translateY(-50%);
  background: rgba(167, 139, 250, 0.12);
  border-radius: 12px;
  border: 1px solid rgba(167, 139, 250, 0.25);
  pointer-events: none;
  z-index: 1;
}

/* 上下渐变遮罩 */
.acscalc-wheel-picker__body::before,
.acscalc-wheel-picker__body::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 88px; /* 2个选项高度 */
  pointer-events: none;
  z-index: 2;
}

.acscalc-wheel-picker__body::before {
  top: 0;
  background: linear-gradient(to bottom, 
    rgba(26, 31, 46, 1) 0%, 
    rgba(26, 31, 46, 0.8) 50%,
    rgba(26, 31, 46, 0) 100%);
}

.acscalc-wheel-picker__body::after {
  bottom: 0;
  background: linear-gradient(to top, 
    rgba(13, 17, 23, 1) 0%, 
    rgba(13, 17, 23, 0.8) 50%,
    rgba(13, 17, 23, 0) 100%);
}

/* 滚轮容器 */
.acscalc-wheel-picker__wheels {
  display: flex;
  height: 100%;
  padding: 0 16px;
  gap: 8px;
}

/* 单个滚轮 - 优化滚动和对齐 */
.acscalc-wheel-picker__wheel {
  flex: 1;
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* === 优化对齐，防止晃动 === */
  overscroll-behavior: contain;           /* 防止过度滚动 */
  display: flex;
  flex-direction: column;
  align-items: center;                     /* 内容居中 */
}

.acscalc-wheel-picker__wheel::-webkit-scrollbar {
  display: none;
}

/* 滚轮列表 - 居中对齐防止晃动 */
.acscalc-wheel-picker__list {
  display: flex;
  flex-direction: column;
  align-items: center;    /* 子元素居中对齐 */
  width: 100%;
}

/* 滚轮选项 - 优化防止晃动 */
.acscalc-wheel-picker__item {
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.35);
  scroll-snap-align: center;
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
  /* === 防止晃动的关键样式 === */
  font-variant-numeric: tabular-nums;    /* 使用等宽数字 */
  font-feature-settings: "tnum" 1;       /* 备用：等宽数字特性 */
  -webkit-font-feature-settings: "tnum" 1;
  min-width: 70px;                        /* 固定最小宽度，防止内容宽度变化 */
  text-align: center;
  transition: color 0.1s ease-out;        /* 只过渡颜色，不过渡transform */
  transform: none;                         /* 禁用transform */
  will-change: color;                      /* 提示浏览器优化 */
}

.acscalc-wheel-picker__item--spacer {
  pointer-events: none;
}

.acscalc-wheel-picker__item.is-selected {
  color: rgba(255, 255, 255, 0.95);
  font-weight: 600;                        /* 用字重加粗代替scale放大 */
  /* 不使用 transform: scale()，避免尺寸变化导致的晃动 */
}

/* 选项悬停效果（触摸设备无效果） */
@media (hover: hover) {
  .acscalc-wheel-picker__item:not(.acscalc-wheel-picker__item--spacer):hover {
    color: rgba(255, 255, 255, 0.6);
  }
}

/* 横屏时调整高度 */
@media (max-height: 500px) and (orientation: landscape) {
  .acscalc-wheel-picker__body {
    height: 176px; /* 4个选项 */
  }

  .acscalc-wheel-picker__item {
    height: 44px;
  }

  .acscalc-wheel-picker__highlight {
    height: 44px;
  }

  .acscalc-wheel-picker__body::before,
  .acscalc-wheel-picker__body::after {
    height: 66px;
  }
}

/* 平板适配 - 居中显示 */
@media (min-width: 600px) and (max-width: 800px) {
  .acscalc-wheel-picker__container {
    max-width: 500px;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    border-radius: 22px 22px 0 0;
  }

  .acscalc-wheel-picker.is-active .acscalc-wheel-picker__container {
    transform: translateX(-50%) translateY(0);
  }
}



/* Extra meta line under core chart card (precise mode) */
.acscalc__coreMeta{
  margin-top: 12px;
  color: rgba(255,255,255,.75);
  font-size: 13px;
  line-height: 1.5;
}


/* Collapsible core card */
.acscalc__coreDetails{ margin-top:12px; }
.acscalc__coreDetails > summary{ list-style:none; cursor:pointer; }
.acscalc__coreDetails > summary::-webkit-details-marker{ display:none; }
.acscalc__coreDetails .acscalc__coreChevron{ margin-left:auto; opacity:0.8; transition: transform .18s ease; }
.acscalc__coreDetails[open] .acscalc__coreChevron{ transform: rotate(180deg); }



/* =========================
   Natal Modules (V2) styles
   ========================= */
.acscalc__modsHost{display:block;}
.acscalc__modsCard{
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:0;
  margin:16px 0;
  background:rgba(18,16,30,.55);
  box-shadow:0 12px 26px rgba(0,0,0,.28);
  overflow:hidden;
}
.acscalc__modsSummary{
  list-style:none;
  cursor:pointer;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}
.acscalc__modsSummary::-webkit-details-marker{display:none;}
.acscalc__modsTitle{font-weight:700;color:rgba(255,255,255,.92);}
.acscalc__modsHint{font-size:12px;color:rgba(255,255,255,.60);}
.acscalc__modsBody{padding:16px 18px;}
.acscalc__modsTableWrap{overflow:auto; border-radius:14px; border:1px solid rgba(255,255,255,.08);}
.acscalc__modsTable{width:100%; border-collapse:collapse; min-width:860px;}
.acscalc__modsTable th, .acscalc__modsTable td{
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.06);
  font-size:13px;
  color:rgba(255,255,255,.82);
  white-space:nowrap;
}
.acscalc__modsTable thead th{
  position:sticky; top:0;
  background:rgba(124,58,237,.28);
  color:rgba(255,255,255,.94);
  font-weight:700;
}
.acscalc__modsRowHd{font-weight:700;color:rgba(255,255,255,.92);}
.acscalc__chartRing{
  width:220px; height:220px;
  border-radius:999px;
  border:3px solid rgba(255,255,255,.85);
  margin:6px auto 18px;
  position:relative;
  background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), rgba(255,255,255,.02) 55%, rgba(0,0,0,.15) 100%);
}
.acscalc__chartRing::before{
  content:"";
  position:absolute; inset:22px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.35);
}
.acscalc__chartRing::after{
  content:"";
  position:absolute; inset:56px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.22);
}
.acscalc__chartRingInner{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding:26px;
  font-weight:700;
  color:rgba(255,255,255,.92);
  line-height:1.25;
}
.acscalc__bodyChart{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}
.acscalc__houseChip{
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:10px 10px 12px;
  background:rgba(255,255,255,.04);
}
.acscalc__houseChipTop{
  font-weight:800;
  color:rgba(255,255,255,.92);
}
.acscalc__houseChipMid{
  margin-top:2px;
  font-size:12px;
  color:rgba(255,255,255,.62);
}
.acscalc__houseChipBot{
  margin-top:6px;
  font-size:12px;
  color:rgba(255,255,255,.82);
}
.acscalc__modsCardItem{
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:14px;
  background:rgba(255,255,255,.03);
  margin-bottom:12px;
}
.acscalc__modsCardLbl{font-weight:800;color:rgba(255,255,255,.92);margin-bottom:6px;}
.acscalc__modsCardTxt{color:rgba(255,255,255,.78);font-size:13px;line-height:1.6;}
.acscalc__modsListItem{display:flex; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.06);}
.acscalc__modsListItem:last-child{border-bottom:none;}
.acscalc__modsListLbl{min-width:160px;font-weight:800;color:rgba(255,255,255,.92);}
.acscalc__modsListTxt{color:rgba(255,255,255,.78);font-size:13px;line-height:1.6;}
@media (max-width: 720px){
  .acscalc__modsTable{min-width:720px;}
  .acscalc__bodyChart{grid-template-columns:repeat(2, minmax(0,1fr));}
  .acscalc__modsListLbl{min-width:110px;}
}


.acscalc__progressWrap{width:100%;max-width:420px;margin-top:10px}
.acscalc__progressMeta{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:rgba(255,255,255,.82);margin-bottom:8px}
.acscalc__progressBar{height:10px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}
.acscalc__progressBar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f472b6 0%,#a78bfa 100%);transition:width .45s ease}


/* ===== UI refresh: consultation-style grouped form ===== */
.acscalc__card--form{max-width:760px;margin:0 auto;padding:28px 28px 22px;border-radius:24px;background:linear-gradient(180deg, rgba(84,58,126,.55), rgba(43,26,67,.72));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 55px rgba(0,0,0,.28)}
.acscalc__pageBody,.acscalc__pageBody--precise{display:block}
.acscalc__card--trust,.acscalc__card--preciseIntro{display:none}
.acscalc__sectionHd{display:block;text-align:center;margin-bottom:18px}
.acscalc__sectionTitle{font-size:18px;font-weight:800;color:#fff}
.acscalc__sectionHint{max-width:none;text-align:center;margin-top:6px;color:rgba(255,255,255,.72)}
.acscalc__form--stacked{display:block}
.acscalc__group{margin:0 0 18px;padding-top:6px}
.acscalc__groupTitle{position:relative;margin:0 0 14px;text-align:center;font-size:14px;font-weight:800;color:#ffd84d}
.acscalc__groupTitle:before,.acscalc__groupTitle:after{content:"";position:absolute;top:50%;width:32%;height:1px;background:linear-gradient(90deg, transparent, rgba(255,216,77,.45), transparent)}
.acscalc__groupTitle:before{left:0}.acscalc__groupTitle:after{right:0}
.acscalc__groupGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.acscalc__groupGrid--single{grid-template-columns:1fr}
.acscalc__group .acscalc__field{margin:0}
.acscalc__group .acscalc__label{font-size:12px;font-weight:700;color:rgba(255,255,255,.92)}
.acscalc__group .acscalc__input{border-radius:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);padding:13px 14px;color:#fff}
.acscalc__group select.acscalc__input{color:#fff}
.acscalc__group .acscalc__input::placeholder{color:rgba(255,255,255,.58)}
.acscalc__dateRow,.acscalc__timeRow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.acscalc__timeRow{grid-template-columns:1fr 1fr}
.acscalc__mobileDateTrigger,.acscalc__mobileTimeTrigger{margin-top:10px}
.acscalc__field--consent{margin-top:8px}
.acscalc__checkbox{padding-top:2px}
.acscalc__formActions{margin-top:18px}
.acscalc__cta{border-radius:12px;padding:14px 18px;background:linear-gradient(90deg,#d36cff,#8f78ff);color:#fff;box-shadow:0 10px 25px rgba(201,110,255,.3)}
.acscalc__fineprint{text-align:center;color:rgba(255,255,255,.62)}
.acscalc__subBlock{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.acscalc__subBlock:first-of-type{margin-top:0;padding-top:0;border-top:0}
.acscalc__subTitle{margin:0 0 8px;font-size:13px;font-weight:800;color:#ffd84d}
@media (max-width: 860px){
  .acscalc__card--form{padding:22px 16px 18px}
  .acscalc__groupGrid,.acscalc__dateRow,.acscalc__timeRow{grid-template-columns:1fr}
  .acscalc__groupTitle:before,.acscalc__groupTitle:after{width:18%}
}

/* ===== visual tune v2: closer to latest reference ===== */
.acscalc__viewport{
  background:
    radial-gradient(900px 560px at 50% 18%, rgba(82,132,255,.18), transparent 58%),
    radial-gradient(1000px 700px at 82% 22%, rgba(255,211,104,.14), transparent 60%),
    radial-gradient(900px 620px at 18% 70%, rgba(92,122,255,.18), transparent 60%),
    radial-gradient(1100px 720px at 80% 85%, rgba(184,112,255,.22), transparent 62%),
    linear-gradient(90deg, #05173e 0%, #13295f 38%, #392560 78%, #6d5a93 100%);
}
.acscalc{
  max-width: 760px;
  background: linear-gradient(180deg, rgba(123,136,182,.22), rgba(99,73,141,.34));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 20px 70px rgba(0,0,0,.28);
  backdrop-filter: blur(8px);
}
.acscalc::after{opacity:.42}
.acscalc__brand{display:none}
.acscalc__top{margin-bottom:18px}
.acscalc__tabs--astral{
  max-width: 320px;
  margin: 0 auto 18px;
  background: rgba(36,19,70,.55);
  border-color: rgba(201,179,255,.22);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.acscalc__tabs--astral .acscalc__tab{
  color: rgba(255,255,255,.84);
  font-weight: 700;
  background: transparent;
  border-color: transparent;
}
.acscalc__tabs--astral .acscalc__tab.is-active{
  background: linear-gradient(180deg, rgba(141,116,224,.86), rgba(112,92,204,.92));
  border-color: rgba(231,218,255,.28);
  color:#fff;
  box-shadow:none;
}
.acscalc__card--form{
  max-width: 640px;
  padding: 26px 26px 20px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(140,154,199,.18), rgba(120,87,170,.30));
  border:1px solid rgba(255,255,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 16px 42px rgba(0,0,0,.20);
}
.acscalc__sectionTitle{font-size:20px}
.acscalc__sectionHint{color:rgba(255,255,255,.78);font-size:13px}
.acscalc__groupTitle{font-size:15px;color:#ffd631}
.acscalc__groupTitle:before,.acscalc__groupTitle:after{
  width:34%;
  background: linear-gradient(90deg, transparent, rgba(255,214,49,.40), transparent);
}
.acscalc__group{margin-bottom:16px}
.acscalc__group .acscalc__label{
  color: rgba(255,255,255,.92);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 6px;
}
.acscalc__group .acscalc__input,
.acscalc__mobileDateTrigger,
.acscalc__mobileTimeTrigger{
  border-radius: 8px;
  min-height: 42px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
  color:#fff;
}
.acscalc__group .acscalc__input:focus,
.acscalc__mobileDateTrigger:focus,
.acscalc__mobileTimeTrigger:focus{
  border-color: rgba(255,214,49,.55);
  box-shadow: 0 0 0 3px rgba(255,214,49,.12);
}
.acscalc__group select.acscalc__input option{color:#111}
.acscalc__field--themeSelect .acscalc__label{font-size:11px;color:rgba(255,255,255,.86)}
.acscalc__field--consent{margin-top:12px}
.acscalc__checkbox span{font-size:12px;color:rgba(255,255,255,.82)}
.acscalc__checkbox a{color:#ffd631;text-decoration:none}
.acscalc__cta{
  border-radius: 10px;
  background: linear-gradient(90deg, #5b3cf0 0%, #8b5cf6 48%, #c084fc 100%);
  box-shadow: 0 10px 24px rgba(111,76,255,.28);
}
.acscalc__fineprint{display:none}
@media (max-width:860px){
  .acscalc{max-width:680px}
  .acscalc__card--form{max-width:100%;padding:22px 16px 18px}
}


/* v16 hard fix: reserve top-right area for social proof so it never covers mode tabs */
.acscalc__top{position:relative;padding-top:0;min-height:110px;}
.acscalc__tabs--astral{margin-top:88px !important;}
@media (max-width: 760px){.acscalc__top{min-height:0}.acscalc__tabs--astral{margin-top:16px !important}.acscalc__socialProof{position:static;max-width:none;margin:8px 0 0 auto}}

/* ============================================================
   Tab Navigation for Results Page (Modification 2)
   ============================================================ */
.acscalc__tabContainer {
  width: 100%;
}

/* Tab navigation bar */
.acscalc__tabNav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 4px 0;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  padding-bottom: 0;
}

/* Individual tab button */
.acscalc__tabBtn {
  position: relative;
  padding: 9px 16px;
  border: none;
  border-radius: 10px 10px 0 0;
  background: rgba(255, 255, 255, .06);
  color: rgba(255, 255, 255, .60);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background .18s, color .18s;
  white-space: nowrap;
  margin-bottom: -1px;
  border: 1px solid transparent;
  border-bottom: none;
  line-height: 1.3;
}
.acscalc__tabBtn:hover {
  background: rgba(167, 139, 250, .15);
  color: rgba(255, 255, 255, .85);
}

/* Active tab */
.acscalc__tabBtn.is-active {
  background: rgba(167, 139, 250, .22);
  color: #a78bfa;
  border-color: rgba(167, 139, 250, .25);
  border-bottom-color: transparent;
  font-weight: 600;
}
.acscalc__tabBtn.is-active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: #a78bfa;
  border-radius: 2px 2px 0 0;
}

/* Tab panels container */
.acscalc__tabPanels {
  padding: 4px 0;
}

/* Each tab panel */
.acscalc__tabPanel {
  display: none;
  animation: acscalcTabFadeIn .18s ease;
}
.acscalc__tabPanel.is-active {
  display: block;
}

@keyframes acscalcTabFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Mobile: stack tabs as scrollable row */
@media (max-width: 600px) {
  .acscalc__tabNav {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 4px;
    padding-bottom: 0;
  }
  .acscalc__tabNav::-webkit-scrollbar { display: none; }
  .acscalc__tabBtn {
    font-size: 12px;
    padding: 7px 12px;
    flex-shrink: 0;
  }
}

/* Human reading form shortcode: [human_reading_form] */
.acshr__viewport{
  position:relative;
  width:100vw;
  left:50%;right:50%;
  margin-left:-50vw;margin-right:-50vw;
  padding:34px 16px 60px;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 18%, rgba(255,228,153,.85) 0 1px, transparent 3px),
    radial-gradient(circle at 17% 54%, rgba(255,228,153,.75) 0 1.4px, transparent 4px),
    radial-gradient(circle at 28% 30%, rgba(255,228,153,.8) 0 1px, transparent 3px),
    radial-gradient(circle at 43% 16%, rgba(255,228,153,.75) 0 1.2px, transparent 4px),
    radial-gradient(circle at 57% 44%, rgba(255,228,153,.6) 0 1.2px, transparent 4px),
    radial-gradient(circle at 74% 20%, rgba(255,228,153,.75) 0 1px, transparent 3px),
    radial-gradient(circle at 84% 62%, rgba(255,228,153,.75) 0 1.4px, transparent 4px),
    radial-gradient(circle at 93% 28%, rgba(255,228,153,.8) 0 1px, transparent 3px),
    radial-gradient(900px 520px at 20% 26%, rgba(34,99,255,.25), transparent 58%),
    radial-gradient(900px 520px at 80% 58%, rgba(180,66,255,.22), transparent 60%),
    linear-gradient(180deg, #070b23 0%, #10173f 46%, #27194a 100%);
}
.acshr__viewport *, .acshr * { box-sizing:border-box; }
.acshr{
  max-width:980px;
  margin:0 auto;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  color:#fff;
}
.acshr__hero{text-align:center;max-width:980px;margin:0 auto 22px;}
.acshr__heroTitle{margin:0 0 10px;font-size:clamp(28px,3.6vw,44px);line-height:1.08;font-weight:800;letter-spacing:-.02em;color:#6b45d8;}
.acshr__heroText{margin:0 auto;max-width:820px;font-size:clamp(15px,1.55vw,20px);line-height:1.45;color:rgba(255,255,255,.88);}
.acshr__heroHighlight{margin-top:6px;font-size:clamp(16px,1.7vw,21px);font-weight:800;color:#ffd31e;}
.acshr__panel{
  max-width:920px;margin:24px auto 34px;padding:22px 28px 26px;border-radius:22px;
  background:linear-gradient(180deg, rgba(66,77,120,.78), rgba(66,77,120,.62));
  border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.acshr__progress{height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;margin:2px 6px 26px;}
.acshr__progress span{display:block;width:18%;height:100%;background:linear-gradient(90deg,#ffd21a,#c12bdd);border-radius:999px;}
.acshr__section{margin:0 0 20px;}
.acshr__sectionHeading{display:flex;align-items:center;justify-content:center;gap:10px;color:#ffd31e;font-weight:800;font-size:22px;line-height:1.2;margin:0 0 18px;position:relative;text-align:center;}
.acshr__sectionHeading:before,.acshr__sectionHeading:after{content:"";height:1px;flex:1 1 100px;max-width:260px;background:rgba(255,255,255,.18);}
.acshr__sectionIcon{font-size:20px;line-height:1;}
.acshr__grid{display:grid;gap:14px 18px;}
.acshr__grid--one{grid-template-columns:1fr;}
.acshr__grid--two{grid-template-columns:repeat(2,minmax(0,1fr));}
.acshr__grid--three{grid-template-columns:repeat(3,minmax(0,1fr));}
.acshr__field{display:block;}
.acshr__label{display:block;margin:0 0 8px;font-size:15px;font-weight:700;color:rgba(255,255,255,.94);}
.acshr__label--ghost{opacity:0;pointer-events:none;}
.acshr__required{color:#ffd31e;}
.acshr__input,.acshr__select{
  width:100%;min-height:50px;padding:0 16px;border-radius:12px;border:1px solid rgba(255,255,255,.14);
  background:rgba(148,160,200,.18);color:#fff;font-size:15px;outline:none;box-shadow:none;
}
.acshr__input::placeholder{color:rgba(255,255,255,.45);}
.acshr__input:focus,.acshr__select:focus{border-color:rgba(255,211,30,.72);box-shadow:0 0 0 3px rgba(255,211,30,.14);}
.acshr__field--selectWrap{position:relative;}
.acshr__select{appearance:none;padding-right:56px;}
.acshr__select--native{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;}
.acshr__select--native option{color:#111827;background:#f8fafc;}
.acshr__selectCaret{position:absolute;right:16px;bottom:14px;color:rgba(255,255,255,.78);font-size:24px;pointer-events:none;}
.acshr__consent{display:flex;align-items:flex-start;gap:12px;margin:10px 0 20px;color:rgba(255,255,255,.88);font-size:15px;line-height:1.55;}
.acshr__consent input{width:18px;height:18px;margin-top:3px;accent-color:#ffd31e;}
.acshr__consent a{color:#ffd31e;text-decoration:none;}
.acshr__notice{margin:0 0 14px;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.55;}
.acshr__notice.is-error{background:rgba(255,102,132,.16);border:1px solid rgba(255,102,132,.35);color:#ffd5dc;}
.acshr__notice.is-success{background:rgba(57,194,120,.15);border:1px solid rgba(57,194,120,.34);color:#ddffe9;}
.acshr__submit{
  width:100%;min-height:82px;border:0;border-radius:14px;cursor:pointer;
  background:linear-gradient(90deg,#3f59d6,#b21ec7);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  box-shadow:0 16px 36px rgba(94,67,203,.24);font-weight:800;
}
.acshr__submit:disabled{opacity:.72;cursor:wait;}
.acshr__submitIcon{font-size:18px;line-height:1;}
.acshr__submitMain{font-size:18px;line-height:1.2;}
.acshr__submitSub{font-size:12px;line-height:1.2;color:rgba(255,255,255,.72);font-weight:600;}
.acshr__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:920px;margin:0 auto;}
.acshr__benefitCard{
  min-height:220px;padding:24px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(69,78,118,.62), rgba(69,78,118,.48));backdrop-filter:blur(8px);text-align:center;
}
.acshr__benefitIcon{width:62px;height:62px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#ffd31e;font-size:24px;}
.acshr__benefitCard h3{margin:0 0 10px;font-size:18px;line-height:1.3;color:rgba(255,255,255,.95);}
.acshr__benefitCard p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.76);}
@media (max-width: 900px){
  .acshr__panel{padding:18px 16px 22px;}
  .acshr__grid--two,.acshr__grid--three,.acshr__benefits{grid-template-columns:1fr;}
  .acshr__sectionHeading{font-size:20px;}
}

.acscalc__rpmBlock{margin-top:14px}
.acscalc__resultPageModulesHost{margin-top:12px}
.acscalc__rpmTabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.acscalc__rpmTab{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:inherit;border-radius:12px;padding:10px 14px;cursor:pointer}
.acscalc__rpmTab.is-active{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28)}
.acscalc__rpmPane{display:none}
.acscalc__rpmPane.is-active{display:block}
.acscalc__rpmModule{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.04);margin-bottom:14px}
.acscalc__rpmTitle{margin:0 0 8px;font-size:24px;line-height:1.25}
.acscalc__rpmSubtitle{margin-bottom:10px;color:rgba(255,255,255,.72);font-size:14px}
.acscalc__rpmBody{line-height:1.8;color:rgba(255,255,255,.94)}
.acscalc__rpmBody p{margin:0 0 10px}
.acscalc__rpmBody p:last-child{margin-bottom:0}

/* ============================================================
   Mobile-only result page optimization (iPhone 15 / narrow phones)
   Desktop remains unchanged.
   ============================================================ */
@media (max-width: 768px){
  .acscalc{
    margin:16px auto;
    padding:14px;
    border-radius:24px;
  }

  .acscalc__shell{
    padding:0;
  }

  .acscalc.is-results .acscalc__card,
  .acscalc.is-results .acscalc__card--resultWrap{
    padding:12px;
    border-radius:18px;
  }

  .acscalc.is-results .acscalc__resultHeader{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-bottom:10px;
  }

  .acscalc.is-results .acscalc__resultHeader > div:first-child{
    min-width:0;
  }

  .acscalc.is-results .acscalc__resultTitle{
    font-size:15px;
    line-height:1.35;
    word-break:break-word;
  }

  .acscalc.is-results .acscalc__resultMeta{
    justify-content:flex-start;
    gap:6px;
    width:100%;
  }

  .acscalc.is-results .acscalc__tag{
    max-width:100%;
    padding:5px 9px;
    font-size:11px;
    line-height:1.35;
    white-space:normal;
    word-break:break-word;
  }

  .acscalc.is-results .acscalc__block,
  .acscalc.is-results .acscalc__modsCard,
  .acscalc.is-results .acscalc__rpmModule,
  .acscalc.is-results .acscalc__upgradeTeaser,
  .acscalc.is-results .acscalc__upgradePage,
  .acscalc.is-results .acscalc__coreCard,
  .acscalc.is-results .acscalc__paiCard,
  .acscalc.is-results .acscalc__houseCard{
    padding:12px;
    border-radius:16px;
    margin-top:10px;
  }

  .acscalc.is-results .acscalc__para,
  .acscalc.is-results .acscalc__rpmBody,
  .acscalc.is-results .acscalc__modsCardTxt,
  .acscalc.is-results .acscalc__crystalDesc,
  .acscalc.is-results .acscalc__product p{
    font-size:14px;
    line-height:1.72;
    word-break:break-word;
    overflow-wrap:anywhere;
  }

  .acscalc.is-results .acscalc__blockTitle,
  .acscalc.is-results .acscalc__modsTitle,
  .acscalc.is-results .acscalc__rpmTitle,
  .acscalc.is-results .acscalc__upgradeTeaserTitle{
    font-size:15px;
    line-height:1.35;
  }

  .acscalc.is-results .acscalc__actions{
    flex-direction:column;
    gap:8px;
  }

  .acscalc.is-results .acscalc__btn,
  .acscalc.is-results .acscalc__upgradeBtn{
    width:100%;
    min-width:0;
  }

  .acscalc.is-results .acscalc__products{
    grid-template-columns:1fr;
    gap:8px;
  }

  .acscalc.is-results .acscalc__rpmTabs,
  .acscalc.is-results .acscalc__tabNav{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:2px;
  }

  .acscalc.is-results .acscalc__rpmTabs::-webkit-scrollbar,
  .acscalc.is-results .acscalc__tabNav::-webkit-scrollbar{
    display:none;
  }

  .acscalc.is-results .acscalc__rpmTab,
  .acscalc.is-results .acscalc__tabBtn{
    flex:0 0 auto;
  }

  .acscalc.is-results .acscalc__coreRow{
    grid-template-columns:30px 64px minmax(0,1fr);
    gap:8px;
    padding:9px;
  }

  .acscalc.is-results .acscalc__coreLabel,
  .acscalc.is-results .acscalc__coreValue{
    min-width:0;
    word-break:break-word;
  }

  .acscalc.is-results .acscalc__bodyChart,
  .acscalc.is-results .acscalc__houseGrid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 430px){
  .acscalc{
    margin:12px auto;
    padding:10px;
    border-radius:20px;
  }

  .acscalc__viewport{
    padding:18px 10px 40px;
  }

  .acscalc.is-results .acscalc__card,
  .acscalc.is-results .acscalc__card--resultWrap{
    padding:10px;
  }

  .acscalc.is-results .acscalc__resultTitle{
    font-size:14px;
  }

  .acscalc.is-results .acscalc__tag{
    font-size:10px;
    padding:4px 8px;
  }

  .acscalc.is-results .acscalc__para,
  .acscalc.is-results .acscalc__rpmBody,
  .acscalc.is-results .acscalc__modsCardTxt,
  .acscalc.is-results .acscalc__crystalDesc,
  .acscalc.is-results .acscalc__product p{
    font-size:13.5px;
    line-height:1.7;
  }

  .acscalc.is-results .acscalc__block,
  .acscalc.is-results .acscalc__modsCard,
  .acscalc.is-results .acscalc__rpmModule,
  .acscalc.is-results .acscalc__upgradeTeaser,
  .acscalc.is-results .acscalc__upgradePage,
  .acscalc.is-results .acscalc__coreCard,
  .acscalc.is-results .acscalc__paiCard,
  .acscalc.is-results .acscalc__houseCard{
    padding:10px;
    border-radius:14px;
  }
}

/* Result page addons: jump / donation / share */
.acscalc__addonCard{position:relative;overflow:visible}
.acscalc__addonCard .acscalc__actions a.acscalc__btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.acscalc__shareRail{display:flex;flex-direction:column;gap:10px;z-index:20;margin-left:auto;width:max-content}
.acscalc__shareItem{width:52px;height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-weight:700;box-shadow:0 10px 24px rgba(0,0,0,.28);border:0;cursor:pointer}
.acscalc__shareItem span{font-size:22px;line-height:1}
.acscalc__shareItem--wa{background:#25D366}
.acscalc__shareItem--fb{background:#1877F2}
.acscalc__shareItem--ig{background:linear-gradient(135deg,#f9ce34,#ee2a7b,#6228d7)}
.acscalc__shareItem--tt{background:#111}
.acscalc__shareItem--pt{background:#e60023}
.acscalc__shareItem--tg{background:#2AABEE}
.acscalc__shareItem--rd{background:#ff5700}
.acscalc__shareItem--tb{background:#2c4762}

/* Share rail: keep the source card in-flow, then portal it to a body-level floating rail on large desktop. */
.acscalc__floatingSharePortal{display:none}
@media (min-width: 1200px){
  .acscalc__addonCard--share.is-ported{display:none !important}
  .acscalc__floatingSharePortal{
    position:fixed;
    top:50%;
    right:18px;
    transform:translateY(-50%);
    z-index:9999;
    pointer-events:none;
  }
  .acscalc__floatingSharePortal.is-active{display:block}
  .acscalc__floatingSharePortal .acscalc__shareRail{gap:12px;margin-left:0;pointer-events:auto}
}

@media (max-width: 1199px){
  .acscalc__addonCard--share{position:relative;margin-top:14px}
  .acscalc__shareRail{position:static;top:auto;gap:8px}
  .acscalc__floatingSharePortal{display:none !important}
}

@media (max-width: 767px){
  .acscalc__shareRail{flex-direction:row;flex-wrap:wrap;justify-content:center}
  .acscalc__shareItem{width:46px;height:46px}
  .acscalc__shareItem span{font-size:19px}
}


.acscalc__agreementLink,
.acshr__agreementLink{ color:#ffd54f; text-decoration:underline; text-underline-offset:2px; }
.acscalc__cta.is-disabled,
.acshr__submit.is-disabled,
.acshr__submit:disabled,
.acscalc__cta:disabled{ opacity:.55; cursor:not-allowed; filter:saturate(.7); }
.acscalc-agreementOpen{ overflow:hidden; }
.acscalc-agreementModal[hidden]{ display:none !important; }
.acscalc-agreementModal{ position:fixed; inset:0; z-index:99999; }
.acscalc-agreementModal__backdrop{ position:absolute; inset:0; background:rgba(8,10,24,.72); backdrop-filter:blur(4px); }
.acscalc-agreementModal__dialog{ position:relative; width:min(760px,calc(100vw - 24px)); margin:5vh auto; max-height:90vh; background:linear-gradient(180deg,#20184e 0%,#19153d 100%); border:1px solid rgba(173,132,255,.35); border-radius:20px; box-shadow:0 24px 60px rgba(0,0,0,.45); padding:22px 22px 18px; color:#fff; }
.acscalc-agreementModal__close{ position:absolute; right:14px; top:10px; border:0; background:transparent; color:#fff; font-size:28px; line-height:1; cursor:pointer; opacity:.85; }
.acscalc-agreementModal__title{ font-size:26px; font-weight:700; margin-bottom:6px; padding-right:28px; }
.acscalc-agreementModal__meta{ font-size:12px; opacity:.72; margin-bottom:12px; }
.acscalc-agreementModal__body{ max-height:320px; overflow-y:auto; width:100%; border-radius:14px; border:1px solid rgba(173,132,255,.24); background:rgba(255,255,255,.04); padding:16px 16px; line-height:1.72; font-size:14px; white-space:normal; }
@media (max-width: 640px){
  .acscalc-agreementModal__dialog{ width:calc(100vw - 16px); margin:3vh auto; padding:18px 14px 14px; border-radius:16px; }
  .acscalc-agreementModal__title{ font-size:20px; }
  .acscalc-agreementModal__body{ max-height:60vh; padding:14px; }
}


.acscalc__card--resultPagePrecise{padding-top:18px}
.acscalc__preciseIntroCard{margin-bottom:16px;padding:18px 20px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.acscalc__preciseIntroCard .acscalc__rpmTitle{margin-bottom:14px}
.acscalc__preciseIntroCard .acscalc__rpmBody p{margin:0 0 8px 0}
.acscalc__preciseIntroCard .acscalc__rpmBody p:last-child{margin-bottom:0;margin-top:18px}
.acscalc__addonCard--share{background:transparent;border:0;padding:0;box-shadow:none}
.acscalc__addonCard--share .acscalc__blockTitle,
.acscalc__addonCard--share .acscalc__para{display:none}


/* ===== precise result page merge patch v2.0 ===== */
.acscalc__card--resultPagePrecise .acscalc__resultPageModulesHost,
.acscalc__card--resultPagePrecise [data-role="precise-top-modules"],
.acscalc__card--resultPagePrecise [data-role="precise-intro-slot"],
.acscalc__card--resultPagePrecise [data-role="precise-support-prepend"]{margin-top:14px}
.acscalc__card--resultPagePrecise .acscalc__modsTitle,
.acscalc__card--resultPagePrecise .acscalc__blockTitle,
.acscalc__card--resultPagePrecise .acscalc__rpmTitle{color:#d9bbff}
.acscalc__card--resultPagePrecise .acscalc__modsTitle{font-size:16px;line-height:1.38}
.acscalc__card--resultPagePrecise .acscalc__blockTitle{font-size:16px;line-height:1.38;color:#ceb0ff}
.acscalc__card--resultPagePrecise .acscalc__rpmTitle{font-size:17px;line-height:1.35;font-weight:700}
.acscalc__card--resultPagePrecise .acscalc__modsHint{color:rgba(228,208,255,.74)}
.acscalc__preciseIntroCard{padding:18px 20px;border-radius:20px;background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));border:1px solid rgba(211,184,255,.18)}
.acscalc__preciseIntroCard .acscalc__rpmTitle{margin-bottom:12px;font-size:17px;color:#e1c7ff}
.acscalc__preciseIntroCard .acscalc__rpmBody p{margin:0 0 7px 0;font-size:14px;line-height:1.72;color:rgba(255,255,255,.9)}
.acscalc__preciseIntroCard .acscalc__preciseIntroClosing{margin-top:18px !important;color:rgba(255,255,255,.96)}

.acscalc__preciseIntroCard .acscalc__modsSummary{padding-bottom:14px}
.acscalc__preciseIntroCard .acscalc__modsBody{padding-top:0}
.acscalc__preciseIntroCard .acscalc__modsListItem{margin:0 0 8px 0}
.acscalc__preciseIntroCard .acscalc__modsListLbl{font-weight:700;color:rgba(255,255,255,.92);margin-bottom:2px}
.acscalc__preciseIntroCard .acscalc__modsListTxt{font-size:14px;line-height:1.72;color:rgba(255,255,255,.9)}
.acscalc__preciseIntroCard .acscalc__modsListItem--closing{margin-top:18px}
.acscalc__preciseIntroCard .acscalc__modsListItem--closing .acscalc__modsListTxt{color:rgba(255,255,255,.96)}
[data-role="precise-support-prepend"] .acscalc__addonCard--productPlaceholder{margin-bottom:16px}
.acscalc__tabContainer--preciseTop .acscalc__tabNav{margin-bottom:14px}
.acscalc__tabContainer--preciseTop .acscalc__tabBtn{font-size:13px;font-weight:700}
.acscalc__tabContainer--preciseTop .acscalc__tabPanel[hidden],
.acscalc__rpmPane[hidden]{display:none !important}
.acscalc__modsCard--topPanel{background:rgba(255,255,255,.04);border:1px solid rgba(216,191,255,.14)}
.acscalc__resultPageModulesHost .acscalc__modsCard{background:rgba(255,255,255,.045);border:1px solid rgba(213,186,255,.15)}
.acscalc__resultPageModulesHost .acscalc__modsSummary{padding-bottom:14px}
.acscalc__resultPageModulesHost .acscalc__modsTitle{color:#d6b6ff}
.acscalc__resultPageModulesHost .acscalc__modsBody{padding-top:0}
.acscalc__modsCard--collapsible{overflow:hidden}
.acscalc__modsCollapse{display:block}
.acscalc__modsCollapseSummary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}
.acscalc__modsCollapseSummary::-webkit-details-marker{display:none}
.acscalc__modsCollapseSummary .acscalc__modsSummary{flex:1;min-width:0;padding-bottom:0}
.acscalc__modsCollapseChevron{display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;opacity:.9;transition:transform .2s ease}
.acscalc__modsCollapse[open] .acscalc__modsCollapseChevron{transform:rotate(180deg)}
.acscalc__modsBody--collapsible{padding-top:14px}
.acscalc__addonCard--productPlaceholder{background:linear-gradient(180deg, rgba(122,88,211,.16), rgba(255,255,255,.04));border:1px solid rgba(215,188,255,.22)}
.acscalc__productHero{margin:14px 0 4px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.acscalc__productEyebrow{font-size:14px;font-weight:700;color:#efdcff}
.acscalc__productSub{margin-top:6px;font-size:13px;color:rgba(255,255,255,.76)}
.acscalc__actions--triple{display:flex;flex-wrap:wrap;gap:10px}
.acscalc__actions--triple > *{flex:1 1 180px}
.acscalc__productCopy{margin-top:10px}
.acscalc__productButtons{margin-top:16px}
.acscalc__productButtonsMain{display:block}
.acscalc__productButtonsMain .acscalc__btn{display:flex;width:100%;justify-content:center;align-items:center;min-width:0;padding:14px 16px;border-radius:999px;text-decoration:none}
.acscalc__productButtonsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.acscalc__productButtonsGrid .acscalc__btn{display:flex;width:100%;justify-content:center;align-items:center;min-width:0;text-decoration:none}
.acscalc__btn--productSub{background:rgba(255,255,255,.06)}
@media (max-width:640px){.acscalc__productButtonsGrid{grid-template-columns:1fr}}
.acscalc__page--preciseReport .acscalc__hero,
.acscalc__page--preciseReport .acscalc__side{display:none}
.acscalc__pageBody--preciseReport{display:block}
.acscalc__pageBody--preciseReport .acscalc__report{max-width:none}
@media (max-width: 768px){
  .acscalc__card--resultPagePrecise .acscalc__modsTitle,
  .acscalc__card--resultPagePrecise .acscalc__blockTitle,
  .acscalc__card--resultPagePrecise .acscalc__rpmTitle{font-size:15px}
  .acscalc__preciseIntroCard .acscalc__rpmBody p{font-size:13.5px}
}


/* ===== precise primary navigation + full raw chart restore v2.4 ===== */
.acscalc__block--precisePrimaryNav{
  padding:0;
  border:0;
  background:transparent;
  margin-top:6px;
}
.acscalc__modsHost--precisePrimary{
  width:100%;
}
.acscalc__tabContainer--primaryNav{
  position:relative;
}
.acscalc__tabContainer--primaryNav .acscalc__tabNav{
  gap:10px;
  padding:0 0 14px;
  margin:0 0 18px;
  border-bottom:1px solid rgba(217,187,255,.18);
}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn{
  padding:14px 18px 15px;
  border-radius:16px 16px 0 0;
  background:transparent;
  color:rgba(241,231,255,.72);
  font-size:14px;
  font-weight:700;
  letter-spacing:.01em;
  border:1px solid transparent;
}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn:hover{
  background:rgba(138,106,222,.12);
  color:rgba(255,255,255,.92);
}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn.is-active{
  background:linear-gradient(180deg, rgba(122,88,211,.22), rgba(122,88,211,.08));
  color:#f0deff;
  border-color:rgba(216,191,255,.26);
  box-shadow:0 18px 36px rgba(8,8,24,.18);
}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn.is-active::after{
  height:3px;
  background:#cfa8ff;
}
.acscalc__tabContainer--primaryNav .acscalc__tabPanels{
  padding:0;
}
.acscalc__tabContainer--primaryNav .acscalc__tabPanel{
  padding:0;
}
.acscalc__modsCard--topPanel.acscalc__modsCard--primaryPanel{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
  border:1px solid rgba(216,191,255,.16);
  border-radius:20px;
  overflow:hidden;
}
.acscalc__modsCard--topPanel.acscalc__modsCard--primaryPanel .acscalc__modsSummary{
  padding-bottom:16px;
}
.acscalc__modsCard--topPanel.acscalc__modsCard--primaryPanel .acscalc__modsTitle{
  font-size:17px;
  color:#ead2ff;
}
.acscalc__precisePanelStack{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.acscalc__preciseChartMount{
  min-height:680px;
}
.acscalc__preciseChartMount .acscalc__chartSvg{
  width:min(100%, 760px);
  min-height:640px;
  margin-inline:auto;
}
 .acscalc__preciseWheelCard{
  position:relative;
  padding:22px;
  border-radius:18px;
  background:radial-gradient(circle at top, rgba(132,95,226,.20), rgba(255,255,255,.03) 62%);
  border:1px solid rgba(216,191,255,.16);
}
.acscalc__preciseWheelHead{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:14px;
}
.acscalc__preciseWheelEyebrow{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(228,208,255,.62);
}
.acscalc__preciseWheelTitle{
  font-size:16px;
  line-height:1.35;
  font-weight:700;
  color:#ead2ff;
}
.acscalc__preciseWheelCanvas{
  width:100%;
  display:flex;
  justify-content:center;
}
.acscalc__preciseWheelSvg{
  width:min(100%, 760px);
  min-width:min(100%, 560px);
  height:auto;
  display:block;
}
.acscalc__wheelOuter,
.acscalc__wheelMid,
.acscalc__wheelInner{
  fill:none;
  stroke:rgba(230,213,255,.34);
  stroke-width:1.8;
}
.acscalc__wheelOuter{stroke:rgba(230,213,255,.46);}
.acscalc__wheelAxis{
  stroke:rgba(211,176,255,.52);
  stroke-width:1.8;
}
.acscalc__wheelAxis--mc{
  stroke-dasharray:4 4;
}
.acscalc__wheelLine{
  stroke:rgba(255,255,255,.22);
  stroke-width:1.45;
}
.acscalc__wheelHouseLabel,
.acscalc__wheelSignLabel,
.acscalc__wheelAxisLabel,
.acscalc__wheelGlyph{
  fill:#f1e3ff;
  text-anchor:middle;
  dominant-baseline:middle;
}
.acscalc__wheelHouseLabel{font-size:16px;font-weight:800;fill:rgba(255,255,255,.92)}
.acscalc__wheelSignLabel{font-size:18px;font-weight:700;fill:rgba(217,187,255,.96)}
.acscalc__wheelAxisLabel{font-size:16px;font-weight:800;fill:#e6c8ff}
.acscalc__wheelGlyph{font-size:22px;font-weight:800}
.acscalc__wheelPoint{
  fill:rgba(142,108,232,.9);
  stroke:rgba(255,255,255,.72);
  stroke-width:1.3;
}
.acscalc__para--muted{
  color:rgba(255,255,255,.7);
}
@media (max-width: 768px){
  .acscalc__tabContainer--primaryNav .acscalc__tabBtn{
    padding:12px 15px 14px;
    font-size:13px;
  }
  .acscalc__preciseWheelCard{
    padding:14px;
  }
  .acscalc__modsCard--topPanel.acscalc__modsCard--primaryPanel .acscalc__modsTitle{
    font-size:15px;
  }
}

/* ===== final precise + form polish v2.5 ===== */
.acscalc__socialProof{
  max-width:none;
  min-width:240px;
  padding:10px 14px;
}
.acscalc__spUnified{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(12,12,28,.34);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.92);
  font-weight:800;
  letter-spacing:.01em;
}
.acscalc__spStar{font-size:15px;line-height:1}
.acscalc__spScore{font-size:13px;font-weight:900;line-height:1}
.acscalc__spDivider{color:rgba(255,255,255,.42);font-size:13px;line-height:1}
.acscalc__spReaders{font-size:13px;line-height:1}

.acscalc__formDeckHead{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px 14px 12px;
  margin:0 0 14px;
  border-radius:18px;
  border:1px solid rgba(216,191,255,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
}
.acscalc__formDeckEyebrow{
  font-size:11px;
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(219,198,255,.68);
}
.acscalc__formDeckTitle{
  font-size:18px;
  line-height:1.25;
  font-weight:800;
  color:#f1e3ff;
}
.acscalc__formDeckSub{
  font-size:12px;
  line-height:1.45;
  color:rgba(255,255,255,.74);
}

.acscalc__tabContainer--primaryNav .acscalc__tabNav{
  gap:12px;
  padding:0 0 16px;
  margin:0 0 20px;
  border-bottom:1px solid rgba(217,187,255,.20);
}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn{
  min-height:50px;
  padding:15px 20px 16px;
  border-radius:18px 18px 0 0;
  font-size:14px;
  font-weight:800;
}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn.is-active{
  box-shadow:0 20px 44px rgba(8,8,24,.20);
}
.acscalc__tabPanel--primaryRaw .acscalc__modsBody{padding-top:2px}

.acscalc__bodyChart{
  gap:8px;
}
.acscalc__houseChip{
  padding:8px 9px 10px;
}
.acscalc__houseChipTop{
  font-size:11px;
  line-height:1.15;
}
.acscalc__houseChipMid{
  margin-top:1px;
  font-size:11px;
  line-height:1.25;
}
.acscalc__houseChipBot{
  margin-top:4px;
  font-size:11px;
  line-height:1.35;
  color:rgba(255,255,255,.76);
}

.acscalc.is-precise-report .acscalc__appLink,
.acscalc.is-precise-report .acscalc__footer{
  display:none !important;
}

@media (max-width: 760px){
  .acscalc__socialProof{width:100%;padding:8px 0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
  .acscalc__spUnified{width:100%;justify-content:center}
  .acscalc__formDeckTitle{font-size:16px}
  .acscalc__tabContainer--primaryNav .acscalc__tabBtn{min-height:46px;padding:13px 15px 14px;font-size:13px}
  .acscalc__bodyChart{grid-template-columns:repeat(2, minmax(0,1fr))}
}

@media (max-width: 768px){
  .acscalc__preciseChartMount{min-height:420px;}
  .acscalc__preciseWheelSvg{width:min(100%, 560px);min-width:0;}
  .acscalc__wheelHouseLabel{font-size:13px;}
  .acscalc__wheelSignLabel{font-size:15px;}
  .acscalc__wheelAxisLabel{font-size:13px;}
  .acscalc__wheelGlyph{font-size:18px;}
}

.acscalc__addonCard--productPlaceholder .acscalc__modsBody{overflow:visible}
.acscalc__productButtons{display:block;overflow:visible}
.acscalc__productButtonsMain{display:block;margin-top:14px}
.acscalc__productButtonsMain .acscalc__btn--productMain{display:flex!important;min-height:56px;font-size:16px;font-weight:800;background:linear-gradient(90deg,#9f8cff,#49b6ff)!important;color:#fff!important;border:0!important;box-shadow:0 14px 28px rgba(73,182,255,.18);white-space:normal;line-height:1.35;text-align:center;word-break:break-word;padding:16px 18px}
.acscalc__productButtonsGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.acscalc__productButtonsGrid .acscalc__btn--productSub{display:flex!important;min-height:54px;border-radius:999px;border:1px solid rgba(216,191,255,.22);background:rgba(255,255,255,.05)!important;color:#f3e7ff!important;font-weight:700;padding:14px 16px;white-space:normal;text-align:center;line-height:1.3;word-break:break-word}
.acscalc__btn--withMatch{flex-direction:column;gap:4px}
.acscalc__productBtnLabel{display:block;font-size:inherit;font-weight:inherit;line-height:1.2}
.acscalc__productBtnMeta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.04em;line-height:1.15;opacity:.96;text-align:center}
.acscalc__productBtnMetaStars{display:inline-block;letter-spacing:.08em}
.acscalc__productBtnMetaPct,.acscalc__productBtnMetaLabel{display:inline-block}
.acscalc__productButtonsMain .acscalc__btn--withMatch{min-height:74px;padding-top:12px;padding-bottom:12px}
.acscalc__productButtonsGrid .acscalc__btn--withMatch{min-height:68px;padding-top:10px;padding-bottom:10px}

.acscalc__appBrand{flex-wrap:wrap}
.acscalc__appBackInline{display:none;align-items:center;gap:8px;margin-left:14px;padding:10px 16px;border-radius:999px;border:1px solid rgba(216,191,255,.34);background:linear-gradient(135deg, rgba(167,139,250,.22), rgba(73,182,255,.14));color:#fff;text-decoration:none;font-size:13px;font-weight:800;line-height:1;box-shadow:0 10px 24px rgba(16,10,28,.22);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease}
.acscalc__appBackInline:hover{transform:translateY(-1px);border-color:rgba(216,191,255,.54);box-shadow:0 14px 32px rgba(73,182,255,.16);background:linear-gradient(135deg, rgba(167,139,250,.34), rgba(73,182,255,.22));color:#fff}
.acscalc__appBackInline:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(167,139,250,.24),0 14px 32px rgba(73,182,255,.18)}
.acscalc__appBackIcon{font-size:14px;line-height:1}
.acscalc__appBackLabel{display:inline-block;white-space:nowrap}
.acscalc.is-results .acscalc__appBackInline{display:inline-flex}
.acscalc.is-precise-report .acscalc__appBackInline{display:inline-flex !important}

@media (max-width:640px){.acscalc__appBackInline{margin-left:10px;padding:7px 12px;font-size:12px}.acscalc__productButtonsGrid{grid-template-columns:1fr}}

.acscalc__addonCard--jump .acscalc__actions,.acscalc__addonCard--donation .acscalc__actions,.acscalc__addonCard--humanJump .acscalc__actions{margin-top:14px}

.acscalc__addonCard--jump .acscalc__modsSummary,.acscalc__addonCard--donation .acscalc__modsSummary,.acscalc__addonCard--humanJump .acscalc__modsSummary,.acscalc__addonCard--productPlaceholder .acscalc__modsSummary{padding-bottom:12px}
.acscalc__addonCard--jump .acscalc__modsTitle,.acscalc__addonCard--donation .acscalc__modsTitle,.acscalc__addonCard--humanJump .acscalc__modsTitle,.acscalc__addonCard--productPlaceholder .acscalc__modsTitle{display:block;font-size:18px;font-weight:800;letter-spacing:.01em;color:#fff}
.acscalc__addonCard--jump .acscalc__modsBody,.acscalc__addonCard--donation .acscalc__modsBody,.acscalc__addonCard--humanJump .acscalc__modsBody,.acscalc__addonCard--productPlaceholder .acscalc__modsBody{padding-top:0}
.acscalc__appBackInline{padding:12px 18px;font-size:14px;font-weight:900;border-color:rgba(216,191,255,.45);box-shadow:0 14px 34px rgba(16,10,28,.28)}
.acscalc__appBackInline .acscalc__appBackLabel{letter-spacing:.01em}
@media (max-width:640px){.acscalc__appBackInline{padding:9px 14px;font-size:12px}}

.acscalc__rpmPanels--stacked{display:grid;gap:18px}
.acscalc__rpmSectionStack{padding:18px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(216,191,255,.14)}
.acscalc__rpmSectionHead{margin-bottom:14px;font-size:15px;font-weight:800;letter-spacing:.01em;color:#fff}
.acscalc__rpmSectionBody > .acscalc__modsCard + .acscalc__modsCard{margin-top:14px}


/* ===== v2.5.26 compact birth imprint + accordion tabs ===== */
.acscalc__preciseIntroCard .acscalc__modsListItem{
  gap:10px;
  padding:7px 0;
  margin:0;
}
.acscalc__preciseIntroCard .acscalc__modsListLbl{
  min-width:132px;
  margin-bottom:0;
}
.acscalc__preciseIntroCard .acscalc__modsListTxt{
  line-height:1.48;
}
.acscalc__preciseIntroCard .acscalc__modsListItem--closing{
  margin-top:10px;
  padding-top:12px;
}
.acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabNav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:stretch;
  gap:12px;
  padding:0 0 12px;
  margin:0 0 16px;
  border-bottom:0;
}
.acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabBtn{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  flex:0 0 auto;
  width:auto;
  max-width:100%;
  min-width:188px;
  padding:14px 18px;
  border-radius:20px;
  border:1px solid rgba(216,191,255,.20);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabBtnText{
  display:block;
  flex:0 0 auto;
  min-width:0;
  white-space:nowrap;
}
.acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabBtnChevron{
  font-size:14px;
  line-height:1;
  opacity:.78;
  transition:transform .2s ease, opacity .2s ease;
}
.acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabBtn.is-active .acscalc__tabBtnChevron{
  transform:rotate(180deg);
  opacity:1;
}
.acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabPanels{
  padding:0;
}
@media (max-width: 900px){
  .acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabBtn{
    min-width:170px;
    max-width:100%;
  }
}
@media (max-width: 640px){
  .acscalc__preciseIntroCard .acscalc__modsListItem{
    gap:6px;
    padding:6px 0;
  }
  .acscalc__preciseIntroCard .acscalc__modsListLbl{
    min-width:104px;
  }
  .acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabBtn{
    width:100%;
    min-width:0;
    flex:1 1 100%;
  }
}

.acscalc__shareItem.is-copied{outline:2px solid rgba(255,255,255,.65);outline-offset:2px}


/* v2.5.51: hard-fix long precise top tab labels */
.acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabNav{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  overflow:visible !important;
}
.acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabBtn{
  display:inline-flex !important;
  flex:0 0 auto !important;
  flex-shrink:0 !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
.acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabBtnText{
  white-space:nowrap !important;
}
@media (max-width: 640px){
  .acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabNav{
    gap:10px !important;
  }
  .acscalc__tabContainer--preciseTop.acscalc__tabContainer--accordionLike .acscalc__tabBtn{
    width:100% !important;
    flex:1 1 100% !important;
  }
}

.acscalc__modsLoading{min-height:20px;height:20px;border-radius:10px;background:linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.08), rgba(255,255,255,.04));background-size:200% 100%;animation:acscalcModsPulse 1.1s linear infinite;}
@keyframes acscalcModsPulse{0%{background-position:200% 0}100%{background-position:-200% 0}}


/* v2.6.9 precise top tabs usability + no glow */
.acscalc__tabContainer--primaryNav .acscalc__tabNav{position:relative;z-index:30;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:10px}
.acscalc__tabContainer--primaryNav .acscalc__tabNav::-webkit-scrollbar{display:none}
.acscalc__tabContainer--primaryNav .acscalc__tabPanels{position:relative;z-index:1}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn,
.acscalc__tabContainer--primaryNav .acscalc__tabBtn:hover,
.acscalc__tabContainer--primaryNav .acscalc__tabBtn.is-active{box-shadow:none!important;filter:none!important;backdrop-filter:none!important}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn{background:rgba(255,255,255,.04)!important;border:1px solid rgba(216,191,255,.16)!important;color:rgba(241,231,255,.86)!important}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn:hover{background:rgba(138,106,222,.10)!important;color:#fff!important}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn.is-active{background:rgba(122,88,211,.16)!important;color:#fff!important;border-color:rgba(216,191,255,.30)!important}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn::before{display:none!important}
.acscalc__tabContainer--primaryNav .acscalc__tabBtn.is-active::after{background:#cfa8ff!important;height:2px!important;left:10px!important;right:10px!important}
.acscalc__modsCard--topPanel .acscalc__modsTableWrap{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.acscalc__modsCard--topPanel .acscalc__modsTableWrap::-webkit-scrollbar{display:none}
.acscalc__modsCard--topPanel .acscalc__modsTable{min-width:0!important;width:100%!important;table-layout:fixed}
.acscalc__modsCard--topPanel .acscalc__modsTable th,
.acscalc__modsCard--topPanel .acscalc__modsTable td{word-break:break-word;white-space:normal}

/* v2.6.10 house cusp panel fallback rows visible */
.acscalc__modsCard--topPanel .acscalc__modsTable tbody{display:table-row-group!important}
.acscalc__modsCard--topPanel .acscalc__modsTable tr{display:table-row!important}
.acscalc__modsCard--topPanel .acscalc__modsTable td{background:transparent!important}


/* ===== v2.6.30 fix: prevent result-page module text clipping/truncation ===== */
.acscalc__resultPageModulesHost .acscalc__modsCard,
.acscalc__resultPageModulesHost .acscalc__modsBody,
.acscalc__resultPageModulesHost .acscalc__modsBody p,
.acscalc__resultPageModulesHost .acscalc__modsBody div,
.acscalc__resultPageModulesHost .acscalc__modsListTxt{
  max-height:none !important;
  height:auto !important;
  min-height:0 !important;
  text-overflow:clip !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
}
.acscalc__resultPageModulesHost .acscalc__modsBody,
.acscalc__resultPageModulesHost .acscalc__modsBody p,
.acscalc__resultPageModulesHost .acscalc__modsBody div,
.acscalc__resultPageModulesHost .acscalc__modsListTxt{
  overflow:visible !important;
  white-space:normal !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}
