.login{flex-direction:column;align-items:center;min-height:100vh;padding:0 16px;display:flex}.login-top{flex:none;justify-content:space-between;align-items:center;width:100%;max-width:1180px;height:80px;padding:0 8px;display:flex}.login-foot{height:80px;color:var(--muted);flex:none;align-items:center;gap:12px;font-size:13px;display:flex}.login-foot a{color:var(--body);text-underline-offset:3px;text-decoration:underline}.l-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow-sm);border-radius:24px;margin:auto 0;padding:36px 32px 30px}.l-card h1{text-align:center;font:500 28px/1.25 var(--serif);letter-spacing:-.01em;color:var(--ink);margin:0}.login[lang=zh] .l-card h1{letter-spacing:.02em}.l-sub{text-align:center;color:var(--muted);margin:10px 0 0;font-size:14px}.l-card>.l-oauth,.l-card>.l-form{margin-top:26px}.l-msg{background:var(--ok-soft);color:#0b6b5f;border-radius:10px;margin:16px 0 -6px;padding:9px 12px;font-size:13px;line-height:1.5}.l-msg.err{background:var(--high-soft);color:#b3262b}.l-oauth{border:1px solid var(--line-strong);width:100%;height:50px;font:500 15px/1 var(--sans);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:10px;transition:background .2s,border-color .2s;display:flex}.l-oauth:hover:not(:disabled){background:var(--surface-2);border-color:var(--mint-deep)}.l-oauth:disabled{opacity:.5;cursor:not-allowed}.l-or{color:var(--muted);align-items:center;gap:14px;margin:22px 0;font-size:13px;display:flex}.l-or:before,.l-or:after{content:"";border-top:1px solid var(--line-strong);flex:1}.l-form{gap:14px;display:grid}.l-input{border:1px solid var(--line-strong);width:100%;height:50px;font:inherit;color:var(--ink);background:#fff;border-radius:999px;padding:0 20px;font-size:15px}.l-input:focus,.ff:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--mint-wash);outline:none}.l-btn{background:var(--ink);color:#fff;height:50px;font:500 15px/1 var(--sans);cursor:pointer;transition:opacity .2s, transform .35s var(--ease);border:none;border-radius:999px}.l-btn:hover:not(:disabled){transform:translateY(-1px)}.l-btn:disabled{opacity:.35;cursor:not-allowed}.ff{border:1px solid var(--line-strong);background:#fff;border-radius:999px;align-items:center;height:54px;margin-top:6px;padding:0 8px 0 20px;display:flex;position:relative}.ff-label{color:var(--muted);background:#fff;padding:0 5px;font-size:12px;line-height:16px;position:absolute;top:-9px;left:16px}.ff:focus-within .ff-label{color:var(--brand)}.ff-input{min-width:0;height:100%;font:inherit;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:15px}.ff-input[readonly]{color:var(--body);cursor:default}.ff-input.otp{letter-spacing:6px}.ff-action{color:var(--brand);font:500 14px/1 var(--sans);cursor:pointer;background:0 0;border:none;flex:none;padding:8px 12px}.ff-action.icon{color:var(--muted);display:flex}.ff-action:disabled{color:var(--faint);cursor:not-allowed}.l-row{margin:-4px 0 4px 14px;display:flex}.l-alt{justify-content:center;margin-top:4px;display:flex}.l-link{color:var(--brand);font:500 13.5px/1.4 var(--sans);cursor:pointer;background:0 0;border:none;padding:2px 0}.l-link:hover{text-underline-offset:3px;text-decoration:underline}.consent{color:var(--body);cursor:pointer;align-items:flex-start;gap:9px;margin:2px 4px;font-size:13px;line-height:1.55;display:flex}.consent input{accent-color:var(--brand);margin-top:3px}.consent a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}@media (max-width:480px){.login-top,.login-foot{height:64px}.login-top{padding:0}.l-card{box-shadow:none;background:0 0;border:none;padding:28px 20px 24px}}.l-chips{border:none;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;display:flex}.l-chips legend{color:var(--body);padding:0 0 10px 4px;font-size:13px}.l-chips button{border:1px solid var(--line-strong);height:32px;font:500 13px/1 var(--sans);color:var(--body);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:0 13px;transition:border-color .2s,background .2s;display:inline-flex}.l-chips button.on{border-color:var(--brand);background:var(--mint-wash);color:var(--brand)}.l-note{resize:vertical;border:1px solid var(--line-strong);width:100%;min-height:64px;font:inherit;color:var(--ink);background:#fff;border-radius:20px;padding:12px 18px;font-size:14px;line-height:1.5}.l-note:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--mint-wash);outline:none}.l-done{text-align:center;color:var(--body);margin:14px 0 4px;font-size:14.5px;line-height:1.65}
