html.auth-no-scroll,html.auth-no-scroll body[data-view=login]{height:var(--auth-height,100dvh);min-height:0;overflow:hidden;overscroll-behavior:none}body.v3-auth[data-view=login]{display:grid;grid-template-rows:72px minmax(0,1fr);padding-top:0!important;background:white}.v3-auth[data-view=login] .v3-auth-header{height:72px;min-height:0;padding:16px clamp(20px,5vw,70px);margin:0}.v3-auth[data-view=login] .v3-auth-main{height:100%;min-height:0!important;display:flex;align-items:stretch;padding:25px clamp(22px,5vw,70px);overflow:hidden}.v3-auth[data-view=login] .v3-auth-art{inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;right:0;top:0;bottom:0}.v3-auth[data-view=login] .v3-auth-main:before{background:linear-gradient(90deg,#fffffff5 0%,#ffffffd9 25%,#ffffff80 43%,#ffffff00 65%)}.v3-auth[data-view=login] .v3-auth-form{width:420px;max-width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;margin:0}.auth-fit-content{flex:0 0 auto;min-width:0;transform-origin:center center}.v3-auth[data-view=login] .v3-auth-form h1{font-size:clamp(26px,3.3vw,39px);line-height:1.25;letter-spacing:.025em;margin:0 0 12px}.v3-auth[data-view=login] .v3-auth-form p:not(.v3-kicker){font-size:13px;line-height:1.8;margin-top:12px}.v3-auth[data-view=login] .v3-auth-method{padding:16px 0;margin:22px 0 8px}.v3-auth[data-view=login] .v3-auth-method p{font-size:11px;margin:4px 0 0}.v3-auth[data-view=login] .v3-auth-form .v3-button{display:flex;width:100%;min-height:50px;margin-top:20px;border-radius:15px;background:#222!important;border-color:#222!important;color:#fff;font-size:13px;justify-content:center}.v3-auth[data-view=login] .v3-auth-form .v3-button:hover{background:#080808!important;border-color:#080808!important}.v3-auth[data-view=login] .v3-auth-form .v3-auth-note{font-size:11px!important;color:#666}.v3-auth[data-view=login] .v3-auth-form .v3-auth-switch{font-size:12px!important;margin-top:20px!important}.v3-auth[data-view=login] .v3-footer{display:none!important}.v3-auth[data-view=login] .notice{background:#f1f1ef;color:#333;border-color:#ddd;border-radius:12px}
@media(max-width:760px){body.v3-auth[data-view=login]{grid-template-rows:64px minmax(0,1fr)}.v3-auth[data-view=login] .v3-auth-header{height:64px;padding:12px 19px}.v3-auth[data-view=login] .v3-auth-main{padding:16px 20px;justify-content:center;align-items:stretch}.v3-auth[data-view=login] .v3-auth-art{width:100%;height:100%;object-fit:cover;object-position:66% center}.v3-auth[data-view=login] .v3-auth-main:before{background:linear-gradient(180deg,#ffffffbb,#ffffff80 55%,#ffffff00)}.v3-auth[data-view=login] .v3-auth-form{width:430px;max-width:100%;padding:20px 18px;border:1px solid #e2e2df;border-radius:22px;background:#ffffffeb;backdrop-filter:blur(8px)}.v3-auth[data-view=login] .v3-auth-form h1{font-size:29px}.v3-auth[data-view=login] .v3-auth-header .v3-logo{font-size:25px}}
@media(max-height:600px){body.v3-auth[data-view=login]{grid-template-rows:48px minmax(0,1fr)}.v3-auth[data-view=login] .v3-auth-header{height:48px;padding-block:7px}.v3-auth[data-view=login] .v3-auth-main{padding-block:8px}.v3-auth[data-view=login] .v3-auth-form{padding-block:10px}.v3-auth[data-view=login] .v3-auth-form h1{font-size:26px}.v3-auth[data-view=login] .v3-kicker{margin-bottom:10px}}

/* On phones the artwork is its own panel, rather than obscured behind a tall card. */
@media(max-width:760px){
 .v3-auth[data-view=login] .v3-auth-main{display:grid;grid-template-rows:minmax(86px,27%) minmax(0,1fr);gap:12px;padding:0 14px 14px;align-items:stretch;justify-content:stretch}
 .v3-auth[data-view=login] .v3-auth-main:before{display:none}
 .v3-auth[data-view=login] .v3-auth-art{position:relative;inset:auto;z-index:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:76% 64%;border-radius:20px;grid-row:1}
 .v3-auth[data-view=login] .v3-auth-form{grid-row:2;z-index:1;width:100%;max-width:100%;height:100%;background:#fff;padding:18px 22px;border:1px solid #e6e6e3;backdrop-filter:none;border-radius:20px}
 .v3-auth[data-view=login] .v3-auth-form .v3-kicker{margin-bottom:13px}
 .v3-auth[data-view=login] .v3-auth-form .v3-auth-method{margin-top:16px;padding-block:13px}
 .v3-auth[data-view=login] .v3-auth-form .v3-auth-switch{margin-top:16px!important}
}
@media(max-width:760px) and (max-height:650px){.v3-auth[data-view=login] .v3-auth-main{grid-template-rows:76px minmax(0,1fr);gap:8px;padding-bottom:8px}.v3-auth[data-view=login] .v3-auth-form{padding:12px 20px}}

/* Auth transition: reliable document enter/leave animations on all supported browsers. */
.auth-motion-prep .auth-fit-content,.auth-motion-prep .v3-auth-art{opacity:0}
.auth-page-entering .v3-auth-art{animation:auth-art-in .65s cubic-bezier(.22,.75,.15,1) both}
.auth-page-entering .auth-fit-content{animation:auth-copy-in .5s .08s cubic-bezier(.22,.75,.15,1) both}
html[data-auth-destination="login"].auth-page-entering .auth-fit-content{animation-name:auth-copy-back}
.auth-page-leaving .auth-fit-content{animation:auth-copy-out .22s ease both}.auth-page-leaving .v3-auth-art{animation:auth-art-out .26s cubic-bezier(.6,0,.4,1) both}
@keyframes auth-art-out{from{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}to{clip-path:polygon(0 0,0 0,0 100%,0 100%);opacity:.2}}
@keyframes auth-art-in{from{clip-path:polygon(100% 0,100% 0,100% 100%,75% 100%);opacity:.5;transform:scale(1.025)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1;transform:scale(1)}}
@keyframes auth-copy-out{to{opacity:0;translate:-18px 0;filter:blur(3px)}}@keyframes auth-copy-in{from{opacity:0;translate:24px 0;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}@keyframes auth-copy-back{from{opacity:0;translate:-24px 0;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.auth-motion-prep .auth-fit-content,.auth-motion-prep .v3-auth-art{opacity:1}.auth-page-entering .auth-fit-content,.auth-page-entering .v3-auth-art,.auth-page-leaving .auth-fit-content,.auth-page-leaving .v3-auth-art{animation:none!important;filter:none!important}}

/* 1.0.8: one bounded auth card in both themes, with legible image contrast. */
.v3-auth[data-view=login] .v3-auth-form{align-self:center;height:min(100%,600px);padding:28px;border-radius:26px;border:1px solid #dededb;background:#ffffffed;box-sizing:border-box;box-shadow:0 16px 60px #00000008}
.v3-auth[data-view=login] .auth-fit-content{box-sizing:border-box}
html[data-theme=dark] body.v3-auth[data-view=login]{background:#0f1318!important}
html[data-theme=dark] .v3-auth[data-view=login] .v3-auth-main:before{background:linear-gradient(90deg,#0f1318f5 0%,#0f1318c9 32%,#0f131859 66%,#0f131812)}
html[data-theme=dark] .v3-auth[data-view=login] .v3-auth-art{filter:brightness(.64)}
html[data-theme=dark] .v3-auth[data-view=login] .v3-auth-form{background:#151a20ee!important;border-color:#303943;box-shadow:0 18px 70px #00000020}
html[data-theme=dark] .v3-auth[data-view=login] .v3-auth-method{background:transparent!important}
.app-version-info{display:block;font-size:11px;line-height:1.6;opacity:.75;margin-top:6px}
@media(max-width:760px){.v3-auth[data-view=login] .v3-auth-form{height:100%;padding:18px 22px;border-radius:20px;box-shadow:none}}
@media(max-width:760px) and (max-height:650px){.v3-auth[data-view=login] .v3-auth-form{padding:12px 20px}}
