/* Login-only presentation: generated coastal artwork with gentle sea glints. */
.login-page{--login-ink:#22382f;--login-muted:#68776f;--login-border:#d6e1db;--login-input:#f9fbfa;--login-accent:#227848;--login-focus:#227848;--login-soft:#f1f7f3;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:#183244;color:var(--login-ink);font-family:system-ui,"Microsoft YaHei",sans-serif;isolation:isolate}
.login-page [hidden]{display:none!important}
.login-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#183244;pointer-events:none}
.login-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;transform:none}
.login-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08263e80,#06294220 55%,#031d3a18),linear-gradient(180deg,#05213920,transparent 28%,transparent 75%,#05233670)}
.login-header{width:min(1440px,100%);margin:0 auto;border:0;background:transparent;padding:28px 52px;justify-content:space-between;gap:24px}
.login-header .login-brand{display:flex;align-items:center;gap:22px;color:#fff;font-size:30px;font-weight:800;letter-spacing:-.9px;white-space:nowrap;text-shadow:0 2px 12px #08233f35}
.login-header .login-brand span{padding-left:22px;border-left:1px solid #ffffff45;color:#f1f6f7;font-size:13px;font-weight:450;letter-spacing:.2px}
.login-header .login-home{font-size:13px;font-weight:500;color:#fff;letter-spacing:0;white-space:nowrap;text-decoration:none;text-shadow:0 1px 8px #08233f55}
.login-home span{margin-left:8px}
.login-layout{width:min(1360px,100%);max-width:none;flex:1;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(360px,.88fr);align-items:center;gap:clamp(48px,6vw,110px);padding:20px 52px 30px}
.login-visual{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;min-height:590px;color:#fff;padding:36px 0 24px}
.login-visual-copy{padding:0;pointer-events:none;text-shadow:0 2px 22px #08263e30}
.login-eyebrow{color:#eef6f7;margin:0 0 23px;font-size:10px;font-weight:650;letter-spacing:2.7px}
.login-visual h2{font-size:clamp(39px,4.1vw,58px);font-weight:650;line-height:1.3;letter-spacing:-1.6px;margin:0 0 23px}
.login-visual h2 span{color:#fff}
.login-visual-lead{color:#f1f6f5;font-size:14px;line-height:1.9;letter-spacing:.2px;margin:0}
.login-visual-footer{max-width:470px}
.login-capabilities{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:23px}
.login-capabilities span{border:1px solid #ffffff60;background:#143d5945;backdrop-filter:blur(8px);border-radius:6px;color:#fff;padding:7px 11px;font-size:11px;line-height:1.4}
.login-scene-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#f1f7f8;letter-spacing:.6px;text-shadow:0 1px 8px #08233f55}
.login-card{padding:34px;max-width:450px;width:100%;justify-self:center;border:1px solid #ffffffb0;border-radius:18px;background:#ffffffed;box-shadow:0 22px 70px #10334f30;backdrop-filter:blur(16px)}
.login-card-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:var(--login-muted);margin:0 0 13px}
.login-card h1{margin:0 0 10px;font-size:30px;font-weight:650;letter-spacing:-.8px;line-height:1.4}
.login-intro{font-size:12px;color:var(--login-muted);margin:0 0 25px;line-height:1.8}
.login-form label{font-size:13px;font-weight:600;margin:0 0 9px;line-height:1.5;color:var(--login-ink)}
.login-page .login-form input:not([type=hidden]){height:48px;min-height:48px;margin:0;padding:12px 14px;border:1px solid var(--login-border);border-radius:8px;background:var(--login-input);color:var(--login-ink);font-size:14px;box-shadow:0 1px 2px #173b2310;transition:border-color .18s,box-shadow .18s}
.login-form input::placeholder{color:var(--login-muted);opacity:.8}
.login-page .login-form input:focus{border-color:var(--login-focus);outline:2px solid var(--login-focus);outline-offset:2px;box-shadow:none}
.login-password-label{display:flex;align-items:center;justify-content:space-between;margin:21px 0 9px;gap:12px}
.login-password-label label{margin:0}
.login-password-label a{color:var(--login-accent);font-size:11px;text-decoration:none}
.login-password-label a:hover{text-decoration:underline}
.login-password-field{position:relative}
.login-page .login-password-field input{padding-right:65px!important}
.login-page .login-password-toggle{position:absolute;right:6px;top:6px;margin:0;min-height:36px;padding:7px 10px;border:0;border-radius:5px;background:transparent;color:var(--login-muted);font:500 11px system-ui}
.login-page .login-password-toggle:hover{background:var(--login-soft);color:var(--login-accent)}
.login-page .login-submit{display:block;width:100%;margin:24px 0 0;padding:13px 20px;border:1px solid #227848;border-radius:8px;background:#227848;color:#fff;font-size:14px;font-weight:650;line-height:1.5;box-shadow:0 5px 14px #22784820;transition:background .18s,box-shadow .18s}
.login-page .login-submit:hover{background:#1c653d;box-shadow:0 7px 20px #22784830}
.login-page :is(a,button):focus-visible{outline:2px solid var(--login-focus);outline-offset:4px}
.login-account-hint{font-size:10px;color:var(--login-muted);text-align:center;margin:12px 0 0;line-height:1.7}
.login-divider{display:flex;align-items:center;gap:12px;margin:25px 0 17px;color:var(--login-muted);font-size:10px}
.login-divider::before,.login-divider::after{content:"";height:1px;background:var(--login-border);flex:1}
.login-trial{display:flex;align-items:center;justify-content:space-between;min-height:45px;padding:11px 14px;background:#ffffff80;border:1px solid var(--login-border);border-radius:8px;color:var(--login-ink);font-size:12px;font-weight:600;text-decoration:none;transition:border-color .18s,background .18s}
.login-trial:hover{border-color:var(--login-accent);background:var(--login-soft);text-decoration:none}
.login-trial span{font-size:17px;color:var(--login-accent)}
.login-trial-hint{font-size:10px;line-height:1.8;text-align:center;color:var(--login-muted);margin:9px 0 20px}
.login-research{display:block;border:1px solid var(--login-border);border-radius:8px;background:var(--login-soft);padding:12px 13px;color:var(--login-ink);text-decoration:none}
.login-research strong{display:block;margin-bottom:4px;color:var(--login-accent);font-size:11px;font-weight:600}
.login-research span{display:block;color:var(--login-muted);font-size:10px;line-height:1.7}
.login-research:hover{border-color:var(--login-accent);text-decoration:none}
.login-notice{padding:12px 14px;border:1px solid #cc943c66;border-left:3px solid #bd832a;background:#fff6e6;border-radius:6px;margin:0 0 22px;font-size:12px;line-height:1.8;color:#785018;overflow-wrap:anywhere}
.login-footer{width:min(1440px,100%);margin:0 auto;display:flex;justify-content:space-between;gap:20px;padding:20px 52px 25px;color:#f3f8f8;background:transparent;border:0;font-size:10px;letter-spacing:.3px;text-shadow:0 1px 8px #08233f55}
.login-skip{position:absolute;top:-100px;left:24px;z-index:10;padding:10px 16px;border-radius:6px;background:#fff;color:#227848}
.login-skip:focus{top:16px}
@media(prefers-color-scheme:dark){
  .login-page{--login-ink:#ededed;--login-muted:#b7b7b7;--login-border:#535353;--login-input:#202020;--login-accent:#8addad;--login-focus:#8addad;--login-soft:#252a26;background:#181818;color:var(--login-ink)}
  .login-art{filter:brightness(.48) saturate(.75)}
  .login-backdrop::after{background:linear-gradient(90deg,#18181855,transparent 70%),linear-gradient(180deg,#18181820,transparent 60%,#18181880)}
  body.login-page .login-card{background:#181818ed;border-color:#5a5a5a;box-shadow:0 22px 70px #0005}
  body.login-page .login-header,body.login-page .login-footer{background:transparent;border:0}
  body.login-page .login-brand,body.login-page .login-home,body.login-page .login-brand span{color:#f1f5f4}
  body.login-page .login-form input{background:var(--login-input);color:var(--login-ink);border-color:var(--login-border)}
  body.login-page .login-notice{background:#30281e;color:#f1c787}
  body.login-page .login-submit{color:#fff;background:#227848;border-color:#2e8e58}
  body.login-page .login-submit:hover{background:#296e46}
  body.login-page .login-trial{background:#202020;color:var(--login-ink)}
  body.login-page .login-trial:hover{background:var(--login-soft)}
}
@media(min-width:1600px){.login-layout{padding-top:30px;padding-bottom:45px}.login-visual{min-height:680px;padding-top:48px}.login-card{padding:42px;max-width:470px}}
@media(max-width:1000px){.login-layout{gap:32px;padding:22px 32px 30px;grid-template-columns:minmax(0,1fr) minmax(330px,.95fr)}.login-header{padding:24px 32px}.login-card{padding:28px}.login-visual{min-height:610px;padding-top:38px}.login-visual h2{font-size:40px}.login-visual-lead{font-size:12px}.login-capabilities{gap:6px}.login-capabilities span{font-size:10px;padding:6px 8px}.login-scene-caption>span{font-size:9px}.login-footer{padding:20px 32px}}
@media(max-width:740px){.login-header{padding:22px 24px}.login-header .login-brand{font-size:27px}.login-header .login-brand span{display:none}.login-layout{display:flex;flex-direction:column;gap:24px;padding:0 24px 30px}.login-visual{align-self:auto;width:100%;min-height:240px;padding:22px 4px 0}.login-eyebrow{font-size:8px;margin-bottom:12px;letter-spacing:1.7px}.login-visual h2{font-size:32px;margin-bottom:14px}.login-visual-lead,.login-capabilities{display:none}.login-visual-footer{width:100%;max-width:none}.login-scene-caption>span{font-size:9px}.login-card{max-width:430px;padding:28px;width:100%;border-radius:16px}.login-card h1{font-size:28px}.login-intro{margin-bottom:24px}.login-art{object-position:35% 20%}.login-backdrop::after{background:linear-gradient(90deg,#08263e60,#06294210 90%),linear-gradient(180deg,#08263e15,transparent 40%,#05233650)}.login-footer{padding:10px 24px 24px;font-size:9px;justify-content:center}.login-footer span+span{display:none}}
@media(max-width:380px){.login-header{padding:18px 20px}.login-layout{padding:0 20px 25px}.login-visual{min-height:225px}.login-visual h2{font-size:29px}.login-card{padding:23px}.login-research{padding:11px}.login-research span{font-size:9px}.login-trial-hint{font-size:9px}}
@media(min-width:741px) and (max-height:820px){.login-header{padding-top:20px;padding-bottom:20px}.login-header .login-brand{line-height:1.2}.login-layout{padding-top:10px;padding-bottom:18px}.login-visual{min-height:0;padding-top:28px}.login-card{padding:24px 30px}.login-card-eyebrow,.login-account-hint{display:none}.login-card h1{font-size:28px}.login-intro{margin-bottom:18px}.login-password-label{margin-top:15px}.login-page .login-submit{margin-top:20px;padding-top:12px;padding-bottom:12px}.login-divider{margin-top:20px;margin-bottom:14px}.login-trial-hint{margin-bottom:14px}.login-research{padding-top:10px;padding-bottom:10px}.login-footer{padding-top:10px;padding-bottom:10px}}
@media(forced-colors:active){.login-backdrop{display:none}.login-page,.login-card{background:Canvas;color:CanvasText}.login-page :is(.login-brand,.login-brand span,.login-home,.login-visual,.login-eyebrow,.login-visual-lead,.login-scene-caption,.login-footer){color:CanvasText;text-shadow:none}.login-page :is(input,button,.login-trial,.login-research,.login-card){border:1px solid ButtonText}}
