.login-page{min-height:100dvh;margin:0;background:var(--bg)}.login-header{height:86px;padding:0 max(28px,calc((100vw - 1120px)/2));display:flex;align-items:center;background:var(--surface);border-bottom:1px solid var(--border)}.login-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);font-size:21px;font-weight:750;letter-spacing:-.04em}.login-brand small{display:block;font-size:8px;font-weight:550;letter-spacing:.15em;color:var(--text3);margin-top:1px}.login-page .app-controls{top:23px;right:max(28px,calc((100vw - 1120px)/2));box-shadow:none;background:transparent;border:none}.login-main{max-width:1120px;margin:44px auto 0;padding:0 24px}.login-eyebrow{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:0 0 16px;margin-bottom:28px;color:var(--text3);font-size:10px;letter-spacing:.1em}.login-eyebrow>span:last-child{letter-spacing:0;font-size:11px}.login-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.login-card{background:var(--surface);border:1px solid var(--border);padding:42px 46px;border-radius:14px;box-shadow:var(--shadow)}.login-step{font-size:12px;color:var(--purple);font-weight:650;margin-bottom:16px}.login-card h1{font-size:38px;font-weight:700;line-height:1.17;letter-spacing:-.05em}.login-intro{font-size:14px;color:var(--text2);margin:18px 0 28px;max-width:350px;line-height:1.7}.login-card .form-group{margin-bottom:18px}.login-card input{width:100%;height:46px;border:1px solid var(--border);font-size:13px}.password-wrap{position:relative}.password-wrap input{padding-right:92px}.password-wrap button{position:absolute;right:12px;top:12px;border:none;background:transparent;color:var(--text3);font-size:11px;cursor:pointer}.forgot-link{border:0;background:none;color:var(--purple);font-size:12px;cursor:pointer;padding:0;margin-bottom:24px}.login-submit{width:100%;display:flex;justify-content:space-between;min-height:46px;font-size:13px}.login-footnote{display:flex;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--border);color:var(--text3);font-size:11px;line-height:1.7}.login-footnote>span{border:1px solid var(--border);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;flex-shrink:0;font-family:serif}.login-rail{display:flex;flex-direction:column;gap:20px}.login-feature{background:#102443;color:#fff;border-radius:14px;padding:38px 38px 30px;flex:1;overflow:hidden;position:relative}.feature-eyebrow{font-size:9px;letter-spacing:.15em;color:#9ab8e3}.login-feature h2{font-size:34px;line-height:1.2;color:#fff;margin-top:20px}.login-feature p{color:#b5c9e4;font-size:12px;line-height:1.8;position:relative}.orbital{height:200px;position:relative;margin:10px 0}.orbit{border:1px solid #577ab952;border-radius:50%;width:250px;height:110px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-30deg)}.orbit-two{transform:translate(-50%,-50%) rotate(40deg);width:270px;height:180px}.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:112px;height:112px;display:grid;place-items:center;border-radius:30px;background:linear-gradient(145deg,#4978d6,#24457e);font-size:33px;font-weight:650;letter-spacing:-.06em;box-shadow:0 16px 55px #07122455;border:1px solid #6a93d550}.orbit-tag{position:absolute;border:1px solid #829dd245;background:#1c355a;border-radius:8px;padding:7px 11px;font-size:12px;color:#c7dcff}.vr-tag{left:10%;top:45px}.ai-tag{right:10%;top:42px;color:#f0ca82}.ar-tag{right:20%;bottom:15px}.phone-card{display:flex;align-items:center;gap:16px;padding:22px 24px;border:1px solid var(--border);background:var(--surface);border-radius:12px;cursor:pointer;color:var(--text);text-align:left}.phone-card>span:last-child{margin-left:auto;color:var(--purple)}.phone-icon{font-size:34px;line-height:1;color:var(--purple)}.phone-card strong{display:block;font-size:13px;font-weight:650}.phone-card small{display:block;margin-top:4px;font-size:11px;color:var(--text3)}.login-footer{display:flex;justify-content:space-between;color:var(--text3);font-size:10px;margin:28px 0;padding-bottom:24px;gap:20px}.login-error{padding:12px;border-radius:6px;background:var(--red-light);color:var(--red-dark);font-size:12px;margin:0 0 16px}.login-page dialog{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:14px;max-width:440px;width:calc(100% - 32px);padding:30px;box-shadow:var(--shadow-lg);margin:auto}.login-page dialog::backdrop{background:#07142a99;backdrop-filter:blur(4px)}.login-page dialog p{font-size:13px;color:var(--text2);margin:14px 0 20px}.login-page dialog label{display:block;font-size:12px;margin:0 0 8px}.login-page dialog input{width:100%;border:1px solid var(--border)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}#phoneDialog{text-align:center}#qrCodeBox{width:224px;margin:20px auto;background:#fff;padding:12px}#phoneStatus{overflow-wrap:anywhere}#resetStatus{font-size:12px}button:disabled{opacity:.6}
/* Login controls stay at the top on mobile, so their menu must open below. */
.login-page .app-lang-switch-menu{top:calc(100% + 8px);bottom:auto}
@media(max-width:850px){.login-main{margin-top:24px}.login-grid{grid-template-columns:1fr;max-width:520px;margin:auto}.login-rail{display:none}.login-card{padding:32px}.login-card h1{font-size:34px}.login-eyebrow>span:last-child{display:none}.login-footer{max-width:520px;margin:22px auto;flex-wrap:wrap}.login-page .app-controls{top:23px;bottom:auto;right:18px}.login-header{padding:0 24px}.login-eyebrow{max-width:520px;margin:0 auto 24px;font-size:9px}}
