:root{color-scheme:light;font-family:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;color:#090e29;background:#edf6ff}
*{box-sizing:border-box}
body{margin:0}
button,input{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #75b7ff;outline-offset:4px}
::selection{color:#063f8a;background:#cce5ff}
[hidden]{display:none!important}
.login-scene{--u:calc(100vw / 1672);position:relative;width:100%;height:100svh;min-height:calc(856 * var(--u));overflow:hidden;background:#edf6ff url("login-waves.svg") center/100% 100% no-repeat}
.brand{position:absolute;z-index:2;left:calc(106 * var(--u));top:calc(59 * var(--u));display:flex;align-items:center;gap:calc(21 * var(--u));color:#080d27;text-decoration:none;font-size:calc(32 * var(--u));font-weight:750;line-height:1.25;white-space:nowrap}
.brand-mark{width:calc(53 * var(--u));height:calc(56 * var(--u));flex:none}
.login-intro{position:absolute;z-index:1;left:calc(205 * var(--u));top:calc(168 * var(--u));text-align:center}
.login-intro h1{margin:0;color:#050a25;font-size:calc(75 * var(--u));font-weight:800;letter-spacing:calc(-.5 * var(--u));line-height:1.25;white-space:nowrap}
.login-intro h1 span{color:#0875ff}
.login-intro p{margin:calc(12 * var(--u)) 0 0;color:#51628f;font-size:calc(31 * var(--u));font-weight:500;letter-spacing:calc(1.1 * var(--u));line-height:1.55;white-space:nowrap}
.commerce-scene{position:absolute;left:0;bottom:0;width:calc(995 * var(--u));height:auto;max-width:none;pointer-events:none;user-select:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16px),linear-gradient(to right,#000 96%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 16px),linear-gradient(to right,#000 96%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.login-card{position:absolute;z-index:2;right:calc(63 * var(--u));top:50%;transform:translateY(calc(-50% + 30 * var(--u)));width:calc(604 * var(--u));min-height:calc(796 * var(--u));padding:calc(66 * var(--u)) calc(60 * var(--u)) calc(76 * var(--u));border-radius:calc(24 * var(--u));background:rgba(255,255,255,.97)}
.login-heading h2{margin:0;color:#080d28;font-size:calc(44 * var(--u));font-weight:750;line-height:1.3;letter-spacing:calc(.4 * var(--u))}
.login-heading p{margin:calc(8 * var(--u)) 0 0;color:#7382a4;font-size:calc(26 * var(--u));font-weight:400;line-height:1.5;letter-spacing:calc(.5 * var(--u))}
.login-form{position:relative;margin-top:calc(44 * var(--u))}
.login-feedback{position:absolute;left:0;right:0;bottom:100%;margin:0 0 calc(10 * var(--u));color:#c33948;font-size:calc(15 * var(--u));line-height:1.4}
.login-field+ .login-field{margin-top:calc(33 * var(--u))}
.login-field>label{display:block;margin-bottom:calc(10 * var(--u));color:#141b38;font-size:calc(20 * var(--u));font-weight:500;line-height:calc(30 * var(--u))}
.input-shell{position:relative}
.input-shell input{display:block;width:100%;height:calc(65 * var(--u));padding:0 calc(58 * var(--u)) 0 calc(76 * var(--u));border:1px solid #d9e1ef;border-radius:calc(11 * var(--u));outline:none;background:#fff;color:#151d3b;font-size:calc(20 * var(--u));line-height:1.4;caret-color:#0875ff;transition:border-color .15s,box-shadow .15s}
.input-shell input::placeholder{color:#68778d;opacity:1}
.input-shell input:focus{border-color:#6bafff;box-shadow:0 0 0 3px #eaf3ff}
.input-shell input[aria-invalid="true"]{border-color:#d9707d}
.field-icon{position:absolute;z-index:1;left:calc(23 * var(--u));top:50%;transform:translateY(-50%);width:calc(27 * var(--u));height:calc(28 * var(--u));fill:none;stroke:#58688d;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.password-toggle{position:absolute;right:calc(15 * var(--u));top:50%;transform:translateY(-50%);display:grid;place-items:center;width:calc(38 * var(--u));height:calc(38 * var(--u));padding:calc(6 * var(--u));border:0;border-radius:6px;background:transparent;color:#5b6a8e}
.password-toggle:hover{background:#edf5ff;color:#0875ff}
.password-toggle svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.remember-account{display:flex;align-items:center;gap:calc(13 * var(--u));width:max-content;margin-top:calc(35 * var(--u));color:#43527c;font-size:calc(23 * var(--u));line-height:calc(31 * var(--u));cursor:pointer;user-select:none}
.remember-account input{appearance:none;-webkit-appearance:none;display:grid;place-content:center;flex:none;width:calc(30 * var(--u));height:calc(30 * var(--u));margin:0;border:1.5px solid #7a8fb0;border-radius:calc(6 * var(--u));background:#fff;cursor:pointer}
.remember-account input:checked{border-color:#0875ff;background:#0875ff;box-shadow:0 3px 7px #0875ff20}
.remember-account input:checked::after{content:"";display:block;width:calc(13 * var(--u));height:calc(7 * var(--u));margin-top:calc(-4 * var(--u));border-left:calc(3 * var(--u)) solid #fff;border-bottom:calc(3 * var(--u)) solid #fff;transform:rotate(-45deg)}
.login-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:calc(69 * var(--u));margin-top:calc(28 * var(--u));padding:0;border:0;border-radius:calc(13 * var(--u));background:#117dff;color:#fff;box-shadow:0 7px 14px #187dff12;font-size:calc(27 * var(--u));font-weight:500;line-height:1;transition:background .15s,box-shadow .15s}
.login-submit:hover{background:#0870ef;box-shadow:0 7px 18px #187dff25}
.login-submit:active{background:#0865d9}
.login-submit:disabled{background:#559df7}
.submit-spinner{display:none;width:18px;height:18px;border:2px solid #ffffff60;border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}
.login-submit[aria-busy="true"] .submit-spinner{display:block}
.card-footer{display:flex;align-items:center;justify-content:center;gap:calc(24 * var(--u));margin-top:calc(66 * var(--u));color:#627491;font-size:calc(20 * var(--u));line-height:calc(30 * var(--u));white-space:nowrap}
.card-footer::before,.card-footer::after{content:"";width:calc(76 * var(--u));height:1px;background:#d8e1ef}
.register-link{margin:18px 0 0;text-align:center;font-size:14px}
.register-link a{color:#1477e9;text-decoration:none;text-underline-offset:4px}
.register-link a:hover{text-decoration:underline}
.site-filing{position:absolute;bottom:8px;left:24px;font-size:12px;line-height:1.5}
.site-filing a{color:#6c80a8;text-decoration:none}
.puzzle-required{margin-top:18px}
.puzzle-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:10px 14px;border:1px solid #c5dcfc;border-radius:9px;background:#f3f8ff;color:#2664a4;font-size:14px;text-align:left}
.puzzle-trigger svg{flex:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.puzzle-trigger .puzzle-chevron{margin-left:auto;width:18px;height:18px}
.puzzle-trigger.is-verified{border-color:#acd9c6;background:#f1faf5;color:#287754}
.puzzle-dialog{width:min(384px,calc(100vw - 32px));max-width:none;padding:0;border:0;border-radius:18px;outline:none;background:#fff;color:#18243c;box-shadow:0 18px 60px #132b5840;overflow:visible}
.puzzle-dialog::backdrop{background:#18355d55;backdrop-filter:blur(3px)}
.puzzle-dialog[open]{animation:puzzle-open .18s ease-out}
.puzzle-dialog-inner{padding:24px 24px 20px}
.puzzle-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.puzzle-header h2{margin:0;font-size:21px;line-height:1.4;font-weight:650}
.puzzle-header p{margin:5px 0 0;color:#64748b;font-size:13px;line-height:1.6}
.icon-button{display:grid;place-content:center;flex:none;width:32px;height:32px;margin:-4px -7px 0 0;padding:7px;border:0;border-radius:7px;background:transparent;color:#718098}
.icon-button:hover{background:#f0f5fc;color:#185ca9}
.icon-button svg,.puzzle-actions svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.puzzle-stage{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:9px;background:#edf3fb}
#puzzle-background{display:block;width:100%;height:100%;object-fit:cover}
#puzzle-piece{position:absolute;left:0;top:0;width:20%;height:auto;filter:drop-shadow(0 2px 3px #10294d70);pointer-events:none}
.puzzle-loading{position:absolute;inset:0;display:grid;place-items:center;background:#edf3fb;color:#566782;font-size:14px}
.puzzle-slider{position:relative;height:46px;margin-top:14px;overflow:hidden;border:1px solid #d9e5f5;border-radius:8px;background:#f3f7fc;text-align:center}
.puzzle-slider>span{position:relative;color:#60718b;font-size:13px;line-height:44px;pointer-events:none}
.puzzle-slider-fill{position:absolute;inset:0 auto 0 0;width:0;background:#dcecff;pointer-events:none}
.puzzle-slider input{position:absolute;inset:0;appearance:none;-webkit-appearance:none;width:100%;height:100%;margin:0;background:transparent;outline:none;cursor:grab;touch-action:pan-y}
.puzzle-slider input:active{cursor:grabbing}
.puzzle-slider input::-webkit-slider-runnable-track{height:44px;background:transparent}
.puzzle-slider input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:48px;height:44px;border:0;border-radius:7px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232477d9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 6 6 6-6 6m6-12 6 6-6 6'/%3E%3C/svg%3E") center/22px no-repeat;box-shadow:1px 0 5px #24497525}
.puzzle-slider input::-moz-range-thumb{width:46px;height:42px;border:0;border-radius:7px;background:#fff;box-shadow:1px 0 5px #24497525}
.puzzle-slider:focus-within{outline:3px solid #90c5ff;outline-offset:3px}
.puzzle-message{min-height:20px;margin:12px 0 0;color:#68778d;font-size:12px;line-height:1.6}
.puzzle-message.is-error{color:#bf394b}
.puzzle-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.puzzle-actions button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 0;border:0;background:transparent;color:#52708f;font-size:13px}
.puzzle-actions svg{width:17px;height:17px}
.puzzle-actions .puzzle-confirm{padding:8px 16px;border-radius:7px;background:#096be0;color:#fff}
.puzzle-actions .puzzle-confirm:disabled{background:#dce9f8;color:#8296b0;cursor:default}
body.puzzle-fallback::after{content:"";position:fixed;z-index:9;inset:0;background:#18355d55}
body.puzzle-fallback .puzzle-dialog{position:fixed;z-index:10;inset:50% auto auto 50%;margin:0;transform:translate(-50%,-50%)}
@keyframes login-spin{to{transform:rotate(360deg)}}
@keyframes puzzle-open{from{opacity:.85;translate:0 5px}to{opacity:1;translate:0 0}}
@media(max-width:1543px){.login-heading p{color:#627491}}
@media(max-width:1486px){.login-submit{background:#096be0}.login-submit:hover{background:#0862cf}.login-submit:disabled{background:#559df7}}
@media(min-width:861px) and (max-width:1150px){.login-scene{--u:.75px}.login-card{right:28px}.login-intro{left:55px;top:160px}.login-intro h1{font-size:42px}.login-intro p{font-size:20px;letter-spacing:0}.brand{left:52px;top:42px}.commerce-scene{left:-45px;width:650px}}
@media(max-width:860px){
  .login-scene{--u:1px;display:flex;flex-direction:column;min-height:100svh;height:auto;overflow:visible;padding:26px 20px 36px;background-size:auto 100%;background-position:58% center}
  .brand{position:static;align-self:flex-start;gap:12px;margin:0 4px;font-size:22px;line-height:1.3}.brand-mark{width:36px;height:40px}
  .login-intro,.commerce-scene{display:none}
  .login-card{position:relative;inset:auto;transform:none;width:min(100%,480px);min-height:0;margin:35px auto 0;padding:36px 28px 34px;border-radius:20px}
  .login-heading h2{font-size:32px;line-height:1.3;letter-spacing:0}.login-heading p{margin-top:8px;font-size:18px;line-height:1.6;letter-spacing:0}
  .login-form{margin-top:39px}.login-feedback{font-size:13px;margin-bottom:8px;line-height:1.35}
  .login-field>label{margin-bottom:9px;font-size:16px;line-height:24px}.login-field+ .login-field{margin-top:24px}
  .input-shell input{height:54px;padding-left:52px;padding-right:48px;border-radius:10px;font-size:16px}.field-icon{left:17px;width:23px;height:24px}.password-toggle{right:10px;width:34px;height:34px;padding:5px}
  .remember-account{gap:10px;margin-top:25px;font-size:16px;line-height:25px}.remember-account input{width:23px;height:23px;border-radius:5px}.remember-account input:checked::after{width:11px;height:6px;margin-top:-3px;border-width:2px}
  .login-submit{height:54px;margin-top:25px;border-radius:10px;font-size:20px}.card-footer{gap:17px;margin-top:38px;font-size:14px;line-height:24px}.card-footer::before,.card-footer::after{width:45px}
  .site-filing{position:static;margin:25px 0 0;text-align:center;font-size:11px}.puzzle-dialog-inner{padding:22px 20px 18px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
