/* Login page — standalone dark brand experience, independent of the sitewide theme toggle */
body.login-page{padding-top:0}
.login-shell{display:grid;grid-template-columns:44% 56%;min-height:100vh;background:var(--black)}
.login-left{display:flex;align-items:center;justify-content:center;padding:32px}
.login-form-wrap{width:100%;max-width:380px}
.login-mark{margin-bottom:26px}
.login-mark img{height:28px;width:auto;display:block}
.login-eyebrow{font:600 10.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-lt);margin:0 0 14px}
.login-title{font-family:var(--font-body);font-weight:800;font-size:clamp(34px,4.2vw,50px);line-height:1.02;letter-spacing:-.02em;color:var(--white);margin:0 0 12px}
.login-sub{font-size:14px;line-height:1.55;color:var(--muted);max-width:34ch;margin:0 0 26px}
.login-form{display:flex;flex-direction:column;gap:16px}
.login-form label{display:flex;flex-direction:column;gap:8px;font:600 11px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--gray)}
.login-form input{font:15px var(--font-body);color:var(--white);background:var(--black-2);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:13px 15px;outline:none;transition:border-color .15s,background .15s}
.login-form input::placeholder{color:#5c5c5c}
.login-form input:focus{border-color:var(--orange);background:#1c1c1c}
.login-form input:focus-visible{outline:2px solid var(--orange-lt);outline-offset:2px}
.login-submit{margin-top:6px;font:700 14.5px var(--font-body);color:#fff;background:linear-gradient(135deg,var(--orange) 0%,var(--orange-dk) 100%);border:0;border-radius:10px;padding:14px 18px;cursor:pointer;transition:transform .15s,box-shadow .15s}
.login-submit:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(230,85,18,.32)}
.login-submit:focus-visible{outline:2px solid var(--orange-lt);outline-offset:2px}
.login-forgot{align-self:center;margin-top:2px;font-size:12.5px;color:var(--gray);text-decoration:none}
.login-forgot:hover{color:var(--orange-lt)}
.login-note{min-height:18px;margin:18px 0 0;font-size:12.5px;color:var(--orange-lt)}

.login-right{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:32px 40px;background:
    radial-gradient(120% 90% at 78% 8%,rgba(230,85,18,.16) 0%,rgba(230,85,18,0) 55%),
    radial-gradient(90% 70% at 20% 100%,rgba(230,85,18,.08) 0%,rgba(230,85,18,0) 60%),
    linear-gradient(180deg,#0c0c10 0%,#050506 100%)}
.login-right-header{position:relative;z-index:3;display:flex;align-items:center;gap:12px}
.login-right-logo{height:26px;width:auto;display:block}
.login-right-title{font:700 13.5px var(--font-body);letter-spacing:.01em;color:var(--white)}
.login-right-title b{color:var(--orange-lt);font-weight:800}

.rocket-scene{position:relative;flex:1;display:flex;align-items:center;justify-content:center}
.orbit{position:absolute;top:50%;left:50%;border:1px dashed rgba(240,112,48,.16);border-radius:50%;transform:translate(-50%,-50%);animation:orbitSpin 60s linear infinite}
.orbit-1{width:420px;height:420px}
.orbit-2{width:600px;height:600px;border-color:rgba(240,112,48,.09);animation-duration:90s;animation-direction:reverse}
@keyframes orbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

.stars{position:absolute;inset:0}
.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:rgba(255,255,255,.5)}
.stars i:nth-child(1){top:14%;left:20%}.stars i:nth-child(2){top:22%;left:72%}.stars i:nth-child(3){top:34%;left:8%}
.stars i:nth-child(4){top:60%;left:84%}.stars i:nth-child(5){top:72%;left:16%}.stars i:nth-child(6){top:12%;left:52%}
.stars i:nth-child(7){top:80%;left:60%}.stars i:nth-child(8){top:48%;left:92%}.stars i:nth-child(9){top:40%;left:38%}

.launchpad{position:absolute;bottom:14%;width:150px;height:2px;background:linear-gradient(90deg,transparent,rgba(230,85,18,.5),transparent)}

.rocket-rig{position:relative;width:60px;height:120px;transform-origin:50% 100%}
.rocket-trail{position:absolute;left:50%;bottom:14px;width:6px;height:0;background:linear-gradient(180deg,rgba(240,112,48,.55),rgba(240,112,48,0));border-radius:3px;transform:translateX(-50%)}
.rocket-smoke{position:absolute;left:50%;bottom:8px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),rgba(255,255,255,0) 70%);opacity:0}
.rocket-flame{position:absolute;left:50%;bottom:2px;width:14px;height:22px;transform:translateX(-50%);border-radius:50% 50% 60% 60%;background:linear-gradient(180deg,#fff 0%,var(--orange-lt) 35%,var(--orange) 65%,var(--orange-dk) 100%)}
.rocket-svg{position:relative;display:block}

@media (prefers-reduced-motion: no-preference){
  .rocket-rig{animation:rocketLaunch 6s ease-in-out infinite}
  .rocket-flame{animation:flameFlicker .35s ease-in-out infinite alternate}
  .rocket-trail{animation:trailGrow 6s ease-in-out infinite}
  .rocket-smoke.s1{animation:smokePuff 6s ease-out infinite}
  .rocket-smoke.s2{animation:smokePuff 6s ease-out infinite;animation-delay:.12s}
  .rocket-smoke.s3{animation:smokePuff 6s ease-out infinite;animation-delay:.24s}
}
@media (prefers-reduced-motion: reduce){
  .rocket-flame{opacity:.85}
}

@keyframes rocketLaunch{
  0%{transform:translateY(0) rotate(0deg)}
  4%{transform:translateY(-3px) rotate(-1.4deg)}
  8%{transform:translateY(0) rotate(1.2deg)}
  12%{transform:translateY(-2px) rotate(-1deg)}
  17%{transform:translateY(0) rotate(0deg)}
  20%{transform:translateY(3px) scale(1.02)}
  34%{transform:translateY(-70px) scale(1)}
  55%{transform:translateY(-220px)}
  76%{transform:translateY(-430px);opacity:1}
  83%{opacity:0}
  84%{transform:translateY(0);opacity:0}
  100%{transform:translateY(0);opacity:0}
}
@keyframes flameFlicker{0%{transform:translateX(-50%) scaleY(1)}100%{transform:translateX(-50%) scaleY(.72)}}
@keyframes trailGrow{
  0%,17%{height:0;opacity:0}
  20%{height:6px;opacity:.9}
  55%{height:120px;opacity:.6}
  76%{height:200px;opacity:0}
  100%{height:0;opacity:0}
}
@keyframes smokePuff{
  0%,18%{opacity:0;transform:translate(-50%,0) scale(.4)}
  22%{opacity:.85;transform:translate(-70%,10px) scale(1)}
  40%{opacity:0;transform:translate(-130%,40px) scale(1.8)}
  100%{opacity:0}
}

.login-right-tagline{position:relative;z-index:3;font:600 12px var(--font-mono);letter-spacing:.04em;color:rgba(255,255,255,.4);text-align:center;margin:0 0 4px}

@media (max-width:920px){
  .login-shell{grid-template-columns:1fr}
  .login-right{min-height:280px;order:-1;padding:24px 28px}
  .login-left{padding:40px 24px}
  .rocket-scene{transform:scale(.8)}
}
