/* V70: existing navigation, one restrained shared active-item motion. */
[data-floating-nav]{isolation:isolate;--floating-nav-item-radius:999px}
.public-nav[data-floating-nav]{position:relative}
.floating-nav-indicator{
 position:absolute;top:0;left:0;z-index:-1;pointer-events:none;border-radius:var(--floating-nav-item-radius);
 background:#E9EFF9;transition:transform 220ms cubic-bezier(.16,1,.3,1),width 220ms cubic-bezier(.16,1,.3,1),height 220ms cubic-bezier(.16,1,.3,1);
}
.floating-nav-indicator[data-positioned="false"]{transition:none}
[data-floating-nav][data-floating-ready="true"]>[aria-current]{color:#2455D6;background:transparent}
[data-floating-nav]>a,[data-floating-nav]>button{position:relative}
.public-site .public-header{
 position:sticky;top:max(12px,env(safe-area-inset-top,0px));z-index:20;
 width:min(1280px,calc(100% - 32px));margin:16px auto 24px;
 border:0;border-radius:30px;background:#FFF;box-shadow:0 8px 32px #00000012;
 transform-origin:50% 0;transition:transform 220ms cubic-bezier(.16,1,.3,1),background-color 180ms ease;
}
.public-site .public-header-inner{position:relative;padding:12px 18px;gap:18px;max-width:none}
.public-site .public-brand{font-size:21px;gap:9px;min-height:44px}
.public-site .public-brand img{width:30px;height:30px}
.public-site .public-nav{flex-wrap:nowrap;gap:2px;margin-left:auto;min-width:0}
.public-site .public-nav a{justify-content:center;padding:10px;min-height:46px;line-height:1.4;border-radius:var(--floating-nav-item-radius);font-size:16px;white-space:nowrap;color:#3D4F65}
.public-site .public-nav-more{position:relative;flex-shrink:0}
.public-site .public-nav-more>summary{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:46px;padding:10px 8px;border-radius:var(--floating-nav-item-radius);font-size:16px;color:#3D4F65;cursor:pointer;list-style:none;white-space:nowrap}
.public-site .public-nav-more>summary::-webkit-details-marker{display:none}
.public-site .public-nav-more>summary:hover{background:#E9EFF9}
.public-site .public-nav-more>summary:focus-visible{outline:3px solid #2455D6;outline-offset:3px}
.public-site .public-nav-more[open]>summary{background:#E9EFF9;color:#2455D6}
.public-site .public-nav-more-content{position:absolute;top:calc(100% + 12px);right:0;width:360px;max-width:calc(100vw - 48px);padding:12px;border-radius:20px;background:#FFF;box-shadow:0 14px 28px #1923321a}
.public-site .public-nav-home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.public-site .public-nav-route-links,
html[data-client-surface="website"] .public-nav-route-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--theme-line,#D7E0EA)}
html[data-client-surface="website"] .public-nav-route-links .nav-link{justify-content:flex-start;min-height:44px;white-space:normal}
.public-site .public-nav-route-links a{justify-content:flex-start;min-height:44px;white-space:normal}
.public-site .public-nav-edges{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid #D7E0EA}
.public-site .public-nav-edges a{font-size:14px;min-height:44px}
.public-site .public-nav a:hover{background:#E9EFF9;color:#192332;text-decoration:none}
.public-site .public-nav[data-floating-ready="true"]>a[aria-current]{background:transparent;color:#2455D6}
.public-site .public-nav[data-floating-ready="true"]>a[aria-current]:hover,
.public-site .public-nav-more>summary[data-floating-current="true"]{background:transparent;color:#2455D6}
.public-site .public-header .public-nav[data-floating-ready] .public-nav-more>summary[data-floating-current="true"]{background:transparent;color:#2455D6}
.public-site .public-nav:not([data-floating-ready])>a[aria-current]{background:#E9EFF9;color:#2455D6}
.public-site .public-nav a:focus-visible{outline:3px solid #2455D6;outline-offset:3px}
/* The same header controls occur in SSR pages, the web store and the Mini App.
   Keep their keyboard ring local; legacy green focus elsewhere is untouched. */
.public-site .public-header :is(a,button,summary):focus-visible,
.topbar :is(a,button,summary):focus-visible{outline:3px solid #2455D6;outline-offset:3px}
.public-site .public-header :is(a,button,summary):focus:not(:focus-visible),
.topbar :is(a,button,summary):focus:not(:focus-visible){outline:none}
/* website-shell.css loads later; retain readable blue text throughout the
   indicator transition, including the visible summary for a chapter in More. */
html[data-client-surface="website"] .topbar .desktop-nav[data-floating-ready]>.nav-link[aria-current],
html[data-client-surface="website"] .topbar .desktop-nav[data-floating-ready]>.nav-link[aria-current]:hover,
html[data-client-surface="website"] .topbar .public-nav-more>summary[data-floating-current="true"]{background:transparent;color:#2455D6}
html[data-client-surface="website"] .topbar .desktop-nav .nav-link,
html[data-client-surface="website"] .topbar .public-nav-more>summary{border-radius:var(--floating-nav-item-radius)}
.public-site .public-login{min-height:46px;padding:10px 18px;border-radius:999px;background:#F3F6FA}
.public-site .public-header[data-floating-compact="true"]{background:#FFFFFFED}
.public-site .public-header[data-floating-hidden="true"]:not(:focus-within){transform:translateY(calc(-100% - 36px))}
.public-site .skip-link:focus{z-index:100}
html:has(.public-header[data-floating-surface]){scroll-padding-top:var(--floating-header-height,120px)}
.public-site #program,.public-site #materials-demo,.public-site #main-content{scroll-margin-top:24px}
@supports(backdrop-filter:blur(12px)){
 .public-site .public-header[data-floating-compact="true"]{backdrop-filter:blur(16px)}
}
@media(max-width:1279px) and (min-width:961px){
 .public-site .public-header-inner{gap:10px;padding-inline:12px}
 .public-site .public-nav a{padding-inline:6px}
 .public-site .public-brand{font-size:19px}
 .public-site .public-login{padding-inline:14px}
}
@media(max-width:960px){
 .public-site .public-header{width:calc(100% - 24px);margin-top:12px;margin-bottom:18px;border-radius:27px}
 .public-site .public-header-inner{padding:9px 12px;gap:8px;flex-wrap:wrap}
 .public-site .public-brand{margin-right:auto;font-size:18px;gap:7px}
 .public-site .public-nav-toggle{min-height:44px;padding:9px 12px;border-radius:999px;font-size:16px}
 .public-site .public-login{min-height:44px;padding:9px 13px!important;font-size:16px}
 .public-site .public-nav,.public-site .public-header[data-nav-enhanced="true"] .public-nav{
  position:absolute;left:0;right:0;top:calc(100% + 8px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;margin:0;gap:4px;padding:12px;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;
  border:0;border-radius:20px;background:#FFF;box-shadow:0 14px 28px #1923321a;
 }
 .public-site .public-header:not([data-nav-enhanced]) .public-nav{display:none!important}
 .public-site .public-header:not([data-nav-enhanced]) .public-nav-toggle[hidden]{display:inline-flex!important;align-items:center;justify-content:center}
 .public-site .public-nav a{min-height:48px;padding:10px 8px;white-space:normal;justify-content:flex-start}
 .public-site .public-nav-more{grid-column:1/-1;width:100%}
 .public-site .public-nav-more>summary{display:none}
 .public-site .public-nav-more-content{position:static;width:100%;max-width:none;padding:0;border-radius:0;background:transparent;box-shadow:none}
 .public-site .public-nav-home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;flex-basis:100%;width:100%;gap:4px;margin-top:4px;padding-top:8px;border-top:1px solid #D7E0EA}
 .public-site .public-nav-home-links a{color:#485d76;font-size:16px}
 .public-site .public-nav-edges{display:flex;grid-column:1/-1;flex-basis:100%;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:4px;padding-top:8px;border-top:1px solid #D7E0EA}
 .public-site .public-nav-edges a{font-size:14px;color:#485d76;min-height:44px}
 .public-site .public-header:not([data-nav-enhanced]) .public-nav{flex-wrap:wrap}
 .public-site .public-header[data-floating-hidden="true"]:not(:focus-within){transform:translateY(calc(-100% - 36px))}
}
@media(max-width:359px){
 .public-site .public-header-inner{padding-inline:9px;gap:6px}
 .public-site .public-brand{font-size:16px;gap:5px}
 .public-site .public-brand img{width:25px;height:25px}
 .public-site .public-nav-toggle{padding-inline:9px!important}
 .public-site .public-login{padding-inline:10px!important}
}
@media(max-width:760px){
 /* The full outer box includes the floating gap + safe area, so the existing
    ResizeObserver reserve still protects footer, consent and toast controls. */
 #mobile-nav[data-floating-ready="true"]{
  position:fixed;
  --floating-nav-item-radius:23px;
  --floating-bottom-safe:max(env(safe-area-inset-bottom,0px),var(--telegram-safe-bottom,0px),var(--telegram-content-bottom,0px));
  background:transparent;border:0;box-shadow:none;z-index:20;
  pointer-events:none;
  padding:12px 16px calc(14px + var(--floating-bottom-safe));gap:3px;grid-template-columns:repeat(5,minmax(0,1fr));
  transition:transform 220ms cubic-bezier(.16,1,.3,1);
 }
 #mobile-nav[data-floating-ready="true"]::before{
  content:"";position:absolute;inset:6px 10px calc(8px + var(--floating-bottom-safe));
  z-index:-2;background:#FFF;border-radius:30px;box-shadow:0 8px 30px #00000026;
 }
 #mobile-nav[data-floating-ready="true"] .nav-link{pointer-events:auto;min-height:64px;padding:7px 3px;gap:5px;border-radius:var(--floating-nav-item-radius);font-size:14px;color:#3D4F65}
 #mobile-nav[data-floating-ready="true"] .nav-link.active{color:#2455D6;background:transparent}
 #mobile-nav[data-floating-ready="true"] .nav-link:hover{background:#E9EFF9;color:#192332}
 #mobile-nav[data-floating-ready="true"] .nav-link.active:hover{background:transparent;color:#2455D6}
 #mobile-nav[data-floating-ready="true"] .nav-link:focus-visible{outline:3px solid #2455D6;outline-offset:2px}
 #mobile-nav .floating-nav-indicator{border-radius:var(--floating-nav-item-radius)}
 #mobile-nav[data-floating-hidden="true"]:not(:focus-within){transform:translateY(110%)}
 #mobile-nav[data-floating-compact="true"]::before{background:#FFFFFFED}
 html[data-telegram-app="true"] #mobile-nav[data-floating-ready="true"]{--floating-bottom-safe:var(--app-safe-bottom)}
}
@supports(backdrop-filter:blur(12px)){
 #mobile-nav[data-floating-compact="true"]::before{backdrop-filter:blur(14px)}
}
@media(max-width:390px){
 #mobile-nav[data-floating-ready="true"]{padding-inline:10px;gap:1px}
 #mobile-nav[data-floating-ready="true"] .nav-link{padding-inline:0;font-weight:500}
 #mobile-nav[data-floating-ready="true"] .nav-link span{white-space:nowrap;overflow-wrap:normal;word-break:normal}
}
@media(prefers-reduced-motion:reduce){
 .public-site .public-header,#mobile-nav[data-floating-ready="true"],.floating-nav-indicator{transition:none!important}
 .public-site .public-header[data-floating-compact="true"]{transform:none}
}

/* V85: one stable website header on SSR pages and the authenticated store.
   These selectors deliberately outrank the later website-shell stylesheet;
   the Mini App's own topbar and floating bottom navigation are not included. */
.public-site .public-header[data-floating-surface="top"],
html[data-client-surface="website"] body .topbar{
 min-height:76px;height:auto;background:#FFF;transition:none;transform:none;
}
.public-site .public-header .public-header-inner{
 min-height:76px;box-sizing:border-box;padding:12px 18px;gap:18px;flex-wrap:nowrap;
}
html[data-client-surface="website"] body .topbar{
 box-sizing:border-box;padding:12px 18px;gap:18px;flex-wrap:nowrap;
}
.public-site .public-header[data-floating-surface="top"][data-floating-hidden],
html[data-client-surface="website"] body .topbar[data-floating-surface="top"][data-floating-hidden]{transform:none}
.public-site .public-header[data-floating-surface="top"][data-floating-compact],
html[data-client-surface="website"] body .topbar[data-floating-surface="top"][data-floating-compact]{background:#FFF;backdrop-filter:none}
.public-site .public-header .floating-nav-indicator,
html[data-client-surface="website"] body .topbar .floating-nav-indicator{transition:none}
.public-site .public-header .public-brand,
html[data-client-surface="website"] body .topbar .mobile-brand{flex-shrink:0;white-space:nowrap}
.public-site .public-header .public-nav-toggle,
html[data-client-surface="website"] body .topbar .website-nav-toggle{line-height:1.5;min-height:44px}
.public-site .public-header .public-login,
html[data-client-surface="website"]:not([data-client-signed-in="true"]) body .topbar .account{padding:10px 16px;min-height:46px}
html[data-client-surface="website"]:not([data-client-signed-in="true"]) body .topbar .account-avatar{display:none}
.public-site .public-header .public-nav-more>summary>svg{display:none}
.public-site .public-header .public-nav-more>summary::after,
html[data-client-surface="website"] body .topbar .public-nav-more>summary::after{
 content:"";width:7px;height:7px;flex-shrink:0;margin:-4px 4px 0;
 border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);
}
.public-site .public-header .public-nav-more[open]>summary::after,
html[data-client-surface="website"] body .topbar .public-nav-more[open]>summary::after{margin-top:4px;transform:rotate(225deg)}
.public-site .public-header .public-nav a[aria-current]:not([aria-current="false"]),
html[data-client-surface="website"] body .topbar .desktop-nav a[aria-current]:not([aria-current="false"]){color:#2455D6}
.public-site .public-header .public-nav-more:has(a[aria-current]):not([open])>summary,
html[data-client-surface="website"] body .topbar .public-nav-more:has(a[aria-current]):not([open])>summary{color:#2455D6;font-weight:500}
html[data-client-surface="website"]{scroll-padding-top:var(--floating-header-height,120px)}
@media(max-width:1279px) and (min-width:961px){
 .public-site .public-header .public-header-inner,
 html[data-client-surface="website"] body .topbar{padding:12px;gap:10px}
}
@media(max-width:960px){
 .public-site .public-header[data-floating-surface="top"],
 html[data-client-surface="website"] body .topbar{min-height:62px}
 .public-site .public-header .public-header-inner,
 html[data-client-surface="website"] body .topbar{min-height:62px;padding:9px 12px;gap:8px;flex-wrap:nowrap}
 .public-site .public-header .public-login,
 html[data-client-surface="website"]:not([data-client-signed-in="true"]) body .topbar .account{min-height:44px;padding:9px 13px!important}
 .public-site .public-header .public-nav,
 html[data-client-surface="website"] body .topbar .desktop-nav{box-sizing:border-box}
 .public-site .public-header .public-nav a,
 html[data-client-surface="website"] body .topbar .desktop-nav .nav-link{border-radius:12px}
 .public-site .public-header .public-nav-more-content,
 html[data-client-surface="website"] body .topbar .public-nav-more-content{position:static}
 .public-site .public-header .public-nav-more summary[data-floating-current],
 html[data-client-surface="website"] body .topbar .public-nav-more summary[data-floating-current]{font-weight:500}
}
@media(max-width:390px){
 .public-site .public-header .public-header-inner,
 html[data-client-surface="website"] body .topbar{padding:9px;gap:6px}
 .public-site .public-header .public-brand,
 html[data-client-surface="website"] body .topbar .mobile-brand{font-size:16px;gap:5px}
 .public-site .public-header .public-brand img,
 html[data-client-surface="website"] body .topbar .mobile-brand img{width:25px;height:25px}
}

/* V143: document navigation is display-only; the stored legal text is intact. */
.public-site .legal-page .legal-toc-v143{margin-block:24px 28px;padding:16px 18px;border:1px solid var(--theme-line,#D7E0EA);border-radius:16px;background:var(--theme-surface,#fff)}
.public-site .legal-page .legal-toc-v143>p{margin:0 0 8px;font-size:16px;line-height:1.5;font-weight:650}
.public-site .legal-page .legal-toc-v143 nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0}
.public-site .legal-page .legal-toc-v143 a{display:flex;align-items:center;min-height:44px;padding:7px 0;line-height:1.4;text-decoration:none;text-wrap:pretty}
.public-site .legal-page .legal-toc-v143 a:hover{text-decoration:underline}
.public-site .legal-page :is(h2,h3)[id]{scroll-margin-top:calc(var(--floating-header-height,100px) + 20px)}
@media(max-width:550px){
 .public-site .legal-page .legal-toc-v143{padding:14px 16px;margin-block:20px 24px}
 .public-site .legal-page .legal-toc-v143 nav{grid-template-columns:minmax(0,1fr)}
}
@media print{.public-site .legal-page .legal-toc-v143{display:none}}
/* Public documents keep the text in reach: the brand already returns home.
   Native horizontal document/section links retain full titles and focus. */
.public-site .legal-page .legal-back{display:none}
.public-site .legal-page>header>nav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:16px;padding-block:4px;overscroll-behavior-x:contain;scrollbar-width:thin}
.public-site .legal-page>header>nav>a{flex:0 0 auto;max-width:230px;min-height:44px;line-height:1.4;white-space:normal}
@media(max-width:550px){
 .public-site .legal-page>header{padding-bottom:16px}
 .public-site .legal-page>header>nav{margin-top:12px}
 .public-site .legal-page .legal-toc-v143 nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:230px;overflow-x:auto;gap:12px;max-width:100%;padding-bottom:8px;overscroll-behavior-x:contain;scrollbar-width:thin}
 .public-site .legal-page .legal-toc-v143 a{align-items:flex-start;min-height:44px;padding:8px 0;overflow-wrap:anywhere}
}
