/* Login only. The town, home, tasks and account pages keep their accepted layout. */
.login-world{--entry-cream:#fbfcf7;min-height:100svh;display:block;padding:0 36px 54px;background:#102d29;color:#f5f6e9;position:relative;isolation:isolate;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.login-sky{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 4% 70%,#235749 0,transparent 52%),radial-gradient(ellipse at 90% 18%,#302952 0,transparent 55%),#102d29}
.login-aurora{position:absolute;inset:-20%;background:linear-gradient(125deg,transparent 24%,#21b99d14 38%,#e9bd5a17 42%,transparent 48%,#9a6bf020 65%,transparent 76%);filter:blur(28px);animation:login-aurora 13s ease-in-out infinite alternate;transform:translate3d(-3%,0,0)}
.currency-flight{position:absolute;left:-150px;top:calc(var(--lane)*11% - 68%);color:hsl(var(--tint) 75% 72%);animation:login-currency var(--duration) linear infinite;animation-delay:var(--delay);opacity:0;will-change:transform}
.currency-flight svg{display:block;width:clamp(38px,5vw,68px);height:auto;filter:drop-shadow(0 0 14px currentColor);transform:rotate(-13deg)}
.currency-flight path{fill:currentColor;fill-opacity:.08;stroke:currentColor;stroke-width:1.6}.currency-flight circle{fill:none;stroke:currentColor;stroke-width:.7;opacity:.5}.currency-flight text{fill:currentColor;stroke:none;font:500 32px Georgia,serif}
.currency-flight:before{content:"";position:absolute;right:80%;top:14%;width:clamp(110px,20vw,290px);height:2px;transform:rotate(28deg);transform-origin:right;background:linear-gradient(90deg,transparent,currentColor);box-shadow:0 0 12px currentColor;opacity:.5}
.login-top{max-width:1120px;margin:auto;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative}
.login-brand{width:165px;height:auto;filter:brightness(0) invert(.97);flex-shrink:0}
.login-controls{display:flex;align-items:center;gap:14px}.login-motion{position:static;display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;color:#d6e6dc;font:inherit;font-size:12px;padding:0 10px;cursor:pointer}
.login-language{display:flex;align-items:center;gap:5px;border:1px solid #cbdcd633;background:#0e2c2966;border-radius:12px;padding:0 12px;color:#eaf0e8;min-height:44px}.login-language select{color:inherit;background:transparent;border:0;font:inherit;font-size:13px;max-width:136px;min-height:44px;cursor:pointer;padding:0 3px}.login-language option{color:#244d40;background:#fafbf8}
.login-layout{max-width:1060px;min-height:calc(100svh - 166px);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;gap:60px;padding:26px 0}
.login-intro{padding:24px 0 40px;position:relative}.login-eyebrow{display:flex;align-items:center;gap:10px;color:#d9c38e;font-size:11px;font-weight:500;letter-spacing:2.6px;margin:0 0 26px}.login-eyebrow i{width:6px;height:6px;background:#e8c47e;box-shadow:0 0 14px #e8c47e;border-radius:1px;transform:rotate(45deg)}
.login-intro h1{font-size:clamp(38px,4.2vw,58px);line-height:1.25;font-weight:650;letter-spacing:-1.7px;margin:0 0 28px;text-wrap:balance;text-shadow:0 4px 30px #102d2980}.login-intro h1>span{display:block}.login-shine{color:#e6cb88;background:linear-gradient(100deg,#eac47b 6%,#f0e7b8 40%,#a2e3ce 70%,#d4bcf1);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.login-description{font-size:16px;line-height:1.9;color:#e1e8de;margin:0 0 8px;max-width:390px}.login-exchange{font-size:13px;line-height:1.9;color:#c1d5cd;max-width:380px;margin:0}.login-promise{display:flex;align-items:center;gap:9px;margin-top:40px;font-size:11px;line-height:1.8;color:#b3c9bf}.login-promise svg{flex-shrink:0}
.login-card{width:100%;max-width:none;margin:0;padding:30px 30px 24px;border-radius:22px;border:1px solid #f6f2dd;background:var(--entry-cream);box-shadow:0 24px 100px #031d2d55,0 0 0 6px #f5efdf06;color:#244d40;text-align:left;overflow-wrap:anywhere;position:relative}
.login-card:before{content:"";position:absolute;left:28px;right:28px;top:-1px;height:2px;background:linear-gradient(90deg,transparent,#deb86a,#b5dccb,transparent)}
.login-card-mark{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;background:#ecf0e5;border:1px solid #e1e6d7;color:#697e50;border-radius:12px;margin-bottom:14px}
.login-card h2{font-size:24px;line-height:1.4;letter-spacing:-.5px;margin:0 0 8px;font-weight:650;color:#244d40}.login-card .login-lead{margin:0 0 20px;color:#5e7166;font-size:12px;line-height:1.8}
.login-card form{margin:22px 0 8px}.login-card .m-field{margin-bottom:16px}.login-card .m-label{font-size:12px;color:#3d5749}.login-card .m-input{background:white;border:1px solid #dce3d7;border-radius:10px;min-height:48px;font-size:16px;color:#244d40}.login-card .m-input:focus{outline:2px solid #638771;outline-offset:2px}.login-card .btn{min-height:48px;border-radius:10px;font-size:13px;gap:8px;justify-content:center}.login-card .btn.primary{background:#285743;color:#fff;box-shadow:0 4px 14px #244d4014}.login-card .btn.primary:hover{background:#214b39}.login-card .auth-links{gap:10px;flex-wrap:wrap}.login-card .auth-links button{font-size:11px;min-height:44px;text-align:left;flex:1 1 auto}.login-card .auth-links button:last-child{text-align:right}
.login-card .m-caption{color:#667266;font-size:10px;line-height:1.8;margin:16px 0}.login-card .login-password-hint{margin:-6px 0 16px}.login-card .login-consent{margin:16px 0 10px;gap:4px;line-height:1.7;font-size:10px}.login-card .login-consent label{color:#586d5b}.login-card .login-consent-note{margin:0 0 18px;font-size:10px;color:#687467}.login-card .login-consent button{padding-block:3px}.login-card .login-consent input{flex-shrink:0}.login-card footer{margin:22px 0 0;padding-top:18px;border-top:1px solid #e4e9dd;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.login-card footer .quiet-link{min-height:32px;font-size:10px}.login-card .login-coverage{font-size:10px;line-height:1.7;color:#657164;margin:6px 0 0}.login-card .auth-secret{margin-top:4px;font-family:ui-monospace,monospace;font-size:14px;min-height:90px}.login-card .auth-password>button{min-width:48px}.login-code .m-input{padding-right:134px}.login-code button{font-size:11px}.login-card button:disabled{opacity:.5;cursor:not-allowed}.login-compact .login-intro h1{font-size:44px}
.login-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}.login-world :focus-visible{outline:2px solid #e6c47e;outline-offset:4px}.login-card :focus-visible{outline-color:#51785f}
.login-world.is-still .currency-flight,.login-world.is-still .login-aurora{animation-play-state:paused}
.reduce-motion .login-world .currency-flight{left:calc(var(--lane)*8%);top:calc(var(--lane)*7%);opacity:.16;transform:none}.reduce-motion .login-world .login-motion{display:none}
@keyframes login-currency{0%{transform:translate3d(0,0,0);opacity:0}10%,80%{opacity:.34}100%{transform:translate3d(calc(100vw + 240px),70vh,0);opacity:0}}
@keyframes login-aurora{to{transform:translate3d(6%,4%,0) rotate(5deg)}}
@media(max-width:800px){.login-world{padding:0 22px 30px}.login-top{min-height:84px;max-width:480px;gap:10px}.login-brand{width:138px}.login-controls{gap:4px}.login-motion{padding:0;justify-content:center}.login-motion>span{display:none}.login-language{padding:0 8px;gap:3px}.login-language select{font-size:12px;max-width:100px}.login-language>svg{display:none}.login-layout{display:block;max-width:440px;min-height:0;padding:10px 0 0}.login-intro{padding:4px 4px 26px}.login-eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:14px}.login-intro h1,.login-compact .login-intro h1{font-size:clamp(30px,7.5vw,40px);line-height:1.26;letter-spacing:-1px;margin-bottom:16px}.login-description{font-size:13px;line-height:1.8;max-width:none}.login-exchange{font-size:11px;max-width:none}.login-promise{margin-top:16px;font-size:10px}.login-card{padding:26px 24px 22px;border-radius:20px}.login-card h2{font-size:23px}.currency-flight{top:calc(var(--lane)*8% - 44%)}.currency-flight svg{width:48px}.currency-flight:nth-child(n+10){display:none}.login-card-mark{width:34px;height:34px;margin-bottom:12px}.login-card-mark svg{width:19px;height:19px}.login-compact .login-intro{display:none}}
@media(max-width:360px){.login-world{padding-inline:14px}.login-brand{width:120px}.login-top{gap:5px}.login-language{padding-inline:6px}.login-motion{min-width:36px}.login-card{padding:24px 18px 20px}.login-intro h1,.login-compact .login-intro h1{font-size:29px}.login-card h2{font-size:21px}.login-card .auth-links{gap:4px}.login-code .m-input{padding-right:126px}}
@media(max-width:800px){.login-top{min-height:72px}.login-intro{padding-bottom:22px}.login-intro .login-eyebrow,.login-intro .login-description{display:none}.login-intro h1{margin-bottom:12px}.login-promise{margin-top:12px}.login-card-mark{position:absolute;right:22px;top:23px}.login-card h2{padding-right:40px}.login-card .m-caption,.login-card .login-consent-note,.login-card .login-coverage{font-size:11px}.login-card footer .quiet-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){.login-world .currency-flight,.login-world .login-aurora{animation:none;transform:none}.login-world .currency-flight{left:calc(var(--lane)*8%);top:calc(var(--lane)*7%);opacity:.16}.login-motion{display:none}.login-shine{background:none;-webkit-text-fill-color:#e6cb88}}
@media(forced-colors:active){.login-shine{background:none;-webkit-text-fill-color:CanvasText}.login-sky{display:none}.login-card{border:1px solid CanvasText}.login-brand{filter:none}}
