.announcement-banner{background:#142f57;color:#fff;padding:16px 20px;position:fixed;top:0;left:0;right:0;z-index:1000;width:100%}.announcement-banner.hidden{display:none}body:has(.announcement-banner:not(.hidden)),body.has-announcement-banner{padding-top:52px}body:has(.announcement-banner:not(.hidden)) header#header,body.has-announcement-banner header#header{top:52px}body:has(.announcement-banner:not(.hidden)) .header-mains.active-header,body.has-announcement-banner .header-mains.active-header{top:52px!important}body:has(.announcement-banner:not(.hidden)) .header-mains.hide-header,body.has-announcement-banner .header-mains.hide-header{top:-148px!important}body:has(.announcement-banner:not(.hidden)) .sticky-toc,body.has-announcement-banner .sticky-toc{top:212px!important;z-index:5}body:has(.announcement-banner:not(.hidden)) .article-details-sub2>.sticky-toc,body.has-announcement-banner .article-details-sub2>.sticky-toc{margin-bottom:80px}body:has(.announcement-banner:not(.hidden)) .article-details-sub2>.sticky-toc+*,body.has-announcement-banner .article-details-sub2>.sticky-toc+*{margin-top:100px;position:relative;z-index:5}.announcement-banner__inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.announcement-banner__content{display:flex;align-items:center;gap:8px;flex:1}.announcement-banner__icon{font-size:16px;color:#f4b000;flex-shrink:0;margin-right:4px}.announcement-banner__text{font-family:"Plus Jakarta Sans","Inter",system-ui,Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;line-height:1.5;margin:0;color:#fff}.announcement-banner__text strong{color:#f4b000;font-weight:700}.announcement-banner__text a{color:#fff;text-decoration:none;font-weight:600;transition:all 0.25s ease;padding:6px 14px;border-radius:50px;background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .2);display:inline-flex;align-items:center;gap:4px}.announcement-banner__text a:hover{background:rgb(255 255 255 / .15);border-color:rgb(255 255 255 / .3);transform:translateY(-1px)}.announcement-banner__text a:active{transform:translateY(0)}.announcement-banner__text a.btn{display:inline-flex;align-items:center;justify-content:center;background:rgb(46 94 177);color:#fff;text-decoration:none;padding:10px 24px;border-radius:50px;font-weight:700;font-size:14px;transition:all 0.25s ease;white-space:nowrap;margin-left:12px;box-shadow:0 2px 8px rgb(0 0 0 / .15);border:2px solid #fff0;gap:6px}.announcement-banner__text a.btn:hover{background:rgb(58 112 194);transform:translateY(-2px);box-shadow:0 4px 12px rgb(46 94 177 / .3);border-color:rgb(255 255 255 / .2)}.announcement-banner__text a.btn:active{transform:translateY(0);box-shadow:0 1px 4px rgb(0 0 0 / .2)}.announcement-banner__text a.btn::after{content:'→';font-size:16px;transition:transform 0.25s ease}.announcement-banner__text a.btn:hover::after{transform:translateX(3px)}.announcement-banner__close{background:#fff0;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;flex-shrink:0;font-size:18px;line-height:1;opacity:.7;margin-left:12px}.announcement-banner__close:hover{background:rgb(255 255 255 / .1);opacity:1}.announcement-banner__close:active{transform:scale(.95)}@media (max-width:1024px){.announcement-banner__inner{gap:16px}.announcement-banner__text a.btn{padding:9px 20px;font-size:13px;margin-left:8px}.announcement-banner__text a{padding:5px 12px;font-size:13px}body:has(.announcement-banner:not(.hidden)),body.has-announcement-banner{padding-top:50px}body:has(.announcement-banner:not(.hidden)) header#header,body.has-announcement-banner header#header{top:50px}body:has(.announcement-banner:not(.hidden)) .header-mains.active-header,body.has-announcement-banner .header-mains.active-header{top:50px!important}body:has(.announcement-banner:not(.hidden)) .header-mains.hide-header,body.has-announcement-banner .header-mains.hide-header{top:-150px!important}body:has(.announcement-banner:not(.hidden)) .sticky-toc,body.has-announcement-banner .sticky-toc{top:210px!important;z-index:5}body:has(.announcement-banner:not(.hidden)) .article-details-sub2>.sticky-toc,body.has-announcement-banner .article-details-sub2>.sticky-toc{margin-bottom:70px}body:has(.announcement-banner:not(.hidden)) .article-details-sub2>.sticky-toc+*,body.has-announcement-banner .article-details-sub2>.sticky-toc+*{margin-top:90px;position:relative;z-index:5}}@media (max-width:768px){.announcement-banner{padding:14px 16px}.announcement-banner__inner{flex-wrap:wrap;gap:12px}.announcement-banner__content{gap:8px;flex:1;min-width:0}.announcement-banner__icon{font-size:15px}.announcement-banner__text{font-size:14px}.announcement-banner__text a.btn{margin-left:0;margin-top:8px;padding:8px 18px;font-size:13px}.announcement-banner__text a{padding:5px 11px;font-size:13px}.announcement-banner__close{width:26px;height:26px;font-size:16px;position:absolute;top:12px;right:12px}}@media (max-width:480px){.announcement-banner{padding:12px 14px}body:has(.announcement-banner:not(.hidden)),body.has-announcement-banner{padding-top:48px}body:has(.announcement-banner:not(.hidden)) header#header,body.has-announcement-banner header#header{top:48px}body:has(.announcement-banner:not(.hidden)) .header-mains.active-header,body.has-announcement-banner .header-mains.active-header{top:48px!important}body:has(.announcement-banner:not(.hidden)) .header-mains.hide-header,body.has-announcement-banner .header-mains.hide-header{top:-152px!important}body:has(.announcement-banner:not(.hidden)) .sticky-toc,body.has-announcement-banner .sticky-toc{top:208px!important;z-index:5}body:has(.announcement-banner:not(.hidden)) .article-details-sub2>.sticky-toc,body.has-announcement-banner .article-details-sub2>.sticky-toc{margin-bottom:60px}body:has(.announcement-banner:not(.hidden)) .article-details-sub2>.sticky-toc+*,body.has-announcement-banner .article-details-sub2>.sticky-toc+*{margin-top:80px;position:relative;z-index:5}.announcement-banner__inner{gap:10px}.announcement-banner__content{gap:6px;padding-right:32px}.announcement-banner__icon{font-size:14px}.announcement-banner__text{font-size:13px}.announcement-banner__text a.btn{font-size:12px;padding:8px 16px}.announcement-banner__text a{padding:4px 10px;font-size:12px}.announcement-banner__close{width:24px;height:24px;font-size:15px;top:10px;right:10px}}@keyframes slideDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.announcement-banner.show{animation:slideDown 0.3s ease-out}@keyframes slideUp{from{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.announcement-banner.dismissing{animation:slideUp 0.3s ease-out}