/* Shared navigation owns its geometry across every public route and auth state. */
html{scrollbar-gutter:stable}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
.portal-header{
 --header-height:88px;--header-gutter:48px;--header-gap:48px;
 position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-start;
 width:100%;max-width:none;height:var(--header-height);min-height:var(--header-height);
 flex:0 0 var(--header-height);margin:0;padding:0 var(--header-gutter);gap:var(--header-gap);
 border:0;background:transparent;box-sizing:border-box;
}
.portal-header .brand{display:inline-flex;align-items:center;flex-shrink:0;gap:10px;margin:0;padding:0;font-size:24px;line-height:1.2;color:#27344a}
.portal-header .brand img{display:block;width:32px;height:32px;flex:0 0 32px}
.portal-header .brand small{display:none}
.portal-header nav{display:flex;align-items:center;flex-shrink:0;width:auto;order:0;gap:36px;font-size:15px;line-height:1.5;color:#5f6d81}
.portal-header nav a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 0;border:0;font:inherit;font-weight:400;line-height:1.5;color:inherit;white-space:nowrap;text-decoration:none}
.portal-header nav a:hover,.portal-header nav a[aria-current="page"]{color:#4b5ecd}
.portal-header nav a:focus-visible,.portal-header .brand:focus-visible,.portal-return:focus-visible{outline:2px solid #758bc7;outline-offset:5px;border-radius:4px}
.portal-header nav a>span{font-size:inherit;margin:0}
.portal-header .portal-nav-icon{display:block;width:16px;height:16px;flex:0 0 16px}
.portal-header .portal-nav-arrow{display:block;width:11px;height:11px;flex:0 0 11px;color:#8d9bb0;margin-left:1px}
.portal-header nav small{display:inline-block;font-size:9px;letter-spacing:.04em;font-weight:700;color:#5362de;margin:0;line-height:1.5}
.portal-return{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;color:#68748a;font-size:13px;white-space:nowrap}
.library-mobile-return{display:none}
/* Selection changes color, never the width of neighboring navigation labels. */
.shell .nav-item,.shell .nav-item.active{font-weight:500}
.activity-tabs a,.activity-tabs a.active{font-weight:500}
.update-date strong{font-size:14px;line-height:1.6;letter-spacing:.03em}
.update-body li{margin-bottom:12px}
.update-body .update-scope{border-top:1px solid #e7ecf3;margin-top:22px;padding-top:16px;font-size:12px;color:#8895a8}
@media(max-width:1100px){
 .portal-header{--header-gutter:35px;--header-gap:37px}
 .portal-header nav{gap:28px;font-size:14px}
}
@media(max-width:800px){
 .portal-header{--header-height:82px;--header-gutter:25px;--header-gap:30px}
 .portal-header .brand{font-size:22px}
 .portal-header nav{gap:22px;font-size:13px}
 .portal-return{font-size:11px}
}
@media(max-width:760px){
 .mobile-create{display:inline-flex!important;font-size:12px;min-height:37px;padding:8px 11px}
}
@media(max-width:650px){
 .portal-header{--header-height:76px;--header-gutter:22px;--header-gap:24px;flex-wrap:nowrap}
 .portal-header .brand{gap:8px;font-size:22px}
 .portal-header .brand img{width:30px;height:30px;flex-basis:30px}
 .portal-header nav{gap:19px;font-size:12px;justify-content:flex-start}
 .portal-header nav a{gap:5px}
 .portal-header .portal-nav-icon{width:14px;height:14px;flex-basis:14px}
 .portal-header .portal-nav-arrow,.portal-header nav small,.portal-return{display:none}
 .library-mobile-return{display:block;margin:-8px 0 18px}
 .library-mobile-return .btn{padding:0;font-size:12px;min-height:32px}
}
@media(max-width:380px){
 .portal-header{--header-gutter:18px;--header-gap:18px}
 .portal-header nav{gap:13px;font-size:11px}
 .portal-header .portal-nav-icon{width:13px;height:13px;flex-basis:13px}
}
@media(min-width:801px) and (max-height:760px){.portal-header{--header-height:80px}}
