/*
 * 短视频信息流样式 —— 严格对齐 ui1 BizShortVideoPlayer / VideoShortsPage。
 * default 主题(/video/shorts)与 single-shorts 站共用同一份,确保显示完全一致。
 *
 * 高度由各页设置 --shorts-top-offset / --shorts-bottom-offset(顶栏/底部 nav 占位)。
 * 颜色/间距复用 layout 的 ui1 变量(--space-* / --font-size-* / --radius-pill / --primary-color)。
 */
.shorts-page{
  position:relative;
  height:calc(100svh - var(--shorts-top-offset, 48px) - var(--shorts-bottom-offset, 0px));
  max-width:520px;margin:0 auto;background:#000;color:#fff;
  overflow-y:auto;overflow-x:hidden;
  scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  isolation:isolate;transform:translateZ(0);backface-visibility:hidden;
}
.shorts-page::-webkit-scrollbar{display:none}
.shorts-slide{
  position:relative;height:100%;width:100%;
  scroll-snap-align:start;scroll-snap-stop:always;background:#000;overflow:hidden;
}

/* ===== biz-short-video-player(对齐 ui1)===== */
.biz-short-video-player{
  position:relative;width:100%;height:100%;
  --shorts-action-avoid-width:88px;--shorts-object-fit:cover;
  color:#fff;background:#000;
  background-image:var(--shorts-player-bg-image,none);background-position:center;background-size:cover;background-repeat:no-repeat;
  overflow:hidden;isolation:isolate;
}
.biz-short-video-player::before{content:"";position:absolute;inset:-10%;z-index:0;pointer-events:none;background-image:var(--shorts-player-bg-image,none);background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(28px) saturate(1.1);opacity:1;transform:scale(1.18)}
.biz-short-video-player::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at center,#0f172a14,#02061780),linear-gradient(180deg,#02061738,#02061780)}
.biz-short-video-player__media{position:absolute;inset:0;z-index:1}
.biz-short-video-player__video{width:100%;height:100%;object-fit:var(--shorts-object-fit,cover);background:#000;display:block}
.biz-short-video-player__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--shorts-object-fit,cover);filter:saturate(1.05);z-index:2;transition:opacity .3s ease}
.shorts-slide.is-playing .biz-short-video-player__poster{opacity:0;pointer-events:none}
.biz-short-video-player__transition-mask{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at center,#0f172a5c,#020617d1 60%,#020617);opacity:.35}

/* loading */
.biz-short-video-player__loading{position:absolute;inset:0;display:none;align-items:center;justify-content:center;gap:var(--space-2);background:#02061759;z-index:6;pointer-events:none}
.shorts-slide.is-loading .biz-short-video-player__loading{display:flex}
.biz-short-video-player__spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;animation:ssp-spin .8s linear infinite}
.biz-short-video-player__loading-text{font-size:var(--font-size-xs);color:#ffffffd9}
@keyframes ssp-spin{to{transform:rotate(360deg)}}

/* 中央播放键(暂停时显示)*/
.biz-short-video-player__center-toggle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:56px;border-radius:999px;border:none;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;z-index:7;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.shorts-slide.is-paused .biz-short-video-player__center-toggle{opacity:1;pointer-events:auto}
.biz-short-video-player__play-icon{width:80px;height:80px;display:block;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}

/* 中央静音提示(播放中且静音时显示,点一下取消静音)*/
.biz-short-video-player__mute-toggle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:120px;height:40px;padding:0 16px;border-radius:999px;border:0;background:#02061773;color:#fff;display:inline-flex;align-items:center;gap:8px;justify-content:center;z-index:7;cursor:pointer;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);font-size:var(--font-size-xs);opacity:0;pointer-events:none;transition:opacity .18s ease}
.shorts-slide.is-playing.is-muted .biz-short-video-player__mute-toggle{opacity:1;pointer-events:auto}
.biz-short-video-player__mute-icon{width:20px;height:20px;display:block}

/* 右侧互动竖排 */
.biz-short-video-player__actions{position:absolute;right:var(--space-3);bottom:calc(var(--space-8) + var(--safe-area-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:14px;z-index:7}
.biz-short-video-player__action-btn{width:38px;padding:0;border:none;background:transparent;color:#fff;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;transition:transform .2s ease}
.biz-short-video-player__action-btn:active{transform:translateZ(0) scale(.94)}
.biz-short-video-player__action-btn.is-on{color:var(--primary-color)}
.biz-short-video-player__action-icon-wrap{width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}
.biz-short-video-player__action-icon{width:25px;height:25px;display:block;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.biz-short-video-player__action-btn.is-on .biz-short-video-player__action-icon{fill:var(--primary-color)}
.biz-short-video-player__action-count{font-size:var(--font-size-xxs);line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.6)}

/* 底部信息区 */
.biz-short-video-player__info{position:absolute;left:0;right:0;bottom:0;padding:var(--space-5) var(--space-4) calc(var(--space-3) + var(--safe-area-bottom,0px));background:linear-gradient(180deg,#02061700,#02061773 45%,#020617d9);z-index:5}
.biz-short-video-player__title{font-size:var(--font-size-md);font-weight:600;line-height:var(--line-height-base);max-width:calc(100% - var(--shorts-action-avoid-width));display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.biz-short-video-player__meta{margin-top:var(--space-2);font-size:var(--font-size-xs);color:#ffffffc7;max-width:calc(100% - var(--shorts-action-avoid-width));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.biz-short-video-player__desc{margin-top:var(--space-2);font-size:var(--font-size-xs);line-height:var(--line-height-base);color:#ffffffbf;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:calc(100% - var(--shorts-action-avoid-width))}
.biz-short-video-player__tags{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2);max-width:calc(100% - var(--shorts-action-avoid-width))}
.biz-short-video-player__tag{padding:2px 8px;border-radius:var(--radius-pill);background:#ffffff29;border:1px solid rgba(255,255,255,.2);font-size:var(--font-size-xxs);color:#ffffffd9}

/* 进度条(可拖动 seek)*/
.biz-short-video-player__progress{position:relative;width:100%;height:24px;--shorts-progress-line-height:3px;margin-top:var(--space-3);cursor:pointer;overflow:visible;border-radius:var(--radius-pill);touch-action:none}
.biz-short-video-player__progress.is-seeking{--shorts-progress-line-height:6px}
.biz-short-video-player__progress-track{position:absolute;left:0;right:0;top:50%;height:var(--shorts-progress-line-height);background:#ffffff40;border-radius:var(--radius-pill);transform:translateY(-50%);transition:height .2s ease}
.biz-short-video-player__progress-buffer{position:absolute;left:0;top:50%;width:0;height:var(--shorts-progress-line-height);background:#ffffff73;transition:width .25s ease,height .2s ease;border-radius:var(--radius-pill);transform:translateY(-50%)}
.biz-short-video-player__progress-bar{position:absolute;left:0;top:50%;width:0;height:var(--shorts-progress-line-height);background:var(--primary-color);transition:width .2s ease,height .2s ease;border-radius:var(--radius-pill);transform:translateY(-50%)}
.biz-short-video-player__progress-thumb{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000059;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.biz-short-video-player__progress.is-seeking .biz-short-video-player__progress-thumb{opacity:1;transform:translate(-50%,-50%) scale(1.05)}
.biz-short-video-player__footer-note{margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-xxs);line-height:1.6;color:#ffffffb8}
.biz-short-video-player__footer-primary{min-width:0;font-weight:600;color:#ffffffe0}
.biz-short-video-player__footer-secondary{flex-shrink:0;color:#ffffffa3}

/* 空态 */
.shorts-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,.85);text-align:center;font-size:var(--font-size-sm);padding:var(--space-6)}
.shorts-empty span{font-size:var(--font-size-xs);color:rgba(255,255,255,.6)}
.shorts-empty a{color:var(--primary-color)}

/* ===== 底部广告坞:浮窗横幅(上)+ 固定小图标条(下),整坞贴底 ===== */
.shorts-ad-dock{position:fixed;left:0;right:0;bottom:var(--shorts-bottom-offset,0px);z-index:55;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.shorts-ad-dock>*{pointer-events:auto}

/* 浮窗横幅 */
.shorts-bottom-ad{position:relative;width:100%;max-width:520px;display:flex;justify-content:center}
.shorts-bottom-ad__inner{position:relative;width:100%;display:flex;align-items:center;justify-content:center}
.shorts-bottom-ad__item{display:none;width:100%}
.shorts-bottom-ad__item.is-active{display:block}
.shorts-bottom-ad__item img{width:100%;height:auto;display:block}
.shorts-bottom-ad__item--text{padding:10px 14px;background:rgba(2,6,23,.82);color:#fff;font-size:var(--font-size-xs);text-align:center}
.shorts-bottom-ad__close{position:absolute;top:-26px;right:6px;width:22px;height:22px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;font-size:14px;line-height:1;cursor:pointer}

/* 底部固定小图标条(对齐 ui1 icon-grid,横排小圆图标)*/
.shorts-fixed-icons{width:100%;max-width:520px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:6px 10px calc(6px + var(--safe-area-bottom,0px));background:rgba(2,6,23,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.shorts-fixed-icons::-webkit-scrollbar{display:none}
.shorts-fixed-icons__item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:3px;width:52px;color:#fff;text-decoration:none}
.shorts-fixed-icons__pic{width:44px;height:44px;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center}
.shorts-fixed-icons__pic img{width:100%;height:100%;object-fit:cover;display:block}
.shorts-fixed-icons__label{font-size:10px;line-height:1.2;max-width:52px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.6)}

/* ===== 中心弹窗广告(对齐 ui1 .ad-popup-host / .base-ad-popup-item)===== */
.ad-popup-host{position:fixed;inset:0;z-index:2200;display:none;align-items:center;justify-content:center;padding:var(--space-4);background:#0000007a}
.ad-popup-host.is-open{display:flex}
.ad-popup-host__card{max-width:min(92vw,28rem);width:100%}
.base-ad-popup-item{position:relative;width:min(90vw,26rem);margin:0 auto;border-radius:var(--radius-xl,16px);background:#111;box-shadow:0 16px 48px #00000059;overflow:hidden}
.base-ad-popup-item__close{position:absolute;right:var(--space-2);top:var(--space-2);width:1.8rem;height:1.8rem;border:none;border-radius:50%;background:#00000080;color:#fff;font-size:18px;line-height:1;cursor:pointer;z-index:1}
.base-ad-popup-item__body{border:none;background:transparent;padding:0;width:100%;display:block;cursor:pointer;border-radius:inherit;overflow:hidden}
.base-ad-popup-item__image{width:100%;height:auto;max-height:min(78vh,42rem);object-fit:contain;display:block}
