.sign-in-trigger,.forgot-password,.signin-create { border:0; padding:0; background:none; color:var(--deep-teal); cursor:pointer; font:inherit; font-weight:700; }
.sign-in-trigger { transition:color .2s ease, transform .2s ease; }
.sign-in-trigger:hover,.forgot-password:hover,.signin-create:hover { color:var(--teal); }
.signin-modal[hidden] { display:none; }
.signin-modal { position:fixed; z-index:30; inset:0; display:grid; place-items:center; padding:22px; }
.register-story,.register-panel { transition:opacity .35s ease, transform .35s cubic-bezier(.2,.8,.2,1), visibility .35s ease; }
body.signin-open .register-story,body.signin-open .register-panel { opacity:0; transform:scale(.985); visibility:hidden; pointer-events:none; }
html.signin-route .register-shell { opacity:0; visibility:hidden; }
body.signin-swap-in .register-story { animation:registrationSwapIn .52s cubic-bezier(.2,.8,.2,1) both; }
body.signin-swap-in .register-panel { animation:registrationSwapIn .58s cubic-bezier(.2,.8,.2,1) .06s both; }
.signin-backdrop { position:absolute; inset:0; background:rgba(5,43,54,.7); backdrop-filter:blur(12px); animation:signinFadeIn .3s ease both; }
.signin-card { position:relative; width:min(480px,100%); overflow:hidden; border:1px solid rgba(164,231,215,.42); border-radius:24px; background:linear-gradient(145deg,#fff 0%,#f7fcfa 100%); box-shadow:0 30px 90px rgba(0,0,0,.3); animation:signinCardIn .5s cubic-bezier(.2,.85,.25,1) both; }
.signin-card-content { position:relative; z-index:1; padding:42px 46px 28px; }
.signin-close { position:absolute; z-index:3; top:18px; right:18px; width:34px; height:34px; border:1px solid #dce7e3; border-radius:50%; color:#718486; background:rgba(255,255,255,.8); cursor:pointer; font-size:23px; line-height:1; transition:.2s ease; }
.signin-close:hover { color:#fff; border-color:var(--deep-teal); background:var(--deep-teal); transform:rotate(90deg); }
.signin-kicker { display:flex; align-items:center; gap:8px; margin-bottom:15px; color:var(--teal); text-transform:uppercase; letter-spacing:1.8px; font-size:10px; font-weight:700; }
.signin-kicker span { width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px rgba(231,168,50,.13); }
.signin-card h2 { margin:0; color:var(--ink); font-size:46px; line-height:.96; letter-spacing:-2.5px; }
.signin-card h2 em { color:var(--teal); font-style:normal; }
.signin-intro { max-width:350px; margin:18px 0 25px; color:var(--muted); font-size:13px; line-height:1.6; }
.signin-form { display:grid; gap:15px; }
.signin-field { display:grid; gap:7px; color:#526f76; font-size:10px; font-weight:700; }
.signin-field input[type=email],.signin-password input { width:100%; height:47px; padding:0 13px; border:1px solid #d4e2df; border-radius:7px; outline:0; color:var(--ink); background:#fff; font-size:13px; transition:.2s ease; }
.signin-field input::placeholder { color:#a8b7b8; }
.signin-field input:focus { border-color:var(--teal); box-shadow:0 0 0 4px rgba(31,156,164,.1); }
.signin-password { position:relative; }
.signin-password input { padding-right:58px; }
.signin-password-toggle { position:absolute; top:50%; right:10px; border:0; color:var(--teal); background:none; cursor:pointer; font-size:10px; font-weight:700; transform:translateY(-50%); }
.signin-options { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#809092; font-size:10px; }
.signin-options label { display:flex; align-items:center; gap:7px; cursor:pointer; }
.signin-options input { width:15px; height:15px; accent-color:var(--teal); }
.forgot-password { color:var(--teal); font-size:10px; }
.signin-submit { width:100%; margin-top:2px; }
.signin-status { min-height:15px; margin:0; color:#bd6b58; text-align:center; font-size:10px; }
.signin-divider { display:flex; align-items:center; gap:12px; margin:22px 0 14px; color:#9aabaa; font-size:10px; }
.signin-divider::before,.signin-divider::after { content:""; flex:1; height:1px; background:#e4eeeb; }
.signin-socials { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.signin-socials button { display:flex; align-items:center; justify-content:center; gap:8px; height:42px; border:1px solid #dce7e3; border-radius:7px; color:var(--ink); background:#fff; cursor:pointer; font-size:11px; font-weight:700; transition:.2s ease; }
.signin-socials button:hover { border-color:#8ccdc3; background:#f0faf7; transform:translateY(-2px); }
.social-letter { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:var(--teal); background:#e4f4f0; font-weight:700; }
.signin-switch { margin:22px 0 0; color:#829395; text-align:center; font-size:10px; }
.signin-create { color:var(--deep-teal); font-size:10px; }
.signin-trust { position:relative; z-index:1; display:flex; align-items:center; gap:10px; padding:14px 46px 17px; border-top:1px solid #e4efeb; color:#69817d; background:rgba(235,248,244,.65); font-size:10px; }
.signin-trust > span { color:var(--gold); font-size:17px; }
.signin-trust strong,.signin-trust small { display:block; }
.signin-trust strong { color:var(--deep-teal); font-size:10px; }
.signin-trust small { margin-top:3px; font-size:9px; }
@keyframes signinFadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes signinCardIn { from { opacity:0; transform:translateY(22px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes registrationSwapIn { from { opacity:0; transform:translateY(18px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
.signin-orb { position:absolute; border-radius:50%; pointer-events:none; }
.signin-orb-one { width:180px; height:180px; top:-95px; right:-80px; background:rgba(125,215,198,.18); animation:signinOrbFloat 7s ease-in-out infinite; }
.signin-orb-two { width:100px; height:100px; bottom:25px; left:-60px; background:rgba(231,168,50,.1); animation:signinOrbFloat 6s ease-in-out 1s infinite reverse; }
@keyframes signinOrbFloat { 50% { transform:translate(-12px,10px) scale(1.08); } }
@media (max-width:520px) { .signin-modal { padding:12px; }.signin-card-content { padding:38px 24px 24px; }.signin-card h2 { font-size:40px; }.signin-trust { padding-left:24px; padding-right:24px; } }
@media (prefers-reduced-motion:reduce) { .signin-backdrop,.signin-card,.signin-orb-one,.signin-orb-two { animation:none; } }
.signin-close {
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:auto;
  height:34px;
  padding:0 11px 0 9px;
  border-radius:999px;
  text-decoration:none;
  font-size:10px;
  font-weight:700;
  letter-spacing:.4px;
  transition:color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.signin-close-icon {
  display:grid;
  place-items:center;
  width:19px;
  height:19px;
  border-radius:50%;
  background:#e7f3ef;
  color:var(--deep-teal);
  font-size:14px;
  line-height:1;
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.signin-close-label { color:var(--muted); }
.signin-close:hover,
.signin-close:focus-visible {
  outline:none;
  border-color:#9dd6cc;
  background:#effaf7;
  box-shadow:0 7px 18px rgba(13,82,96,.12);
  transform:translateY(-2px);
}
.signin-close:hover .signin-close-icon,
.signin-close:focus-visible .signin-close-icon {
  color:#fff;
  background:var(--deep-teal);
  transform:translateX(-2px);
}
.signin-close:focus-visible { box-shadow:0 0 0 4px rgba(31,156,164,.16), 0 7px 18px rgba(13,82,96,.12); }
.signin-homepage-preview {
  position:absolute;
  inset:-24px;
  z-index:-2;
  width:calc(100% + 48px);
  height:calc(100% + 48px);
  border:0;
  filter:blur(8px) saturate(.78);
  transform:scale(1.04);
  pointer-events:none;
}
.signin-page-modal .signin-backdrop {
  background:rgba(5,43,54,.28);
  backdrop-filter:blur(9px) saturate(.82);
}
.signin-page-modal .signin-card {
  max-height:calc(100vh - 28px);
  overflow-y:auto;
  scrollbar-width:thin;
}
.signin-page-modal .signin-card-content { padding:28px 34px 18px; }
.signin-page-modal .signin-card h2 { font-size:38px; letter-spacing:-2px; }
.signin-page-modal .signin-intro { margin:12px 0 18px; }
.signin-page-modal .signin-form { gap:11px; }
.signin-page-modal .signin-divider { margin:15px 0 10px; }
.signin-page-modal .signin-switch { margin-top:14px; }
.signin-page-modal .signin-trust { padding:10px 34px 12px; }
@media (max-height:700px) {
  .signin-page-modal { padding:10px; }
  .signin-page-modal .signin-card-content { padding-top:22px; }
  .signin-page-modal .signin-card h2 { font-size:34px; }
  .signin-page-modal .signin-intro { margin-bottom:13px; }
  .signin-page-modal .signin-field input[type=email],
  .signin-page-modal .signin-password input { height:42px; }
  .signin-page-modal .signin-socials button { height:36px; }
}

.signin-socials [data-provider="Facebook"] .social-facebook{background:#1877f215;color:#1877f2;font-family:Arial,sans-serif;font-weight:800;font-size:17px;line-height:1}.signin-socials [data-provider="Facebook"]:hover{border-color:#1877f2;color:#1665c7}
