/* Sign-in page: animated cloud scene on the left, frosted sign-in panel on the right. Accent from platform settings. */
body.lp{background:#eef1f5;min-height:100vh}
.lp-page{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 440px;min-height:100vh;overflow:hidden;
  background:radial-gradient(900px 520px at 30% 20%,color-mix(in srgb,var(--a) 12%,transparent),transparent 70%),radial-gradient(700px 500px at 80% 90%,color-mix(in srgb,var(--a) 9%,transparent),transparent 70%),#eef1f5}
/* stage */
.lp-stage{position:relative;display:flex;flex-direction:column;padding:22px 56px 18px;min-width:0}
.lp-top{display:flex;align-items:center;justify-content:space-between;gap:24px;height:44px}
.lp-top-links{display:flex;gap:28px}
.lp-top-links a{color:var(--ink-2);text-decoration:none;font-size:14px;font-weight:500;position:relative;padding:6px 0}
.lp-top-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--a);transform:scaleX(0);transition:transform .2s}
.lp-top-links a:hover{color:var(--a)}.lp-top-links a:hover::after{transform:scaleX(1)}
.lp-intro{margin-top:44px;max-width:600px;animation:lp-up .7s both}
.lp-intro h2{margin:0 0 10px;font-size:26px;font-weight:700;letter-spacing:-.01em;color:color-mix(in srgb,var(--a) 70%,#0f172a)}
.lp-intro p{margin:0;font-size:16px;line-height:1.6;color:#64748b}
.lp-visual{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:10px 0}
.lp-visual img,.lp-scene{width:100%;max-width:860px;max-height:60vh;height:auto;object-fit:contain}
.lp-features{position:relative;min-height:74px;max-width:560px}
.lp-feature{position:absolute;inset:0 0 auto 0;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s;pointer-events:none}
.lp-feature.is-on{opacity:1;transform:none;pointer-events:auto}
.lp-feature strong{display:block;font-size:15px;color:var(--ink);margin-bottom:4px}
.lp-feature span{font-size:14px;color:#64748b}
.lp-dots{position:absolute;left:0;bottom:-6px;display:flex;gap:8px}
.lp-dots button{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:#cbd5e1;cursor:pointer;transition:width .3s,background .3s}
.lp-dots button.is-on{width:24px;background:var(--a)}
.lp-foot{font-size:12px;color:#94a3b8;margin-top:22px}
.lp-foot-mobile{display:none}
/* scene animation */
.lp-link{fill:none;stroke:color-mix(in srgb,var(--a) 22%,transparent);stroke-width:2}
.lp-flow{fill:none;stroke:var(--a);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 18;animation:lp-flow 2.4s linear infinite;opacity:.7}
.lp-packet{fill:var(--a);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--a) 60%,transparent))}
.lp-float{animation:lp-float 6s ease-in-out infinite}
.lp-node{animation:lp-float 7s ease-in-out infinite}
.lp-node:nth-of-type(2n){animation-delay:-2s}.lp-node:nth-of-type(3n){animation-delay:-4s}
.lp-ring{fill:none;stroke:var(--a);stroke-width:2;opacity:0;transform-origin:450px 230px;animation:lp-ring 3s ease-out infinite}
.lp-blink{animation:lp-blink 1.6s ease-in-out infinite}
@keyframes lp-flow{to{stroke-dashoffset:-48}}
@keyframes lp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes lp-ring{0%{opacity:.35;transform:scale(.8)}100%{opacity:0;transform:scale(1.9)}}
@keyframes lp-blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes lp-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* panel */
.lp-panel{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 50px;
  background:rgba(255,255,255,.62);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-left:1px solid rgba(255,255,255,.8);box-shadow:-20px 0 60px rgba(15,23,42,.05)}
.lp-card{width:100%;max-width:340px;animation:lp-up .6s .1s both}
.lp .auth-form{background:transparent;box-shadow:none;padding:0;margin:0}
.lp-mark{display:flex;justify-content:center;margin-bottom:22px}
.lp-mark img{max-width:180px;max-height:84px;object-fit:contain}
.lp-mark span{width:84px;height:84px;border-radius:24px;display:inline-flex;align-items:center;justify-content:center;color:#fff;
  background:linear-gradient(135deg,var(--a),var(--a-dk));box-shadow:0 14px 30px color-mix(in srgb,var(--a) 35%,transparent)}
.lp-card h1{text-align:center;font-size:24px;color:var(--ink);margin:0 0 4px}
.lp-card .sub{text-align:center;margin:0 0 28px;font-size:14px;color:#64748b}
/* boxed inputs and pill buttons */
.lp .line-field{border:1px solid #d7dde5;border-radius:10px;background:#fff;padding:0 12px;margin-bottom:16px;transition:border-color .15s,box-shadow .15s}
.lp .line-field:focus-within{border-color:var(--a);box-shadow:0 0 0 3px color-mix(in srgb,var(--a) 15%,transparent)}
.lp .line-field.invalid{border-color:var(--danger)}
.lp .line-field input{height:42px;font-size:14px}
.lp .forgot{display:block;text-align:right;font-size:12px;color:#8b96a3;margin:-6px 0 14px;text-decoration:none}
.lp .forgot:hover{color:var(--a)}
.lp .form-row{margin:0 0 22px}
.lp .btn{height:42px;border-radius:999px;text-transform:none;letter-spacing:0;font-size:15px}
.lp .signup-link{text-align:center;margin:20px 0 0;font-size:14px;color:#6e7176}
.lp .signup-link a{color:var(--a);font-weight:600;text-decoration:none}
.lp .note{margin-top:18px;font-size:12px}
/* responsive */
@media (max-width:1199.98px){.lp-page{grid-template-columns:minmax(0,1fr) 400px}.lp-stage{padding:20px 32px 16px}.lp-panel{padding:32px}}
@media (max-width:991.98px){
  .lp-page{grid-template-columns:minmax(0,1fr)}
  .lp-stage{display:none}
  .lp-panel{min-height:100vh;padding:28px 16px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none}
  .lp .lp-card{background:rgba(255,255,255,.9);border-radius:18px;padding:30px 22px;box-shadow:0 10px 40px rgba(15,23,42,.08)}
  .lp-foot-mobile{display:block;text-align:center}
}
@media (prefers-reduced-motion:reduce){.lp-flow,.lp-float,.lp-node,.lp-ring,.lp-blink,.lp-intro,.lp-card{animation:none}.lp-packet{display:none}}
.lp-top .brand{display:inline-flex;align-items:center;gap:10px}.lp-top .badge{border-radius:999px!important;padding:4px 12px;font-size:12px;margin-left:4px}
