body.login-page{margin:0;min-height:100vh;min-height:100svh;background:#08243b url('assets/login-graffiti.jpg') center center/cover no-repeat fixed;color:#fff}
.tc-login-stage{min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;justify-content:center;padding:32px 20px max(40px,env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(3,21,36,.85),transparent 65%)}
.tc-login-welcome{text-align:center;max-width:440px;width:100%}
.tc-login-brand{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tc-login-welcome p{font-size:17px;letter-spacing:.02em;text-shadow:0 1px 4px #000;margin:0 0 16px}
.tc-login-welcome .btn{min-width:220px;min-height:52px;border-radius:14px;font-size:17px;box-shadow:0 10px 30px #0004}
.tc-login-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px 16px;overflow:auto;background:#0317269c;backdrop-filter:blur(5px)}
.tc-login-overlay[hidden]{display:none!important}
.login-card.tc-login-card{position:relative;margin:auto;width:min(430px,100%);padding:30px 26px;color:#132330;background:#fff;border-radius:23px;box-shadow:0 25px 80px #0006;max-height:100%;overflow:auto}
.tc-login-card h2{font-size:27px;margin:8px 0 10px;line-height:1.2}
.tc-login-card>.eyebrow{padding-right:24px;color:#087fb1;font-size:11px;letter-spacing:.1em}
.tc-login-card>p{font-size:14px;line-height:1.5;color:#596d7b}
.tc-login-card form{display:grid;gap:15px;margin-top:20px}
.tc-login-card input{font-size:16px;min-height:48px}
.tc-login-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#f0f5f8;color:#294353;font-size:25px;cursor:pointer}
.tc-login-card .login-help{font-size:12px;margin:18px 0 0}
.tc-login-card :focus-visible,.tc-login-welcome :focus-visible{outline:3px solid #65bff2;outline-offset:3px}
@media(max-width:600px){body.login-page{background-attachment:scroll;background-size:100% auto;background-position:center 32%}.tc-login-overlay{padding:16px 12px}.login-card.tc-login-card{padding:26px 22px}.tc-login-stage{padding-bottom:max(48px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:no-preference){.tc-login-card{animation:tc-login-appear .18s ease-out}@keyframes tc-login-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
