/* Deliberately scoped: the signed-in workspace is unchanged. */
body:has(#login:not([hidden])){min-height:100svh;display:flow-root}
#login.login{width:min(448px,calc(100% - 36px));margin:clamp(28px,9vh,100px) auto 40px;position:relative}
#login .login-card{padding:32px;border-radius:24px;background:linear-gradient(145deg,rgba(30,43,37,.97),rgba(15,24,20,.97))!important;border:1px solid #384c40!important;box-shadow:0 24px 80px #0005,inset 0 1px #ffffff08;backdrop-filter:none;-webkit-backdrop-filter:none;animation:login-arrive .5s cubic-bezier(.2,.8,.2,1) both}
#login .login-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}
#login .brand{margin:0;justify-content:flex-start;gap:8px}
#login .brand-wordmark{font-size:32px!important}
#login .brand .mark.brand-logo{width:21px!important;height:21px!important;flex-basis:21px!important}
#login .login-caption{display:flex;align-items:center;gap:6px;color:#a7b9ae;font-size:10px;white-space:nowrap}
#login .login-caption i{width:5px;height:5px;border-radius:50%;background:#b2dfd2;box-shadow:0 0 0 4px #b2dfd20b;animation:login-signal 2s ease-in-out 3}
#login .login-intro{margin-bottom:28px;animation:login-arrive .5s .06s both}
#login h1{font-size:28px;line-height:1.15;letter-spacing:-.7px;font-weight:650;margin:0}
#login h1 span{color:#b2dfd2}
#login #login-copy{font-size:13px;line-height:1.65;margin:0;color:#a9bcb0}
#login #login-copy:empty{display:none}
#login #login-copy:not(:empty){margin-top:12px}
#login .button-link,#login button{min-height:48px;margin:0;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
#login .login-telegram{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 16px;background:#b2dfd2;color:#193027;border:1px solid transparent;animation:login-arrive .5s .1s both}
#login .login-telegram svg{width:19px;height:19px;fill:currentColor;flex-shrink:0}
#login .login-arrow{margin-left:auto;transition:transform .18s;font-size:18px;font-weight:400}
#login .login-telegram:hover{background:#c8ece0;box-shadow:0 4px 18px #b2dfd210;transform:translateY(-1px)}
#login .login-telegram:hover .login-arrow{transform:translate(2px,-2px)}
#login button:active,#login .button-link:active{transform:translateY(1px)}
#login .divider{margin:23px 0;color:#80978a;font-size:11px}
#login #email-login{gap:11px;animation:login-arrive .5s .14s both}
#login label{display:block;color:#c0d1c6;font-size:11px;margin-bottom:7px}
#login input{min-height:48px;padding:12px 14px;background:#0d1712!important;border-color:#344a3c!important;transition:border-color .18s,box-shadow .18s}
#login input::placeholder{color:#6e897b}
#login input:focus{border-color:#a0cab8!important;box-shadow:0 0 0 3px #b2dfd215}
#login .secondary{border-color:#45604e!important;background:#ffffff03!important;color:#d3e5d9}
#login .secondary:hover{border-color:#779a85!important;background:#ffffff08!important}
#login .login-card{overflow:hidden}
#login #login-code-step{padding:0}
#login .login-back{width:auto;min-height:28px;padding:0;background:none;color:#a6bdb0;font-size:12px;font-weight:500;margin:0 0 22px}
#login .login-back:hover{background:none;color:#e0f1e7;transform:translateX(-2px)}
#login .login-code-heading h2{font-size:28px;letter-spacing:-.7px;margin:18px 0 10px;line-height:1.15}
#login .login-code-heading p{font-size:13px;line-height:1.7;color:#a9bcb0;margin:0 0 28px}
#login .login-code-heading strong{font-weight:550;color:#e0eee5;overflow-wrap:anywhere}
#login .login-mail-icon{width:44px;height:44px;border:1px solid #b2dfd22b;border-radius:13px;background:#b2dfd208;display:grid;place-items:center;color:#b2dfd2}
#login .login-mail-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5}
#login .login-code-label{margin-bottom:10px}
#login .login-otp{position:relative;margin-bottom:18px}
#login .login-otp-cells{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
#login .login-otp-cells span{display:grid;place-items:center;height:56px;border:1px solid #344a3c;border-radius:10px;background:#0d1712;color:#e0eee5;font:500 25px/1 ui-monospace,monospace;transition:border-color .16s,box-shadow .16s,background .16s}
#login .login-otp.focused .current{border-color:#a0cab8;box-shadow:0 0 0 3px #b2dfd212;background:#15221b}
#login .login-otp.has-error .login-otp-cells span{border-color:#9e5a64}
#login #email-code{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;opacity:.01;cursor:text;caret-color:transparent;font-size:16px}
#login #email-verify{width:100%}
#login .login-code-help{margin:22px 0 7px;color:#91a99a;font-size:11px;line-height:1.7}
#login #login-resend{width:auto;text-align:left;padding:0;color:#c1ddd0;font-size:12px;min-height:28px}
#login #login-resend:disabled{cursor:default;color:#839c8d;opacity:1}
#login #email-verify{display:flex;align-items:center;justify-content:space-between;padding-inline:16px}
#login .login-text-button{min-height:32px;padding:4px;background:none;color:#a6bdb0;font-size:11px;font-weight:500}
#login .login-text-button:hover{background:none;color:#d7eee1;transform:none}
#login .message{font-size:12px;line-height:1.6;min-height:0;margin-top:14px;overflow-wrap:anywhere}
#login .message:empty{display:none}
#login .login-footnote{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin-top:26px;padding-top:21px;border-top:1px solid #ffffff0b;color:#829a8c;font-size:10px;line-height:1.65}
#login .login-footnote svg{width:14px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0;margin-top:1px}
#login :is(button,a):focus-visible{outline:2px solid #b2dfd2;outline-offset:4px}
#login button:disabled{transform:none;cursor:wait;opacity:.6}
#login button[aria-busy="true"]:after{content:"";display:inline-block;width:12px;height:12px;margin-left:9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;animation:login-spin .8s linear infinite}
@keyframes login-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes login-signal{50%{box-shadow:0 0 0 6px #b2dfd200}}
@keyframes login-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){body:has(#login:not([hidden])){padding-bottom:0}#login.login{margin:28px auto}#login .login-card{padding:26px 23px}#login .login-brand-row{margin-bottom:25px}#login h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){#login *,#login *:before,#login *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Telegram is a separate step, matching the email confirmation screen. */
#login .login-bot-wait{padding:0}
#login .login-bot-icon svg{fill:currentColor;stroke:none}
#login .login-bot-wait .login-code-heading h2{font-size:28px;font-weight:650}
#login .login-bot-wait .login-code-heading p{margin-bottom:23px}
#login .login-bot-comparison{display:grid;gap:10px;margin-bottom:22px}
#login #login-bot-code-label{font-size:11px;color:#a9bcb0}
#login .login-bot-code{display:block;padding:17px 12px;border:1px solid #344a3c;border-radius:12px;background:#0d1712;text-align:center;color:#e0eee5;font:500 34px/1.2 ui-monospace,monospace;letter-spacing:.2em;text-indent:.2em;font-variant-numeric:tabular-nums}
#login .login-bot-open{width:100%;justify-content:space-between;animation:none}
#login .login-bot-status{margin:17px 0 0;text-align:center;font-size:11px;line-height:1.65;color:#91a99a;overflow-wrap:anywhere}
@media(max-width:380px){#login .login-bot-wait .login-code-heading h2{font-size:25px}}
