.orbit-login body { min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding:0 40px; background:radial-gradient(ellipse at 50% 50%,#e5edd930,transparent 70%),var(--bg); }
.auth-top,.auth-bottom { width:100%; max-width:1120px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px 0; }
.auth-top a,.auth-bottom a { font-size:11px; color:var(--text-dim); text-decoration:none; }
.auth-top > span { font:9px var(--mono); letter-spacing:1.7px; color:#95a18a; }
.auth-bottom > span { font-size:10px; color:#839276; }
.auth { display:grid; grid-template-columns:1fr 1fr; width:100%; max-width:1120px; min-height:660px; margin:0 auto; border:1px solid var(--border); border-radius:26px; overflow:hidden; background:var(--surface); box-shadow:0 28px 70px -40px #253b2540; animation:auth-arrive .7s cubic-bezier(.2,.7,.2,1); }
.auth__panel { position:relative; padding:43px; min-width:0; }
.auth__panel--action { display:flex; flex-direction:column; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 50% 65%,#63872d30,transparent 65%),#17271e; color:#eaf5db; }
.auth__brand { display:flex; align-items:center; gap:10px; width:fit-content; text-decoration:none; color:#f1f8e9; }
.auth__brand:hover { text-decoration:none; }
.auth__mark { width:30px; height:32px; }
.auth__mark svg { width:100%; height:100%; }
.auth__brand-name { font-size:24px; letter-spacing:-.8px; font-weight:650; }
.auth__brand-sub { font:8px var(--mono); letter-spacing:1px; border:1px solid #a9c08535; color:#bdd1aa; padding:5px 7px; border-radius:5px; margin-left:4px; }
.auth-story { position:relative; z-index:2; margin-top:48px; }
.auth-story .lp-eyebrow { font-size:7px; letter-spacing:1.1px; color:#9fb58a; margin-bottom:15px; }
.auth-story h2 { font-size:41px; letter-spacing:-1.6px; line-height:1.17; font-weight:450; margin:0 0 17px; }
.auth-story h2 span { color:#d0e8a3; }
.auth-story p { color:#9eb18f; font-size:12px; line-height:1.8; margin:0; }
.auth-art { position:relative; perspective:900px; min-height:240px; flex:1; margin:0 -10px; }
.auth-art-grid { position:absolute; inset:-30px -10%; background:linear-gradient(#c4e19509 1px,transparent 1px),linear-gradient(90deg,#c4e19509 1px,transparent 1px); background-size:28px 28px; mask-image:radial-gradient(ellipse,#000,transparent 68%); }
.auth-vault { position:absolute; width:115px; height:138px; top:50%; left:50%; margin:-72px 0 0 -58px; transform-style:preserve-3d; transform:rotateY(-25deg) rotateX(10deg) rotate(-8deg); animation:auth-vault 7s ease-in-out infinite; }
.auth-vault-front,.auth-vault-back { position:absolute; inset:0; border:1px solid #d3eda28c; border-radius:19px; background:linear-gradient(135deg,#ddf5b07a,#92b45e50); box-shadow:inset 0 1px 0 #f3ffd57a; }
.auth-vault-front { transform:translateZ(18px); padding:22px; color:#e8ffbf; backdrop-filter:blur(6px); }
.auth-vault-front svg { width:100%; height:100%; }
.auth-vault-back { transform:translateZ(-18px); background:#58773d; }
.auth-vault-side { position:absolute; width:36px; height:110px; top:14px; left:40px; transform:rotateY(90deg) translateZ(56px); background:linear-gradient(90deg,#76964d,#a4c778); border:1px solid #b6d48780; }
.auth-vault-top { position:absolute; width:90px; height:36px; top:51px; left:12px; transform:rotateX(90deg) translateZ(68px); background:#b7d787; }
.auth-orbit { position:absolute; top:50%; left:50%; width:285px; height:285px; margin:-142px 0 0 -142px; border:1px solid #9fbe6550; border-radius:50%; transform-style:preserve-3d; }
.auth-orbit--one { transform:rotateX(60deg) rotateY(-20deg); animation:lp-orbit 25s linear infinite; }
.auth-orbit--two { transform:rotateX(25deg) rotateY(60deg); }
.auth-orbit i { position:absolute; top:50%; left:-3px; width:6px; height:6px; border-radius:50%; background:#e9ffbd; box-shadow:0 0 17px #dafa9a; }
.auth-art-chip { position:absolute; top:37%; right:10%; padding:8px; background:#163022b3; border:1px solid #a4c57255; border-radius:7px; color:#b9d58f; font:7px var(--mono); letter-spacing:1px; transform:translateZ(50px) rotate(8deg); animation:auth-chip 8s ease-in-out infinite; }
.auth-panel-foot { display:flex; justify-content:space-between; gap:15px; padding-top:15px; border-top:1px solid #b6cd961a; color:#8ca177; font:7px var(--mono); letter-spacing:1.2px; }
.auth__panel--form { display:flex; flex-direction:column; justify-content:center; padding:55px; background:var(--surface); }
.auth-form-kicker { font:8px var(--mono); letter-spacing:1.6px; color:#88987b; margin-bottom:24px; }
.auth__form h1 { margin:0 0 12px; font-size:33px; letter-spacing:-1.1px; font-weight:500; }
.auth__sub { margin:0 0 35px; color:var(--text-dim); font-size:12px; line-height:1.8; }
.auth .field { margin-bottom:20px; }
.auth .field > span:first-child { font-size:11px; color:#5e6f56; margin-bottom:9px; }
.auth input { background:#f6f8f1; border:1px solid #d6dfcc; border-radius:10px; height:47px; font-size:13px; padding:0 14px; transition:border-color .25s,box-shadow .25s,background .25s; }
.auth input:focus { background:#fff; border-color:#9fbf6c; box-shadow:0 0 0 4px #a5cb6920; outline:none; }
.auth .pass-wrap input { padding-right:48px; }
.auth .pass-toggle { width:46px; height:47px; min-height:0; border:0; background:transparent; }
.auth .pass-toggle:hover { transform:none; box-shadow:none; }
.auth button.primary { width:100%; height:47px; display:flex; justify-content:space-between; padding:0 18px; font-size:12px; margin-top:7px; }
.auth button.primary.busy { opacity:.7; cursor:wait; }
.auth__err { display:none; background:#fff0f1; color:#b2172b; padding:12px; font-size:12px; border-radius:10px; margin-bottom:18px; line-height:1.6; }
.auth__err.show { display:block; animation:auth-error .22s ease; }
.auth__alt { text-align:center; font-size:11px; color:var(--text-dim); padding-top:26px; margin-top:26px; border-top:1px solid var(--border); }
.auth__alt a { color:#536d30; font-weight:600; }
.auth-help { display:block; width:fit-content; margin:20px auto 0; font-size:10px; color:#7c8a71; }
.auth:has(#password:focus) .auth-vault-front { background:linear-gradient(135deg,#dcf5aab0,#769b4c80); box-shadow:0 0 35px #cbe98d20,inset 0 1px 0 #f3ffd57a; }
@keyframes auth-arrive { from { opacity:0; transform:perspective(1600px) translateY(15px) rotateX(1deg); } to { opacity:1; transform:none; } }
@keyframes auth-vault { 0%,100% { transform:rotateY(-25deg) rotateX(10deg) rotate(-8deg) translateY(0); } 50% { transform:rotateY(-12deg) rotateX(4deg) rotate(-3deg) translateY(-12px); } }
@keyframes auth-chip { 0%,100% { transform:translateZ(50px) rotate(8deg); } 50% { transform:translateZ(60px) translateY(-8px) rotate(4deg); } }
@keyframes auth-error { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
@media (max-width:1000px) {
 .orbit-login body { padding:0 24px; }
 .auth__panel { padding:32px; }
 .auth-story h2 { font-size:34px; }
 .auth__panel--form { padding:38px; }
 .auth__form h1 { font-size:28px; }
}
@media (max-width:720px) {
 .orbit-login body { padding:0 16px; }
 .auth-top { padding:23px 0; }
 .auth-top > span { display:none; }
 .auth { grid-template-columns:1fr; max-width:480px; min-height:0; }
 .auth__panel--action { padding:25px; min-height:205px; }
 .auth-story { margin-top:25px; }
 .auth-story h2 { font-size:27px; max-width:260px; letter-spacing:-1px; }
 .auth-story p,.auth-story .lp-eyebrow,.auth-panel-foot { display:none; }
 .auth-art { position:absolute; right:0; bottom:-38px; width:180px; height:200px; min-height:0; margin:0; opacity:.65; scale:.7; transform-origin:right center; }
 .auth__brand-name { font-size:21px; }
 .auth__panel--form { padding:33px 28px; }
 .auth-form-kicker { margin-bottom:20px; }
 .auth__sub { margin-bottom:27px; }
 .auth-bottom { max-width:480px; flex-wrap:wrap; justify-content:center; gap:12px 22px; padding:22px 0; }
 .auth-bottom > span { width:100%; text-align:center; font-size:9px; }
 .auth__alt { font-size:10px; }
}
@media (max-width:360px) { .auth__panel--form { padding:28px 22px; } .auth__form h1 { font-size:26px; } .auth-art { right:-28px; opacity:.4; } }
