/* CircleTrust first-run app guide V1 */
body.ct-guide-open{overflow:hidden}
.ct-guide-overlay{
  position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;
  padding:22px;background:rgba(15,12,10,.58);backdrop-filter:blur(5px);
  opacity:0;transition:opacity .16s ease
}
.ct-guide-overlay.is-visible{opacity:1}
.ct-guide-card{
  width:min(620px,100%);max-height:min(760px,calc(100dvh - 32px));overflow:auto;
  box-sizing:border-box;border:1px solid var(--ct-line);border-radius:26px;
  background:var(--ct-paper);color:var(--ct-ink);
  box-shadow:0 28px 86px rgba(12,9,7,.27);
  font-family:var(--ct-font-ui)
}
.ct-guide-head{
  position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;
  gap:18px;padding:22px 24px 12px;background:color-mix(in srgb,var(--ct-paper) 94%,transparent);
  backdrop-filter:blur(10px)
}
.ct-guide-brand{
  color:var(--ct-sub);font:850 .66rem/1.2 var(--ct-font-ui);
  letter-spacing:.16em;text-transform:uppercase
}
.ct-guide-count{margin-top:5px;color:var(--ct-sub);font:650 .76rem/1.2 var(--ct-font-ui)}
.ct-guide-close{
  flex:0 0 auto;width:40px;height:40px;border:1px solid var(--ct-line);border-radius:50%;
  background:var(--ct-paper);color:var(--ct-ink);font:750 .9rem/1 var(--ct-font-ui);cursor:pointer
}
.ct-guide-close:hover{background:color-mix(in srgb,var(--ct-ink) 4%,var(--ct-paper))}
.ct-guide-stage{padding:14px 34px 16px}
.ct-guide-card.ct-guide-step-change .ct-guide-stage{animation:ct-guide-step .22s ease}
@keyframes ct-guide-step{
  from{opacity:.35;transform:translateY(7px)}
  to{opacity:1;transform:translateY(0)}
}
.ct-guide-icon{
  display:grid;place-items:center;width:62px;height:62px;margin:4px 0 24px;border-radius:18px;
  background:var(--ct-accent);color:var(--ct-accent-contrast);
  box-shadow:0 12px 28px color-mix(in srgb,var(--ct-accent) 24%,transparent);
  font:850 1.75rem/1 var(--ct-font-ui)
}
.ct-guide-eyebrow{
  margin-bottom:8px;color:var(--ct-accent);font:850 .69rem/1.2 var(--ct-font-ui);
  letter-spacing:.14em;text-transform:uppercase
}
.ct-guide-stage h2{
  max-width:520px;margin:0;color:var(--ct-ink);
  font:550 clamp(2.15rem,5vw,3.4rem)/.98 var(--ct-font-display);
  letter-spacing:-.045em
}
.ct-guide-stage>p{max-width:520px}
#ctGuideBody{margin:18px 0 0;color:var(--ct-sub);font:520 1rem/1.58 var(--ct-font-ui)}
.ct-guide-doctrine{
  margin:17px 0 0;padding:12px 14px;border-left:3px solid var(--ct-accent);
  background:color-mix(in srgb,var(--ct-accent) 6%,var(--ct-paper));
  color:var(--ct-ink);font:700 .82rem/1.5 var(--ct-font-ui)
}
.ct-guide-route{
  margin:19px 0 0;padding:0;border:0;background:transparent;color:var(--ct-ink);
  font:850 .82rem/1.3 var(--ct-font-ui);text-decoration:underline;
  text-decoration-color:var(--ct-accent);text-decoration-thickness:2px;text-underline-offset:5px;
  cursor:pointer
}
.ct-guide-progress{display:flex;gap:7px;padding:5px 34px 16px}
.ct-guide-progress span{
  width:22px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--ct-ink) 12%,transparent);
  transition:width .16s ease,background .16s ease
}
.ct-guide-progress span.on{width:42px;background:var(--ct-accent)}
.ct-guide-foot{
  position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:15px 24px calc(19px + env(safe-area-inset-bottom,0px));
  border-top:1px solid var(--ct-line);
  background:color-mix(in srgb,var(--ct-paper) 95%,transparent);backdrop-filter:blur(10px)
}
.ct-guide-skip,.ct-guide-back,.ct-guide-next{
  min-height:42px;border-radius:999px;font:800 .78rem/1 var(--ct-font-ui);cursor:pointer
}
.ct-guide-skip{
  padding:0;border:0;background:transparent;color:var(--ct-sub)
}
.ct-guide-nav{display:flex;gap:8px}
.ct-guide-back{
  min-width:82px;padding:0 17px;border:1px solid var(--ct-line);
  background:var(--ct-paper);color:var(--ct-ink)
}
.ct-guide-back:disabled{opacity:.38;cursor:default}
.ct-guide-next{
  min-width:96px;padding:0 20px;border:1px solid var(--ct-ink);
  background:var(--ct-ink);color:var(--ct-paper)
}
.ct-guide-next:hover{filter:brightness(.94)}
@media(max-width:640px){
  .ct-guide-overlay{align-items:flex-end;padding:0}
  .ct-guide-card{
    width:100%;max-height:92dvh;border-width:1px 0 0;border-radius:24px 24px 0 0;
    box-shadow:0 -18px 55px rgba(12,9,7,.24)
  }
  .ct-guide-head{padding:18px 20px 10px}
  .ct-guide-stage{padding:12px 22px 14px}
  .ct-guide-icon{width:54px;height:54px;margin-bottom:20px;border-radius:16px;font-size:1.5rem}
  .ct-guide-stage h2{font-size:clamp(2rem,10vw,2.8rem)}
  #ctGuideBody{font-size:.94rem}
  .ct-guide-progress{padding:4px 22px 14px}
  .ct-guide-foot{padding:14px 20px calc(16px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){
  .ct-guide-overlay,.ct-guide-card.ct-guide-step-change .ct-guide-stage{transition:none;animation:none}
}
