/* Parent sign-in */
.landing-login-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(8,22,34,.76);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:login-fade .2s ease-out}
.landing-login-modal{position:relative;width:min(100%,540px);max-height:calc(100svh - 48px);overflow:auto;padding:46px 50px 38px;border:1px solid rgba(227,80,154,.28);border-radius:18px;background:#fcfcfd;color:var(--navy);box-shadow:0 30px 90px rgba(5,20,31,.36);text-align:left;animation:login-rise .28s ease-out}
.landing-login-modal:before{content:'';position:absolute;inset:0 0 auto;height:5px;border-radius:18px 18px 0 0;background:linear-gradient(90deg,var(--pink),var(--peach),var(--blue))}
.landing-login-close{position:absolute;top:20px;right:22px;width:38px;height:38px;padding:0;border:1px solid #dce1e5;border-radius:50%;background:#fff;color:var(--navy);font-size:0;line-height:0;cursor:pointer;transition:border-color .2s,transform .2s}
.landing-login-close:before,.landing-login-close:after{content:'';position:absolute;left:50%;top:50%;width:14px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.landing-login-close:after{transform:translate(-50%,-50%) rotate(-45deg)}
.landing-login-close:hover{border-color:var(--pink);transform:rotate(5deg)}
.landing-login-mark{display:block;width:42px;height:42px;margin-bottom:25px}
.landing-login-eyebrow{display:block;color:var(--wine);font-size:10px;font-weight:750;letter-spacing:2px}
.landing-login-modal h2{margin:13px 0 15px;font-size:38px;line-height:1.14;letter-spacing:-1.8px}
.landing-login-modal>p:not(.landing-login-error){color:var(--muted);font-size:14px;line-height:1.7}
.landing-login-modal>p strong{color:var(--navy);font-weight:650}
.landing-login-options{display:grid;gap:12px;margin-top:28px}
.landing-login-options>button{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;width:100%;padding:14px 16px;border:1px solid #dce1e5;border-radius:10px;background:#fff;color:var(--navy);text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.landing-login-options>button:hover{border-color:var(--pink);background:var(--blush);transform:translateY(-2px)}
.landing-login-options>button:disabled,.landing-email-form .button:disabled,.landing-resend:disabled{opacity:.58;cursor:wait;transform:none}
.landing-login-options>button>span{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;font-family:Manrope,Arial,sans-serif;font-size:18px;font-weight:750}
.google-symbol{background:#edf4f9;color:#347db2}.email-symbol{background:var(--blush);color:var(--wine)}
.landing-login-options strong{font-size:14px;font-weight:650}.landing-login-options b{font-size:20px;font-weight:400;color:var(--wine)}
.landing-login-back{margin:0 0 18px;padding:0;border:0;background:none;color:var(--muted);font-size:12px;font-weight:650;cursor:pointer}.landing-login-back:hover{color:var(--wine)}
.landing-email-form{display:grid;gap:18px;margin-top:25px}.landing-email-form label{display:grid;gap:7px;color:var(--navy);font-size:12px;font-weight:650}
.landing-email-form input{width:100%;height:54px;padding:0 16px;border:1px solid #cfd8de;border-radius:9px;background:#fff;color:var(--navy);font:500 16px 'DM Sans',Arial,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
.landing-email-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(70,143,195,.14)}
.landing-email-form .button{width:100%;border:0;cursor:pointer}.landing-code-input{text-align:center;letter-spacing:10px;font-size:25px!important;font-weight:700!important;font-variant-numeric:tabular-nums}
.child-code-input{letter-spacing:7px}.child-adventure-submit{background:var(--wine)}
.child-login-modal{width:min(100%,570px);padding:0;overflow:hidden;border-color:#ffffff38;background:#fcfcfd}
.child-login-modal:before{z-index:3;border-radius:18px 18px 0 0}
.child-login-modal .landing-login-close{z-index:4;border-color:#ffffff3d;background:#ffffff13;color:#fff}
.child-login-modal .landing-login-close:hover{border-color:var(--peach);background:#ffffff22}
.child-login-hero{position:relative;overflow:hidden;padding:38px 48px 34px;background:var(--navy);color:#fff}
.child-login-hero:after{content:'';position:absolute;right:-118px;bottom:-155px;width:300px;height:300px;border:1px solid #e3509a66;border-radius:50%;box-shadow:0 0 0 31px #ffffff05,0 0 0 32px #ffffff14;pointer-events:none}
.child-login-hero .landing-login-mark{position:relative;z-index:1;width:38px;height:44px;margin-bottom:24px}
.child-login-hero .landing-login-eyebrow{position:relative;z-index:1;color:var(--peach)}
.child-login-modal .child-login-hero h2{position:relative;z-index:1;margin:11px 0 10px;color:#fff;font-size:40px}
.child-login-hero p{position:relative;z-index:1;max-width:370px;color:#c9d5dc;font-size:13px;line-height:1.6}
.child-login-spark{position:absolute;z-index:1;right:48px;bottom:34px;color:var(--peach);font-size:26px}
.child-login-content{padding:28px 48px 34px}
.child-login-content>p{color:var(--muted);font-size:13px;line-height:1.6}
.child-login-content .landing-email-form{margin-top:20px}
.child-login-content .child-code-input{border-color:#cbd6dc;background:#f3f5f6;color:var(--navy)}
.child-login-content .child-code-input:focus{border-color:var(--pink);background:#fff;box-shadow:0 0 0 4px #e3509a1c}
.child-login-content .child-adventure-submit{border-radius:8px;background:var(--wine);font-weight:700}
.child-login-content .landing-login-note{margin-top:22px}
.landing-resend{display:block;margin:16px auto 0;padding:5px;border:0;background:none;color:var(--wine);font-size:12px;font-weight:650;cursor:pointer}
.landing-login-error{margin-top:16px!important;padding:11px 13px;border:1px solid #e3509a55;border-radius:8px;background:var(--blush);color:#79013f!important;font-size:12px!important;line-height:1.5!important}
.landing-login-note{display:block;margin-top:28px;padding-top:19px;border-top:1px solid #e5e9ec;color:#7a8790;font-size:10px;letter-spacing:.4px;text-align:center}
@keyframes login-fade{from{opacity:0}to{opacity:1}}@keyframes login-rise{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.landing-login-backdrop{padding:12px}.landing-login-modal{max-height:calc(100svh - 24px);padding:38px 23px 27px;border-radius:14px}.landing-login-close{top:15px;right:15px}.landing-login-mark{width:37px;height:37px;margin-bottom:21px}.landing-login-modal h2{font-size:31px;letter-spacing:-1.2px}.landing-login-options{margin-top:22px}.child-login-modal{padding:0}.child-login-hero{padding:32px 23px 28px}.child-login-modal .child-login-hero h2{font-size:31px}.child-login-spark{right:24px;bottom:25px}.child-login-content{padding:23px}.child-login-content .landing-code-input{font-size:21px!important;letter-spacing:5px}}
@media(prefers-reduced-motion:reduce){.landing-login-backdrop,.landing-login-modal{animation:none}}

