body.login { min-height: 100vh; background: radial-gradient(800px 400px at 10% 10%, rgba(255,182,193,0.6), transparent 60%), radial-gradient(800px 400px at 90% 20%, rgba(102,187,255,0.6), transparent 60%), linear-gradient(120deg, #ffe6f0, #e8f3ff 70%); }
body.login #login { width: 420px; padding-top: 6vh; position: relative; }
body.login h1 a { background-image: none !important; width: auto; height: auto; text-indent: 0; font-size: 26px; font-weight: 800; color: #1f2435; display: block; text-align: left; margin-bottom: 14px; }
body.login h1 a::before { content: "登录"; }

body.login #login::before, body.login #login::after { content:""; position:absolute; border-radius:999px; filter: blur(12px); }
body.login #login::before { width: 120px; height: 120px; left: -60px; top: 60px; background: rgba(255,255,255,0.35); }
body.login #login::after { width: 80px; height: 80px; right: -40px; top: 120px; background: rgba(255,255,255,0.25); }

body.login .message, body.login .notice, body.login .success { border-radius: 16px; backdrop-filter: blur(10px); background: rgba(255,255,255,0.65); border: 1px solid rgba(0,0,0,0.06); box-shadow: 0 12px 30px rgba(0,0,0,0.12); }

body.login form { border: 1px solid rgba(0,0,0,0.06); background: rgba(255,255,255,0.55); backdrop-filter: blur(12px); border-radius: 20px; box-shadow: 0 18px 40px rgba(0,0,0,0.20); padding: 26px; }
body.login form label { color: #1f2435; font-weight: 600; }
body.login .input, body.login input[type=text], body.login input[type=password] { border-radius: 14px; border: 1px solid rgba(0,0,0,0.08); background: rgba(255,255,255,0.85); box-shadow: inset 0 1px 0 rgba(255,255,255,0.8); padding: 10px 12px; }
body.login .input:focus { outline: none; border-color: #6b8afd; box-shadow: 0 0 0 4px rgba(107,138,253,0.25); }

body.login .button-primary { border-radius: 14px; border: 1px solid rgba(255,255,255,0.2); color: #fff; background: linear-gradient(90deg, #6b8afd, #94b0ff); box-shadow: 0 12px 24px rgba(107,138,253,0.35); padding: 10px 14px; height: auto; }
body.login .button-primary:hover { filter: brightness(1.05); }
body.login .button { border-radius: 12px; }

body.login #backtoblog, body.login #nav { text-align: left; }
body.login #backtoblog a, body.login #nav a { color: #1f2435; }
body.login #backtoblog a:hover, body.login #nav a:hover { color: #6b8afd; }
body.login .login-extras-card { border: 1px solid rgba(0,0,0,0.06); background: rgba(255,255,255,0.55); backdrop-filter: blur(12px); border-radius: 20px; box-shadow: 0 18px 40px rgba(0,0,0,0.20); padding: 18px; margin-top: 16px; display: grid; grid-template-columns: 1fr; gap: 12px; }
body.login .login-extras-card #language-switcher { margin: 0; display: flex; align-items: center; gap: 10px; }
body.login .login-extras-card #language-switcher label { display: flex; align-items: center; gap: 6px; font-weight: 600; color: #1f2435; }
body.login .login-extras-card #language-switcher select { border-radius: 14px; border: 1px solid rgba(0,0,0,0.08); background: rgba(255,255,255,0.85); box-shadow: inset 0 1px 0 rgba(255,255,255,0.8); padding: 8px 10px; }
body.login .login-extras-card #language-switcher select:focus { outline: none; border-color: #6b8afd; box-shadow: 0 0 0 4px rgba(107,138,253,0.25); }
body.login .login-extras-card .button { border-radius: 12px; border: 1px solid rgba(0,0,0,0.08); background: rgba(255,255,255,0.9); padding: 8px 12px; height: auto; }
body.login .login-extras-card .button:hover { border-color: #6b8afd; box-shadow: 0 0 0 4px rgba(107,138,253,0.18); }
body.login .login-extras-card #nav, body.login .login-extras-card #backtoblog { margin: 0; }
body.login .login-extras-card #backtoblog a, body.login .login-extras-card #nav a { display: inline-block; text-decoration: none; border-radius: 12px; border: 1px solid rgba(0,0,0,0.08); background: rgba(255,255,255,0.9); padding: 8px 12px; }
body.login .login-extras-card #backtoblog a:hover { border-color: #6b8afd; box-shadow: 0 0 0 4px rgba(107,138,253,0.18); }
body.login .login-extras-card #nav a { color: #000; border: 1px solid rgba(255,255,255,0.2); background: linear-gradient(90deg, #ff9f43, #ffc166); box-shadow: 0 12px 24px rgba(255,159,67,0.35); }
body.login .login-extras-card #nav a:hover { filter: brightness(1.05); box-shadow: 0 12px 24px rgba(255,159,67,0.45); }
body.login .login-extras-card #backtoblog a { color: #fff; border: 1px solid rgba(255,255,255,0.2); background: linear-gradient(90deg, #6f7a8a, #9aa3af); box-shadow: 0 12px 24px rgba(0,0,0,0.25); }
body.login .login-extras-card #backtoblog a:hover { filter: brightness(1.05); box-shadow: 0 12px 24px rgba(0,0,0,0.35); }
body.login .button-primary, body.login .login-extras-card .button, body.login .login-extras-card #nav a, body.login .login-extras-card #backtoblog a { position: relative; overflow: hidden; }
body.login .button-primary::after, body.login .login-extras-card .button::after, body.login .login-extras-card #nav a::after, body.login .login-extras-card #backtoblog a::after { content:""; position:absolute; top:0; left:-150%; width:50%; height:100%; background: linear-gradient(120deg, rgba(255,255,255,0), rgba(255,255,255,0.45), rgba(255,255,255,0)); transform: skewX(-30deg); pointer-events:none; }
@keyframes ish-sweep { 0% { left:-150%; } 100% { left:150%; } }
body.login .button-primary:hover::after, body.login .login-extras-card .button:hover::after, body.login .login-extras-card #nav a:hover::after, body.login .login-extras-card #backtoblog a:hover::after { animation: ish-sweep 0.9s ease; }
