.account-gate{min-height:100dvh;display:grid;place-items:center;padding:32px 18px;background:radial-gradient(ellipse at top,#e8efdb,transparent 60%),#faf9f5}.account-card{width:min(100%,480px);padding:32px;border:1px solid #e0e6d8;border-radius:28px;background:#fffefa;box-shadow:0 20px 60px #425f3b0d}.account-card>img{width:64px;height:64px}.account-card h1{font-size:26px;line-height:1.4;margin:12px 0}.account-card p{color:#536657;line-height:1.7}.account-card form,.account-panel form{display:grid;gap:10px}.account-card label,.account-panel label{margin-top:10px;color:#334c3b;font-weight:650}.account-card input,.account-panel input{width:100%;min-height:46px;border:1px solid #a6b6a2;border-radius:12px;padding:11px 13px;background:#fff;font:inherit;box-sizing:border-box}.account-card small{color:#536657;line-height:1.5}.account-card .primary{margin-top:8px;min-height:52px}.account-card .bi-secondary,.account-panel .bi-secondary,.account-sync .bi-secondary,.account-recovery .bi-secondary{font-size:13px;line-height:1.5;color:inherit}.account-links{display:flex;gap:16px;justify-content:space-between;margin:20px 0;flex-wrap:wrap}.account-links button{background:none;border:none;color:#376b4b;text-align:left;padding:8px 0;min-height:44px;font:inherit}.account-note{font-size:13px}.account-error{color:#983d28;line-height:1.6}.account-error:empty{display:none}.account-panel{margin-bottom:22px}.account-panel form{max-width:460px}.account-panel form button{justify-self:start;margin:8px 0}.account-panel details{margin:20px 0}.account-panel summary{cursor:pointer;min-height:44px}.account-panel>button{margin-top:18px}.account-migration{padding:18px;border-radius:16px;background:#f4eedf;margin:20px 0}.account-recovery{margin:0 auto 24px;max-width:620px;border:2px solid #bf873b}.account-recovery code{display:block;overflow-wrap:anywhere;font-size:19px;letter-spacing:1px;padding:16px;background:#f4eedf;border-radius:12px;margin-bottom:16px}.account-sync{padding:8px 0 16px;color:#526a54;font-size:13px}.account-sync.offline,.account-sync.conflict{padding:14px 18px;border-radius:14px;background:#fff0d8;color:#7a4a19;margin-bottom:16px}.account-sync>div{display:flex;gap:20px;flex-wrap:wrap}.account-chip{display:flex;align-items:center;gap:7px;border:1px solid #d9e3d4;border-radius:24px;padding:8px 12px;background:#f0f4ea;color:#345e43;max-width:180px;min-height:44px}.account-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-account-note{padding:10px;background:#f4eedf;border-radius:10px}.account-panel [role=status]{color:#375f43;padding-top:8px}@media(max-width:600px){.account-card{padding:24px 20px}.account-card h1{font-size:23px}.account-chip{max-width:120px;font-size:13px}.account-panel input{font-size:16px}}
dialog.account-recovery{box-sizing:border-box;width:min(560px,calc(100% - 32px));max-width:560px;max-height:calc(100dvh - 40px);margin:auto;padding:32px;border:1px solid #d9e2cf;border-radius:28px;background:#fffefa;color:#334c3b;box-shadow:0 28px 90px #182c3252;overflow:auto;text-align:left}
dialog.account-recovery::backdrop{background:#233a37a6;backdrop-filter:blur(5px)}
.account-recovery-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#edf2e4;font-size:28px}
.account-recovery-eyebrow{margin:18px 0 8px;color:#6d805d;font-size:12px;letter-spacing:1px;font-weight:700}
dialog.account-recovery h2{margin:0 0 12px;font-size:26px;line-height:1.4;outline:none}
dialog.account-recovery p{line-height:1.7}
#account-recovery-help{margin:0;color:#5b6c5c;font-size:15px}
.account-recovery-details{margin:22px 0 16px;padding:18px 20px;background:#f0f3e9;border:1px solid #e0e6d7;border-radius:16px}
.account-recovery-details>div+div{margin-top:16px}
.account-recovery-details dt{font-size:12px;font-weight:700;color:#68775e;margin-bottom:6px}
.account-recovery-details dd{margin:0;font-size:17px;font-weight:600;overflow-wrap:anywhere}
dialog.account-recovery code{display:block;margin:0;padding:0;border-radius:0;background:none;color:#304d37;font-size:19px;line-height:1.6;letter-spacing:1px;user-select:all;overflow-wrap:anywhere}
.account-recovery-note{margin:0 0 22px;color:#74624a;font-size:13px}
.account-recovery-actions{display:grid;gap:10px}
.account-recovery-actions button{width:100%;min-height:48px;justify-content:center;font-size:15px}
.account-recovery-status{margin:12px 0 0;color:#416b47;font-size:13px}
.account-recovery-status:empty{display:none}
@media(max-width:600px){dialog.account-recovery{padding:24px 20px;border-radius:22px}dialog.account-recovery h2{font-size:22px}.account-recovery-details{padding:16px}dialog.account-recovery code{font-size:17px}}
.account-panel{padding:20px;margin-bottom:18px;container-type:inline-size}
.account-panel-top{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(260px,1.15fr);gap:24px;align-items:center}
.account-identity{display:flex;gap:12px;align-items:center;min-width:0}.account-identity>div{min-width:0}.account-identity-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:14px;background:#edf2e6;font-size:26px}
.account-identity h2{font-size:16px;line-height:1.3;margin:0 0 5px}.account-identity p{margin:0;color:#6b7d70;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.account-panel .bi-label{gap:1px}.account-panel .bi-secondary{font-size:11px;line-height:1.3;color:#738377}.account-panel label{margin:0;font-size:13px;line-height:1.4}
.account-panel form{max-width:none;gap:6px}.account-profile-controls{display:flex;gap:8px;align-items:stretch}.account-panel input{min-width:0;min-height:46px;padding:10px 12px;border-color:#cedbcb;border-radius:10px;font-size:14px;line-height:1.4}.account-profile-controls input{flex:1;width:0}
.account-panel form button{margin:0;min-height:46px;padding:8px 16px;border-radius:10px;font-weight:600}.account-profile-controls button{flex-shrink:0;background:#edf4e9;border-color:#d6e3ce;color:#34694c;min-width:68px}.account-profile-controls button:hover{background:#e3efdc}
.account-panel-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;border-top:1px solid #edf0e8;margin-top:14px;padding-top:10px}
.account-panel .account-security{grid-area:1/1/auto/-1;min-width:0;margin:0}.account-security summary{display:flex;align-items:center;gap:8px;list-style:none;width:fit-content;max-width:49%;min-height:44px;padding:5px 0;font-size:13px;color:#526b59;border-radius:6px}.account-security summary::-webkit-details-marker{display:none}.account-security summary:focus-visible{outline:3px solid #dd9b50;outline-offset:3px}.account-security summary:hover{color:#287347}.account-action-icon{width:17px;height:17px;flex-shrink:0}.account-chevron{font-size:16px;transition:transform .15s}.account-security[open] .account-chevron{transform:rotate(180deg)}
.account-panel .account-logout{grid-area:1/2;justify-self:end;display:flex;gap:8px;align-items:center;min-height:44px;max-width:100%;padding:5px 0 5px 8px;border-radius:6px;font-size:13px;color:#7d675b;text-align:left}.account-logout:hover{color:#985638}.account-logout .bi-secondary{color:inherit}
.account-panel #account-password-form{margin-top:10px;padding:14px;border-radius:12px;background:#f7f9f4;gap:12px}.account-password-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.account-password-fields>div{display:grid;grid-template-rows:1fr auto;gap:7px;min-width:0}.account-password-fields label{display:block}.account-password-submit{display:flex;gap:12px;justify-content:space-between;align-items:center}.account-password-submit small{font-size:11px;color:#6c7d6c}
.account-panel .account-migration{padding:12px 14px;margin:12px 0 0;display:flex;gap:16px;align-items:center;font-size:12px}.account-panel .account-migration p{margin:0;flex:1;line-height:1.6}.account-migration button{flex-shrink:0}.account-panel #account-profile-message{padding-top:10px;font-size:13px;line-height:1.5}.account-panel #account-profile-message:empty{display:none}
@container(max-width:600px){.account-panel-top{grid-template-columns:1fr;gap:16px}.account-password-fields{grid-template-columns:1fr}.account-panel .account-migration{align-items:stretch;flex-direction:column;gap:10px}}
@media(max-width:650px){.account-panel{padding:16px}.account-panel-top{grid-template-columns:1fr;gap:16px}.account-panel input{font-size:16px}.account-password-fields{grid-template-columns:1fr}.account-panel #account-password-form{padding:12px}.account-password-submit{align-items:flex-start;flex-direction:column}.account-security summary{gap:6px}.account-logout .account-action-icon{display:none}}
.account-panel .account-email-settings{margin:10px 0 0;padding-top:10px;border-top:1px solid #edf0e8;font-size:13px;color:#526b59}
.account-email-settings summary{line-height:1.7;overflow-wrap:anywhere}.account-email-settings p{line-height:1.7}.account-email-settings [data-no-translate]{overflow-wrap:anywhere}
/* Completion sync feedback never takes space away from the learner's rewards. */
.account-sync-toast{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));z-index:110;display:flex;align-items:flex-start;gap:10px;width:max-content;max-width:min(360px,calc(100vw - 24px));padding:12px 14px;border:1px solid #c7dac4;border-radius:15px;background:#fffef9;color:#375c43;box-shadow:0 8px 30px #26452d1c;animation:account-toast-in .18s ease-out}
.account-sync-toast[hidden]{display:none}
.account-toast-symbol{display:grid;place-items:center;flex:0 0 25px;height:25px;background:#e8f2e1;border-radius:50%;font-size:16px;font-weight:750}
.account-toast-copy{min-width:0}
.account-toast-error:not(:empty){border-top:1px solid #e8dac1;margin-top:8px;padding-top:8px;font-size:12px;color:#983d28;line-height:1.5}
.account-sync-toast .account-sync{padding:0;margin:0;min-width:0;font-size:12px;line-height:1.5;background:none;color:inherit;border-radius:0}
.account-sync-toast .account-sync .bi-secondary{font-size:11px;color:#607664}
.account-sync-toast .account-sync>span+span{display:block;margin-top:8px}
.account-sync-toast .account-sync>div{gap:6px 14px;margin-top:8px}
.account-sync-toast .account-sync .text-button{min-height:44px;text-align:left}
.account-sync-toast:has(.offline),.account-sync-toast:has(.conflict){border-color:#e0c28d;color:#795222}
.account-sync-toast:has(.offline) .account-toast-symbol,.account-sync-toast:has(.conflict) .account-toast-symbol{background:#fff0d8}
.account-toast-close{display:grid;place-items:center;flex:0 0 44px;min-height:44px;margin:-8px -10px -8px 0;border-radius:9px;color:#617a60;font-size:21px}
.account-toast-close:hover{background:#eef4e8}
@keyframes account-toast-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:650px){.account-sync-toast{right:12px;padding:10px 12px;max-width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){.account-sync-toast{animation:none}}
.account-email-settings form{max-width:480px;gap:10px}.account-email-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#link-form[hidden],#reset-fields[hidden]{display:none}#reset-fields{display:grid;gap:10px}#link-status{margin-top:16px}.account-links a{color:#376b4b;min-height:44px;display:inline-flex;align-items:center}
