﻿


:root{
  --lk-ink:#0f172a; --lk-muted:#667085; --lk-border:#e6e9ee;
  --lk-card:#ffffff; --lk-bg:#f6f8fb;
  --lk-cta:#16a34a; --lk-cta2:#84cc16;
  --lk-shadow:0 1px 2px rgba(16,24,40,.04), 0 12px 28px rgba(16,24,40,.10);
}


.text-bubble.auth-card{
  position:relative; isolation:isolate;
  max-width: 480px; margin: 34px auto; padding: 22px 22px 18px;
  background: var(--lk-card); border:1px solid var(--lk-border);
  border-radius: 18px; box-shadow: var(--lk-shadow);
  overflow:hidden;
}


.text-bubble.auth-card::after{
  content:""; position:absolute; left:0; right:0; top:0; height:4px;
  border-top-left-radius:18px; border-top-right-radius:18px;
  background:linear-gradient(90deg,var(--lk-cta),var(--lk-cta2));
}


.text-bubble.auth-card::before{
  content:"";
  position:absolute; inset:-40% -20% auto auto;
  width: 420px; height: 420px;
  background: radial-gradient(circle at 30% 30%, rgba(132,204,22,.22), transparent 60%),
              radial-gradient(circle at 70% 65%, rgba(22,163,74,.18), transparent 58%);
  filter: blur(2px);
  transform: translate3d(0,0,0);
  animation: lkFloat 12s ease-in-out infinite;
  z-index:-1;
}
@keyframes lkFloat{
  0%   { transform: translate(0,0) rotate(0deg); }
  50%  { transform: translate(-18px, 14px) rotate(6deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}


.auth-card .card-head{ text-align:center; margin-bottom: 10px; }
.auth-card .card-head h1{
  margin:0 0 6px;
  font-size: clamp(24px, 2.8vw, 30px);
  color: var(--lk-ink);
  letter-spacing:.2px;
}
.auth-card .card-head .sub{
  margin:0;
  font-size: .98rem;
  color: var(--lk-muted);
}


.auth-card .notice{
  border-radius:14px; padding:10px 12px;
  border:1px solid var(--lk-border);
  backdrop-filter: blur(6px);
}
.auth-card .notice.success{ border-left:4px solid var(--lk-cta); background: rgba(22,163,74,.08); }
.auth-card .notice.error{ border-left:4px solid #ef4444; background: rgba(239,68,68,.08); }
.auth-card .notice.warn{ border-left:4px solid #f59e0b; background: rgba(245,158,11,.10); }
.auth-card .notice ul{ margin:6px 0; padding-left: 18px; }


.auth-card .notice.error.lk-shake{
  animation: lkShake .45s cubic-bezier(.36,.07,.19,.97) 1;
}
@keyframes lkShake{
  0%   { transform: translateX(0); }
  15%  { transform: translateX(-10px); }
  30%  { transform: translateX(10px); }
  45%  { transform: translateX(-8px); }
  60%  { transform: translateX(8px); }
  75%  { transform: translateX(-4px); }
  100% { transform: translateX(0); }
}


.auth-card .form-grid{ display:grid; gap:14px; margin-top: 14px; }
.auth-card .field label{
  display:inline-flex; align-items:center; gap:8px;
  margin-bottom:6px; font-weight:800; color:var(--lk-ink);
}
.auth-card .input{
  width:100%;
  border:1px solid var(--lk-border);
  background:linear-gradient(180deg, #fff, #fbfcfe);
  color:var(--lk-ink);
  border-radius:14px;
  padding:12px 14px;
  transition:border-color .15s, box-shadow .15s, transform .08s;
}
.auth-card .input:focus{
  outline:0;
  border-color: color-mix(in srgb, var(--lk-cta) 70%, #ffffff);
  box-shadow:0 0 0 4px rgba(22,163,74,.16);
}
.auth-card .input:active{ transform: scale(.995); }
.auth-card .input::placeholder{ color: rgba(102,112,133,.75); }
.auth-card .with-toggle .input-row{
  display:grid; grid-template-columns: 1fr auto;
  gap:10px; align-items:stretch;
}
.auth-card .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 16px; font-weight:900;
  border-radius:999px; cursor:pointer; border:0;
  user-select:none;
}
.auth-card .btn-primary{
  color:#fff;
  background:linear-gradient(90deg,var(--lk-cta),var(--lk-cta2));
  box-shadow:0 10px 26px rgba(22,163,74,.22);
  transition: transform .12s, box-shadow .12s, filter .2s;
}
.auth-card .btn-primary:hover{
  transform: translateY(-1px);
  box-shadow:0 14px 34px rgba(22,163,74,.28);
  filter:saturate(1.05);
}
.auth-card .btn-primary:active{ transform:none; box-shadow:0 8px 22px rgba(22,163,74,.22); }
.auth-card .btn-primary:focus-visible{
  outline: 3px solid rgba(22,163,74,.35);
  outline-offset: 3px;
}
.auth-card .btn-ghost{
  background: rgba(15,23,42,.02);
  border:1px solid var(--lk-border);
  color: var(--lk-ink);
  border-radius:14px;
  padding:10px 12px;
  font-weight:800;
  transition: border-color .15s, background .15s, transform .08s;
}
.auth-card .btn-ghost:hover{ border-color: var(--lk-cta); background: rgba(22,163,74,.06); }
.auth-card .btn-ghost:active{ transform: scale(.99); }
.auth-card .btn-ghost:focus-visible{
  outline: 3px solid rgba(22,163,74,.25);
  outline-offset: 2px;
}
.auth-card .icon-btn{ min-width: 88px; }
.auth-card .btn-full{ width:100%; }
.auth-card hr.lemon{
  margin:16px 0; border:0; height:1px;
  background:linear-gradient(90deg,transparent 0 8%, var(--lk-border) 8% 92%, transparent 92% 100%);
}
.auth-card .auth-links{
  display:flex; justify-content:center; align-items:center; flex-wrap:wrap;
  gap:10px;
  font-size:.95rem; color:var(--lk-muted);
}
.auth-card .auth-links a{
  color:var(--lk-ink); text-decoration:none;
  border-bottom:1px dashed transparent;
  padding:2px 0;
}
.auth-card .auth-links a:hover{ color:var(--lk-cta); border-bottom-color:var(--lk-cta); }
.auth-card .auth-links a:focus-visible{
  outline: 3px solid rgba(22,163,74,.22);
  outline-offset: 2px;
  border-radius: 8px;
}
.auth-card .hint{
  margin-top:8px;
  font-size:.9rem;
  color: var(--lk-muted);
}
.auth-card .hint.warn{
  color:#92400e;
  background: rgba(245,158,11,.12);
  border:1px solid rgba(245,158,11,.25);
  padding:8px 10px;
  border-radius:12px;
}
@media (max-width: 420px){
  .text-bubble.auth-card{ margin: 18px 12px; padding:18px 16px 14px; border-radius:16px; }
  .text-bubble.auth-card::after{ border-top-left-radius:16px; border-top-right-radius:16px; }
}
@media (prefers-reduced-motion: reduce){
  .text-bubble.auth-card::before{ animation:none; }
  .auth-card .notice.error.lk-shake{ animation:none; }
  .auth-card .btn-primary:hover{ transform:none; }
}
.auth-card .lk-login-lockWrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin: 14px auto 0;
  padding: 8px 0 2px;
  user-select:none;
}
.auth-card .lk-lock{
  width:88px;
  height:104px;
  position:relative;
  transform: translateZ(0);
  will-change: transform;
  filter: drop-shadow(0 14px 18px rgba(0,0,0,.14));
  animation: lkLockBounce 2.4s ease-in-out infinite;
}
.auth-card .lk-lock-shackle{
  position:absolute;
  left:50%;
  top:0;
  width:54px;
  height:52px;
  transform:translateX(-50%);
  border-radius:28px 28px 22px 22px;
  border:10px solid rgba(22,163,74,.65);
  border-bottom-color: transparent;
  box-sizing:border-box;
  opacity:.92;
}
.auth-card .lk-lock-body{
  position:absolute;
  left:50%;
  bottom:0;
  width:88px;
  height:68px;
  transform:translateX(-50%);
  border-radius:18px;
  background: linear-gradient(
    145deg,
    rgba(22,163,74,.15),
    rgba(132,204,22,.12)
  );
  border: 1px solid rgba(22,163,74,.25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  overflow:hidden;
}
.auth-card .lk-lock-face{
  position:absolute;
  inset:-20px -30px auto -30px;
  height:90px;
  transform: rotate(-10deg);
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(255,255,255,0) 55%);
  opacity:.8;
}
.auth-card .lk-lock-keyhole{
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:18px;
  transform:translate(-50%,-35%);
  border-radius:10px;
  background: rgba(15,23,42,.35);
}
.auth-card .lk-lock-keyhole:before{
  content:"";
  position:absolute;
  left:50%;
  top:-7px;
  width:12px;
  height:12px;
  transform:translateX(-50%);
  border-radius:50%;
  background: rgba(15,23,42,.35);
}
.auth-card .lk-lock-spark{
  position:absolute;
  left:-25%;
  top:10%;
  width:40%;
  height:120%;
  transform: rotate(18deg);
  background: linear-gradient(90deg,
    rgba(255,255,255,0),
    rgba(132,204,22,.35),
    rgba(22,163,74,.28),
    rgba(255,255,255,0)
  );
  opacity:.28;
  animation: lkLockShine 2.8s ease-in-out infinite;
}
.auth-card .lk-lock-caption{
  font-size:12px;
  color: var(--lk-muted);
  letter-spacing:.2px;
}
@keyframes lkLockShake{
  0%   { transform: rotate(0deg); }
  15%  { transform: rotate(-6deg); }
  30%  { transform: rotate(6deg); }
  45%  { transform: rotate(-5deg); }
  60%  { transform: rotate(5deg); }
  75%  { transform: rotate(-2deg); }
  100% { transform: rotate(0deg); }
}
@keyframes lkLockBounce{
  0%   { transform: translateY(0); }
  35%  { transform: translateY(0); }
  45%  { transform: translateY(-2px); }
  55%  { transform: translateY(0); }
  100% { transform: translateY(0); }
}
@keyframes lkLockShine{
  0%   { transform: translateX(-40%) rotate(18deg); opacity:.10; }
  25%  { opacity:.38; }
  50%  { transform: translateX(190%) rotate(18deg); opacity:.12; }
  100% { transform: translateX(190%) rotate(18deg); opacity:.10; }
}
.auth-card .lk-lock:hover{
  animation: lkLockShake .55s ease-in-out 1;
}
.auth-card .lk-login-lockWrap.is-error .lk-lock{
  animation: lkLockShake .6s cubic-bezier(.36,.07,.19,.97) 2;
}
@media (prefers-reduced-motion: reduce){
  .auth-card .lk-lock,
  .auth-card .lk-lock-spark{ animation:none !important; }
}


.lk-auth-page,
.lk-auth-page *,
.lk-auth-page *::before,
.lk-auth-page *::after {
  box-sizing: border-box;
}


.lk-auth-page {
  width: min(100%, calc(100vw - 28px));
  max-width: 1080px;
  min-width: 0;
  margin: clamp(20px, 4vw, 52px) auto;
  color: #07130f;
}


.lk-auth-page .text-bubble.auth-card {
  width: min(100%, 500px);
  margin: 0 auto;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 8px;
  border: 1px solid rgba(20, 58, 45, .14);
  background: linear-gradient(180deg, #ffffff, #f7fbf8);
  box-shadow: 0 18px 48px rgba(16, 24, 40, .12);
}


.lk-auth-page .text-bubble.auth-card::before {
  display: none;
}


.lk-auth-page .text-bubble.auth-card::after {
  height: 5px;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(90deg, #143a2d, #b9f46d);
}


.lk-auth-page .card-head {
  text-align: center;
  margin-bottom: 18px;
}


.lk-auth-page .lk-auth-eyebrow {
  margin: 0 0 8px;
  color: #12805c;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}


.lk-auth-page .card-head h1 {
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.08;
  letter-spacing: 0;
}


.lk-auth-page .card-head .sub {
  max-width: 380px;
  margin: 0 auto;
  color: #5f6f7a;
  line-height: 1.55;
}


.lk-auth-page .lk-auth-assurance {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
}


.lk-auth-page .lk-auth-assurance span {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  border: 1px solid rgba(20, 58, 45, .13);
  border-radius: 999px;
  padding: 0 10px;
  background: #fff;
  color: #183127;
  font-size: .82rem;
  font-weight: 800;
}


.lk-auth-page .lk-login-lockWrap {
  display: none;
}


.lk-auth-page .form-grid {
  gap: 16px;
  margin-top: 18px;
}


.lk-auth-page .field label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
  font-size: .94rem;
  font-weight: 850;
}


.lk-auth-page .hint {
  margin: 7px 0 0;
  color: #667085;
  font-size: .88rem;
  line-height: 1.45;
}


.lk-auth-page .input,
.lk-auth-page .btn-ghost {
  border-radius: 8px;
}


.lk-auth-page .input {
  min-height: 48px;
  border-color: rgba(20, 58, 45, .18);
  background: #fff;
}


.lk-auth-page .input:focus {
  border-color: #12805c;
  box-shadow: 0 0 0 4px rgba(18, 128, 92, .16);
}


.lk-auth-page .with-toggle .input-row {
  grid-template-columns: minmax(0, 1fr) auto;
}


.lk-auth-page .btn-primary {
  min-height: 48px;
  background: #143a2d;
  color: #fff;
  box-shadow: 0 12px 28px rgba(20, 58, 45, .20);
}


.lk-auth-page .btn-primary:hover {
  box-shadow: 0 16px 36px rgba(20, 58, 45, .24);
}


.lk-auth-page .btn-ghost {
  background: #fff;
  border-color: rgba(20, 58, 45, .16);
}


.lk-auth-page .btn-ghost:hover {
  border-color: #12805c;
  background: #f5faf7;
}


.lk-auth-page .notice {
  border-radius: 8px;
}


.lk-auth-page .auth-links {
  gap: 8px 12px;
  line-height: 1.5;
}


.lk-auth-page .auth-links a {
  color: #143a2d;
  font-weight: 800;
}


@media (max-width: 520px) {
  .lk-auth-page {
    width: min(100%, calc(100vw - 24px));
    margin: 18px auto;
  }


  .lk-auth-page .text-bubble.auth-card {
    padding: 20px 16px;
  }


  .lk-auth-page .with-toggle .input-row {
    grid-template-columns: 1fr;
  }


  .lk-auth-page .icon-btn {
    width: 100%;
  }
}


.signup-card .input-row{
  display:flex;
  gap:10px;
  align-items:center;
}
.signup-card .icon-btn{
  border:1px solid #d7dde6;
  background:#fff;
  border-radius:10px;
  padding:10px 12px;
  cursor:pointer;
  font-weight:600;
  color:#344054;
  white-space:nowrap;
  transition:transform .06s ease, box-shadow .2s, border-color .2s;
}
.signup-card .icon-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(16,24,40,.08);
}
.signup-card .icon-btn:focus{
  outline:none;
  border-color:#58c47a;
  box-shadow:0 0 0 3px rgba(88,196,122,.18);
}


.signup-card .input{
  background:linear-gradient(180deg, #fff, #fbfffb);
}
.signup-card .input::placeholder{color:#98a2b3;}
.signup-card .input.invalid{
  border-color:#f04438 !important;
  box-shadow:0 0 0 3px rgba(240,68,56,.12) !important;
}
.signup-card .input.valid{
  border-color:#12b76a !important;
  box-shadow:0 0 0 3px rgba(18,183,106,.12) !important;
}


.signup-card input:-webkit-autofill{
  -webkit-text-fill-color:#111 !important;
  box-shadow:0 0 0 30px #fbfffb inset !important;
}


.signup-card .lk-trust2{
  margin:12px 0 6px;
  border:1px solid #e6e9ee;
  border-radius:14px;
  background:
    radial-gradient(900px 250px at 10% 0%, rgba(88,196,122,.10), transparent 60%),
    radial-gradient(900px 250px at 90% 0%, rgba(59,130,246,.08), transparent 60%),
    #fff;
  box-shadow:0 10px 22px rgba(16,24,40,.05);
  overflow:hidden;
}
.signup-card .lk-trust2-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
}
.signup-card .lk-trust2-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.signup-card .lk-trust2-pill{
  width:38px;
  height:38px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#0b2e1a;
  background:linear-gradient(180deg, rgba(88,196,122,.20), rgba(88,196,122,.08));
  border:1px solid rgba(88,196,122,.25);
  flex:0 0 auto;
}
.signup-card .lk-trust2-copy{min-width:0;}
.signup-card .lk-trust2-title{
  font-weight:900;
  color:#101828;
  letter-spacing:0;
  font-size:0.98rem;
  line-height:1.15;
}
.signup-card .lk-trust2-sub{
  color:#667085;
  font-size:0.90rem;
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.signup-card .lk-trust2-right{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.signup-card .lk-chip{
  font-size:0.82rem;
  font-weight:800;
  color:#344054;
  border:1px solid #e6e9ee;
  background:#fcfcfd;
  border-radius:999px;
  padding:6px 10px;
  white-space:nowrap;
}
.signup-card .lk-trust2-toggle{
  border:1px solid #d7dde6;
  background:#fff;
  border-radius:999px;
  padding:7px 10px;
  font-weight:900;
  cursor:pointer;
  color:#101828;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:transform .06s ease, box-shadow .2s, border-color .2s;
}
.signup-card .lk-trust2-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(16,24,40,.08);
}
.signup-card .lk-trust2-toggle:focus{
  outline:none;
  border-color:#58c47a;
  box-shadow:0 0 0 3px rgba(88,196,122,.18);
}
.signup-card .lk-caret{
  display:inline-block;
  transition:transform .18s ease;
}


.signup-card .lk-trust2-panel{
  border-top:1px dashed #d0d5dd;
  padding:10px 12px 12px;
  animation:lkFadeDown .16s ease;
}
@keyframes lkFadeDown{
  from{opacity:0; transform:translateY(-6px);}
  to{opacity:1; transform:translateY(0);}
}
.signup-card .lk-trust2-list{
  margin:0;
  padding:0 0 0 18px;
  color:#475467;
  font-size:0.92rem;
}
.signup-card .lk-trust2-list li{margin:6px 0;}
.signup-card .lk-trust2-list strong{color:#101828;}


.signup-card .lk-trust2-links{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.signup-card .lk-trust2-links a{
  color:#344054;
  background:#fcfcfd;
  border:1px solid #e6e9ee;
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:transform .06s ease, box-shadow .2s, border-color .2s, background .2s;
}
.signup-card .lk-trust2-links a::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#12b76a;
  box-shadow:0 0 0 3px rgba(18,183,106,.12);
  display:inline-block;
}
.signup-card .lk-trust2-links a:hover{
  transform:translateY(-1px);
  border-color:#cfd6e0;
  background:#fff;
  box-shadow:0 10px 20px rgba(16,24,40,.08);
}
.signup-card .lk-trust2-links a:focus{
  outline:none;
  border-color:#58c47a;
  box-shadow:0 0 0 3px rgba(88,196,122,.18);
}
.signup-card .lk-trust2-links a:active{
  transform:translateY(0);
  box-shadow:none;
}


@media (max-width: 620px){
  .signup-card .lk-chip{display:none;}
  .signup-card .lk-trust2-sub{display:none;}
}


.signup-card .lk-help{
  margin-top:8px;
  font-size:0.9rem;
  color:#667085;
}
.signup-card .lk-help strong{color:#344054;}
.signup-card .lk-help .lk-bad{color:#b42318;}
.signup-card .lk-help .lk-good{color:#067647;}


.signup-card .lk-meter{
  margin-top:10px;
  height:10px;
  border-radius:999px;
  background:#eef2f6;
  overflow:hidden;
}
.signup-card .lk-meter > span{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg, #f04438, #f79009, #12b76a);
  transition:width .22s ease;
}


.signup-card .lk-rules{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #e6e9ee;
  border-radius:12px;
  background:#fff;
  font-size:0.9rem;
  color:#475467;
}
.signup-card .lk-rules ul{margin:0; padding-left:18px;}
.signup-card .lk-rules li{margin:4px 0;}
.signup-card .lk-rules li.ok{color:#067647;}
.signup-card .lk-rules li.bad{color:#b42318;}


.signup-card .lk-submit-hint{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px dashed #d0d5dd;
  color:#667085;
  background:#fcfcfd;
  font-size:0.9rem;
  display:none;
}


:root{
  --lk-ink:#0f172a; --lk-muted:#667085; --lk-border:#e6e9ee;
  --lk-card:#ffffff; --lk-bg:#f6f8fb;
  --lk-cta:#16a34a; --lk-cta2:#84cc16;
  --lk-shadow:0 1px 2px rgba(16,24,40,.04), 0 12px 28px rgba(16,24,40,.10);
}


.text-bubble.signup-card{
  position:relative; isolation:isolate;
  max-width: 840px; margin: 34px auto; padding: 22px 22px 18px;
  background: var(--lk-card); border:1px solid var(--lk-border);
  border-radius: 18px; box-shadow: var(--lk-shadow);
  overflow:hidden;
}


.text-bubble.signup-card::after{
  content:""; position:absolute; left:0; right:0; top:0; height:4px;
  border-top-left-radius:18px; border-top-right-radius:18px;
  background:linear-gradient(90deg,var(--lk-cta),var(--lk-cta2));
}


.text-bubble.signup-card::before{
  content:"";
  position:absolute; inset:-40% -20% auto auto;
  width: 420px; height: 420px;
  background: radial-gradient(circle at 30% 30%, rgba(132,204,22,.22), transparent 60%),
              radial-gradient(circle at 70% 65%, rgba(22,163,74,.18), transparent 58%);
  filter: blur(2px);
  transform: translate3d(0,0,0);
  animation: lkFloat 12s ease-in-out infinite;
  z-index:-1;
}


@keyframes lkFloat{
  0%   { transform: translate(0,0) rotate(0deg); }
  50%  { transform: translate(-18px, 14px) rotate(6deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}


.signup-card .card-head{ text-align:center; margin-bottom: 10px; }
.signup-card .card-head h1{
  margin:0 0 6px;
  font-size: clamp(24px, 2.8vw, 30px);
  color: var(--lk-ink);
  letter-spacing:.2px;
}
.signup-card .card-head .sub{
  margin:0;
  font-size: .98rem;
  color: var(--lk-muted);
}


.signup-card .notice{
  border-radius:14px; padding:10px 12px;
  border:1px solid var(--lk-border);
  backdrop-filter: blur(6px);
}
.signup-card .notice.success{ border-left:4px solid var(--lk-cta); background: rgba(22,163,74,.08); }
.signup-card .notice.error{ border-left:4px solid #ef4444; background: rgba(239,68,68,.08); }
.signup-card .notice.warn{ border-left:4px solid #f59e0b; background: rgba(245,158,11,.10); }
.signup-card .notice ul{ margin:6px 0; padding-left: 18px; }


.signup-card .notice.error.lk-shake{ animation: lkShake .35s ease-in-out 1; }
@keyframes lkShake{
  0%{ transform: translateX(0); }
  25%{ transform: translateX(-6px); }
  50%{ transform: translateX(6px); }
  75%{ transform: translateX(-4px); }
  100%{ transform: translateX(0); }
}


.signup-card .form-grid{ display:grid; gap:14px; margin-top: 14px; }
.signup-card .field label{
  display:inline-flex; align-items:center; gap:8px;
  margin-bottom:6px; font-weight:800; color:var(--lk-ink);
}


.signup-card .input{
  width:100%;
  border:1px solid var(--lk-border);
  background:linear-gradient(180deg, #fff, #fbfcfe);
  color:var(--lk-ink);
  border-radius:14px;
  padding:12px 14px;
  transition:border-color .15s, box-shadow .15s, transform .08s;
}
.signup-card .input:focus{
  outline:0;
  border-color: color-mix(in srgb, var(--lk-cta) 70%, #ffffff);
  box-shadow:0 0 0 4px rgba(22,163,74,.16);
}
.signup-card .input:active{ transform: scale(.995); }
.signup-card .input::placeholder{ color: rgba(102,112,133,.75); }


.signup-card .input.invalid{
  border-color:#ef4444 !important;
  box-shadow:0 0 0 4px rgba(239,68,68,.14) !important;
}
.signup-card .input.valid{
  border-color:#22c55e !important;
  box-shadow:0 0 0 4px rgba(34,197,94,.14) !important;
}


.signup-card .with-toggle .input-row{
  display:grid; grid-template-columns: 1fr auto;
  gap:10px; align-items:stretch;
}


.signup-card .input-row{
  display:flex;
  gap:10px;
  align-items:center;
}


.signup-card .icon-btn{
  min-width: 88px;
  background: rgba(15,23,42,.02);
  border:1px solid var(--lk-border);
  color: var(--lk-ink);
  border-radius:14px;
  padding:10px 12px;
  font-weight:800;
  cursor:pointer;
  user-select:none;
  transition: border-color .15s, background .15s, transform .08s, box-shadow .12s;
}
.signup-card .icon-btn:hover{
  border-color: var(--lk-cta);
  background: rgba(22,163,74,.06);
  transform: translateY(-1px);
  box-shadow:0 10px 20px rgba(16,24,40,.08);
}
.signup-card .icon-btn:active{ transform: scale(.99); box-shadow:none; }
.signup-card .icon-btn:focus-visible{
  outline: 3px solid rgba(22,163,74,.25);
  outline-offset: 2px;
}


.signup-card .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 16px; font-weight:900;
  border-radius:999px; cursor:pointer; border:0;
  user-select:none;
}
.signup-card .btn-primary{
  color:#fff;
  background:linear-gradient(90deg,var(--lk-cta),var(--lk-cta2));
  box-shadow:0 10px 26px rgba(22,163,74,.22);
  transition: transform .12s, box-shadow .12s, filter .2s;
}
.signup-card .btn-primary:hover{
  transform: translateY(-1px);
  box-shadow:0 14px 34px rgba(22,163,74,.28);
  filter:saturate(1.05);
}
.signup-card .btn-primary:active{ transform:none; box-shadow:0 8px 22px rgba(22,163,74,.22); }
.signup-card .btn-primary:focus-visible{
  outline: 3px solid rgba(22,163,74,.35);
  outline-offset: 3px;
}
.signup-card .btn-full{ width:100%; }


.signup-card hr.lemon{
  margin:16px 0; border:0; height:1px;
  background:linear-gradient(90deg,transparent 0 8%, var(--lk-border) 8% 92%, transparent 92% 100%);
}


.signup-card .auth-links{
  display:flex; justify-content:center; align-items:center; flex-wrap:wrap;
  gap:10px;
  font-size:.95rem; color:var(--lk-muted);
}
.signup-card .auth-links a{
  color:var(--lk-ink); text-decoration:none;
  border-bottom:1px dashed transparent;
  padding:2px 0;
}
.signup-card .auth-links a:hover{ color:var(--lk-cta); border-bottom-color:var(--lk-cta); }
.signup-card .auth-links a:focus-visible{
  outline: 3px solid rgba(22,163,74,.22);
  outline-offset: 2px;
  border-radius: 8px;
}


.signup-card .lk-help{ margin-top:8px; font-size:0.9rem; color:var(--lk-muted); }
.signup-card .lk-help strong{ color:var(--lk-ink); }
.signup-card .lk-help .lk-bad{ color:#b42318; }
.signup-card .lk-help .lk-good{ color:#067647; }


.signup-card .lk-meter{
  margin-top:10px;
  height:10px;
  border-radius:999px;
  background:#eef2f6;
  overflow:hidden;
}
.signup-card .lk-meter > span{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg, #ef4444, #f59e0b, #22c55e);
  transition:width .22s ease;
}


.signup-card .lk-rules{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid var(--lk-border);
  border-radius:12px;
  background:#fff;
  font-size:0.9rem;
  color:#475467;
}
.signup-card .lk-rules ul{ margin:0; padding-left:18px; }
.signup-card .lk-rules li{ margin:4px 0; }
.signup-card .lk-rules li.ok{ color:#067647; }
.signup-card .lk-rules li.bad{ color:#b42318; }


.signup-card .lk-submit-hint{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px dashed #d0d5dd;
  color:var(--lk-muted);
  background:#fcfcfd;
  font-size:0.9rem;
  display:none;
}


.signup-card .lk-trust2{
  margin:12px 0 6px;
  border:1px solid var(--lk-border);
  border-radius:14px;
  background:
    radial-gradient(900px 250px at 10% 0%, rgba(22,163,74,.10), transparent 60%),
    radial-gradient(900px 250px at 90% 0%, rgba(132,204,22,.10), transparent 60%),
    #fff;
  box-shadow:0 10px 22px rgba(16,24,40,.05);
  overflow:hidden;
}


.signup-card input:-webkit-autofill{
  -webkit-text-fill-color:#111 !important;
  box-shadow:0 0 0 30px #fbfcfe inset !important;
}


@media (max-width: 420px){
  .text-bubble.signup-card{ margin: 18px 12px; padding:18px 16px 14px; border-radius:16px; }
  .text-bubble.signup-card::after{ border-top-left-radius:16px; border-top-right-radius:16px; }
}


@media (prefers-reduced-motion: reduce){
  .text-bubble.signup-card::before{ animation:none; }
  .signup-card .notice.error.lk-shake{ animation:none; }
}


.lk-auth-page,
.lk-auth-page *,
.lk-auth-page *::before,
.lk-auth-page *::after,
.lk-auth-state,
.lk-auth-state *,
.lk-auth-state *::before,
.lk-auth-state *::after {
  box-sizing: border-box;
}


.lk-auth-page {
  width: min(100%, calc(100vw - 28px));
  max-width: 1120px;
  min-width: 0;
  margin: clamp(20px, 4vw, 52px) auto;
  color: #07130f;
}


.lk-auth-page .text-bubble.signup-card,
.lk-auth-state {
  width: min(100%, 780px);
  margin: 0 auto;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 8px;
  border: 1px solid rgba(20, 58, 45, .14);
  background: linear-gradient(180deg, #ffffff, #f7fbf8);
  box-shadow: 0 18px 48px rgba(16, 24, 40, .12);
}


.lk-auth-page .text-bubble.signup-card::before,
.lk-auth-state::before {
  display: none;
}


.lk-auth-page .text-bubble.signup-card::after,
.lk-auth-state::after {
  height: 5px;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(90deg, #143a2d, #b9f46d);
}


.lk-auth-page .card-head {
  text-align: center;
  margin-bottom: 18px;
}


.lk-auth-page .lk-auth-eyebrow {
  margin: 0 0 8px;
  color: #12805c;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}


.lk-auth-page .card-head h1 {
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.08;
  letter-spacing: 0;
}


.lk-auth-page .card-head .sub {
  max-width: 460px;
  margin: 0 auto;
  color: #5f6f7a;
  line-height: 1.55;
}


.lk-auth-page .lk-trust2 {
  margin: 18px 0 20px;
  border-radius: 8px;
  border-color: rgba(20, 58, 45, .14);
  background: #ffffff;
  box-shadow: none;
}


.lk-auth-page .lk-trust2-pill {
  border-radius: 8px;
  color: #143a2d;
  background: #ecfdf3;
}


.lk-auth-page .lk-chip,
.lk-auth-page .lk-trust2-toggle,
.lk-auth-page .lk-trust2-links a {
  border-radius: 999px;
}


.lk-auth-page .lk-trust2-toggle {
  color: #143a2d;
}


.lk-auth-page .form-grid {
  gap: 16px;
  margin-top: 18px;
}


.lk-auth-page .field label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
  font-size: .94rem;
  font-weight: 850;
}


.lk-auth-page .hint {
  margin-top: 0;
  color: #667085;
  font-size: .84rem;
  font-weight: 700;
}


.lk-auth-page .input,
.lk-auth-page .icon-btn {
  border-radius: 8px;
}


.lk-auth-page .input {
  min-height: 48px;
  border-color: rgba(20, 58, 45, .18);
  background: #fff;
}


.lk-auth-page .input:focus {
  border-color: #12805c;
  box-shadow: 0 0 0 4px rgba(18, 128, 92, .16);
}


.lk-auth-page .with-toggle .input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
}


.lk-auth-page .btn-primary,
.lk-auth-page .signup-btn {
  min-height: 48px;
  border-radius: 999px;
  background: #143a2d;
  color: #fff;
  box-shadow: 0 12px 28px rgba(20, 58, 45, .20);
}


.lk-auth-page .btn-primary:hover,
.lk-auth-page .signup-btn:hover {
  box-shadow: 0 16px 36px rgba(20, 58, 45, .24);
}


.lk-auth-page .notice,
.lk-auth-page .lk-rules,
.lk-auth-page .lk-submit-hint {
  border-radius: 8px;
}


.lk-auth-page .signup-note,
.lk-auth-page .agree {
  color: #5f6f7a;
  line-height: 1.5;
  text-align: center;
}


.lk-auth-page .agree a,
.lk-auth-page .auth-links a {
  color: #143a2d;
  font-weight: 800;
}


.lk-auth-page .auth-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 0;
  line-height: 1.5;
}


@media (max-width: 620px) {
  .lk-auth-page {
    width: min(100%, calc(100vw - 24px));
    margin: 18px auto;
  }


  .lk-auth-page .text-bubble.signup-card,
  .lk-auth-state {
    padding: 20px 16px;
  }


  .lk-auth-page .lk-trust2-bar {
    align-items: flex-start;
    flex-direction: column;
  }


  .lk-auth-page .lk-trust2-right {
    justify-content: flex-start;
  }


  .lk-auth-page .with-toggle .input-row {
    grid-template-columns: 1fr;
  }


  .lk-auth-page .icon-btn {
    width: 100%;
  }
}

 
.lk-auth-page.lk-signup-concept,
.lk-auth-page.lk-signup-concept *,
.lk-auth-page.lk-signup-concept *::before,
.lk-auth-page.lk-signup-concept *::after {
  box-sizing: border-box;
}

.lk-auth-page.lk-signup-concept {
  width: min(100%, calc(100vw - 24px));
  max-width: 1280px;
  min-width: 0;
  margin: 0 auto;
  padding: 24px 0 14px;
  color: #102033;
  overflow: visible;
}

.lk-signup-stage {
  position: relative;
  isolation: isolate;
  min-height: calc(100vh - 174px);
  width: 100%;
  display: grid;
  place-items: center;
  padding: 28px 22px 36px;
  border-radius: 10px;
  overflow: visible;
  background-color: transparent;
  box-shadow: none;
}

.lk-signup-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  border-radius: 10px;
  background:
    radial-gradient(860px 620px at 8% 47%, rgba(224, 251, 239, .62), transparent 74%),
    radial-gradient(760px 560px at 100% 73%, rgba(255, 241, 124, .22), transparent 76%),
    radial-gradient(980px 720px at 52% 34%, rgba(255, 255, 255, .58), transparent 76%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 58%, transparent 78%);
  mask-image: radial-gradient(ellipse at center, #000 0%, #000 58%, transparent 78%);
}

.lk-signup-decor {
  position: absolute;
  pointer-events: none;
  z-index: -1;
}

.lk-signup-tile {
  width: 120px;
  height: 100px;
  border: 1px solid rgba(20, 58, 45, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .64);
  box-shadow: 0 18px 50px rgba(20, 58, 45, .08), inset 0 1px 0 rgba(255, 255, 255, .82);
  backdrop-filter: blur(14px);
}

.lk-signup-tile-bars {
  left: clamp(18px, 12vw, 150px);
  top: 92px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  padding: 26px 22px;
  transform: rotate(-8deg);
}

.lk-signup-tile-bars span {
  width: 14px;
  border-radius: 999px 999px 4px 4px;
  background: linear-gradient(180deg, #a9df93, #d9e547);
}

.lk-signup-tile-bars span:nth-child(1) { height: 18px; }
.lk-signup-tile-bars span:nth-child(2) { height: 34px; }
.lk-signup-tile-bars span:nth-child(3) { height: 50px; }
.lk-signup-tile-bars span:nth-child(4) { height: 66px; }

.lk-signup-tile-ring {
  right: clamp(20px, 10vw, 138px);
  top: 160px;
  display: grid;
  place-items: center;
  transform: rotate(15deg);
}

.lk-signup-tile-ring span {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: conic-gradient(#d9e547 0 24%, #eaf5dd 24% 31%, #41b765 31% 74%, #d8f0d4 74% 100%);
  position: relative;
}

.lk-signup-tile-ring span::after {
  content: "";
  position: absolute;
  inset: 17px;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(20, 58, 45, .04);
}

.lk-signup-line {
  right: clamp(18px, 7vw, 90px);
  bottom: 126px;
  width: 270px;
  height: 88px;
  overflow: hidden;
  opacity: .72;
}

.lk-signup-line::before {
  content: "";
  position: absolute;
  inset: 6px 0 0;
  border-top: 3px solid rgba(64, 183, 101, .7);
  border-radius: 50%;
  transform: rotate(-8deg);
}

.lk-signup-line::after {
  content: "";
  position: absolute;
  right: 88px;
  top: 43px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 4px solid #53c76d;
  box-shadow: 0 0 0 7px rgba(83, 199, 109, .12);
}

.lk-signup-dot-grid {
  left: clamp(14px, 8vw, 96px);
  bottom: 220px;
  width: 118px;
  height: 118px;
  opacity: .55;
  background-image: radial-gradient(rgba(57, 169, 91, .38) 2px, transparent 2px);
  background-size: 24px 24px;
}

.lk-signup-panel {
  position: relative;
  z-index: 3;
  width: min(100%, 560px);
  min-width: 0;
}

.lk-signup-mascot {
  --lk-mascot-shift-x: 0px;
  --lk-mascot-shift-y: 0px;
  --lk-mascot-rotate: 0deg;
  --lk-mascot-scale: 1;
  --lk-eye-left-x: 44.94%;
  --lk-eye-left-y: 37.61%;
  --lk-eye-right-x: 57.23%;
  --lk-eye-right-y: 34.70%;
  --lk-eye-follow-x: 0px;
  --lk-eye-follow-y: 0px;
  position: absolute;
  left: -420px;
  top: 210px;
  z-index: 6;
  width: 560px;
  max-width: none;
  isolation: isolate;
  pointer-events: none;
  transform: translate(var(--lk-mascot-shift-x), var(--lk-mascot-shift-y)) rotate(var(--lk-mascot-rotate)) scale(var(--lk-mascot-scale));
  transform-origin: 58% 82%;
  transition: transform .24s cubic-bezier(.2, .8, .2, 1);
}

.lk-signup-mascot img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  opacity: 1;
  filter: drop-shadow(0 32px 42px rgba(20, 58, 45, .18));
  transform-origin: 58% 82%;
  transition: opacity .22s ease, transform .22s cubic-bezier(.2, .8, .2, 1), filter .22s ease;
}

.lk-signup-mascot::before,
.lk-signup-mascot::after {
  content: "";
  position: absolute;
  z-index: 2;
  display: none;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transform-origin: 58% 82%;
  transition: opacity .18s ease, transform .22s cubic-bezier(.2, .8, .2, 1);
}

.lk-signup-mascot::before {
  z-index: 3;
  background:
    radial-gradient(ellipse 3.85% 3.35% at 44.94% 37.61%, rgb(7, 62, 34) 0 78%, rgba(7, 62, 34, .98) 88%, transparent 100%),
    radial-gradient(ellipse 3.85% 3.35% at 57.23% 34.70%, rgb(7, 62, 34) 0 78%, rgba(7, 62, 34, .98) 88%, transparent 100%);
  background-repeat: no-repeat;
  transform: scale(1);
}

.lk-signup-mascot::after {
  z-index: 4;
  background:
    radial-gradient(circle at var(--lk-eye-left-x) var(--lk-eye-left-y), rgba(222, 255, 194, .98) 0 2.02%, rgba(222, 255, 194, .82) 2.1%, transparent 2.36%),
    radial-gradient(circle at var(--lk-eye-right-x) var(--lk-eye-right-y), rgba(222, 255, 194, .98) 0 2.02%, rgba(222, 255, 194, .82) 2.1%, transparent 2.36%);
  background-repeat: no-repeat;
  filter: drop-shadow(0 0 5px rgba(189, 255, 147, .2));
  transform: translate(0, 0) scale(1);
}

.lk-signup-eye {
  position: absolute;
  z-index: 4;
  display: block;
  width: 4.55%;
  aspect-ratio: 1;
  border-radius: 999px;
  opacity: .98;
  pointer-events: none;
  background:
    radial-gradient(circle at 34% 30%, rgba(255, 255, 239, .98) 0 13%, transparent 14%),
    radial-gradient(circle at 50% 50%, #e8ffd0 0 42%, #d4f7ad 70%, #b7e38c 100%);
  box-shadow:
    0 0 9px rgba(200, 255, 152, .28),
    inset -2px -3px 5px rgba(38, 118, 53, .13);
  filter: saturate(1.03);
  clip-path: inset(0 0 0 0 round 999px);
  transform: translate(var(--lk-eye-follow-x), var(--lk-eye-follow-y));
  transform-origin: center;
  transition:
    transform .14s ease-out,
    clip-path .18s cubic-bezier(.2, .8, .2, 1),
    opacity .18s ease,
    box-shadow .18s ease;
  animation: lkSignupEyeBlink 6.8s ease-in-out infinite;
}

.lk-signup-eye-left {
  left: 42.66%;
  top: 35.33%;
}

.lk-signup-eye-right {
  left: 54.96%;
  top: 32.42%;
  animation-delay: .08s;
}

.lk-signup-panel:has(.lk-signup-input-user:focus-within) .lk-signup-mascot,
.lk-signup-panel:has(.lk-signup-input-mail:focus-within) .lk-signup-mascot {
  --lk-mascot-shift-x: 8px;
  --lk-mascot-shift-y: -6px;
  --lk-mascot-rotate: -1.2deg;
  --lk-mascot-scale: 1.012;
  --lk-eye-left-x: 45.90%;
  --lk-eye-left-y: 37.24%;
  --lk-eye-right-x: 58.18%;
  --lk-eye-right-y: 34.33%;
}

.lk-signup-panel:has(.lk-signup-input-shell.is-valid) .lk-signup-mascot {
  --lk-mascot-shift-y: -4px;
  --lk-mascot-scale: 1.006;
}

.lk-signup-panel:has(.lk-signup-input-shell.is-invalid) .lk-signup-mascot {
  --lk-mascot-shift-x: -4px;
  --lk-mascot-rotate: 1.2deg;
}

.lk-signup-panel:has(.lk-signup-input-lock:focus-within) .lk-signup-mascot {
  --lk-mascot-shift-x: 10px;
  --lk-mascot-shift-y: -8px;
  --lk-mascot-rotate: -2deg;
  --lk-mascot-scale: 1.008;
  --lk-eye-left-x: 42.98%;
  --lk-eye-left-y: 38.38%;
  --lk-eye-right-x: 55.28%;
  --lk-eye-right-y: 35.48%;
}

.lk-signup-panel:has(.lk-signup-input-lock:focus-within) .lk-signup-mascot img {
  opacity: 1;
  filter: drop-shadow(0 30px 40px rgba(20, 58, 45, .17));
}

.lk-signup-panel:has(.lk-signup-input-lock:focus-within) .lk-signup-mascot::after {
  background-image:
    linear-gradient(164deg, transparent 0 42%, rgba(222, 255, 194, .98) 43% 57%, transparent 58% 100%),
    linear-gradient(164deg, transparent 0 42%, rgba(222, 255, 194, .98) 43% 57%, transparent 58% 100%);
  background-position: 41.7% 37.9%, 54.0% 35.0%;
  background-size: 6.4% 2.7%, 6.4% 2.7%;
  background-repeat: no-repeat;
  opacity: 1;
  transform: translate(0, 0) scale(1);
  animation:
    lkSignupEyesPrivacy .24s cubic-bezier(.2, .8, .2, 1) both,
    lkSignupEyesPrivacyMicro 2.8s ease-in-out .24s infinite;
}

.lk-signup-panel:has(.lk-signup-input-lock:focus-within) .lk-signup-mascot::before {
  opacity: 1;
  transform: scale(1);
}

.lk-signup-panel:has(.lk-signup-input-lock:focus-within) .lk-signup-eye {
  opacity: .96;
  clip-path: inset(43% 0 43% 0 round 999px);
  transform: translate(0, 0) rotate(-9deg) scaleX(1.08);
  background: linear-gradient(90deg, #e5ffc8 0%, #d8f7ad 54%, #c6ee97 100%);
  box-shadow: 0 0 8px rgba(200, 255, 152, .18);
  animation: lkSignupEyeClose .2s cubic-bezier(.2, .8, .2, 1) both;
}

.lk-signup-panel:has(.lk-signup-input-lock:focus-within) .lk-signup-eye-right {
  transform: translate(0, 0) rotate(-9deg) scaleX(1.08);
  animation-delay: .03s;
}

@keyframes lkSignupMascotIdle {
  0%,
  100% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }

  50% {
    transform: translate(0, -2px) rotate(-.18deg) scale(1.002);
  }
}

@keyframes lkSignupMascotAttend {
  0% {
    transform: translate(-3px, 2px) rotate(.5deg) scale(.996);
  }

  62% {
    transform: translate(2px, -2px) rotate(-.45deg) scale(1.006);
  }

  100% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
}

@keyframes lkSignupMascotPrivacy {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }

  58% {
    transform: translate(3px, -3px) rotate(-.65deg) scale(1.004);
  }

  100% {
    transform: translate(0, 0) rotate(0deg) scale(.998);
  }
}

@keyframes lkSignupMascotNudge {
  0%,
  100% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }

  35% {
    transform: translate(-2px, 0) rotate(.45deg) scale(1.002);
  }

  70% {
    transform: translate(2px, 0) rotate(-.35deg) scale(1);
  }
}

@keyframes lkSignupEyeBlink {
  0%,
  88%,
  92%,
  100% {
    clip-path: inset(0 0 0 0 round 999px);
  }

  89.4%,
  90.6% {
    clip-path: inset(43% 0 43% 0 round 999px);
  }
}

@keyframes lkSignupEyeClose {
  0% {
    clip-path: inset(0 0 0 0 round 999px);
    opacity: .98;
  }

  100% {
    clip-path: inset(43% 0 43% 0 round 999px);
    opacity: .96;
  }
}

@keyframes lkSignupEyesAttend {
  0% {
    transform: translate(8px, -3px) scale(.96);
  }

  100% {
    transform: translate(0, 0) scale(1);
  }
}

@keyframes lkSignupEyesPrivacy {
  0% {
    transform: translate(4px, -2px) scale(.98);
  }

  100% {
    transform: translate(0, 0) scale(1);
  }
}

@keyframes lkSignupEyesMicro {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }

  18% {
    transform: translate(.35px, -.2px) scale(1);
  }

  22% {
    transform: translate(-.45px, .15px) scale(1);
  }

  26% {
    transform: translate(.15px, 0) scale(1);
  }

  68% {
    transform: translate(-.25px, .2px) scale(1);
  }

  72% {
    transform: translate(.3px, -.15px) scale(1);
  }
}

@keyframes lkSignupEyesIdleMicro {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }

  20% {
    transform: translate(.18px, -.12px) scale(1);
  }

  23% {
    transform: translate(-.22px, .1px) scale(1);
  }

  26% {
    transform: translate(.08px, 0) scale(1);
  }

  64% {
    transform: translate(-.16px, .12px) scale(1);
  }

  67% {
    transform: translate(.2px, -.08px) scale(1);
  }
}

@keyframes lkSignupEyesPrivacyMicro {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }

  30% {
    transform: translate(.25px, 0) scale(1);
  }

  34% {
    transform: translate(-.35px, .15px) scale(1);
  }

  38% {
    transform: translate(.1px, 0) scale(1);
  }

  76% {
    transform: translate(-.2px, .1px) scale(1);
  }
}

.lk-signup-concept .lk-signup-card {
  position: relative;
  z-index: 5;
  width: 100%;
  min-width: 0;
  margin: 0 auto;
  padding: 42px 48px 34px;
  border: 1px solid rgba(255, 255, 255, .86);
  border-radius: 32px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .84), rgba(255, 255, 255, .74));
  box-shadow: 0 28px 80px rgba(20, 58, 45, .15), inset 0 1px 0 rgba(255, 255, 255, .9);
  backdrop-filter: blur(22px);
  overflow: hidden;
}

.lk-signup-concept .lk-signup-card::before,
.lk-signup-concept .lk-signup-card::after {
  display: none;
}

.lk-signup-card-head {
  text-align: center;
  margin: 0 0 24px;
}

.lk-signup-badge {
  width: max-content;
  max-width: 100%;
  min-height: 40px;
  margin: 0 auto 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 15px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  color: #069268;
  font-weight: 850;
  box-shadow: 0 8px 24px rgba(20, 58, 45, .12);
}

.lk-signup-badge-icon {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: linear-gradient(135deg, #139560, #5fc56b);
  position: relative;
  flex: 0 0 auto;
}

.lk-signup-badge-icon::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 5px;
  width: 7px;
  height: 11px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}

.lk-signup-card-head h1 {
  margin: 0;
  color: #102033;
  font-size: 38px;
  line-height: 1.12;
  letter-spacing: 0;
  font-weight: 950;
}

.lk-signup-card-head p {
  max-width: 420px;
  margin: 12px auto 0;
  color: #667085;
  line-height: 1.58;
  font-size: 16px;
}

.lk-signup-concept .notice {
  margin: 0 0 18px;
  border-radius: 12px;
}

.lk-signup-form {
  gap: 14px;
  margin: 0;
}

.lk-signup-field {
  position: relative;
}

.lk-signup-concept .lk-signup-field label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

.lk-signup-concept .hint {
  color: #7a8796;
  font-size: 12px;
  font-weight: 750;
}

.lk-signup-input-shell {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid rgba(122, 135, 150, .28);
  border-radius: 14px;
  background: rgba(255, 255, 255, .9);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92), 0 6px 18px rgba(16, 24, 40, .04);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.lk-signup-input-shell.has-toggle {
  grid-template-columns: 34px minmax(0, 1fr) auto;
}

.lk-signup-input-shell:focus-within {
  border-color: rgba(18, 128, 92, .72);
  box-shadow: 0 0 0 4px rgba(18, 128, 92, .13), 0 10px 24px rgba(20, 58, 45, .08);
}

.lk-signup-input-shell.is-valid {
  border-color: rgba(18, 183, 106, .72);
}

.lk-signup-input-shell.is-invalid {
  border-color: rgba(239, 68, 68, .72);
  box-shadow: 0 0 0 4px rgba(239, 68, 68, .11);
}

.lk-signup-concept .lk-signup-input-shell .input {
  min-height: 54px;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
  color: #27364a;
  font-size: 16px;
  outline: 0;
}

.lk-signup-concept .lk-signup-input-shell .input::placeholder {
  color: #667085;
  opacity: .92;
}

.lk-signup-input-icon {
  position: relative;
  width: 28px;
  height: 28px;
  display: block;
  color: #344054;
}

.lk-signup-input-user .lk-signup-input-icon::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 4px;
  width: 9px;
  height: 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.lk-signup-input-user .lk-signup-input-icon::after {
  content: "";
  position: absolute;
  left: 5px;
  bottom: 4px;
  width: 18px;
  height: 12px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
}

.lk-signup-input-mail .lk-signup-input-icon::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 7px;
  width: 22px;
  height: 15px;
  border: 2px solid currentColor;
  border-radius: 3px;
}

.lk-signup-input-mail .lk-signup-input-icon::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 9px;
  width: 16px;
  height: 10px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg) skew(12deg, 12deg);
}

.lk-signup-input-lock .lk-signup-input-icon::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 3px;
  width: 12px;
  height: 12px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
}

.lk-signup-input-lock .lk-signup-input-icon::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 12px;
  width: 18px;
  height: 13px;
  border: 2px solid currentColor;
  border-radius: 4px;
  background: rgba(255, 255, 255, .42);
}

.lk-signup-concept .lk-signup-visibility {
  min-width: 64px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(20, 58, 45, .12);
  border-radius: 999px;
  background: #f8fbf9;
  color: #26394d;
  font-size: 13px;
  font-weight: 850;
}

.lk-signup-concept .lk-signup-visibility:hover,
.lk-signup-concept .lk-signup-visibility:focus-visible {
  border-color: rgba(18, 128, 92, .42);
  background: #effaf4;
  box-shadow: none;
  transform: none;
}

.lk-signup-concept .lk-help {
  margin-top: 8px;
  color: #667085;
  font-size: 13px;
}

.lk-signup-concept .lk-signup-pw-help {
  display: none;
}

.lk-signup-concept .lk-help .lk-bad { color: #b42318; }
.lk-signup-concept .lk-help .lk-good { color: #067647; }

.lk-signup-concept .lk-meter {
  height: 6px;
  margin-top: 8px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .08);
}

.lk-signup-concept .lk-meter > span {
  background: linear-gradient(90deg, #ef4444, #f7b733, #22c55e);
}

.lk-signup-concept .lk-rules {
  margin-top: 9px;
  padding: 11px 13px;
  border: 1px solid rgba(122, 135, 150, .18);
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
  color: #27364a;
  font-size: 14px;
}

.lk-signup-concept .lk-rules ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lk-signup-concept .lk-rules li {
  position: relative;
  min-height: 20px;
  margin: 0;
  padding-left: 26px;
  color: #475467;
}

.lk-signup-concept .lk-submit-hint {
  display: none !important;
}

.lk-signup-concept .lk-rules li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 8px;
  height: 13px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}

.lk-signup-concept .lk-rules li.ok { color: #12805c; }
.lk-signup-concept .lk-rules li.bad { color: #b42318; }

.lk-signup-concept .lk-submit-hint {
  border-radius: 12px;
  border: 1px dashed rgba(122, 135, 150, .38);
  background: rgba(255, 255, 255, .68);
}

.lk-signup-concept .lk-signup-submit {
  min-height: 58px;
  margin-top: 8px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #15964f 0%, #28ad57 42%, #d2df18 100%);
  color: #fff;
  font-size: 17px;
  font-weight: 950;
  box-shadow: 0 14px 30px rgba(21, 150, 79, .25);
}

.lk-signup-concept .lk-signup-submit:hover,
.lk-signup-concept .lk-signup-submit:focus-visible {
  box-shadow: 0 18px 40px rgba(21, 150, 79, .30);
  transform: translateY(-1px);
}

.lk-signup-concept .lk-signup-submit.is-disabled {
  opacity: .58;
  cursor: not-allowed;
  filter: saturate(.75);
}

.lk-signup-concept .signup-note,
.lk-signup-concept .agree {
  margin: 8px 0 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

.lk-signup-concept .agree a,
.lk-signup-concept .auth-links a,
.lk-signup-concept .lk-signup-safety-links a {
  color: #087047;
  font-weight: 850;
}

.lk-signup-safety-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.lk-signup-safety-links a {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid rgba(20, 58, 45, .10);
  border-radius: 999px;
  background: rgba(255, 255, 255, .58);
  font-size: 12px;
}

.lk-signup-concept hr.lemon {
  margin: 18px 0 0;
  background: linear-gradient(90deg, transparent, rgba(20, 58, 45, .12), transparent);
}

.lk-signup-concept .auth-links {
  margin: 16px 0 0;
  color: #475467;
  font-size: 15px;
  justify-content: center;
}

.lk-signup-meta {
  position: relative;
  z-index: 7;
  width: 100%;
  margin: 10px auto 0;
  display: grid;
  justify-items: center;
  gap: 5px;
  text-align: center;
}

.lk-signup-meta .signup-note,
.lk-signup-meta .agree {
  margin: 0;
  font-size: 13px;
  line-height: 1.42;
}

.lk-signup-meta .lk-signup-safety-links {
  margin-top: 2px;
}

.lk-signup-meta .auth-links {
  margin: 3px 0 0;
}

@media (max-width: 1180px) {
  .lk-signup-mascot {
    left: -320px;
    top: 238px;
    width: 420px;
    max-width: none;
  }

  .lk-signup-line {
    width: 210px;
    right: 18px;
  }
}

@media (max-width: 940px) {
  .lk-signup-stage {
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 22px 0 26px;
  }

  .lk-signup-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .lk-signup-mascot {
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
    z-index: 7;
    width: 290px;
    max-width: 74vw;
    margin: 0 auto -70px;
  }

  .lk-signup-card {
    width: 100%;
  }

  .lk-signup-tile,
  .lk-signup-line,
  .lk-signup-dot-grid {
    display: none;
  }
}

@media (max-width: 620px) {
  .lk-auth-page.lk-signup-concept {
    width: min(100%, calc(100vw - 18px));
    padding: 10px 0 22px;
  }

  .lk-signup-mascot {
    width: 250px;
    max-width: 82vw;
    margin-bottom: -62px;
  }

  .lk-signup-concept .lk-signup-card {
    padding: 34px 16px 22px;
    border-radius: 24px;
  }

  .lk-signup-meta {
    gap: 8px;
    width: min(100%, calc(100vw - 28px));
  }

  .lk-signup-card-head h1 {
    font-size: 32px;
  }

  .lk-signup-card-head p {
    font-size: 15px;
  }

  .lk-signup-input-shell,
  .lk-signup-input-shell.has-toggle {
    min-height: 54px;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 0 10px;
  }

  .lk-signup-input-shell:not(.has-toggle) {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .lk-signup-concept .lk-signup-visibility {
    min-width: 52px;
    padding: 0 9px;
    font-size: 12px;
  }

  .lk-signup-concept .lk-signup-submit {
    min-height: 54px;
    font-size: 16px;
  }

  .lk-signup-concept .lk-rules ul {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1600px) {
  .lk-signup-stage {
    min-height: calc(100vh - 174px);
  }

  .lk-signup-mascot {
    left: -445px;
    top: 208px;
    width: 590px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lk-signup-mascot,
  .lk-signup-mascot img,
  .lk-signup-eye,
  .lk-signup-mascot::before,
  .lk-signup-mascot::after,
  .lk-signup-concept .lk-signup-submit:hover,
  .lk-signup-concept .lk-signup-submit:focus-visible {
    animation: none;
    transition: none;
  }
}

@media (min-width: 941px) {
  .lk-signup-panel {
    width: min(100%, 1040px);
    display: grid;
    grid-template-columns: minmax(260px, 420px) minmax(0, 560px);
    align-items: center;
    justify-content: center;
    column-gap: 0;
  }

  .lk-signup-mascot {
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
    z-index: 7;
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: end;
    justify-self: end;
    width: clamp(480px, 39vw, 650px);
    max-width: none;
    transform: translate(128px, -74px) translate(var(--lk-mascot-shift-x), var(--lk-mascot-shift-y)) rotate(var(--lk-mascot-rotate)) scale(var(--lk-mascot-scale));
  }

  .lk-signup-concept .lk-signup-card,
  .lk-signup-meta {
    grid-column: 2;
  }

  .lk-signup-meta {
    width: 100%;
  }
}

@media (min-width: 941px) and (max-width: 1180px) {
  .lk-signup-panel {
    width: min(100%, 960px);
    grid-template-columns: minmax(230px, 360px) minmax(0, 540px);
  }

  .lk-signup-mascot {
    width: clamp(430px, 42vw, 520px);
    transform: translate(96px, -54px) translate(var(--lk-mascot-shift-x), var(--lk-mascot-shift-y)) rotate(var(--lk-mascot-rotate)) scale(var(--lk-mascot-scale));
  }
}

 
.lk-login-concept,
.lk-login-concept *,
.lk-login-concept *::before,
.lk-login-concept *::after {
  box-sizing: border-box;
}

.lk-login-concept {
  --lk-login-ink: #102033;
  --lk-login-muted: #657386;
  --lk-login-line: #dce5e8;
  --lk-login-green: #168b4d;
  --lk-login-green-2: #57bd31;
  --lk-login-lime: #c5ee6a;
  --lk-login-yellow: #ffd84f;
  position: relative;
  width: min(100%, calc(100vw - 28px));
  max-width: 1240px;
  min-width: 0;
  margin: 32px auto 28px;
  padding: 28px 0 12px;
  display: grid;
  grid-template-columns: minmax(260px, .95fr) minmax(420px, 560px);
  gap: 28px;
  align-items: center;
  color: var(--lk-login-ink);
  overflow: visible;
  isolation: isolate;
}

.lk-login-concept::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  border-radius: 8px;
  background:
    radial-gradient(820px 620px at 16% 36%, rgba(229,248,229,.58), transparent 74%),
    radial-gradient(820px 620px at 98% 78%, rgba(255,250,228,.34), transparent 76%),
    radial-gradient(920px 680px at 54% 28%, rgba(255,255,255,.52), transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 58%, transparent 78%);
  mask-image: radial-gradient(ellipse at center, #000 0%, #000 58%, transparent 78%);
}

.lk-login-concept::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 110px;
  height: 92px;
  z-index: -1;
  background:
    linear-gradient(90deg, transparent 0 67%, rgba(22,139,77,.26) 67% 68%, transparent 68%),
    linear-gradient(130deg, transparent 0 62%, rgba(87,189,49,.2) 62% 63%, transparent 63%);
  opacity: .75;
  pointer-events: none;
}

.lk-login-visual {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-width: 0;
}

.lk-login-mascot {
  --lk-login-eye-follow-x: 0px;
  --lk-login-eye-follow-y: 0px;
  --lk-login-mascot-shift-x: 0px;
  --lk-login-mascot-shift-y: 0px;
  --lk-login-mascot-rotate: 0deg;
  position: relative;
  z-index: 2;
  width: min(94%, 500px);
  max-width: 100%;
  height: auto;
  display: block;
  isolation: isolate;
  pointer-events: none;
  transform: translate(var(--lk-login-mascot-shift-x), var(--lk-login-mascot-shift-y)) rotate(var(--lk-login-mascot-rotate));
  transform-origin: 56% 82%;
  transition: transform .22s cubic-bezier(.2, .8, .2, 1);
}

.lk-login-mascot img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 26px 32px rgba(16,32,51,.18));
}

.lk-login-robot-eye {
  position: absolute;
  z-index: 3;
  display: block;
  width: 4.55%;
  aspect-ratio: 1;
  border-radius: 999px;
  opacity: .98;
  pointer-events: none;
  background:
    radial-gradient(circle at 34% 30%, rgba(255, 255, 239, .98) 0 13%, transparent 14%),
    radial-gradient(circle at 50% 50%, #e8ffd0 0 42%, #d4f7ad 70%, #b7e38c 100%);
  box-shadow:
    0 0 9px rgba(200, 255, 152, .28),
    inset -2px -3px 5px rgba(38, 118, 53, .13);
  filter: saturate(1.03);
  clip-path: inset(0 0 0 0 round 999px);
  transform: translate(var(--lk-login-eye-follow-x), var(--lk-login-eye-follow-y));
  transform-origin: center;
  transition:
    transform .14s ease-out,
    clip-path .18s cubic-bezier(.2, .8, .2, 1),
    opacity .18s ease,
    box-shadow .18s ease;
  animation: lkSignupEyeBlink 6.9s ease-in-out infinite;
}

.lk-login-robot-eye-left {
  left: 42.4%;
  top: 34.5%;
}

.lk-login-robot-eye-right {
  left: 54.4%;
  top: 32.7%;
  animation-delay: .08s;
}

.lk-auth-flow.is-mascot-input-focused .lk-login-mascot,
.lk-auth-flow:has(.lk-login-input:focus) .lk-login-mascot {
  --lk-login-mascot-shift-x: 5px;
  --lk-login-mascot-shift-y: -3px;
  --lk-login-mascot-rotate: -1deg;
}

.lk-auth-flow:has(#login:focus, #resetIdentifier:focus, #resendIdentifier:focus) .lk-login-mascot {
  --lk-login-eye-follow-x: 3px;
  --lk-login-eye-follow-y: -.7px;
}

.lk-auth-flow.is-mascot-password-focused .lk-login-robot-eye,
.lk-auth-flow:has(#password:focus, #resetPassword:focus, #resetPassword2:focus) .lk-login-robot-eye {
  opacity: .96;
  clip-path: inset(43% 0 43% 0 round 999px);
  transform: translate(0, 0) rotate(-9deg) scaleX(1.08);
  background: linear-gradient(90deg, #e5ffc8 0%, #d8f7ad 54%, #c6ee97 100%);
  box-shadow: 0 0 8px rgba(200, 255, 152, .18);
  animation: lkSignupEyeClose .2s cubic-bezier(.2, .8, .2, 1) both;
}

.lk-auth-flow.is-mascot-password-focused .lk-login-robot-eye-right,
.lk-auth-flow:has(#password:focus, #resetPassword:focus, #resetPassword2:focus) .lk-login-robot-eye-right {
  animation-delay: .03s;
}

.lk-login-orbit {
  position: absolute;
  z-index: 1;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 8px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 18px 42px rgba(16,32,51,.09);
  backdrop-filter: blur(10px);
}

.lk-login-orbit.is-bars {
  top: 32px;
  left: 34px;
  width: 118px;
  height: 92px;
  transform: rotate(-8deg);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  padding: 20px;
}

.lk-login-orbit.is-bars span {
  width: 14px;
  border-radius: 5px 5px 2px 2px;
  background: linear-gradient(180deg, var(--lk-login-lime), var(--lk-login-green));
}

.lk-login-orbit.is-bars span:nth-child(1) { height: 22px; }
.lk-login-orbit.is-bars span:nth-child(2) { height: 40px; }
.lk-login-orbit.is-bars span:nth-child(3) { height: 62px; }

.lk-login-orbit.is-chart {
  right: 10px;
  top: 112px;
  width: 112px;
  height: 112px;
  transform: rotate(9deg);
}

.lk-login-orbit.is-chart::before {
  content: "";
  position: absolute;
  inset: 24px;
  border-radius: 50%;
  background: conic-gradient(var(--lk-login-yellow) 0 25%, var(--lk-login-green-2) 25% 72%, rgba(22,139,77,.18) 72% 100%);
}

.lk-login-orbit.is-chart::after {
  content: "";
  position: absolute;
  inset: 42px;
  border-radius: 50%;
  background: #fff;
}

.lk-login-panel {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.lk-login-card {
  width: min(100%, 560px);
  border: 1px solid rgba(20,58,45,.11);
  border-radius: 8px;
  padding: 36px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 26px 70px rgba(16,32,51,.14);
  backdrop-filter: blur(18px);
}

.lk-auth-flow .lk-login-card {
  display: flex;
  align-items: center;
  min-height: clamp(620px, 50vw, 676px);
}

.lk-auth-flow .lk-auth-panel {
  width: 100%;
  min-width: 0;
}

.lk-login-head {
  text-align: center;
  margin: 0 0 24px;
}

.lk-login-eyebrow {
  margin: 0 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--lk-login-green);
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.3;
}

.lk-login-badge {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--lk-login-green);
}

.lk-login-head h1 {
  margin: 0;
  color: var(--lk-login-ink);
  font-size: 2.35rem;
  line-height: 1.1;
  letter-spacing: 0;
}

.lk-login-head p {
  max-width: 420px;
  margin: 14px auto 0;
  color: var(--lk-login-muted);
  font-size: 1.08rem;
  line-height: 1.55;
}

.lk-login-head .lk-login-mfa-note {
  display: inline-flex;
  max-width: 100%;
  margin-top: 12px;
  padding: 8px 12px;
  border: 1px solid rgba(22,139,77,.16);
  border-radius: 8px;
  background: #f7fff8;
  color: #17623f;
  font-size: .92rem;
  font-weight: 800;
}

.lk-login-concept .notice {
  margin: 0 0 16px;
  border-radius: 8px;
  padding: 12px 14px;
  border: 1px solid var(--lk-login-line);
  background: #fff;
  color: var(--lk-login-ink);
}

.lk-login-concept .notice.error {
  border-left: 4px solid #ef4444;
  background: #fff7f7;
}

.lk-login-concept .notice.warn {
  border-left: 4px solid #f59e0b;
  background: #fffbeb;
}

.lk-login-concept .notice.success {
  border-left: 4px solid var(--lk-login-green);
  background: #f1fff5;
}

.lk-login-concept .notice ul {
  margin: 0;
  padding-left: 20px;
}

.lk-login-concept .notice.error.lk-shake {
  animation: lkShake .45s cubic-bezier(.36,.07,.19,.97) 1;
}

.lk-login-form {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.lk-login-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.lk-login-field label {
  color: #24364a;
  font-size: .94rem;
  font-weight: 850;
}

.lk-login-input-row {
  position: relative;
  min-width: 0;
}

.lk-login-input-icon {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #314154;
  pointer-events: none;
}

.lk-login-concept .lk-login-input {
  width: 100%;
  min-width: 0;
  min-height: 62px;
  border: 1px solid var(--lk-login-line);
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  color: var(--lk-login-ink);
  padding: 17px 56px 17px 68px;
  font-size: 1rem;
  line-height: 1.25;
  outline: 0;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.lk-login-concept .lk-login-input::placeholder {
  color: #758296;
}

.lk-login-concept .lk-login-input:focus {
  border-color: var(--lk-login-green);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(22,139,77,.14);
}

.lk-login-eye-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #26384c;
  cursor: pointer;
}

.lk-login-eye-btn:hover,
.lk-login-eye-btn:focus-visible {
  background: #f1f7f3;
  outline: 0;
}

.lk-login-eye-btn .lk-eye-closed {
  display: none;
}

.lk-login-eye-btn.is-visible .lk-eye-open {
  display: none;
}

.lk-login-eye-btn.is-visible .lk-eye-closed {
  display: block;
}

.lk-login-hint {
  margin: 2px 0 0;
  color: #8a4b10;
  font-size: .9rem;
  line-height: 1.4;
}

.lk-login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  color: #39485a;
  font-size: .96rem;
}

.lk-login-check {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  font-weight: 750;
  cursor: pointer;
}

.lk-login-check input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
}

.lk-login-check span {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid #b8c7c4;
  border-radius: 6px;
  background: #fff;
}

.lk-login-check span::after {
  content: "";
  width: 10px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) translate(1px,-1px);
  opacity: 0;
}

.lk-login-check input:checked + span {
  border-color: var(--lk-login-green);
  background: linear-gradient(180deg, #1fa463, var(--lk-login-green));
}

.lk-login-check input:checked + span::after {
  opacity: 1;
}

.lk-login-check input:focus-visible + span {
  box-shadow: 0 0 0 4px rgba(22,139,77,.16);
}

.lk-login-options a,
.lk-login-register a,
.lk-login-activation a {
  color: #087a45;
  font-weight: 850;
  text-decoration: none;
}

.lk-login-options a:hover,
.lk-login-register a:hover,
.lk-login-activation a:hover {
  text-decoration: underline;
}

.lk-login-submit {
  width: 100%;
  min-height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(90deg, #15965c, var(--lk-login-green-2));
  color: #fff;
  font-size: 1.08rem;
  font-weight: 900;
  box-shadow: 0 16px 34px rgba(22,139,77,.28);
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.lk-login-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 42px rgba(22,139,77,.32);
  filter: saturate(1.05);
}

.lk-login-submit:focus-visible {
  outline: 4px solid rgba(22,139,77,.18);
  outline-offset: 3px;
}

.lk-login-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  color: #7b8796;
  font-size: .9rem;
}

.lk-login-divider::before,
.lk-login-divider::after {
  content: "";
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--lk-login-line));
}

.lk-login-divider::after {
  background: linear-gradient(90deg, var(--lk-login-line), transparent);
}

.lk-login-register,
.lk-login-activation {
  margin: 0;
  text-align: center;
  color: #354457;
  line-height: 1.45;
}

.lk-login-register a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 10px;
}

.lk-login-activation {
  font-size: .9rem;
}

.lk-login-trust {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: min(100%, 760px);
  margin: 8px auto 0;
  color: #167246;
}

.lk-login-trust > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 12px;
  align-items: center;
  padding: 0 22px;
  min-width: 0;
  border-right: 1px solid rgba(20,58,45,.16);
}

.lk-login-trust > div:last-child {
  border-right: 0;
}

.lk-login-trust span {
  grid-row: 1 / 3;
  color: var(--lk-login-green);
}

.lk-login-trust strong {
  color: #116338;
  font-size: .92rem;
  line-height: 1.25;
}

.lk-login-trust small {
  color: #708090;
  font-size: .82rem;
  line-height: 1.3;
}

.lk-login-mfa .lk-login-card {
  max-width: 540px;
}

.lk-login-mfa .lk-mfa-code {
  text-align: center;
  letter-spacing: .08em;
  padding-right: 58px;
}

.lk-auth-flow .lk-login-card {
  transition: opacity .16s ease, transform .16s ease;
}

.lk-auth-flow .lk-login-card.is-switching {
  opacity: .18;
  transform: translateY(8px) scale(.985);
}

.lk-auth-panel[hidden] {
  display: none !important;
}

.lk-auth-panel.is-active {
  animation: lkAuthPanelIn .22s ease both;
}

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

.lk-auth-flow .lk-login-head h2 {
  margin: 0;
  color: var(--lk-login-ink);
  font-size: 2.1rem;
  line-height: 1.1;
  letter-spacing: 0;
}

.lk-login-label-hint {
  color: var(--lk-login-muted);
  font-size: .82rem;
  font-weight: 800;
}

.lk-login-authlinks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 16px;
  margin: 2px 0 0;
  color: #354457;
  font-size: .94rem;
  line-height: 1.45;
  text-align: center;
}

.lk-login-authlinks a {
  color: #087a45;
  font-weight: 850;
  text-decoration: none;
}

.lk-login-authlinks a:hover,
.lk-login-authlinks a:focus-visible {
  text-decoration: underline;
}

.lk-auth-json {
  position: absolute;
  right: clamp(18px, 4vw, 58px);
  bottom: clamp(142px, 22vw, 182px);
  z-index: 3;
  width: clamp(150px, 24%, 188px);
  min-width: 0;
  aspect-ratio: 11 / 8;
  border: 1px solid rgba(20,58,45,.14);
  border-radius: 8px;
  background: rgba(255,255,255,.7);
  box-shadow: 0 18px 42px rgba(16,32,51,.12);
  backdrop-filter: blur(12px);
  overflow: hidden;
}

.lk-auth-flow .lk-auth-json {
  display: none;
}

.lk-auth-json::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 28% 20%, rgba(197,238,106,.38), transparent 32%),
    radial-gradient(circle at 78% 70%, rgba(22,139,77,.20), transparent 34%);
  pointer-events: none;
}

.lk-auth-json svg {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

.lk-auth-json path,
.lk-auth-json .lk-auth-json-link {
  fill: none;
  stroke: rgba(20,58,45,.24);
  stroke-width: 3;
  stroke-linecap: round;
}

.lk-auth-json circle,
.lk-auth-json .lk-auth-json-dot {
  fill: var(--dot-fill, #168b4d);
  stroke: rgba(255,255,255,.92);
  stroke-width: 4;
  filter: drop-shadow(0 8px 14px rgba(16,32,51,.16));
}

.lk-auth-json .lk-auth-json-badge {
  fill: #143a2d;
  font: 900 17px/1 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  letter-spacing: .08em;
}

@media (max-width: 980px) {
  .lk-login-concept {
    grid-template-columns: 1fr;
    max-width: 720px;
    gap: 14px;
    padding-top: 18px;
  }

  .lk-login-visual {
    min-height: 170px;
    align-items: center;
  }

  .lk-login-mascot {
    width: 190px;
  }

  .lk-login-orbit {
    display: none;
  }

  .lk-auth-json {
    right: calc(50% - 220px);
    bottom: 12px;
    width: 176px;
    min-width: 0;
  }

  .lk-login-card {
    padding: 28px;
  }

  .lk-auth-flow .lk-login-card {
    display: block;
    min-height: 0;
  }

  .lk-login-trust {
    grid-template-columns: 1fr;
    gap: 10px;
    width: min(100%, 520px);
  }

  .lk-login-trust > div {
    border-right: 0;
    border-top: 1px solid rgba(20,58,45,.12);
    padding: 12px 4px 0;
  }
}

@media (max-width: 560px) {
  .lk-login-concept {
    width: min(100%, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    margin: 18px auto 20px;
    padding: 12px 0 8px;
    display: block;
    overflow-x: hidden;
  }

  .lk-login-visual {
    min-height: 118px;
  }

  .lk-login-mascot {
    width: 138px;
  }

  .lk-login-card {
    width: 100%;
    max-width: calc(100vw - 24px);
    min-width: 0;
    padding: 22px 16px;
  }

  .lk-login-panel,
  .lk-login-form,
  .lk-login-field,
  .lk-login-input-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .lk-login-head {
    margin-bottom: 20px;
  }

  .lk-login-head h1 {
    font-size: 1.9rem;
  }

  .lk-auth-flow .lk-login-head h2 {
    font-size: 1.76rem;
  }

  .lk-login-head p {
    font-size: 1rem;
  }

  .lk-auth-json {
    display: none;
  }

  .lk-login-concept .lk-login-input {
    min-height: 56px;
    padding-left: 64px;
    padding-right: 52px;
  }

  .lk-login-options {
    display: grid;
    grid-template-columns: 1fr;
    align-items: flex-start;
    gap: 10px;
  }

  .lk-login-options a {
    justify-self: start;
  }

  .lk-login-submit {
    min-height: 56px;
  }

  .lk-login-register a {
    margin-left: 0;
  }

  .lk-login-mfa .lk-mfa-code {
    text-align: left;
    letter-spacing: 0;
  }
}

@media (max-width: 390px) {
  .lk-login-head h1 {
    font-size: 1.72rem;
  }

  .lk-auth-flow .lk-login-head h2 {
    font-size: 1.62rem;
  }

}

@media (prefers-reduced-motion: reduce) {
  .lk-login-concept .notice.error.lk-shake,
  .lk-login-mascot,
  .lk-login-robot-eye,
  .lk-login-submit,
  .lk-login-submit:hover,
  .lk-auth-panel.is-active,
  .lk-auth-flow .lk-login-card {
    animation: none;
    transition: none;
    transform: none;
  }
}

