.wish-site-actions{display:flex;gap:12px;margin:24px 0}
/* Native round ends stay circular at every width, without stretching a bitmap outline. */
.post-content .wish-site-actions a{display:flex;flex:1;align-items:center;justify-content:center;min-width:0;height:56px;padding:0 12px;border:0;border-radius:999px;background:linear-gradient(160deg,transparent 15%,rgba(255,255,255,.12) 30%,transparent 48%),linear-gradient(to bottom,#8af1df 0%,#32cbb5 48%,#17b29e 50%,#00947e 100%);box-shadow:inset 0 1px 1px rgba(255,255,255,.8),inset 0 0 0 1px rgba(255,255,255,.2);color:#fff!important;font-size:16px;font-weight:600;line-height:1.4;text-decoration:none;box-sizing:border-box}
/* These button links must not inherit the article theme's link colors or underline. */
.post-content .wish-site-actions a::after{display:none}
.post-content .wish-site-actions a:last-child{background:linear-gradient(160deg,transparent 15%,rgba(255,255,255,.1) 30%,transparent 48%),linear-gradient(to bottom,#8bdfff 0%,#399dff 48%,#287aff 50%,#1a43ff 100%);box-shadow:inset 0 1px 1px rgba(255,255,255,.8),inset 0 0 0 1px rgba(255,255,255,.2),0 2px 3px rgba(0,0,0,.25)}
.post-content .wish-site-actions a:focus-visible{outline:2px solid #fff!important;outline-offset:3px}
.user_menu:has([data-wish-auth])>div{max-height:calc(100vh - 10rem);max-height:calc(100dvh - 10rem);overflow-y:auto}
.user_menu:has([data-wish-auth])>div>a,.user_menu:has([data-wish-auth]) .userinfo{flex-shrink:0}
.wish-publish-float{position:fixed;display:block;width:5rem;height:calc(5rem + 20px);padding-top:20px;z-index:10000;box-sizing:border-box;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}
/* Keep the login opened from this entry above both the ad mask and the floats. */
#POPUP-WINDOW-LOGIN{position:relative;z-index:10020}
.wish-publish-float[hidden]{display:none!important}
.wish-publish-float>a{display:block;width:100%;height:100%;text-decoration:none;cursor:inherit;-webkit-user-drag:none}
.wish-publish-float img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none}
.wish-publish-float .wish-float-close{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#fff;font:24px/1 Arial,sans-serif;cursor:pointer;text-shadow:0 1px 3px #000}
.wish-publish-float.is-dragging{cursor:grabbing}
.wish-publish-float>a:focus-visible,.wish-publish-float .wish-float-close:focus-visible{outline:2px solid #f9ce91;outline-offset:2px;border-radius:4px}
@media(min-width:960px){.wish-publish-float{width:6.25rem;height:calc(6.25rem + 20px)}}
@media(max-width:767px){.wish-site-actions{gap:8px;margin:12px 0}.post-content .wish-site-actions a{height:35px;font-size:14px}}
/* Submission page follows the download button's width on desktop. */
.post-content .contribution-request-entry{margin:24px 0}
.post-content .contribution-request-entry a{flex:none;width:100%;height:auto;min-height:56px;padding:10px 20px;font-size:18px;font-weight:bold}
@media(min-width:768px){.post-content .contribution-request-entry a{width:var(--contribution-download-width,320px);max-width:100%;margin:0 auto}}
@media(max-width:767px){.post-content .contribution-request-entry a{min-height:36px;padding-top:6px;padding-bottom:6px}}
/* Latest frontend: homepage submission/request/ad slides share one floating carousel. */
.xqbj-component-adfloat{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;z-index:10000}
.xqbj-component-adfloat.is-dragging{cursor:grabbing}
.xqbj-component-adfloat .on-close-btn{padding:0;border:0;background:transparent}
.xqbj-component-adfloat .on-close-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.xqbj-component-adfloat .swiper-pagination[hidden]{display:none}
.xqbj-component-adfloat .banner-swiper:not(.swiper-initialized) .swiper-slide:not(:first-child){display:none}
.xqbj-component-adfloat.site-entry-carousel{width:3.5rem}
.site-entry-carousel .banner-swiper .swiper-wrapper{width:100%;height:3.5rem}
.site-entry-carousel .banner-swiper img{object-fit:contain}
.site-entry-carousel .xqbj-icon-close{width:1.125rem;height:1.125rem;top:-.375rem;right:-.375rem}
@media(min-width:768px) and (max-width:959px){.xqbj-component-adfloat.site-entry-carousel{transform:none}}
@media(max-width:959px){.xqbj-component-adfloat.site-entry-carousel{right:1rem}}
@media(min-width:960px){.xqbj-component-adfloat.site-entry-carousel{width:6.25rem}.site-entry-carousel .banner-swiper .swiper-wrapper{height:6.25rem}}
