.cloud-auth-screen {
    position: fixed;
    z-index: 20000;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #fff;
    color: #111;
    transition: opacity .65s ease, visibility .65s ease;
}
.cloud-auth-screen.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.cloud-auth-noise {
    position: absolute; inset: 0; opacity: .025; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
.cloud-auth-panel {
    position: relative; width: min(520px, calc(100vw - 48px)); min-height: 420px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center;
}
.cloud-auth-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 76px; }
.cloud-auth-brand svg { width: 34px; height: 31px; overflow: visible; }
.cloud-auth-brand path { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cloud-auth-brand-copy { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; text-transform: uppercase; }
.cloud-auth-brand-copy strong { font-size: 11px; font-weight: 400; letter-spacing: 4.8px; }
.cloud-auth-brand-copy span { margin-top: 8px; font-size: 7px; letter-spacing: 3.2px; }
.cloud-auth-copy { min-height: 94px; }
.cloud-auth-copy h1 { font-size: 26px; font-weight: 300; letter-spacing: 4px; }
.cloud-auth-copy p { margin-top: 18px; color: #8e8e8e; font-size: 10px; letter-spacing: 2.2px; text-transform: uppercase; }
.cloud-auth-actions { display:flex; flex-direction:column; gap:12px; margin-top:45px; width:min(300px, 82vw); }
.cloud-google-login {
    margin-top: 0; width:100%; min-width: 245px; height: 50px; border: 1px solid rgba(17,17,17,.22);
    background: rgba(255,255,255,.68); color: #111; cursor: pointer;
    font-size: 10px; letter-spacing: 2.7px; text-transform: uppercase;
    transition: background .3s ease, border-color .3s ease, opacity .3s ease;
}
.cloud-google-login:hover { background: #111; color: #fff; border-color: #111; }
.cloud-google-login:disabled { opacity: .35; cursor: default; }
.cloud-auth-head {
    position: absolute; width: min(330px, 68vw); opacity: 0; filter: blur(16px); pointer-events: none;
    transition: opacity 1s ease, filter 1.4s ease;
}
.cloud-auth-screen.is-restoring .cloud-auth-brand,
.cloud-auth-screen.is-restoring .cloud-auth-actions { opacity: 0; pointer-events: none; }
.cloud-auth-screen.is-login .cloud-google-login { opacity: 1; pointer-events: auto; }
.cloud-auth-screen.is-restoring .cloud-auth-head { opacity: .1; filter: blur(5px); }
.cloud-auth-screen.is-complete .cloud-auth-head { opacity: .18; filter: blur(0); }
.cloud-auth-screen.is-restoring .cloud-auth-copy { position: relative; z-index: 2; }
.cloud-auth-screen.is-restoring .cloud-auth-copy h1 { font-size: 13px; letter-spacing: 3.5px; text-transform: uppercase; }
.cloud-auth-screen.is-restoring .cloud-auth-copy p { opacity: .65; }
.cloud-sign-out {
    position: fixed; z-index: 9000; right: 28px; top: 24px; border: 0; background: transparent;
    color: currentColor; opacity: .42; cursor: pointer; font-size: 8px; letter-spacing: 2.4px; text-transform: uppercase;
    transition: opacity .25s ease;
}
.cloud-sign-out:hover { opacity: .9; }
body:not(.cloud-authenticated) .sound-toggle { visibility: hidden; }
@media (max-width: 600px) {
    .cloud-auth-brand { margin-bottom: 58px; }
    .cloud-auth-copy h1 { font-size: 21px; }
    .cloud-sign-out { right: 17px; top: 17px; }
}

.cloud-google-login strong,.cloud-google-login span{display:block;font-weight:400}.cloud-google-login span{margin-top:7px;font-size:7px;letter-spacing:1.7px;opacity:.55}.cloud-google-login-secondary{background:transparent}.cloud-missing-memory{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:12px}.cloud-missing-memory[hidden]{display:none}.cloud-missing-memory p{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:#777}.cloud-missing-memory button{border:0;border-bottom:1px solid rgba(0,0,0,.25);background:transparent;padding:9px 3px;font-size:8px;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer}
.cloud-auth-screen.is-restoring .cloud-auth-actions,.cloud-auth-screen.is-restoring .cloud-missing-memory{opacity:0;pointer-events:none}
