:root{color-scheme:light;--ink:#102d72;--muted:#4c6389;--orange:#ff7008;--blue:#244be1;--line:#d4e2f5}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 50% 10%,#f0fbff 0,#ddf1ff 55%,#cde8ff 100%);min-height:100dvh}a{color:var(--blue)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #1565c0;outline-offset:4px}button:disabled{opacity:.65;cursor:wait}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.welcome-page{display:grid;place-items:center;padding:34px 24px}.welcome-shell{width:min(1120px,100%);display:grid;grid-template-columns:1.1fr 1fr;border:4px solid #eaffff;border-radius:38px;overflow:hidden;background:#fff;box-shadow:0 18px 65px #428fd42c,0 3px 12px #3b91d126}.welcome-visual{background:#a5dfff;align-self:stretch;display:flex;flex-direction:column}.welcome-brand{height:92px;padding:10px 25px;display:flex;align-items:center}.brand-crop{display:block;position:relative;width:236px;aspect-ratio:238/85;overflow:hidden}.brand-crop img{position:absolute;width:645.378%;height:auto;max-width:none;left:-117.647%;top:-91.765%}.adventure-crop{position:relative;aspect-ratio:480/400;overflow:hidden;width:100%;margin-top:auto}.adventure-crop img{position:absolute;width:320%;height:auto;max-width:none;left:-52.9167%;top:-40%}.welcome-content{position:relative;padding:54px 36px 34px;display:flex;flex-direction:column;justify-content:center;text-align:center;background:linear-gradient(#fff,#f8fbff)}.welcome-content h1{font-size:clamp(29px,3.1vw,43px);letter-spacing:-1.3px;line-height:1.13;margin:0;font-weight:850}.welcome-content h1 span{color:#e64c00}.welcome-subtitle{font-size:21px;color:var(--muted);font-weight:650;margin:17px 0 28px}.welcome-actions{display:grid;gap:12px}.button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:13px 20px;border-radius:15px;font-size:19px;font-weight:800;text-decoration:none;border:2px solid transparent;cursor:pointer;position:relative;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button-primary{background:linear-gradient(120deg,#ff8612,#ff6004);color:#fff;box-shadow:0 5px 0 #df4c06,0 8px 20px #f97b1f22}.button-primary span{position:absolute;right:20px;font-size:25px;font-weight:500}.button-secondary{color:#2442d6;border-color:#2c4be5;background:#fff;margin-top:4px}.welcome-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:30px}.welcome-features>div{display:flex;align-items:center;flex-direction:column;gap:8px;min-width:0}.feature-icon{display:grid;place-items:center;width:64px;height:58px;background:linear-gradient(145deg,#e7edff,#f7faff);border-radius:18px;font-size:34px;filter:drop-shadow(0 3px 2px #3572af10)}.welcome-features strong{font-size:12px;line-height:1.3}.entry-status{font-size:13px;color:var(--muted);margin:15px 0 0}.entry-status:empty{display:none}
/* Account screens use the exact illustrated header from the selected concept. */
.auth-page{display:grid;place-items:center;padding:28px 16px}.auth-shell{width:min(500px,100%);border:4px solid #eaffff;border-radius:34px;background:linear-gradient(160deg,#fff,#f7fbff);box-shadow:0 16px 55px #428fd430;overflow:hidden}.auth-top{position:relative;aspect-ratio:482/222;overflow:hidden;background:#bae6ff}.auth-top img{position:absolute;width:318.672%;height:auto;max-width:none;left:-167.012%;top:-29.279%}.auth-back{position:absolute;top:9%;left:3%;width:52px;height:52px;border-radius:50%;z-index:2}.auth-body{position:relative;margin-top:-12px;padding:0 28px 25px;border-radius:50% 50% 0 0/16px 16px 0 0;background:linear-gradient(#fff,#f9fcff)}.auth-heading{text-align:center;margin:0 0 19px}.auth-heading h1{font-size:34px;letter-spacing:-1px;line-height:1.12;margin:0 0 8px;font-weight:850}.auth-heading p{color:var(--muted);font-size:16px;margin:0}.auth-form{display:grid;gap:13px}.auth-form label{display:grid;gap:6px;font-size:15px;font-weight:750}.auth-field{position:relative;display:flex;align-items:center;min-width:0}.field-icon{position:absolute;left:13px;color:#7388ac;pointer-events:none;width:20px;height:20px}.auth-field input,.auth-field select{width:100%;min-width:0;height:47px;padding:10px 13px 10px 42px;border:1.5px solid var(--line);border-radius:13px;background:linear-gradient(120deg,#f6f9ff,#fff);font-size:15px;color:#203d76;box-shadow:0 1px 3px #1b4e7a04}.auth-field input::placeholder{color:#667da0;opacity:1}.auth-field input[type=password],.auth-field input[data-password-visible]{padding-right:48px}.auth-field select{appearance:auto;padding-right:8px}.password-toggle{position:absolute;right:3px;top:2px;display:grid;place-items:center;width:43px;height:43px;background:none;border:0;color:#56739e;border-radius:10px;cursor:pointer}.password-toggle svg{width:22px;height:22px}.form-helper{font-size:12px;color:#566d8c;line-height:1.45;margin:0;text-align:center}.auth-form .button{margin-top:3px;width:100%;font-size:18px;min-height:52px}.auth-switch{border-top:1px solid #dde7f4;margin:22px 0 0;padding-top:17px;text-align:center;color:#576d90;font-size:14px}.auth-switch a{font-weight:800;text-decoration:none}.auth-status{padding:11px 0 0;margin:0;font-size:14px;font-weight:650;line-height:1.45;color:#255341}.auth-status:empty{display:none}.recovery-details{border-top:1px solid #e1e9f6;margin-top:19px;padding-top:8px}.recovery-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;color:#395b97;font-size:14px;font-weight:700}.recovery-details .auth-form{margin-top:10px}.account-card{border:1px solid #d5e4f6;border-radius:18px;background:#f4f9ff;padding:20px;margin:14px 0}.account-card h2{margin:0 0 10px;font-size:24px}.account-card p{line-height:1.5}.account-code{font:750 21px ui-monospace,monospace;overflow-wrap:anywhere;background:#e2efff;padding:12px;border-radius:11px;letter-spacing:1px}.account-card small{font-size:13px;color:#4c6389;line-height:1.5}.account-card .button{width:100%;font-size:16px;margin:12px 0}.account-card .account-continue{display:block;text-align:center;font-weight:800;padding:12px}.saved-check{font-weight:800;color:#20694a}.auth-logout{display:block;background:none;border:0;color:#49668e;text-decoration:underline;font:inherit;min-height:44px;margin:4px auto;cursor:pointer}
@media(min-width:900px){.welcome-shell{min-height:620px}.welcome-visual .adventure-crop{flex:0 0 auto;aspect-ratio:480/400;min-height:0}.welcome-visual .adventure-crop img{width:320%;top:-40%;bottom:auto}.auth-page{padding:32px}.auth-shell{width:500px}.auth-body{padding-left:35px;padding-right:35px}}
@media(max-width:700px){.welcome-page{padding:12px;align-items:center}.welcome-shell{max-width:470px;grid-template-columns:1fr;border-radius:30px;border-width:3px}.welcome-brand{height:66px;padding:2px 17px}.brand-crop{width:202px}.welcome-content{margin-top:-25px;border-radius:50% 50% 0 0/28px 28px 0 0;padding:15px 20px 24px}.welcome-content h1{font-size:31px;letter-spacing:-1px;line-height:1.1}.welcome-subtitle{font-size:17px;margin:12px 0 18px}.button{min-height:49px;font-size:17px;border-radius:13px;padding:10px 18px}.welcome-actions{gap:10px}.welcome-features{margin-top:22px;gap:5px}.feature-icon{width:54px;height:49px;font-size:30px;border-radius:15px}.welcome-features strong{font-size:10px}.welcome-features>div{gap:6px}.auth-page{padding:12px}.auth-shell{max-width:470px;border-width:3px;border-radius:29px}.auth-body{padding:0 21px 20px}.auth-heading h1{font-size:30px}.auth-heading p{font-size:14px}.auth-heading{margin-bottom:17px}.auth-form{gap:11px}.auth-form label{font-size:14px}.auth-switch{margin-top:20px}.auth-form .button{min-height:49px;font-size:17px}.auth-back{width:44px;height:44px}}
@media(max-width:400px){.welcome-page{padding:7px}.welcome-brand{height:57px}.brand-crop{width:183px}.welcome-content{padding:12px 17px 20px}.welcome-content h1{font-size:29px}.welcome-subtitle{font-size:16px;margin:9px 0 16px}.welcome-features{margin-top:19px}.feature-icon{height:44px;width:49px;font-size:27px}.auth-page{padding:7px}.auth-body{padding:0 18px 18px}.auth-heading h1{font-size:29px}.auth-form{gap:10px}.auth-field input,.auth-field select{height:45px}.auth-form label{gap:5px}.auth-form .button{min-height:48px}.auth-switch{margin-top:17px;padding-top:14px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover,.button:active{transform:none}}

/* Keep the approved illustrated icons crisp even on devices without emoji fonts. */
.feature-icon{position:relative;overflow:hidden;aspect-ratio:78/64;height:auto!important;filter:none}.feature-icon img{position:absolute;width:1969.231%;height:auto;max-width:none;top:-1357.8125%}.feature-book img{left:-383.3333%}.feature-game img{left:-578.2051%}.feature-steps img{left:-773.0769%}.brand-crop{mix-blend-mode:multiply}

.button-primary{font-size:19px!important;font-weight:800;background:linear-gradient(120deg,#ed6900,#ed5c00)}

/* Native wordmark keeps the illustrated masthead seamless at every screen size. */
.welcome-brand .brand-crop{display:flex;align-items:center;gap:7px;width:auto;aspect-ratio:auto;overflow:visible;mix-blend-mode:normal;text-decoration:none}.brand-avatar{position:relative;display:block;width:64px;aspect-ratio:76/78;overflow:hidden;border-radius:50%;flex-shrink:0}.welcome-brand .brand-avatar img{position:absolute;width:2021.053%;height:auto;max-width:none;left:-368.421%;top:-102.564%}.brand-wordmark{display:grid;line-height:1.05;letter-spacing:-.8px;font-weight:850}.brand-wordmark strong{font-size:28px;color:#153c83}.brand-wordmark span{font-size:26px;color:#e75b00}@media(max-width:700px){.brand-avatar{width:49px}.brand-wordmark strong{font-size:24px}.brand-wordmark span{font-size:22px}}@media(max-width:400px){.brand-avatar{width:44px}.brand-wordmark strong{font-size:22px}.brand-wordmark span{font-size:20px}}
