.zsa-top-banner188{position:fixed;top:0;left:0;right:0;z-index:2147480100;box-sizing:border-box;min-height:40px;padding:8px 44px;background:var(--banner-bg,#2459eb);color:var(--banner-fg,#fff);font:500 14px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.zsa-top-banner188[hidden],.zsa-top-banner-clock188[hidden]{display:none!important}
.zsa-top-banner-inner188{display:flex;align-items:center;justify-content:center;gap:8px 18px;flex-wrap:wrap}
.zsa-top-banner-clock188{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.zsa-top-banner-text188{overflow-wrap:anywhere;min-width:0}
.zsa-top-banner-action188{display:inline-flex;align-items:center;justify-content:center;flex:none;border:0;border-radius:7px;padding:3px 12px;text-decoration:none!important;font:inherit;font-size:12px;font-weight:600;line-height:1.5;cursor:pointer;background:var(--banner-button-bg,#fff)!important;color:var(--banner-button-fg,#1744bb)!important}
.zsa-top-banner-close188{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:transparent!important;color:inherit!important;width:30px;height:30px;font:24px/1 sans-serif;cursor:pointer}
.zsa-top-banner188 :focus-visible{outline:2px solid currentColor;outline-offset:3px}
.zsa-top-banner-space188{flex:none;width:100%}
html.zsa-banner-active188 .zsa-v8.is-editor-active{top:var(--zsa-banner-bottom188)!important;bottom:0!important;height:calc(100dvh - var(--zsa-banner-bottom188))!important}
@media(max-width:900px){.zsa-top-banner188{padding:7px 38px 7px 12px;font-size:12px}.zsa-top-banner-inner188{gap:4px 10px;justify-content:center}.zsa-top-banner-text188{flex-basis:100%;text-align:center;order:-1}.zsa-top-banner-action188{padding:2px 10px}.zsa-top-banner-close188{right:4px}}

html.zsa-banner-active188 body .zsa-ai-app[data-ai-active-panel="templates"] .zsa-ai-template-home-switcher{top:var(--zsa-banner-bottom188)!important}

@media(max-width:720px){html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-app:not([data-ai-active-panel="skills"])>.zsa-ai-main>.zsa-ai-topbar{top:var(--zsa-banner-bottom188)!important}}
@media(min-width:901px){html.zsa-banner-active188 body .zsa-ai-app[data-ai-active-panel] :is([data-ai-home-floor-tabs],[data-ai-market-sticky-tabs],[data-ai-model-sticky-tabs],[data-ai-works-tabs],.zsa-ai-app-community-tabs,.zsa-ai-work-tabs,.zsa-ai-materials-head){top:calc(var(--zsa-banner-bottom188) + 8px)!important}}

/* 189: a single fixed stack on phones; nav keeps its original DOM/event parents. */
.zsa-top-banner-text188{font-weight:700}
.zsa-banner-icon189{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;margin-right:7px;font-size:19px;line-height:1}
.zsa-banner-icon189:empty{display:none}.zsa-banner-icon189 img{width:24px;height:24px;object-fit:contain;border-radius:4px}
.zsa-banner-nav-space189{height:0;flex:none;pointer-events:none}
@media(max-width:900px){
html.zsa-banner-mobile189 body .zsa-ai-app[data-ai-active-panel]>.zsa-ai-main>.zsa-ai-topbar{position:fixed!important;inset:auto 0 auto 0!important;top:var(--zsa-banner-bottom188,0px)!important;width:100%!important;max-width:100%!important;margin:0!important;transform:none!important;z-index:95!important;box-sizing:border-box!important;background:#fff!important}
html[data-zsa-theme="dark"].zsa-banner-mobile189 body .zsa-ai-app[data-ai-active-panel]>.zsa-ai-main>.zsa-ai-topbar{background:#1e1e1e!important}
html.zsa-banner-mobile189 body .zsa-ai-app [data-ai-home-floor-tabs]{top:calc(var(--zsa-banner-bottom188) + var(--zsa-banner-nav-height189,0px) + 8px)!important}
.zsa-banner-icon189{font-size:16px}.zsa-banner-icon189 img{width:20px;height:20px}
}
@media(max-width:900px){
html.zsa-banner-mobile189 body [data-zsa-ai-app].is-mobile-menu-open>.zsa-ai-sidebar{z-index:120!important}
html.zsa-banner-mobile189 body [data-zsa-ai-app].is-mobile-menu-open>.zsa-ai-sidebar-mask{z-index:110!important}
}

/* 198: mobile recommendation tabs remain in normal flow, never shifted by the banner. */
@media(max-width:900px){
html.zsa-banner-active188 body .zsa-ai-app [data-ai-panel="work"] .zsa-ai-work-tabs{position:relative!important;top:auto!important;bottom:auto!important;transform:none!important}
html body .zsa-ai-app .zsa-ai-work-detail-header{position:relative!important;top:auto!important;bottom:auto!important;transform:none!important}
}

/* 204: the announcement owns the top strip. Every fullscreen surface uses the
   remaining viewport, including previews and their close controls. */
:root{--zsa-banner-bottom188:0px;--zsa-banner-height188:0px;--zsa-banner-nav-height189:0px}
html body.zsa-ai-workspace-page .zsa-top-banner188{z-index:2147483647!important}
html.zsa-banner-active188 body.zsa-ai-workspace-page #zsa-ai-standalone-root[data-zsa-banner-fixed-root]{
 top:var(--zsa-banner-bottom188)!important;bottom:0!important;height:calc(100dvh - var(--zsa-banner-bottom188))!important;min-height:0!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-sidebar{
 top:var(--zsa-banner-bottom188)!important;bottom:0!important;height:calc(100dvh - var(--zsa-banner-bottom188))!important;max-height:calc(100dvh - var(--zsa-banner-bottom188))!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page :is(
 .zsa-ai-work-lightbox,.zsa-ai-generation-lightbox,.zsa-ai-materials-modal,.zsa-ai-login-prompt,
 .zsa-ai-work-review-modal,.zsa-ai-unified-model-modal,.zsa-ai-my-works-modal,.zsa-ai-sidebar-mask,
 .zsa-v8-modal,.zsa-v84-preview-modal,.zsa-v830-modal,.zsa-v8-loading-overlay,
 .zsa-wfs-modal,.zsa-wfs-v66-template-modal,.zsa-wfs-v67-batch,.zsa-wfs-runs,
 .zsa-v8.is-editor-active,.zsa-wfs-editor.is-v73-clean,.zsa-wfs-editor.is-v74-clean,.zsa-wfs-editor-mode .zsa-wfs-v4
){
 top:var(--zsa-banner-bottom188)!important;bottom:0!important;height:calc(100dvh - var(--zsa-banner-bottom188))!important;
 max-height:calc(100dvh - var(--zsa-banner-bottom188))!important;min-height:0!important;box-sizing:border-box!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page :is(.zsa-ai-work-lightbox,.zsa-ai-generation-lightbox){padding:56px 16px 16px!important;overflow:auto!important}
html.zsa-banner-active188 body.zsa-ai-workspace-page :is(.zsa-ai-work-lightbox,.zsa-ai-generation-lightbox) img{
 max-height:calc(100dvh - var(--zsa-banner-bottom188) - 80px)!important;max-width:calc(100vw - 32px)!important;object-fit:contain!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-work-lightbox [data-ai-work-lightbox-close],
html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-generation-lightbox>button{
 position:absolute!important;top:12px!important;right:14px!important;bottom:auto!important;left:auto!important;margin:0!important;transform:none!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page :is(.zsa-ai-unified-model-dialog,.zsa-ai-materials-dialog,.zsa-ai-my-works-modal>section,.zsa-ai-work-review-dialog){
 max-height:calc(100dvh - var(--zsa-banner-bottom188) - 40px)!important;min-height:0!important
}
/* Theme-native login layers share the same reserved strip. */
html.zsa-banner-active188 body.zsa-ai-workspace-page #u_sign,
html.zsa-banner-active188 body.zsa-ai-workspace-page>.modal-backdrop,
html.zsa-banner-active188 body.zsa-ai-workspace-page #login-box .modal.show-modal{
 top:var(--zsa-banner-bottom188)!important;bottom:0!important;height:calc(100dvh - var(--zsa-banner-bottom188))!important;
 max-height:calc(100dvh - var(--zsa-banner-bottom188))!important;box-sizing:border-box!important;overflow-y:auto!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page #login-box .modal .login-box-content{
 max-height:calc(100dvh - var(--zsa-banner-bottom188) - 32px)!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page :is(.zsa-ai-template-library-picker-menu,.zsa-ai-account-modal,.zsa-ai-user-center){
 top:calc((100dvh + var(--zsa-banner-bottom188)) / 2)!important;
 max-height:calc(100dvh - var(--zsa-banner-bottom188) - 40px)!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-template-mega[data-ai-template-menu]{
 top:var(--zsa-banner-bottom188)!important;max-height:calc(100dvh - var(--zsa-banner-bottom188) - 40px)!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-app[data-ai-active-panel="templates"] :is(.zsa-ai-template-vip,.zsa-ai-vip-entry){top:calc(var(--zsa-banner-bottom188) + 20px)!important}
@media(min-width:901px){
 html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-app[data-ai-active-panel]>.zsa-ai-main>.zsa-ai-topbar{top:var(--zsa-banner-bottom188)!important;position:sticky!important}
 html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-app[data-ai-active-panel] :is([data-ai-home-floor-tabs],[data-ai-market-sticky-tabs],[data-ai-model-sticky-tabs],[data-ai-works-tabs],.zsa-ai-app-community-tabs,.zsa-ai-work-tabs){top:calc(var(--zsa-banner-bottom188) + var(--zsa-banner-nav-height189) + 8px)!important}
 html.zsa-banner-active188 body.zsa-ai-workspace-page :is(.zsa-ai-generation-topbar,.zsa-ai-workbench-head){top:calc(var(--zsa-banner-bottom188) + var(--zsa-banner-nav-height189))!important}
}
html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-work-detail-header{position:relative!important;top:auto!important;bottom:auto!important}
html.zsa-banner-active188 body.zsa-ai-workspace-page :is(.zsa-product-popup,.zsa-invite-dialog)[open]{
 position:fixed!important;top:var(--zsa-banner-bottom188)!important;bottom:0!important;left:0!important;right:0!important;margin:auto!important;transform:none!important;overflow:visible!important;
 max-height:calc(100dvh - var(--zsa-banner-bottom188) - 40px)!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-product-page[open]{
 top:var(--zsa-banner-bottom188)!important;bottom:0!important;height:calc(100dvh - var(--zsa-banner-bottom188))!important;max-height:calc(100dvh - var(--zsa-banner-bottom188))!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page dialog::backdrop{top:var(--zsa-banner-bottom188)!important}
/* 206: one viewport coordinate system for banner + menu, even in nested scrollers. */
@media(min-width:901px){
 html.zsa-banner-active188.zsa-banner-fixed-nav206 body.zsa-ai-workspace-page .zsa-ai-app[data-ai-active-panel]>.zsa-ai-main>.zsa-ai-topbar{
  position:fixed!important;top:var(--zsa-banner-bottom188)!important;left:var(--zsa-nav-left206)!important;right:auto!important;width:var(--zsa-nav-width206)!important;margin:0!important;transform:none!important;box-sizing:border-box!important;z-index:95!important
 }
 html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-app[data-ai-active-panel="templates"]>.zsa-ai-main>.zsa-ai-topbar{position:relative!important;top:auto!important}
}

/* 207: only the announcement stays fixed; navigation scrolls with its page. */

html body.zsa-ai-workspace-page .zsa-banner-nav-space189{height:0!important}
html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-top-banner188:not([hidden]){
 display:block!important;visibility:visible!important;opacity:1!important;position:fixed!important;left:0!important;right:0!important;transform:none!important;isolation:isolate
}
html.zsa-banner-active188 body.zsa-ai-workspace-standalone:has(.zsa-ai-app[data-ai-active-panel="skills"]) #zsa-ai-standalone-root{
 top:var(--zsa-banner-bottom188)!important;bottom:0!important;height:calc(100dvh - var(--zsa-banner-bottom188))!important;min-height:0!important
}
html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-template-detail185[open]{
 top:var(--zsa-banner-bottom188)!important;bottom:0!important;height:calc(100dvh - var(--zsa-banner-bottom188))!important;max-height:calc(100dvh - var(--zsa-banner-bottom188))!important;box-sizing:border-box!important
}

/* 215: regenerated tasks scroll below the live announcement and navigation. */
html body .zsa-ai-app [data-ai-generation-current],html body .zsa-ai-app .zsa-ai-generation-panel,html body .zsa-ai-app [data-ai-panel="generate"]{scroll-margin-top:calc(var(--zsa-banner-bottom188,0px) + 76px)!important}
html body .zsa-ai-app .zsa-ai-main{scroll-padding-top:calc(var(--zsa-banner-bottom188,0px) + 12px)}
/* 232: generation controls must stick beneath the announcement. */
html.zsa-banner-active188 body.zsa-ai-workspace-page .zsa-ai-app[data-ai-active-panel="generate"] .zsa-ai-history-header{top:var(--zsa-banner-bottom188,0px)!important}
/* A fixed standalone root has already consumed the banner offset. */
html.zsa-banner-active188 body.zsa-ai-workspace-page #zsa-ai-standalone-root[data-zsa-banner-fixed-root] .zsa-ai-app[data-ai-active-panel="generate"] .zsa-ai-history-header{top:0!important}
