.loginpage{background:var(--surface-pale);min-height:100svh;padding:calc(var(--nav-h) + 24px) var(--gutter) 48px;place-items:center;display:grid;position:relative;overflow:hidden}body:has(.loginpage) .footer{display:none}.login-card{text-align:center;z-index:1;flex-direction:column;align-items:center;width:min(560px,100%);display:flex;position:relative}.login-coin{perspective:800px;--coin-ink:var(--brand-navy);width:64px;height:64px;margin-bottom:28px;animation:5s ease-in-out infinite login-coin-float}@keyframes login-coin-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.login-coin-spin{width:100%;height:100%;transform-style:preserve-3d;animation:7s linear infinite login-coin-spin;display:block;position:relative}@keyframes login-coin-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.login-coin-face{background:var(--coin-ink);backface-visibility:hidden;position:absolute;inset:0;-webkit-mask:url(/assets/brand/z-badge.svg) 50%/contain no-repeat;mask:url(/assets/brand/z-badge.svg) 50%/contain no-repeat}.login-coin-face--back{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.login-coin,.login-coin-spin{animation:none}}.login-title{color:var(--ink-base);margin:0 0 16px}.login-copy{font-family:var(--sans);font-size:var(--t-sub-sm);line-height:var(--lh-sub);color:var(--ink-soft);text-wrap:balance;max-width:42ch;margin:0 0 36px}.code-boxes{justify-content:center;gap:10px;display:flex}.code-box{text-align:center;width:clamp(44px,11vw,60px);height:clamp(56px,14vw,72px);font-family:var(--sans);text-transform:uppercase;color:var(--ink-base);background:var(--surface-base);border:1px solid var(--rule-soft);caret-color:var(--brand-navy);border-radius:14px;font-size:clamp(20px,5vw,28px);transition:border-color .15s,box-shadow .15s}.code-box:focus-visible{border-color:var(--brand-navy);box-shadow:0 0 0 3px var(--brand-pale);outline:none}.code-box:disabled{opacity:.6}.code-boxes.is-error .code-box{border-color:var(--accent-rust);animation:.3s code-shake}@keyframes code-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.code-status{font-family:var(--sans);font-size:var(--t-meta);letter-spacing:0;text-transform:none;color:var(--ink-soft);min-height:1.4em;margin:14px 0 0}.code-boxes.is-error+.code-status{color:var(--accent-rust)}.login-contact{flex-direction:column;align-items:center;gap:14px;margin-top:40px;display:flex}.login-contact-line{font-family:var(--sans);font-size:var(--t-sub-sm);color:var(--ink-muted);margin:0}.login-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.login-actions .btn{border:1px solid #0000;justify-content:center;min-width:158px}.login-actions .btn--ghost{border-color:var(--rule-base)}.login-actions .btn--secondary{color:var(--brand-deep);border-color:var(--brand-deep);background:0 0}.login-actions .btn--secondary:hover,.login-actions .btn--secondary[aria-expanded=true]{background:color-mix(in srgb, var(--brand-deep) 8%, #fff);color:var(--brand-deep)}@media (max-width:760px){.loginpage .gt{display:flex}}.login-actions .gt-menu{inset:auto auto calc(100% + 8px) 50%;translate:-50%}@keyframes gt-menu-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.login-actions .gt-menu{animation-name:gt-menu-in-up}@media (prefers-reduced-motion:reduce){.login-actions .gt-menu{animation:none}}
