/* Login and registration share one Google component, with intentional visual variants. */
.mg-google-entry{width:100%;box-sizing:border-box}
.mg-google-entry--register{margin:0 0 20px}
.mg-google-entry--login{margin:18px 0 22px}
.mg-google-separator{display:flex;align-items:center;gap:16px;color:#a6a9be;font-size:13px;line-height:1.4;font-weight:500;text-align:center;margin:0 0 17px}
.mg-google-separator:before,.mg-google-separator:after{content:"";flex:1;min-width:15px;height:1px;background:#3a3b4b}
.mg-google-entry--register .mg-google-separator{margin:19px 0 0}
.mg-google-button,.mg-google-button:visited{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:13px;min-height:48px;width:100%;padding:10px 18px;border-radius:12px;text-decoration:none!important;font:inherit;font-size:15px;font-weight:750;line-height:1.3;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.mg-google-button--register,.mg-google-button--register:visited{color:#151624!important;background:linear-gradient(180deg,#fff,#f5f5fa);border:1px solid #dfdff0;box-shadow:0 6px 26px rgba(111,82,240,.27)}
.mg-google-button--register:hover{background:#fff;box-shadow:0 9px 30px rgba(118,92,246,.35);transform:translateY(-1px)}
.mg-google-button--login,.mg-google-button--login:visited{color:#f6f4ff!important;background:linear-gradient(145deg,rgba(60,55,93,.60),rgba(27,27,43,.90));border:1px solid #8276bb;box-shadow:0 7px 23px rgba(115,82,244,.08)}
.mg-google-button--login:hover{background:linear-gradient(145deg,rgba(81,71,125,.75),rgba(34,32,53,.97));border-color:#b09bf9;box-shadow:0 9px 26px rgba(115,82,244,.18)}
.mg-google-button:focus-visible{outline:3px solid #b79cfc;outline-offset:3px}
.mg-google-icon{width:21px;height:21px;flex:none;display:block}
.mg-google-error{margin-top:12px;padding:12px 14px;border:1px solid #793a55;border-radius:10px;background:#2a1722;color:#ffd1de;font-size:13px}
.mg-google-error[hidden]{display:none}
.mg-google-link-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;border:1px solid #484252;border-radius:24px;width:min(550px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;background:radial-gradient(circle at 50% 0,rgba(113,74,223,.16),transparent 55%),#11121b;color:#f7f5ff;box-shadow:0 28px 90px rgba(0,0,0,.62);overflow-y:auto}
.mg-google-link-dialog:not([open]){display:none}
.mg-google-link-dialog::backdrop{background:rgba(5,5,12,.81);backdrop-filter:blur(6px)}
.mg-google-link-dialog__body{padding:38px 34px 30px;position:relative;display:grid;gap:16px}
.mg-google-link-dialog__body h2{margin:0;padding-right:22px;font-size:clamp(22px,3vw,27px);line-height:1.26;letter-spacing:-.02em}
.mg-google-link-dialog__body p{color:#b2b2c6;line-height:1.65;font-size:14px;margin:0}
.mg-google-link-dialog__body .mg-google-link-dialog__warning{padding:12px 14px;border-radius:11px;border:1px solid rgba(167,139,250,.32);background:rgba(120,88,208,.1);color:#ded2ff;font-weight:600}
.mg-google-link-dialog__body form{display:grid;gap:16px;margin:3px 0 0}
.mg-google-link-dialog__body .mg-field{display:grid;gap:8px}
.mg-google-link-dialog__body .mg-field>span{font-weight:700}
.mg-google-link-dialog__body .mg-field input{width:100%;box-sizing:border-box;min-height:52px;padding:11px 14px;border-radius:12px;background:#0b0c13;border:1px solid #424454;color:#fff;font:inherit}
.mg-google-link-dialog__body .mg-field input:focus{outline:2px solid #a184f5;outline-offset:2px}
.mg-google-link-dialog__close{position:absolute;right:18px;top:16px;width:34px;height:34px;border-radius:10px;border:1px solid #444454;background:#1a1b29;color:#ded7f1;font-size:23px;cursor:pointer}
.mg-google-link-dialog__forgot{color:#be9cff;font-size:13px;font-weight:700;text-decoration:none;justify-self:start}
.mg-google-link-dialog__forgot:hover{text-decoration:underline}
.mg-google-link-dialog__error{background:#2a1722;border:1px solid #793a55;border-radius:10px;padding:10px 12px;color:#ffd1de;font-size:13px}
.mg-google-link-dialog__error[hidden]{display:none}
.mg-google-popup-result{margin:0;min-height:100vh;display:grid;place-items:center;background:#0c0d13;color:#eeeef8;font:16px/1.5 system-ui,sans-serif}
.mg-google-popup-result__content{text-align:center;padding:35px}
.mg-google-popup-result__content a{color:#c1a4ff}
/* Scoped OAuth transition prevents the old form flashing on mobile tab return. */
.mg-google-transition-active{overflow:hidden}
.mg-google-transition{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;box-sizing:border-box;padding:24px;background:radial-gradient(ellipse at 50% 32%,#25213e 0,#171723 48%,#10111b 100%);color:#f5f3ff;font-family:inherit;text-align:center}
.mg-google-transition[hidden],.mg-google-transition__close[hidden]{display:none!important}
.mg-google-transition__content{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:340px;width:100%;animation:mgGoogleTransitionIn .2s ease-out both}
.mg-google-transition__symbol{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:linear-gradient(135deg,#ac87ff,#6e57d9);box-shadow:0 14px 45px rgba(122,87,222,.30);font-weight:900;font-size:34px;line-height:1;color:#fff}
.mg-google-transition__symbol img{display:block;width:100%;height:100%;object-fit:contain;border-radius:18px}
.mg-google-transition__brand{font-size:23px;letter-spacing:-.035em;font-weight:850;line-height:1.35}
.mg-google-transition__spinner{width:26px;height:26px;border:2px solid rgba(200,180,255,.22);border-top-color:#c8b2ff;border-radius:50%;animation:mgGoogleTransitionSpin .8s linear infinite;margin:9px 0 1px}
.mg-google-transition__message{font-size:14px;line-height:1.55;color:#c3bed3;font-weight:550;max-width:310px}
.mg-google-transition__close{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));width:42px;height:42px;border:1px solid #4d4864;background:rgba(30,28,47,.85);border-radius:14px;color:#ded6f6;font-size:26px;line-height:1;cursor:pointer}
.mg-google-transition__close:focus-visible{outline:3px solid #bea3ff;outline-offset:3px}
@keyframes mgGoogleTransitionSpin{to{transform:rotate(360deg)}}
@keyframes mgGoogleTransitionIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:520px){.mg-google-button{font-size:14px;min-height:46px;padding:10px 12px;gap:10px}.mg-google-icon{width:20px;height:20px}.mg-google-link-dialog__body{padding:36px 20px 24px}.mg-google-separator{font-size:12px;gap:10px}}
@media(prefers-reduced-motion:reduce){.mg-google-button{transition:none}.mg-google-transition__content{animation:none}.mg-google-transition__spinner{animation-duration:1.5s}}
