/* Keep the original dark interface; only the wordmark gets a polished finish. */
html[data-theme="dark"],body.futuristic-dark{
  --ink:#f7f3ff;
  --muted:#c4bdd5;
  --violet:#8a63d1;
  --deep:#120c1d;
  --pale:#30274c;
  --line:#45395d;
}
html[data-theme="dark"] body,body.futuristic-dark{background:#171222;color:var(--ink)}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,
body.futuristic-dark h1,body.futuristic-dark h2,body.futuristic-dark h3{color:#fff;text-shadow:none}

/* Juris stays crisp white; Trainer carries the single dark-purple gloss. */
html[data-theme="dark"] .brand,html[data-theme="dark"] .brand:not(span),
html[data-theme="dark"] .wordmark a,html[data-theme="dark"] .workspace-brand,
html[data-theme="dark"] .welcome-wordmark,
body.futuristic-dark .brand{color:#fff!important;text-shadow:0 1px 9px rgba(255,255,255,.1)}
html[data-theme="dark"] .brand span,html[data-theme="dark"] .wordmark .brand-break,
html[data-theme="dark"] .workspace-brand .brand-break,html[data-theme="dark"] .welcome-wordmark .brand-break,
body.futuristic-dark .brand span{
  background:none;
  color:#9671d8!important;
  text-shadow:0 1px 0 rgba(255,255,255,.16),0 0 7px rgba(120,76,196,.22);
}
html[data-theme="dark"] .button:not(.secondary):not(.outline):not(.ghost),
html[data-theme="dark"] .btn.primary:not(.membership-cta),body.futuristic-dark .button:not(.secondary):not(.ghost){
  background:linear-gradient(145deg,#8b65d4,#58348e);
  color:#fff;
  box-shadow:inset 0 1px rgba(255,255,255,.2),0 6px 16px rgba(44,23,78,.25);
}
html[data-theme="dark"] .btn.secondary,html[data-theme="dark"] .button.secondary{
  background:#33254e;
  border-color:#5e477e;
  color:#fff!important;
  text-shadow:none;
}
html[data-theme="dark"] .bank-note,html[data-theme="dark"] .feedback,
html[data-theme="dark"] .feedback strong,html[data-theme="dark"] .drill-feedback,
html[data-theme="dark"] .drill-feedback strong,html[data-theme="dark"] .answer-reveal,
html[data-theme="dark"] .answer-reveal *,html[data-theme="dark"] .detailed-summary,
html[data-theme="dark"] .detailed-summary *,html[data-theme="dark"] .detailed-item,
html[data-theme="dark"] .detailed-item *,body.futuristic-dark .clock,
body.futuristic-dark .section-clock,body.futuristic-dark .answer-reveal,
body.futuristic-dark .answer-reveal *,body.futuristic-dark .detailed-summary,
body.futuristic-dark .detailed-summary *,body.futuristic-dark .detailed-item,
body.futuristic-dark .detailed-item *{color:#fff!important}

/* Shared motion for every internal route; respects the visitor's motion preference. */
html{background:#171222;scroll-behavior:smooth}
body{opacity:1;transform:translateY(0);transition:opacity .18s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1)}
html.page-leaving body{opacity:0;transform:translateY(5px);pointer-events:none}
a,button{transition:transform .16s ease,filter .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}
a:active,button:active{transform:scale(.985)}

/* Guest users see this as the clear next step: keep their work by creating an account. */
#guest-plan-cta{
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(205,186,255,.6);
  border-radius:10px;
  padding:8px 30px 8px 12px;
  background:linear-gradient(105deg,#9b78ec 0%,#623ba8 39%,#c8b1ff 50%,#623ba8 61%,#9b78ec 100%)!important;
  background-size:220% 100%!important;
  background-position:0 50%;
  color:#fff!important;
  font-size:.74rem;
  line-height:1.15;
  box-shadow:inset 0 1px rgba(255,255,255,.3),0 7px 17px rgba(67,37,134,.38);
  animation:guest-plan-sheen 4.8s ease-in-out infinite;
}
#guest-plan-cta:before{
  content:"";
  position:absolute;
  z-index:0;
  top:-55%;
  left:0;
  width:32%;
  height:210%;
  transform:translateX(-180%) skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);
  pointer-events:none;
  animation:guest-plan-reflection 3.2s ease-in-out infinite;
}
#guest-plan-cta .guest-plan-label{position:relative;z-index:1}
#guest-plan-cta:after{
  content:"→";
  position:absolute;
  z-index:1;
  right:14px;
  font-size:1.08em;
  animation:guest-plan-arrow 1.9s ease-in-out infinite;
}
#guest-plan-cta:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
  box-shadow:inset 0 1px rgba(255,255,255,.4),0 12px 24px rgba(67,37,134,.52);
}
@keyframes guest-plan-sheen{
  0%,100%{background-position:0 50%;box-shadow:inset 0 1px rgba(255,255,255,.3),0 7px 17px rgba(67,37,134,.38)}
  50%{background-position:100% 50%;box-shadow:inset 0 1px rgba(255,255,255,.42),0 10px 23px rgba(67,37,134,.55)}
}
@keyframes guest-plan-reflection{0%,52%{transform:translateX(-180%) skewX(-18deg)}80%,100%{transform:translateX(460%) skewX(-18deg)}}
@keyframes guest-plan-arrow{50%{transform:translateX(3px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body,a,button{transition:none!important}#guest-plan-cta,#guest-plan-cta:before,#guest-plan-cta:after{animation:none}}
