.login-screen{background:#0a1a33;min-height:100vh;position:relative;overflow:hidden}.login-bg-image{z-index:0;filter:grayscale()contrast(.4)brightness(1.35);transform:translate(calc(var(--mx,0) * -22px), calc(var(--my,0) * -22px)) scale(1.04);background:url(/images/login-background.jpg) 50%/cover no-repeat;transition:transform .25s ease-out;position:absolute;inset:-28px}.login-bg-tint{content:"";z-index:1;background:linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);mix-blend-mode:color;opacity:.92;pointer-events:none;position:absolute;inset:0}.login-screen:after{content:"";z-index:2;background:linear-gradient(#000a194d 0%,#0000 42% 62%,#000a1973 100%);animation:16s ease-in-out infinite login-ambient-shift;position:absolute;inset:0}@keyframes login-ambient-shift{0%,to{opacity:.7}50%{opacity:.9}}.hammer-cursor{cursor:url(/cursors/hammer-cursor.png) 5 22,pointer}.login-form-panel{z-index:3;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.25rem;display:flex;position:relative}.login-card{-webkit-backdrop-filter:blur(22px)saturate(160%);background:#ffffffd9;border:1px solid #ffffff80;border-radius:1.75rem;width:100%;max-width:26rem;animation:.55s cubic-bezier(.16,1,.3,1) both login-card-enter;position:relative;box-shadow:0 30px 60px -20px #00143280}@keyframes login-card-enter{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card>*{animation:.45s ease-out both login-field-in}.login-card>:first-child{animation-delay:80ms}.login-card>:nth-child(2){animation-delay:.16s}.login-card>:nth-child(3){animation-delay:.24s}.login-card>:nth-child(4){animation-delay:.32s}@keyframes login-field-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-alert{animation:.4s ease-in-out login-shake}@keyframes login-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.login-field-error{animation:.2s ease-out login-fade-in}@keyframes login-fade-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.login-card .ui-input{transition:box-shadow .2s,border-color .2s}.login-card .ui-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 4px #00509024}.login-card .ui-button{transition:transform .18s,box-shadow .18s,background-color .15s;position:relative;overflow:hidden}.login-card .ui-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px -8px #00285e59}.login-card .ui-button:active:not(:disabled){transform:translateY(0)}.login-card .ui-button:after{content:"";background:linear-gradient(115deg,#0000 20%,#ffffff59 50%,#0000 80%);position:absolute;inset:0;transform:translate(-120%)}.login-card .ui-button:hover:not(:disabled):after{transition:transform .6s;transform:translate(120%)}.login-logo{animation:.5s cubic-bezier(.34,1.56,.64,1) .1s both login-logo-pop}@keyframes login-logo-pop{0%{opacity:0;transform:scale(.6)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}.hammer-loader-caption{align-items:baseline;gap:.15rem;display:flex}.hammer-loader-dot{animation:1.4s ease-in-out infinite hammer-dot-blink}.hammer-loader-dot:nth-child(2){animation-delay:.2s}.hammer-loader-dot:nth-child(3){animation-delay:.4s}@keyframes hammer-dot-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.hammer-scene-stack{position:relative}.hammer-scene-layer{opacity:0;justify-content:center;align-items:center;transition:opacity .35s,transform .35s;display:flex;position:absolute;inset:0;transform:scale(.85)}.hammer-scene-layer.is-visible{opacity:1;transform:scale(1)}.success-check-circle{transform-origin:60px 60px;animation:.4s cubic-bezier(.34,1.56,.64,1) both success-pop}@keyframes success-pop{0%{transform:scale(0)}to{transform:scale(1)}}.success-check-ring{stroke-dasharray:289;stroke-dashoffset:289px;animation:.5s ease-out .15s both success-draw}.success-check-mark{stroke-dasharray:60;stroke-dashoffset:60px;animation:.35s ease-out .45s both success-draw}@keyframes success-draw{to{stroke-dashoffset:0}}.hammer-loader-screen{z-index:50;background:linear-gradient(155deg, var(--brand-primary) 0%, var(--brand-secondary) 55%, var(--brand-support) 100%);color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;display:flex;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.login-screen:after,.login-bg-image,.login-card,.login-card>*,.login-logo,.login-card .ui-button,.login-card .ui-button:after,.login-alert,.login-field-error,.hammer-loader-dot,.hammer-scene-layer,.success-check-circle,.success-check-ring,.success-check-mark{transition:none!important;animation:none!important}.hammer-scene-layer.is-visible{opacity:1;transform:none}.success-check-ring,.success-check-mark{stroke-dashoffset:0}}
