@font-face{font-family:HelveticaNow;src:url('/assets/fonts/HelveticaNowDisplay.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;font-family:HelveticaNow,Helvetica,Arial,sans-serif;color:#eee;background:#111}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;overscroll-behavior:none}button{font:inherit}button:focus-visible{outline:2px solid #ccc;outline-offset:4px}
.login-page{background:radial-gradient(ellipse at 50% 4%,#ffffff0e,transparent 60%),#111}
.login-main{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;min-height:100dvh;padding:32px 24px}.login-card{--login-control-radius:13px;min-width:0;max-width:100%;text-align:center;width:min(100%,440px);padding:40px;border-radius:26px;background:linear-gradient(135deg,#ffffff0c,#ffffff04),#202020b8;backdrop-filter:blur(24px);animation:login-enter .3s ease-out both}
.login-mark{height:64px;width:64px;display:grid;place-items:center;margin:0 auto 34px;background:#ffffff08;border-radius:18px}.login-mark img{width:42px;height:42px;filter:invert(1)}.login-eyebrow{font-size:10px;letter-spacing:.15em;color:#aaa;margin:0 0 12px}.login-card h1{font-size:38px;font-weight:500;letter-spacing:-1.5px;line-height:1.1;margin:0}.login-description{margin:14px 0 32px;color:#aaa;font-size:16px;line-height:1.5}
.login-provider{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;justify-items:center;gap:8px;padding:16px;border-radius:var(--login-control-radius);background:#ffffff05;margin-bottom:16px}.login-provider svg{width:22px;height:22px;fill:none;stroke:#c3c3c3;stroke-width:1.4;flex:none}.login-provider div{display:grid;gap:4px;min-width:0}.login-provider strong{font-size:14px;font-weight:500}.login-provider div span{font-size:13px;color:#999}.login-sso{font-size:10px;letter-spacing:.08em;color:#aaa;padding:5px 7px;background:#ffffff06;border-radius:5px}
#google-signin{min-width:0;contain:inline-size;color-scheme:light;width:100%;min-height:48px;max-width:100%;display:flex;align-items:center;justify-content:center;transition:filter .16s ease}#google-signin:hover{filter:brightness(.96)}#google-signin iframe{color-scheme:light;border:0;background:transparent}.google-button-surface{width:100%;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--login-control-radius);overflow:hidden}.google-button-surface:focus-within{outline:2px solid #bbb;outline-offset:3px}.login-button{width:100%;min-height:44px;padding:12px 20px;border:0;border-radius:var(--login-control-radius);background:#e7e7e7;color:#171717;font-size:14px;font-weight:500;cursor:pointer;transition:background .16s,transform .16s}.login-button:hover{background:#fff}.login-button:active{transform:scale(.99)}.login-button:disabled{cursor:default;background:#3b3b3b;color:#aaa}.login-message{white-space:pre-line;margin:14px 0 0;font-size:13px;line-height:1.5;color:#b4b4b4}.login-message:empty{display:none}.login-message[data-error=true]{color:#e9a1a1}.login-access{display:flex;align-items:center;justify-content:center;gap:7px;margin:26px 0 0;font-size:12px;line-height:1.5;color:#999}.login-access svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
@keyframes login-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.login-main{padding:24px 16px}.login-card{padding:30px 24px;border-radius:22px}.login-card h1{font-size:34px}.login-description{font-size:15px}.login-access{font-size:11px}}
@media(prefers-reduced-motion:reduce){.login-card{animation:none}.login-button,#google-signin{transition:none}}
