.pc-auth-shell{--auth-ink:#18312f;--auth-muted:#879591;--auth-line:#e3ebe7;--auth-accent:#179a80;--auth-card:#fff;--auth-field:#fbfcfc;--auth-soft:#f1f6f3;height:100vh;min-height:0;display:flex;overflow:auto;padding:30px;background:radial-gradient(ellipse at 15% 15%,#d5ece440,transparent 55%),#f1f5f2;color:var(--auth-ink)}
.pc-auth-frame{display:grid;grid-template-columns:minmax(0,1fr) 470px;flex:0 0 auto;width:min(1010px,100%);margin:auto;border:1px solid #fff;border-radius:22px;overflow:hidden;box-shadow:0 20px 75px #264d3c13;min-height:590px}
.pc-auth-story{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:34px 38px 26px;color:#f2faf6;background:radial-gradient(ellipse at 100% 0%,#367f6c75,transparent 65%),linear-gradient(155deg,#153d36,#0f2d28)}
.pc-auth-brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:1px}.pc-auth-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #b8e7d532;border-radius:12px;background:#75d4ae18;color:#b0ead0}.pc-auth-mark svg{width:30px;height:30px}.pc-auth-brand-sub{display:block;margin-top:3px;font-size:9px;letter-spacing:3px;font-weight:500;color:#b6d1c5}
.pc-auth-story-copy{position:relative;z-index:1;margin-top:55px}.pc-auth-kicker{font-size:11px;letter-spacing:3px;color:#addbc6}.pc-auth-story-copy h2{font-size:35px;line-height:1.48;letter-spacing:1px;margin:15px 0 12px;font-weight:650}.pc-auth-story-copy p{font-size:13px;letter-spacing:.5px;color:#b1c8bd;margin:0;line-height:1.8}
.pc-auth-scene{position:relative;min-height:240px;margin:22px -8px 4px;flex:1;display:flex;align-items:center;justify-content:center}.pc-auth-orbit{position:absolute;width:330px;height:330px;border:1px solid #b0e2c711;border-radius:50%;left:45px;top:-24px}.pc-auth-orbit-inner{width:245px;height:245px;top:19px;left:88px;border-style:dashed}.pc-auth-chat-card{position:relative;z-index:1;width:320px;padding:20px;border:1px solid #d9f8e52a;border-radius:15px;background:linear-gradient(140deg,#ffffff16,#ffffff08);box-shadow:0 14px 36px #061c2720;transform:rotate(-3deg)}
.pc-auth-chat-person{display:flex;align-items:center;gap:10px}.pc-auth-mini-avatar{width:33px;height:33px;display:grid;place-items:center;background:#cae8d5;color:#315d4d;border-radius:10px;font-size:16px;font-weight:700}.pc-auth-chat-person strong{display:block;font-size:12px;font-weight:500;letter-spacing:.4px}.pc-auth-chat-person small{display:block;font-size:10px;color:#9ab6a9;margin-top:4px}.pc-auth-chat-person i{width:6px;height:6px;border-radius:50%;background:#8fd5b0;margin-left:auto}.pc-auth-message{padding:12px 13px;background:#ffffff13;font-size:12px;color:#dceee4;border-radius:0 10px 10px 10px;width:max-content;max-width:100%;margin-top:20px}.pc-auth-message-mine{margin:12px 0 0 auto;border-radius:10px 0 10px 10px;background:#c1e7cd;color:#24523d;font-size:11px}.pc-auth-message-mine span{font-size:9px;margin-left:10px;color:#4d8e68}.pc-auth-float{position:absolute;z-index:2;display:flex;align-items:center;gap:7px;padding:12px 13px;border:1px solid #cee9da30;border-radius:10px;background:#244e42;box-shadow:0 10px 30px #0c271f45;font-size:10px;color:#cce5d6;white-space:nowrap}.pc-auth-float-one{left:0;bottom:20px;transform:rotate(3deg)}.pc-auth-float-one svg{width:19px;height:19px;color:#a5d9b9}.pc-auth-float-two{right:-2px;top:16px;transform:rotate(2deg);padding:9px 11px}.pc-auth-float-two i{width:5px;height:5px;border-radius:50%;background:#95d8ac;box-shadow:0 0 0 3px #95d8ac12}.pc-auth-story-footer{display:flex;align-items:center;justify-content:center;gap:15px;font-size:10px;color:#a9c5b6;margin-top:18px;letter-spacing:1px}.pc-auth-story-footer i{width:3px;height:3px;background:#709584;border-radius:50%}
.login-card.pc-auth-card{width:auto;min-width:0;padding:28px 42px 22px;border:0;border-radius:0;background:var(--auth-card);box-shadow:none;color:var(--auth-ink)}.pc-auth-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.pc-auth-compact-brand{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650;letter-spacing:1px}.pc-auth-compact-brand svg{width:22px;height:22px;color:var(--auth-accent)}.pc-auth-client{font-size:10px;color:var(--auth-muted);border:1px solid var(--auth-line);padding:4px 8px;border-radius:5px;letter-spacing:1px}
.pc-auth-tabs{display:flex;gap:25px;border-bottom:1px solid var(--auth-line);margin-bottom:25px}.pc-auth-tabs button{position:relative;padding:0 1px 12px;background:none;color:var(--auth-muted);font-size:13px;border-radius:0;font-weight:600}.pc-auth-tabs button[aria-selected=true]{color:var(--auth-accent)}.pc-auth-tabs button[aria-selected=true]::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--auth-accent);border-radius:2px}
.pc-auth-card h1{font-size:25px;line-height:1.4;letter-spacing:.4px;color:var(--auth-ink);font-weight:650;margin:0}.pc-auth-description{font-size:12px;line-height:1.8;color:var(--auth-muted);margin:8px 0 0}.pc-auth-card #login-form{display:grid;gap:14px;margin-top:23px}.pc-auth-card label{display:grid;gap:7px;font-size:12px;font-weight:500;color:var(--auth-ink);min-width:0}.pc-auth-identity-row{display:grid;grid-template-columns:1fr;gap:13px;min-width:0}.pc-auth-shell[data-auth-mode=register] .pc-auth-identity-row{grid-template-columns:1fr 1fr}
.pc-auth-card input{width:100%;min-width:0;height:43px;border:1px solid var(--auth-line);border-radius:7px;background:var(--auth-field);color:var(--auth-ink);padding:10px 12px;font-size:12px;transition:border-color .15s,box-shadow .15s}.pc-auth-card input::placeholder{color:#a5afaa;font-size:11px}.pc-auth-card input:focus{border-color:var(--auth-accent);box-shadow:0 0 0 3px #19977812}.pc-auth-card input[aria-invalid=true]{border-color:#cf6963}.pc-auth-card input[readonly]{opacity:.75}.pc-auth-password{position:relative;display:block}.pc-auth-password input{padding-right:43px}.pc-auth-password button{position:absolute;right:1px;top:1px;bottom:1px;width:39px;padding:10px;background:none;color:var(--auth-muted);border-radius:6px}.pc-auth-password button svg{width:18px;height:18px}.pc-auth-password button[aria-pressed=true]{color:var(--auth-accent)}
.pc-auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.pc-auth-label-row [role=status]{font-size:10px;font-weight:400;color:var(--auth-muted)}.pc-auth-captcha-row{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:10px}.pc-auth-card #captcha-code{letter-spacing:3px;text-transform:uppercase;font-size:15px}.pc-auth-card #captcha-code::placeholder{font-size:11px;letter-spacing:0}.pc-auth-captcha-row button{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:43px;border:1px solid var(--auth-line);border-radius:7px;background:#f0f5f1;color:#82988b;padding:0 23px 0 5px;overflow:hidden}.pc-auth-captcha-row img{width:100%;height:39px;object-fit:contain}.pc-auth-captcha-row button>svg{position:absolute;right:5px;width:16px;height:16px}.pc-auth-captcha-row button>span{font-size:11px;letter-spacing:0}.pc-auth-captcha-row button:disabled{cursor:wait;opacity:.7}.pc-auth-field-hint{font-size:10px;font-weight:400;color:var(--auth-muted);line-height:1.5}.pc-auth-field-error{display:block;font-weight:400;font-size:11px;line-height:1.5;color:#bd514b}.pc-auth-field-error:empty{display:none}
.pc-auth-card .pc-auth-error{min-height:0;font-size:11px;line-height:1.7;margin:0;padding:0;color:#bd514b}.pc-auth-error:empty{display:none}.pc-auth-card .pc-auth-submit{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;height:44px;margin-top:3px;border-radius:7px;background:var(--auth-accent);color:#fff;font-size:13px;font-weight:600;box-shadow:0 5px 14px #169a8018}.pc-auth-submit>span:last-child{font-size:19px;font-weight:400;line-height:1}.pc-auth-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.pc-auth-submit.is-loading{opacity:.75;cursor:wait}.pc-auth-card button:focus-visible{outline:2px solid var(--auth-accent);outline-offset:3px}.pc-auth-switch{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:var(--auth-muted);margin-top:22px}.pc-auth-card .mode-toggle{display:inline-block;margin:0;padding:4px 2px;background:none;color:var(--auth-accent);font-size:11px}.pc-auth-bottom-note{font-size:9px;text-align:center;color:var(--auth-muted);border-top:1px solid var(--auth-line);padding-top:17px;margin:21px 0 0;letter-spacing:1px}
body.desktop-night-mode .pc-auth-shell{--auth-ink:#dce8e2;--auth-muted:#8b9f94;--auth-line:#35453c;--auth-accent:#55bd99;--auth-card:#1e2b24;--auth-field:#25332b;--auth-soft:#2b3a31;background:#17251e}
body.desktop-night-mode .pc-auth-card{background:var(--auth-card);color:var(--auth-ink)}body.desktop-night-mode .pc-auth-card :is(h1,label,input){color:var(--auth-ink)}body.desktop-night-mode .pc-auth-card input{background:var(--auth-field);border-color:var(--auth-line)}body.desktop-night-mode .pc-auth-captcha-row button{background:#e7efe9}body.desktop-night-mode .pc-auth-frame{border-color:#344b3d;box-shadow:0 20px 75px #08150b30}
.pc-auth-start{height:100vh;display:grid;place-items:center;background:#f1f5f2;color:#6a8275;font:13px "Microsoft YaHei",sans-serif}
@media(max-width:900px){.pc-auth-shell{padding:20px}.pc-auth-frame{grid-template-columns:minmax(0,1fr) 430px}.pc-auth-story{padding:30px 25px 23px}.pc-auth-story-copy h2{font-size:29px}.pc-auth-scene{transform:scale(.87);transform-origin:center}.pc-auth-chat-card{width:280px}.login-card.pc-auth-card{padding:27px 32px 22px}.pc-auth-float-one{left:-14px}.pc-auth-float-two{right:-12px}}
@media(max-height:850px){.pc-auth-shell{padding:18px}.login-card.pc-auth-card{padding-top:22px;padding-bottom:18px}.pc-auth-card-top{margin-bottom:15px}.pc-auth-tabs{margin-bottom:18px}.pc-auth-tabs button{padding-bottom:10px}.pc-auth-description{margin-top:6px}.pc-auth-card #login-form{margin-top:17px;gap:11px}.pc-auth-card label{gap:6px}.pc-auth-card input{height:40px}.pc-auth-captcha-row button{height:40px}.pc-auth-captcha-row img{height:36px}.pc-auth-switch{margin-top:15px}.pc-auth-bottom-note{margin-top:15px;padding-top:13px}.pc-auth-story-copy{margin-top:36px}.pc-auth-scene{min-height:215px}.pc-auth-story-footer{margin-top:10px}}
@media(max-width:740px){.pc-auth-shell{padding:18px}.pc-auth-frame{display:block;max-width:470px;min-height:0}.pc-auth-story{display:none}.login-card.pc-auth-card{padding:26px 30px 23px;border-radius:20px}.pc-auth-card-top{margin-bottom:20px}}
@media(max-width:410px){.pc-auth-shell{padding:12px}.login-card.pc-auth-card{padding:23px 20px 20px}.pc-auth-captcha-row{grid-template-columns:minmax(0,1fr) 132px}.pc-auth-shell[data-auth-mode=register] .pc-auth-identity-row{grid-template-columns:1fr}.pc-auth-tabs{margin-bottom:21px}.pc-auth-card h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){.pc-auth-card input{transition:none}}
body.desktop-night-mode .pc-auth-card :is(.pc-auth-field-error,.pc-auth-error){color:#f39b92}
.pc-auth-brand-image{display:block;flex:none;object-fit:contain}.pc-auth-mark .pc-auth-brand-image{width:40px;height:40px;border-radius:11px}.pc-auth-mini-avatar .pc-auth-brand-image{width:33px;height:33px;border-radius:9px}.pc-auth-compact-brand .pc-auth-brand-image{width:25px;height:25px;border-radius:7px}.pc-auth-float-one .pc-auth-brand-image{width:22px;height:22px;border-radius:5px}

/* Browser viewport and touch adjustments; the desktop layout matches the PC client. */
@supports(height:100dvh){.pc-auth-shell,.pc-auth-start{height:100dvh;min-height:100dvh}}
@media(max-width:740px){
  .pc-auth-shell{padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
  .pc-auth-card input{height:46px;font-size:16px}
  .pc-auth-card #captcha-code{font-size:16px}
  .pc-auth-password button{width:44px}
  .pc-auth-password input{padding-right:48px}
  .pc-auth-captcha-row button{height:46px}
  .pc-auth-captcha-row img{height:42px}
  .pc-auth-tabs button{min-height:44px}
  .pc-auth-card .mode-toggle{min-height:44px;padding:12px 4px}
  .pc-auth-card .pc-auth-submit{height:46px}
}
@media(max-width:410px){.pc-auth-shell{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}}
