@font-face{font-family:Manrope;src:url('/assets/manrope-variable.woff2') format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:'Login SC';src:url('/assets/login/login-sc.woff2') format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:'Login TC';src:url('/assets/login/login-tc.woff2') format('woff2');font-weight:400 600;font-display:swap}
:root{color-scheme:dark;--wine:#351720;--deep:#231016;--paper:#f5f1eb;--gold:#c3ac91;--muted:#d3bfc4;--line:#aa90986b;--error:#f2c1b7;--font:Manrope,'Login SC','PingFang SC',sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
html[lang=zh-HK]{--font:Manrope,'Login TC','Login SC','PingFang TC',sans-serif}
*{box-sizing:border-box}
html{background:var(--wine);scroll-behavior:smooth}
body{margin:0;min-width:280px;color:var(--paper);font:400 16px/1.65 var(--font);-webkit-font-smoothing:antialiased}
h1,p{margin:0}h1{font-weight:500;text-wrap:balance}
button,input,select{font:inherit;color:inherit}
button,a,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{cursor:pointer;background:transparent;border:0}
button:disabled,select:disabled{cursor:default;opacity:.55}
a{color:inherit;text-decoration:none}
svg{display:block;width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
img{display:block;max-width:100%}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:12px;left:18px;z-index:20;padding:10px 16px;background:var(--paper);color:var(--wine);transform:translateY(-200%)}
.skip-link:focus{transform:none}
.login-shell{position:relative;isolation:isolate;min-height:100svh;overflow:hidden}
.login-header{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:calc(27px + env(safe-area-inset-top)) 48px 0}
.home-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:13px;color:var(--paper);text-shadow:0 1px 12px #140c0c55}
.home-link:hover{color:var(--gold)}
.home-link svg{width:16px;height:16px}
.header-brand{font-size:13px;letter-spacing:.07em;position:absolute;left:50%;transform:translateX(-50%);padding:11px 0;min-height:44px;color:var(--gold)}
.language-control{position:relative;display:flex;align-items:center;flex-shrink:0}
.language-control select{appearance:none;-webkit-appearance:none;min-height:44px;min-width:67px;padding:9px 28px 9px 13px;border:1px solid var(--line);border-radius:2px;background:#23101666;font-size:12px;cursor:pointer}
.language-control option{background:var(--wine);color:var(--paper)}
.language-control svg{position:absolute;right:9px;width:13px;height:13px;pointer-events:none;color:var(--gold)}
.login-portrait{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--deep)}
.login-portrait picture{position:absolute;inset:0;display:block}
.login-portrait img{width:100%;height:100%;object-fit:cover;object-position:30% 40%;transform-origin:30% 45%;animation:portrait-arrive 3.8s var(--ease) both}
.portrait-shade{position:absolute;inset:0;background:linear-gradient(90deg,#23101618 0%,#35172016 32%,#351720c7 56%,var(--wine) 73%),linear-gradient(0deg,#231016ba 0%,transparent 36%,#23101616 76%,#23101670 100%)}
.portrait-signature{position:absolute;left:5.7vw;bottom:8vh;display:flex;flex-direction:column;gap:7px;color:var(--paper);text-shadow:0 2px 24px #14090e55}
.portrait-signature>span:first-child{font-size:clamp(30px,3vw,50px);font-weight:400;line-height:1.3;letter-spacing:-.02em}
.portrait-signature>span:last-child{font-size:16px;letter-spacing:.18em;line-height:1.5}
.login-content{width:48%;min-height:100svh;margin-left:auto;padding:118px clamp(36px,5.4vw,94px) 35px clamp(24px,3.1vw,54px);display:flex;align-items:center}
.login-panel{width:100%;max-width:412px;margin:auto;animation:form-arrive .7s .12s var(--ease) both}
#login-heading{font-size:36px;line-height:1.35;letter-spacing:.05em;scroll-margin-top:24px}
.login-intro{font-size:14px;line-height:1.85;color:var(--muted);margin-top:13px;max-width:33em;text-wrap:pretty;min-height:26px}
.destination-switch{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--line);margin:25px 0 28px}
.destination-switch button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:10px 8px 14px;color:var(--muted);font-size:14px;position:relative;transition:color .2s,background .2s}
.destination-switch button:after{content:'';position:absolute;bottom:-1px;height:2px;left:0;right:0;background:var(--gold);transform:scaleX(0);transition:transform .23s var(--ease)}
.destination-switch button[aria-pressed=true]{color:var(--paper);background:linear-gradient(0deg,#c3ac910b,transparent)}
.destination-switch button[aria-pressed=true]:after{transform:scaleX(1)}
.destination-switch button:hover{color:var(--paper);background:#c3ac910a}
.destination-switch svg{width:18px;height:18px;color:var(--gold)}
.form-field{margin-top:19px}
.form-field:first-child{margin-top:0}
.form-field>label,.field-heading>label{display:block;font-size:16px;line-height:1.5;margin-bottom:9px}
.form-field input{width:100%;min-width:0;height:52px;padding:12px 15px;border:1px solid var(--line);border-radius:2px;background:#23101642;color:var(--paper);font-size:16px;line-height:1.5;transition:border-color .2s,background .2s;scroll-margin-block:24px}
.form-field input:hover{border-color:#d1b4ba9c}
.form-field input:focus{border-color:var(--gold);background:#23101665}
.form-field input[aria-invalid=true]{border-color:var(--error)}
.form-field input:autofill{-webkit-text-fill-color:var(--paper);box-shadow:inset 0 0 0 100px #31161f;caret-color:var(--paper)}
.form-field input:-webkit-autofill{-webkit-text-fill-color:var(--paper);box-shadow:inset 0 0 0 100px #31161f;caret-color:var(--paper)}
.password-control{position:relative}
.password-control input{padding-right:59px}
#password-toggle{position:absolute;right:4px;top:4px;width:44px;height:44px;display:grid;place-items:center;color:var(--muted)}
#password-toggle:hover{color:var(--paper);background:#c3ac910a}
#password-toggle[aria-pressed=false] .eye-closed,#password-toggle[aria-pressed=true] .eye-open{display:none}
.field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.captcha-countdown{font-size:11px;line-height:1.6;color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.captcha-input-row{display:grid;grid-template-columns:minmax(0,1fr) 156px;gap:12px;align-items:stretch}
#captcha-code{letter-spacing:.15em;text-transform:uppercase}
.captcha-image-button{height:52px;padding:0;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:2px;display:grid;place-items:center;background:var(--paper);color:var(--wine)}
.captcha-image-button img{width:100%;height:100%;object-fit:contain}
.captcha-image-button:hover{border-color:var(--gold);filter:brightness(1.05)}
#captcha-placeholder{font-size:22px;letter-spacing:.15em}
.field-hint{font-size:12px;line-height:1.8;color:var(--muted);margin-top:9px}
.captcha-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:1px;font-size:11px;color:var(--muted)}
.captcha-actions>span{line-height:1.7;min-width:0}
#captcha-refresh{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;min-height:44px;padding:5px 0 5px 9px;color:var(--gold);font-size:12px;white-space:nowrap}
#captcha-refresh:hover{color:var(--paper)}
#captcha-refresh svg{width:15px;height:15px}
.field-error{font-size:13px;line-height:1.75;color:var(--error);margin-top:8px;overflow-wrap:anywhere}
.form-message{font-size:13px;line-height:1.8;color:var(--error);margin:12px 0 15px;padding:10px 13px;border-left:2px solid var(--error);background:#f2c1b707;text-wrap:pretty}
.submit-button{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:2px;background:var(--paper);color:var(--wine);padding:13px 19px;margin-top:17px;font-size:16px;font-weight:500;transition:background .2s,box-shadow .2s}
.submit-button:hover:not(:disabled){background:#fffaf4;box-shadow:0 4px 18px #150a101e}
.submit-button:active:not(:disabled){background:#e2d5c8}
.submit-button:disabled{opacity:.7}
.busy-indicator{display:none;width:19px;height:19px;border:1.5px solid #35172040;border-top-color:var(--wine);border-radius:50%;flex-shrink:0}
form[aria-busy=true] .busy-indicator{display:block;animation:busy-turn .8s linear infinite}
form[aria-busy=true] .submit-arrow{display:none}
.login-status{min-height:24px;margin-top:11px;font-size:12px;line-height:1.8;color:var(--gold);text-wrap:pretty}
.login-footer{display:flex;align-items:center;flex-wrap:wrap;gap:5px 13px;margin-top:25px;padding-top:20px;border-top:1px solid #c3ac9126;font-size:10px;line-height:1.8;color:var(--muted)}
.login-footer>span:first-child{font-size:11px;color:var(--gold);letter-spacing:.035em}
.no-script{margin-top:20px;padding:16px;border:1px solid var(--line);font-size:14px}
body.is-interacting .login-portrait img,body.is-interacting .login-panel{animation:none}
html[lang=en] #login-heading{letter-spacing:-.025em}
html[lang=en] .portrait-signature>span:last-child{display:none}
@keyframes portrait-arrive{from{transform:scale(1.035);opacity:.65}to{transform:scale(1);opacity:1}}
@keyframes form-arrive{from{transform:translateY(9px);opacity:0}to{transform:none;opacity:1}}
@keyframes busy-turn{to{transform:rotate(360deg)}}
@media(min-width:768px) and (max-width:1100px){
  .login-header{padding-inline:30px}
  .login-content{width:51%;padding-left:24px;padding-right:36px}
  .portrait-shade{background:linear-gradient(90deg,#23101615,#35172025 27%,#351720ce 48%,var(--wine) 67%),linear-gradient(0deg,#231016b0,transparent 45%,#23101640)}
  .login-portrait img{object-position:23% 40%}
  .portrait-signature{left:30px;bottom:65px}
  .portrait-signature>span:first-child{font-size:32px}
  .captcha-input-row{grid-template-columns:minmax(0,1fr) 135px;gap:10px}
  .destination-switch button{font-size:13px;gap:7px}
  html[lang=en] .destination-switch button{font-size:12px}
}
@media(min-width:768px) and (max-height:820px){
  .login-header{padding-top:17px}
  .login-content{padding-top:91px;padding-bottom:22px}
  #login-heading{font-size:32px}
  .login-intro{margin-top:8px}
  .destination-switch{margin-top:17px;margin-bottom:21px}
  .form-field{margin-top:15px}
  .login-footer{margin-top:15px;padding-top:13px}
}
@media(max-width:767px){
  .login-shell{overflow:clip}
  .login-header{padding:calc(14px + env(safe-area-inset-top)) 24px 0;gap:15px}
  .home-link{font-size:12px;gap:6px}
  .home-link svg{width:15px;height:15px}
  .header-brand{font-size:11px;letter-spacing:.035em}
  .language-control select{min-width:60px;font-size:11px;padding-left:11px;padding-right:23px;background:#23101680}
  .language-control svg{right:8px;width:12px}
  .login-portrait{position:relative;inset:auto;height:295px;width:100%;z-index:0}
  .login-portrait img{object-position:31% 42%;transform-origin:30% 45%}
  .portrait-shade{background:linear-gradient(0deg,var(--wine) 0%,#3517203d 35%,transparent 62%,#23101688 100%)}
  .portrait-signature{display:none}
  .login-content{position:relative;z-index:1;width:100%;min-height:0;margin:-8px 0 0;padding:0 26px max(25px,env(safe-area-inset-bottom));display:block}
  .login-panel{max-width:440px}
  #login-heading{font-size:31px;line-height:1.4;letter-spacing:.035em}
  .login-intro{font-size:14px;margin-top:9px;min-height:0;line-height:1.8}
  .destination-switch{margin:19px 0 24px}
  .destination-switch button{min-height:50px;font-size:14px;padding-bottom:13px;gap:8px}
  .form-field{margin-top:18px}
  .form-field>label,.field-heading>label{font-size:16px}
  .captcha-input-row{grid-template-columns:minmax(0,1fr) 145px;gap:11px}
  .captcha-countdown{font-size:11px}
  .field-hint{font-size:12px}
  .captcha-actions{gap:10px}
  .submit-button{margin-top:14px}
  .login-footer{margin-top:19px;padding-top:17px}
  html[lang=en] .destination-switch button{font-size:13px;gap:7px}
}
@media(max-width:359px){
  .login-header{padding-inline:18px}
  .header-brand{display:none}
  .login-portrait{height:253px}
  .login-content{padding-inline:20px}
  #login-heading{font-size:29px}
  .login-intro{font-size:13px}
  .destination-switch button{font-size:13px;gap:6px}
  html[lang=en] .destination-switch button{font-size:12px;gap:5px}
  .destination-switch svg{width:16px;height:16px}
  .captcha-input-row{grid-template-columns:minmax(0,1fr) 126px;gap:10px}
  .captcha-countdown{font-size:10px}
  .captcha-actions{font-size:10px;gap:8px}
  #captcha-refresh{font-size:11px}
}
@media(max-width:767px) and (max-height:600px){.login-portrait{height:215px}.login-content{margin-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.busy-indicator{border-color:var(--wine);border-style:dotted}}
