:root{color-scheme:dark}*{box-sizing:border-box}body{min-height:100svh;margin:0;overflow-x:hidden;background:#03111d;color:#edf9fb;font:15px/1.5 Inter,system-ui,-apple-system,"Microsoft YaHei",sans-serif}.auth-scene,#authMap{position:fixed;inset:0}.auth-scene{overflow:hidden;background:#03111d}.auth-map{filter:saturate(.58) brightness(.48) contrast(1.15)}.auth-map .leaflet-control-container{display:none}.auth-map::after{content:"";position:absolute;inset:0;z-index:500;background:radial-gradient(circle at 27% 48%,transparent 0 19%,#06162336 35%,#03111de6 80%),linear-gradient(90deg,#03111dce 0%,#03111d78 46%,#03111dca 100%);pointer-events:none}.map-grid{position:absolute;z-index:510;inset:-15%;opacity:.33;background-image:linear-gradient(#58d1cf24 1px,transparent 1px),linear-gradient(90deg,#58d1cf24 1px,transparent 1px);background-size:46px 46px;transform:rotate(-9deg) scale(1.1);pointer-events:none}.radar{position:absolute;z-index:511;width:min(47vw,560px);aspect-ratio:1;left:7%;top:50%;translate:0 -50%;border:1px solid #73e8d23b;border-radius:50%;background:repeating-radial-gradient(circle,#3fd5cd12 0 1px,transparent 1px 25%);box-shadow:inset 0 0 70px #20c8c716}.radar::before,.radar::after{content:"";position:absolute;inset:24%;border:1px solid #73e8d23b;border-radius:50%}.radar::after{inset:49%;background:#7bfff14d;box-shadow:0 0 15px #65f3dd}.radar-sweep{position:absolute;z-index:1;inset:0;border-radius:50%;background:conic-gradient(from 250deg,transparent 0 270deg,#57e7dd30 336deg,transparent 360deg);animation:sweep 5s linear infinite}.radar i{position:absolute;z-index:2;color:#8affeb;font-style:normal;font-size:18px;text-shadow:0 0 13px #54d6cc}.radar i:nth-of-type(1){left:31%;top:25%;rotate:35deg}.radar i:nth-of-type(2){right:23%;bottom:31%;rotate:-142deg}.radar i:nth-of-type(3){left:22%;bottom:23%;rotate:67deg}@keyframes sweep{to{rotate:360deg}}.login-layout{position:relative;z-index:600;min-height:100svh;display:grid;place-items:center;padding:24px}.auth{width:min(420px,100%);margin-left:min(47vw,590px);padding:30px;border:1px solid #8eece633;border-radius:24px;background:linear-gradient(145deg,#0d2a3ff2,#061622f5);box-shadow:0 24px 70px #0009;backdrop-filter:blur(16px)}.radar-label{position:absolute;z-index:512;left:8%;bottom:9%;color:#85bfc0;font:11px/1.7 ui-monospace,monospace;letter-spacing:1px}.radar-label b{color:#7df3df}.brand{display:flex;align-items:center;gap:9px;color:#76f0df;font-weight:800;letter-spacing:3px;font-size:17px}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid #76f0df66;border-radius:9px}.auth h1{margin:18px 0 5px;font-size:28px;letter-spacing:-.8px}.auth>p{margin:0;color:#a7c3ce}.tabs{display:flex;gap:8px;margin:25px 0 15px;padding:4px;border-radius:12px;background:#020d16b8}.tabs button{flex:1;border:0;border-radius:9px;padding:10px;background:transparent;color:#9cb8c3;font:inherit;cursor:pointer}.tabs button.active{background:#1a786f;color:#f0fffd;box-shadow:0 3px 10px #0004}.auth input,.auth form button{width:100%;height:48px;margin:7px 0;border-radius:11px;font:inherit}.auth input{padding:0 14px;border:1px solid #3c6575;background:#03121e;color:#eefcfd;outline:0}.auth input:focus{border-color:#66e9d7;box-shadow:0 0 0 3px #4acfc51c}.auth form button{border:0;background:linear-gradient(135deg,#4bd2c5,#24918d);color:#021416;font-weight:800;cursor:pointer}.auth form button:active{transform:translateY(1px)}.verify-note{display:flex;gap:8px;align-items:center;padding:10px 0 4px;color:#b9d2d8;font-size:13px}.verify-note i{color:#70eedc;font-style:normal}.message{min-height:24px;margin-top:10px;color:#ffd29a;font-size:13px}.privacy{margin-top:18px;color:#7594a0;font-size:12px;text-align:center}@media (max-width:800px){.auth-map::after{background:linear-gradient(#03111d50 0%,#03111d99 43%,#03111df5 73%)}.radar{width:84vw;left:8vw;top:22%;translate:0 -50%;opacity:.8}.radar-label{left:8%;bottom:auto;top:39%}.login-layout{align-items:end;padding:16px}.auth{margin:0;padding:24px 20px 20px;border-radius:22px 22px 15px 15px}.auth h1{font-size:25px}.map-grid{opacity:.23}}@media (max-height:650px){.login-layout{align-items:start;padding-top:18px}.auth{padding:20px}.auth h1{margin-top:11px}.tabs{margin:15px 0 9px}.privacy{display:none}.radar{display:none}}
.terms-consent{margin:8px 0 10px;color:#a9c4cc;font-size:12px;line-height:1.55}.terms-consent label{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.terms-consent input{width:15px;height:15px;margin:2px 0 0;accent-color:#50d4c5;flex:0 0 auto}.terms-consent details{margin:5px 0 0 23px;color:#789ba7}.terms-consent summary{cursor:pointer;color:#71decf}.terms-consent p{margin:6px 0 0}
.terms-consent>div{margin:5px 0 0 23px}.terms-consent a,.forgot-password{color:#71decf;text-decoration:none}.forgot-password{height:auto!important;margin:3px 0 0!important;padding:4px 0!important;background:transparent!important;text-align:left;font-size:12px!important;font-weight:500!important}
/* 登录页：保持地图氛围，但把视觉焦点交给更简洁的账号入口。 */
.auth-scene{background:#07121d}.auth-map{filter:saturate(.72) brightness(.68) contrast(1.03);transform:scale(1.035)}.auth-map::after{background:linear-gradient(90deg,rgba(3,10,17,.64),rgba(3,10,17,.2) 52%,rgba(3,10,17,.7)),linear-gradient(0deg,rgba(3,10,17,.35),transparent 52%)}.map-grid,.radar,.radar-label{display:none}.auth-flight-icon{background:transparent!important;border:0!important}.auth-flight{display:block;color:#68f1df;font-size:22px;line-height:26px;transform:rotate(var(--heading));text-shadow:0 0 5px #65eddd,0 0 17px #23a99e;animation:flight-pulse 2.8s ease-in-out var(--delay) infinite}.login-layout{justify-items:end;padding:clamp(20px,5vw,80px)}.auth{margin:0;width:min(405px,100%);padding:32px;border:1px solid rgba(216,255,252,.16);border-radius:28px;background:rgba(8,22,34,.78);box-shadow:0 28px 90px rgba(0,0,0,.4);backdrop-filter:blur(22px) saturate(1.25)}.brand{font-size:15px;letter-spacing:2.4px}.brand-mark{width:30px;height:30px;border-radius:10px;background:rgba(93,230,213,.12)}.auth h1{margin-top:24px;font-size:31px;letter-spacing:-1.4px}.auth>p{font-size:15px}.tabs{margin:26px 0 18px;padding:3px;background:rgba(220,250,250,.08);border:1px solid rgba(220,250,250,.08)}.tabs button{padding:11px}.tabs button.active{background:#e9fffb;color:#103842;box-shadow:none}.auth input{height:52px;border-radius:13px;background:rgba(2,12,20,.42);border-color:rgba(207,248,244,.16)}.auth form button{height:52px;border-radius:13px;background:linear-gradient(135deg,#70ebdc,#35afa8);box-shadow:0 10px 25px rgba(49,193,181,.18)}.privacy{margin-top:22px}@keyframes flight-pulse{50%{filter:brightness(1.3);scale:1.13}}@media(max-width:800px){.auth-scene{height:47svh;bottom:auto}.auth-map{filter:saturate(.68) brightness(.64)}.auth-map::after{background:linear-gradient(0deg,#07121d 0%,rgba(7,18,29,.04) 82%)}.login-layout{align-items:end;padding:0}.auth{width:100%;padding:28px 22px 24px;border-radius:28px 28px 0 0;border-inline:0;border-bottom:0;background:rgba(7,20,31,.94)}.auth h1{margin-top:19px;font-size:29px}.tabs{margin:21px 0 15px}}@media(max-height:650px){.auth-scene{height:34svh}.auth{padding:19px 22px}.auth h1{margin-top:10px;font-size:25px}.privacy{display:none}}
.auth{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}.auth h1{font-weight:750;line-height:1.15}.auth>p{line-height:1.65}.field-label{display:block;margin:15px 0 1px;color:#afc2ca;font-size:12px;font-weight:600;letter-spacing:.2px}.field-label+input{margin-top:5px}.auth form button.forgot-password{height:auto!important;min-height:48px!important;margin:15px 0 0!important;padding:10px 13px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border:1px solid rgba(126,235,223,.28)!important;border-radius:12px!important;background:rgba(20,73,84,.3)!important;box-shadow:none!important;color:#d8fffa!important;text-align:left!important}.auth form button.forgot-password:hover{background:rgba(35,119,127,.42)!important;border-color:#6ee8db!important}.forgot-password span{font-size:14px;font-weight:700}.forgot-password small{color:#9fc8c9;font-size:12px;font-weight:500}.auth form#login>button:not(.forgot-password){margin-top:13px}.tabs button{font-weight:650}.auth input{font-size:16px}.auth input::placeholder{color:#81969f}
/* 航线简报：用一条“航线”组织信息，而非继续叠加悬浮卡片。 */
.auth{--paper:#eff7f5;--ink:#e8f0ef;--muted:#9eb4b7;--route:#62dbc9;position:relative;width:min(438px,100%);padding:43px 42px 34px;border:0;border-left:2px solid var(--route);border-radius:0 18px 18px 0;background:linear-gradient(135deg,rgba(7,25,36,.94),rgba(8,28,39,.88));box-shadow:28px 30px 80px rgba(0,0,0,.29);backdrop-filter:blur(18px)}.auth::before{content:"";position:absolute;left:-2px;top:37px;width:8px;height:8px;border-radius:50%;background:var(--route);box-shadow:0 0 0 6px rgba(98,219,201,.12)}.brand{gap:8px;color:var(--route);font-family:"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;font-weight:700;letter-spacing:3.2px}.brand-mark{width:24px;height:24px;border:0;border-radius:0;background:transparent;font-size:18px}.auth h1{max-width:8em;margin:31px 0 10px;color:var(--paper);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:35px;font-weight:650;letter-spacing:-1.8px;line-height:1.2}.auth>p{max-width:23em;margin:0;color:var(--muted);font-size:14px;line-height:1.8}.tabs{position:relative;display:flex;gap:26px;margin:33px 0 20px;padding:0;border:0;border-bottom:1px solid rgba(214,237,236,.16);border-radius:0;background:transparent}.tabs button{position:relative;flex:0 0 auto;padding:0 1px 12px;border:0;border-radius:0;background:transparent!important;color:#81999e;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;font-weight:500}.tabs button.active{color:var(--paper)!important;box-shadow:none!important}.tabs button.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--route)}.field-label{margin:18px 0 3px;color:#9db3b6;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:11px;font-weight:500;letter-spacing:.5px}.auth input,.field-label+input{height:46px!important;margin:0!important;padding:0 0!important;border:0!important;border-bottom:1px solid rgba(202,231,229,.28)!important;border-radius:0!important;background:transparent!important;color:var(--paper);box-shadow:none!important;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px}.auth input:focus{border-bottom-color:var(--route)!important;box-shadow:0 2px 0 -1px var(--route)!important}.auth form#login>button:not(.forgot-password){height:48px!important;margin-top:29px!important;border-radius:4px!important;background:var(--route)!important;box-shadow:none!important;color:#082128!important;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;font-weight:650;letter-spacing:.1px}.auth form button.forgot-password{min-height:0!important;margin:15px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#bbd0d0!important}.forgot-password span{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;font-weight:500}.forgot-password small{color:#728f94;font-size:11px}.privacy{margin-top:28px;padding-top:15px;border-top:1px solid rgba(214,237,236,.1);color:#728b90;font-size:11px;text-align:left}@media(max-width:800px){.auth{width:100%;padding:29px 25px 26px;border-left:0;border-top:2px solid var(--route);border-radius:18px 18px 0 0;background:rgba(7,25,36,.96)}.auth::before{left:29px;top:-5px}.brand{font-size:12px}.auth h1{margin-top:24px;font-size:30px}.tabs{margin:26px 0 17px}.auth form#login>button:not(.forgot-password){margin-top:25px!important}.privacy{margin-top:22px}}@media(prefers-reduced-motion:reduce){.auth-flight{animation:none!important}}
