/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!./src/styles/auth.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
/* 动画角色样式 */
.characters-scene {
  position: relative;
  width: 500px;
  height: 380px;
}

.character {
  position: absolute;
  bottom: 0;
  transition: all 0.7s ease-in-out;
  transform-origin: bottom center;
}

/* 小己主体 - 暖杏色圆角矩形 */
.char-main {
  left: 80px;
  width: 180px;
  height: 320px;
  background: linear-gradient(180deg, #F7B787 0%, #D4956B 100%);
  border-radius: 90px 90px 40px 40px;
  z-index: 2;
  box-shadow: 0 20px 40px -10px rgba(248, 217, 192, 0.3);
}

/* 小己的耳朵/装饰 */
.char-main::before,
.char-main::after {
  content: '';
  position: absolute;
  width: 30px;
  height: 50px;
  background: linear-gradient(180deg, #F7B787, #D4956B);
  border-radius: 15px;
  top: 20px;
}

.char-main::before {
  left: -15px;
  transform: rotate(-15deg);
}

.char-main::after {
  right: -15px;
  transform: rotate(15deg);
}

/* 平静色角色 - 青绿色半圆 */
.char-calm {
  left: 0;
  width: 200px;
  height: 180px;
  background: linear-gradient(180deg, #A3B5A6 0%, #8FA692 100%);
  border-radius: 100px 100px 0 0;
  z-index: 1;
}

/* 疲惫色角色 - 淡紫色圆角 */
.char-tired {
  left: 240px;
  width: 130px;
  height: 240px;
  background: linear-gradient(180deg, #9A9BCB 0%, #8586B0 100%);
  border-radius: 65px 65px 30px 30px;
  z-index: 3;
}

/* 焦虑色角色 - 淡粉色小圆 */
.char-anxiety {
  left: 360px;
  width: 100px;
  height: 160px;
  background: linear-gradient(180deg, #C4A4C4 0%, #B090B0 100%);
  border-radius: 50px 50px 25px 25px;
  z-index: 4;
}

/* Eyes container */
.eyes {
  position: absolute;
  display: flex;
  transition: all 0.7s ease-in-out;
}

/* Eyeball (white with pupil) */
.eyeball {
  border-radius: 50%;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: height 0.15s ease;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Pupil */
.pupil {
  border-radius: 50%;
  background: #2C2C2E;
  transition: transform 0.1s ease-out;
}

/* Bare pupil (no white eyeball) */
.bare-pupil {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #2C2C2E;
  transition: transform 0.7s ease-in-out;
}

/* 小己的微笑 */
.main-smile {
  position: absolute;
  width: 50px;
  height: 25px;
  border: 3px solid #2C2C2E;
  border-top: none;
  border-radius: 0 0 25px 25px;
  transition: all 0.7s ease-in-out;
}

/* 悲伤嘴巴 */
.sad-mouth {
  position: absolute;
  width: 40px;
  height: 20px;
  border: 3px solid #2C2C2E;
  border-bottom: none;
  border-radius: 20px 20px 0 0;
  opacity: 0;
  transition: all 0.7s ease-in-out;
}

/* Shake-head animation */
@keyframes shakeHead {
  0%, 100% { translate: 0 0; }
  10%  { translate: -8px 0; }
  20%  { translate: 6px 0; }
  30%  { translate: -5px 0; }
  40%  { translate: 4px 0; }
  50%  { translate: -3px 0; }
  60%  { translate: 2px 0; }
  70%  { translate: -1px 0; }
  80%  { translate: 0.5px 0; }
}

.eyes.shake-head, .main-smile.shake-head {
  animation: shakeHead 0.8s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

/* 登录页面布局 */
.auth-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 100vh;
}

.auth-left-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(135deg, #FFF5EB 0%, #FFE8D6 50%, #FFDDD0 100%);
  padding: 40px 48px;
  overflow: hidden;
}

.auth-left-panel::after {
  content: '';
  position: absolute;
  top: 15%;
  right: 10%;
  width: 280px;
  height: 280px;
  background: rgba(248, 217, 192, 0.2);
  border-radius: 50%;
  filter: blur(80px);
}

.auth-left-panel::before {
  content: '';
  position: absolute;
  bottom: 20%;
  left: 5%;
  width: 320px;
  height: 320px;
  background: rgba(163, 181, 166, 0.15);
  border-radius: 50%;
  filter: blur(100px);
}

.auth-right-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  padding: 40px;
}

.auth-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  font-weight: 600;
  color: #2C2C2E;
  z-index: 10;
  position: relative;
}

.auth-logo-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #F7B787, #D4956B);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
}

.auth-footer-links {
  display: flex;
  gap: 28px;
  font-size: 13px;
  color: rgba(94, 94, 102, 0.7);
  z-index: 10;
  position: relative;
}

.auth-footer-links a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.auth-footer-links a:hover {
  color: #F7B787;
}

.auth-hint-text {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  color: rgba(94, 94, 102, 0.5);
  text-align: center;
  z-index: 10;
}

.auth-form-container {
  width: 100%;
  max-width: 380px;
}

.register-form-container {
  max-width: 420px;
}

.auth-form-header {
  text-align: center;
  margin-bottom: 40px;
}

.auth-form-header h1 {
  font-size: 48px;
  font-weight: 700;
  color: #2C2C2E;
  margin-bottom: 12px;
}

.auth-form-header p {
  font-size: 14px;
  color: #5E5E66;
  letter-spacing: 2px;
}

/* Responsive */
@media (max-width: 900px) {
  .auth-page {
    grid-template-columns: 1fr;
  }
  .auth-left-panel {
    display: none;
  }
}

