:root{color-scheme:light;font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif;color:#34463c;background:#f7faf2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:35px 20px;background:radial-gradient(ellipse at 10% 20%,#e9f1db 0,transparent 48%),radial-gradient(ellipse at 90% 80%,#f4e7f8 0,transparent 45%),#fafbf6}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.login-layout{width:100%;max-width:960px;display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:center}.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:23px;letter-spacing:-.8px;margin-bottom:50px}.brand-mark{display:grid;place-items:center;background:#e7edfa;color:#7260b5;border-radius:12px;width:38px;height:38px;font-size:22px}.brand em{font-style:normal;color:#6c5bad}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#879875;margin-bottom:16px}.welcome h1{font-size:43px;line-height:1.15;letter-spacing:-1.4px;font-weight:800;margin:0 0 20px;max-width:420px}.welcome h1 span{color:#6b5baa}.welcome p{font-size:15px;line-height:1.7;max-width:390px;color:#7c8878;margin:0}.companions{display:flex;gap:16px;margin:35px 0 0;align-items:flex-end}.companion{display:flex;flex-direction:column;align-items:center;gap:11px;font-size:12px;color:#8b8496}.companion-art{width:105px;height:105px;border-radius:27px;display:grid;place-items:center;background:#efebfa;transform:rotate(-5deg)}.companion:nth-child(2) .companion-art{background:#ecf2df;transform:translateY(-12px) rotate(4deg)}.companion:nth-child(3) .companion-art{background:#fae8f5;transform:rotate(-3deg)}.companion-art img{width:90px;height:90px;object-fit:contain}.companion:nth-child(2) span{transform:translateY(-12px)}.login-card{background:#fff;border:1px solid #e5eadf;border-radius:28px;padding:36px;box-shadow:0 12px 55px #40503a08}.card-lock{width:45px;height:45px;border-radius:14px;background:#f1edfa;color:#7c68b5;display:grid;place-items:center;margin-bottom:22px}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-card h2{font-size:27px;letter-spacing:-.6px;margin:0 0 9px}.intro{font-size:13px;line-height:1.65;color:#8e9290;margin:0 0 28px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}.field label{font-size:12px;font-weight:700;color:#636f62}.field input{width:100%;min-width:0;border:1.5px solid #e1e7db;border-radius:12px;background:#fbfcf9;color:#354a3c;padding:14px 15px;font-size:16px;min-height:49px;outline-offset:3px}.field input::placeholder{color:#abb3a7;font-size:13px}.field input:focus{border-color:#8e7dc2;outline:2px solid #ece4fa}.field input[aria-invalid=true]{border-color:#d99d8a}.password-wrap{position:relative}.password-wrap input{padding-right:52px}.show-password{position:absolute;right:6px;top:5px;bottom:5px;min-width:39px;display:grid;place-items:center;background:transparent;color:#9b91af;border:0;border-radius:8px}.show-password:hover{background:#f0ecf8}.show-password .icon{width:19px;height:19px}.enter{border:0;min-height:49px;border-radius:12px;width:100%;background:#2d7e60;color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;font-size:14px;margin-top:9px;transition:background .15s}.enter:hover{background:#23664c}.enter:disabled{background:#8ba99a;cursor:wait}.enter .icon{width:19px;height:19px}button:focus-visible{outline:3px solid #b1a1d7;outline-offset:4px}.error{padding:13px 15px;margin:0 0 17px;background:#fff2e8;color:#a56847;border:1px solid #f2d9c4;border-radius:11px;font-size:12px;line-height:1.7}.error[hidden]{display:none}.card-note{font-size:11px;line-height:1.8;color:#a2a59f;margin:21px 0 0;text-align:center}.footnote{grid-column:1/-1;text-align:center;font-size:11px;color:#a0a596;margin-top:0;line-height:1.8}.footnote strong{font-weight:500;color:#89937e}noscript{font-size:14px;color:#9b583c}.session-exit{font-size:12px}
@media(max-width:800px){.login-layout{max-width:430px;grid-template-columns:1fr;gap:25px}.welcome{text-align:center}.brand{justify-content:center;margin-bottom:26px;font-size:21px}.welcome h1{font-size:32px;margin:0 auto 13px;max-width:360px}.welcome p{font-size:13px;max-width:360px;margin:auto}.eyebrow{font-size:9px;margin-bottom:12px}.companions{justify-content:center;gap:15px;margin-top:25px}.companion-art{width:77px;height:77px;border-radius:21px}.companion-art img{width:68px;height:68px}.companion{font-size:10px;gap:7px}.companion:nth-child(2) .companion-art{transform:translateY(-7px) rotate(4deg)}.companion:nth-child(2) span{transform:translateY(-7px)}.login-card{padding:29px 28px;border-radius:24px}.card-lock{display:none}.login-card h2{font-size:24px}.intro{margin-bottom:23px}.footnote{font-size:10px;margin-top:0}body{padding:26px 18px}.login-layout{gap:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.login-languages{position:absolute;top:22px;right:25px;display:flex;gap:6px;z-index:2}.login-languages button{border:1px solid #dce8df;background:#ffffffc9;color:#496553;border-radius:10px;padding:9px 13px;min-height:40px;font:600 12px system-ui;cursor:pointer}.login-languages button[aria-pressed="true"]{background:#287c60;color:white;border-color:#287c60}.companions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.companion{min-width:0}.companion-art img{width:74px;height:80px}.companion-art{width:86px;height:94px}.login-layout{padding-top:85px}@media(max-width:700px){.login-languages{top:15px;right:16px}.companions{max-width:400px;margin:auto}.companion-art{width:68px;height:76px}.companion-art img{width:62px;height:69px}.login-layout{padding-top:85px}}

.companions { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:340px; }
.companion-art { width:86px; height:88px; }
.companion-elephant { background:#e1eee7; } .companion-crocodile { background:#e7efd9; } .companion-giraffe { background:#f7edcf; } .companion-cat { background:#f5e1d5; } .companion-dog { background:#e1edf8; }
.login-languages { flex-wrap:wrap; max-width:calc(100% - 32px); }
@media(max-width:800px) { .companions { margin:24px auto 0; max-width:300px; } .companion-art { width:72px; height:76px; } .companion-art img { width:66px; height:70px; } }

.brand-mark{object-fit:contain;width:48px;height:48px;border-radius:12px}.companion-dragon{background:#e0f2eb}

.language-flag{display:inline-flex;width:24px;height:16px;flex:none;overflow:hidden;border-radius:2px}.language-flag svg{display:block;width:24px;height:16px}.login-languages button,.languages button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
