.auth-page{--ink:#0b2941;--muted:#5d6e7c;--line:#d5e0e8;--paper:#fff8ee;background:radial-gradient(circle at 6% 0, #ffe7a3 0, transparent 200px), radial-gradient(circle at 100% 8%, #d4e8ff 0, transparent 240px), var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-lexend), system-ui, sans-serif;position:relative;overflow-x:clip}.auth-page a{color:inherit;text-decoration:none}.auth-page a:hover{text-underline-offset:3px;text-decoration:underline}.auth-page :focus-visible{outline-offset:3px;outline:3px solid #b48e0f}.auth-header,.auth-stage{z-index:1;width:min(1120px,100% - 64px);margin-inline:auto;position:relative}.auth-header{justify-content:space-between;align-items:center;gap:20px;min-height:92px;display:flex}.auth-header a:hover{text-decoration:none}.auth-header .pathway-brand{color:var(--ink);font-size:20px}.auth-switch{align-items:center;gap:10px;margin:0;font-size:14px;display:flex}.auth-switch span{color:var(--muted)}.auth-switch a,.auth-quiet{color:var(--ink);font-weight:600}.auth-quiet{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.auth-quiet:hover{text-underline-offset:3px;text-decoration:underline}.auth-stage{grid-template-columns:minmax(0,1.1fr) minmax(300px,420px);align-items:start;gap:40px 56px;padding-bottom:72px;display:grid}.auth-stage-solo{grid-template-columns:minmax(0,420px);justify-content:center}.auth-art{padding-top:8px}.auth-art .pathway-journeyArt{width:100%;max-width:540px;height:min(520px,68vh);margin:0}.auth-kids{width:100%;max-width:540px}.auth-kids-illustration{object-fit:contain;mix-blend-mode:multiply;width:100%;height:min(480px,64vh);display:block}.auth-panel h1{font-family:var(--font-fredoka), system-ui, sans-serif;letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.1rem,4vw,2.75rem);font-weight:600;line-height:1.12}.auth-mark{color:#e3a31a;width:92px;height:18px;margin-top:8px;display:block}.auth-mark path{stroke-dasharray:140;stroke-dashoffset:140px}.auth-subtitle{max-width:38ch;color:var(--muted);margin:14px 0 28px;font-size:15px;line-height:1.6}.auth-form{gap:16px;display:grid}.auth-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-form label span{margin-bottom:6px;display:block}.auth-panel label,.auth-form label{color:var(--ink);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.auth-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-label-row label{margin-bottom:6px}.auth-label-row a{color:var(--muted);white-space:nowrap;margin-bottom:6px;font-size:13px;font-weight:600}.auth-form .auth-quiet{justify-self:center}.auth-panel input,.auth-panel [data-slot=input-group]{border:1.5px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border-radius:14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.auth-panel input{padding:0 14px}.auth-panel input::placeholder{color:#8aa0b0}.auth-panel input:hover,.auth-panel [data-slot=input-group]:hover{border-color:#9eb4c6}.auth-panel input:focus,.auth-panel [data-slot=input-group]:focus-within{border-color:var(--ink);outline:none;box-shadow:0 0 0 4px #0b294114}.auth-panel input[aria-invalid=true]{border-color:#b76154}.auth-code{text-transform:uppercase;letter-spacing:.16em}.auth-pin{letter-spacing:.4em;text-align:center}.auth-panel [data-slot=input-group]{height:auto}.auth-panel [data-slot=input-group] input{min-height:0;box-shadow:none;background:0 0;border:0}.auth-password{position:relative}.auth-password input{padding-right:48px}.auth-password button{color:#6b8193;background:0 0;border:0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:6px;right:6px}.auth-password button:hover{color:var(--ink);background:#eef3f7}.auth-submit,.auth-kid button[type=submit]{color:#12324a;width:100%;min-height:52px;font-family:var(--font-fredoka), system-ui, sans-serif;cursor:pointer;background:#ffc83d;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;margin-top:4px;padding:12px 20px;font-size:1.15rem;font-weight:600;transition:background .15s,translate .15s,box-shadow .15s;display:flex;box-shadow:0 4px #d9a01a}.auth-submit svg,.auth-kid button[type=submit] svg{transition:transform .2s}.auth-submit:hover,.auth-kid button[type=submit]:hover{background:#ffd56a;text-decoration:none}.auth-submit:hover svg,.auth-kid button[type=submit]:hover svg{transform:translate(3px)}.auth-submit:active,.auth-kid button[type=submit]:active{translate:0 2px;box-shadow:0 2px #d9a01a}.auth-submit:disabled,.auth-kid button[type=submit]:disabled{opacity:.65;cursor:wait;translate:none}.auth-error{color:#a44338;margin:6px 0 0;font-size:13px}.auth-server-error,.auth-panel [role=alert]{color:#a44338;background:#fff5f2;border:1px solid #edc9c3;border-radius:12px;margin:0;padding:12px 14px;font-size:13px;line-height:1.45}.auth-optional{border-top:1px solid var(--line);padding-top:4px}.auth-optional summary{color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:600;list-style:none;display:flex}.auth-optional summary::-webkit-details-marker{display:none}.auth-optional small{color:var(--muted);margin-left:6px;font-size:12px;font-weight:500}.auth-optional[open] summary{margin-bottom:12px}.auth-optional[open] summary>svg{rotate:180deg}.auth-form-note,.auth-panel>p:last-child{color:var(--muted);text-align:center;margin:18px 0 0;font-size:14px;line-height:1.5}.auth-form .auth-form-note{text-align:left;margin-top:8px}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:18px 0 14px;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-google{position:relative}.auth-google-face{border:1.5px solid var(--line);width:100%;min-height:48px;color:var(--ink);pointer-events:none;background:#fff;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:15px;font-weight:600;display:flex}.auth-google:hover .auth-google-face{background:#fffdf8;border-color:#9eb4c6}.auth-google:focus-within .auth-google-face{border-color:var(--ink);box-shadow:0 0 0 4px #0b294114}.auth-google[aria-busy=true]{pointer-events:none;opacity:.65}.auth-google-gis{opacity:0;position:absolute;inset:0;overflow:hidden}.auth-spinner{animation:1s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-kid .auth-panel h1{font-size:clamp(2.4rem,6vw,3.1rem)}.auth-kid .auth-subtitle{font-size:1.05rem}.auth-kid .auth-panel input{border-width:2px;border-radius:16px;min-height:56px;font-size:1.15rem}@media (max-width:980px){.auth-stage{grid-template-columns:minmax(0,440px);justify-content:center;width:min(440px,100% - 40px)}.auth-header{width:min(440px,100% - 40px);min-height:76px}.auth-art{display:none}.auth-kid .auth-art{display:block}.auth-kid .auth-kids-illustration{height:210px}.auth-switch span{display:none}}@media (max-width:640px){.auth-panel h1{font-size:1.5rem}.auth-subtitle{font-size:14px}.auth-form label,.auth-panel label,.auth-form-note{font-size:13px}.auth-kid .auth-panel h1{font-size:clamp(1.75rem,7vw,2.1rem)}.auth-kid .auth-subtitle{font-size:.95rem}}@media (prefers-reduced-motion:no-preference){.auth-mark path{animation:.55s cubic-bezier(.22,1,.36,1) .18s both auth-draw}.auth-art .pathway-journeyArt,.auth-art .pathway-journeyLabel,.auth-art .pathway-journeyNote{animation:.5s cubic-bezier(.22,1,.36,1) both auth-arrive}.auth-art .pathway-learningLabel{animation-delay:60ms}.auth-art .pathway-faithLabel{animation-delay:.12s}.auth-art .pathway-socialLabel{animation-delay:.18s}.auth-art .pathway-journeyNote{animation-delay:.24s}.auth-art .pathway-landscape path[stroke-dasharray]{animation:9s linear infinite auth-walk}.auth-kids .kid{animation:.55s cubic-bezier(.22,1,.36,1) both auth-arrive}.auth-kids .kid:nth-of-type(2){animation-delay:80ms}.auth-kids .kid:nth-of-type(3){animation-delay:.16s}.auth-kids .kid-wave{transform-box:fill-box;transform-origin:0 100%;animation:1.4s ease-in-out .4s infinite kid-wave}.auth-kids .kid-sun{transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.22,1,.36,1) both auth-arrive}}@keyframes kid-wave{0%,to{rotate:-8deg}50%{rotate:10deg}}@keyframes auth-arrive{0%{opacity:0;translate:0 14px}to{opacity:1;translate:none}}@keyframes auth-draw{to{stroke-dashoffset:0}}@keyframes auth-walk{to{stroke-dashoffset:-84px}}@media (prefers-reduced-motion:reduce){.auth-page *,.auth-page :before,.auth-page :after{transition:none!important;animation:none!important}.auth-mark path{stroke-dashoffset:0}.auth-submit:active,.auth-kid button[type=submit]:active{translate:none}}
