.accountDialog{width:min(680px,calc(100vw - 28px));max-height:min(85vh,760px);overflow:auto;border:1px solid var(--line2);border-radius:18px;padding:22px;background:var(--panel);color:var(--text);box-shadow:0 24px 65px rgba(0,0,0,.3)}
.accountDialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}.accountDialog h2{font:32px Georgia,serif;margin:0 42px 12px 0}.accountDialog p{color:var(--muted)}.dialogClose{float:right;border:0;background:transparent;color:var(--text);font-size:28px;cursor:pointer}
.accountActions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.accountActions .btn.warn{color:var(--danger)}.accountError{padding:10px 12px;border:1px solid var(--danger);border-radius:10px;color:var(--danger)!important}.accountMessage{padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.conflictCard{border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0}.conflictCard h3{overflow-wrap:anywhere}.conflictCard pre{max-height:180px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:10px;background:var(--bg2);border-radius:8px}
.academySyncControls{position:fixed;right:14px;bottom:14px;z-index:180;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line2);border-radius:14px;background:var(--panel);box-shadow:0 8px 30px rgba(0,0,0,.25)}
.academySyncControls span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:normal;color:var(--muted);font-size:12px}
@media(max-width:650px){.academySyncControls{right:8px;bottom:8px;max-width:calc(100vw - 16px)}.academySyncControls span{max-width:180px}}

/* Keep a visible route from every Academy page to the public website. */
.academyMainSite{border-bottom:1px solid var(--line);background:var(--bg)}
.academyMainSite .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;padding-block:8px}
.academyMainSite a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:13px;text-decoration:none}
.academyMainSite a:first-child{color:var(--accent);font-weight:700}
.academyMainSite a:hover{text-decoration:underline}

/* Leave room to reach lesson navigation below the floating progress controls. */
body:has(.academySyncControls){padding-bottom:110px}
