.auth-dialog{width:min(880px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;margin:auto;padding:0;border:1px solid var(--line);border-radius:24px;background:var(--bg);color:var(--text);box-shadow:0 24px 80px #0003;overflow:hidden}
.auth-dialog-scroll{max-height:calc(100dvh - 34px);overflow:auto;overscroll-behavior:contain}
.auth-dialog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:480px}
.auth-dialog-login{min-width:0;align-self:center;padding:48px 40px}
.auth-dialog-artwork{min-width:0;background:var(--panel)}
.auth-dialog .auth-side{display:grid;align-items:center;height:100%;overflow:hidden;background:var(--panel)}
.auth-dialog .auth-side-inner{min-width:0;padding:64px 28px 32px}
.auth-dialog .auth-card-stack{position:relative;width:100%;height:250px;margin:auto}
.auth-dialog .auth-card{position:absolute;top:50%;left:50%;display:block;width:72%;height:auto;aspect-ratio:1536/969;object-fit:cover;border:1px solid #fff5;box-shadow:0 15px 25px -20px #0006}
.auth-dialog .auth-card-one{transform:translate(-73%,-88%) rotate(-14deg)}
.auth-dialog .auth-card-two{transform:translate(-39%,-49%) rotate(8deg)}
.auth-dialog .auth-card-three{transform:translate(-56%,-13%) rotate(-3deg)}
.auth-dialog .auth-side-copy{margin:40px auto 0;text-align:center}
.auth-dialog .auth-side-copy strong{font-size:22px;font-weight:500;line-height:1.4}
.auth-dialog .auth-side-copy p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.65}
.auth-dialog::backdrop{background:#101b2d80;backdrop-filter:blur(5px)}
.auth-dialog[open]{animation:auth-dialog-enter 220ms cubic-bezier(.2,.8,.2,1) both}
.auth-dialog[open]::backdrop{animation:auth-backdrop-enter 220ms ease-out both}
.auth-dialog[open].is-closing{pointer-events:none;animation:auth-dialog-exit 160ms ease-in both}
.auth-dialog[open].is-closing::backdrop{animation:auth-backdrop-exit 160ms ease-in both}
@keyframes auth-dialog-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes auth-dialog-exit{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.985)}}
@keyframes auth-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes auth-backdrop-exit{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.auth-dialog[open],.auth-dialog[open]::backdrop,.auth-dialog[open].is-closing,.auth-dialog[open].is-closing::backdrop{animation:none}}
.auth-dialog [hidden]{display:none!important}
.auth-dialog h2{margin:0 32px 10px 0;font-size:1.65rem;line-height:1.25;letter-spacing:-.035em}
.auth-dialog[data-auth-intent=sign-in] h2{margin-bottom:28px}
.auth-dialog-intro{margin:0 0 28px;color:var(--muted);font-size:.94rem;line-height:1.65}
.auth-dialog-close{position:absolute;z-index:2;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--panel);color:var(--muted);font:inherit;font-size:27px;cursor:pointer}
.auth-dialog-close:hover{color:var(--text);background:var(--panel)}
.auth-dialog-options{display:grid;gap:12px}
.auth-dialog-provider,.auth-dialog-continue,.auth-dialog-retry{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;box-sizing:border-box;min-height:52px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);font:inherit;font-size:.95rem;font-weight:500;text-decoration:none;cursor:pointer}
.auth-dialog-provider:hover,.auth-dialog-continue:hover,.auth-dialog-retry:hover{border-color:var(--accent)}
.auth-dialog-provider:disabled{opacity:.55;cursor:wait}
.auth-dialog-provider svg{width:20px;height:20px;flex:0 0 20px}
.auth-dialog-note{margin:22px 0 0;color:var(--muted);font-size:.8rem;line-height:1.65}
.auth-dialog-status{margin:20px 0 0;color:var(--muted);font-size:.88rem;line-height:1.6}
.auth-dialog-status:empty{display:none}
.auth-dialog-status[data-error=true]{color:#b91c1c}
:root[data-theme=dark] .auth-dialog-status[data-error=true]{color:#fca5a5}
.auth-dialog-continue{margin-top:16px}
.auth-dialog-retry{width:auto;min-height:44px;margin:8px auto 0;border:0;background:transparent;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.auth-dialog :focus-visible{outline:3px solid var(--accent);outline-offset:3px}
html.auth-dialog-open{overflow:hidden;scrollbar-gutter:stable}
@keyframes auth-dialog-float{50%{translate:0 -7px}}
@media(min-width:800px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .auth-dialog .auth-card{animation:auth-dialog-float 7s ease-in-out infinite}
 .auth-dialog .auth-card-one{animation-delay:-1.5s}
 .auth-dialog .auth-card-two{animation-delay:-3.5s}
 .auth-dialog .auth-card-three{animation-delay:-5.5s}
}
@media(max-width:799px), (hover:none) and (pointer:coarse){
 .auth-dialog{width:min(460px,calc(100vw - 32px));border-radius:20px}
 .auth-dialog-layout{grid-template-columns:1fr;min-height:0}
 .auth-dialog-artwork{grid-row:1;height:150px}
 .auth-dialog .auth-side-inner{padding:0}
 .auth-dialog .auth-card-stack{width:188px;height:150px}
 .auth-dialog .auth-card-one{transform:translate(-73%,-65%) rotate(-14deg)}
 .auth-dialog .auth-card-three{transform:translate(-56%,-24%) rotate(-3deg)}
 .auth-dialog .auth-side-copy{display:none}
 .auth-dialog-login{padding:28px 24px 32px}
}
@media(max-height:560px){
 .auth-dialog-layout{min-height:0}
 .auth-dialog-login{padding-block:28px}
 .auth-dialog .auth-side-copy{display:none}
 .auth-dialog .auth-side-inner{padding-block:40px}
}
@media(max-height:560px) and (max-width:799px), (max-height:560px) and (hover:none) and (pointer:coarse){
 .auth-dialog-artwork{height:100px}
 .auth-dialog .auth-side-inner{padding:0}
 .auth-dialog .auth-card-stack{transform:scale(.65);margin-block:-25px}
}

@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .auth-dialog-status[data-error=true]{color:#fca5a5}}
