/* ── Page Home — 1:1 old app ── */

/* 默认背景 + 渐变直接挂 #page-home 自己（不再用 inner bg-layer） */
#page-home{position:relative;overflow:visible;}

/* 背景切换由 page-home.js 用 inline style.background 控制（不依赖 CSS [data-cat] 选择器） */

/* ══ Panel ══ */
.home-panel{position:relative;z-index:1;}

/* ══ Carousel card ══ */
.home-carousel-block{
  margin:10px 14px 0;
  background:linear-gradient(180deg, rgb(32, 34, 48) 0%, rgb(26, 28, 41) 100%);
  border-radius:16px;
  overflow:hidden;
  position:relative;
  border:1px solid rgba(255,255,255,0.06);
}
.home-carousel-block .rt-carousel{border-radius:0;margin:0;aspect-ratio:16/7;}

/* Infobar inside each carousel card (via ::after on .rt-c-card) — handled by carousel component */

/* ══ Notify (below card, inside panel) ══ */
.home-notify{
  display:flex;align-items:center;gap:8px;
  padding:8px 14px;margin:0;
  background:rgba(255,255,255,0.04);
  border-radius:0 0 16px 16px;
  font-size:11px;color:rgba(255,255,255,0.5);
}
.home-notify-icon::before{content:'📢';font-size:12px;}
.home-notify-text{flex:1;overflow:hidden;white-space:nowrap;}
.home-notify-text span{display:inline-block;animation:notifyScroll 15s linear infinite;}
@keyframes notifyScroll{0%{transform:translateX(0);}100%{transform:translateX(-100%);}}

/* ══ Category bar ══ */
.home-cat-bar{
  position:-webkit-sticky;position:sticky;top:0;z-index:50;
  display:flex;padding:10px 14px;
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  align-items:center;gap:0;
}
.home-cat-bar::-webkit-scrollbar{display:none;}
.home-cat-pill{
  flex:1;min-width:0;padding:7px 4px;font-size:13px;font-weight:400;
  color:rgba(255,255,255,0.38);letter-spacing:0;
  cursor:pointer;white-space:nowrap;text-align:center;
  transition:color 0.28s ease,font-weight 0.2s;
  background:none;border:none;border-radius:99px;
  position:relative;z-index:2;
}
.home-cat-pill.active{color:#FFFFFF;font-weight:600;}
.home-cat-ind{
  position:absolute;height:28px;top:50%;transform:translateY(-50%);
  border-radius:99px;background:#FC2F56;
  pointer-events:none;overflow:hidden;z-index:0;
  transition:left 0.32s cubic-bezier(0.34,1.56,0.64,1),width 0.32s cubic-bezier(0.34,1.56,0.64,1);
}

/* ══ App grid ══ */
.home-grid{
  display:grid;grid-template-columns:repeat(6,1fr);
  gap:6px;padding:6px 14px 80px;overflow:hidden;
}
.home-grid-item{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;}
.home-grid-item:active{transform:scale(0.93);}
.home-grid-item.hidden{display:none;}
.home-grid-ico{width:100%;padding-bottom:100%;height:0;border-radius:14px;overflow:hidden;position:relative;background:rgb(28, 30, 43);border:1px solid rgba(255,255,255,0.05);}
.home-grid-ico img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;}
.home-grid-name{font-size:11px;font-weight:500;color:rgba(255,255,255,0.82);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;}
.home-grid-empty{grid-column:1/-1;text-align:center;padding:40px 0;color:rgba(255,255,255,0.3);font-size:13px;}

/* ══ Feed view（抖音风格短视频流，双击 home tab 切换显示） ══ */
.home-feed-view{
  position:absolute;inset:0;display:none;background:#000;z-index:60;
}
.home-mode-feed .home-feed-view{display:flex;flex-direction:column;}
.home-mode-feed .home-panel,
.home-mode-feed .home-cat-bar,
.home-mode-feed .home-grid{display:none;}

.home-feed{position:absolute;inset:0;overflow:hidden;touch-action:none;}
.home-feed-list{will-change:transform;width:100%;height:100%;}
.home-feed-item{
  width:100%;height:var(--feed-h, 100%);
  position:relative;overflow:hidden;
}
.home-feed-cover{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;color:rgba(255,255,255,0.4);
}
.home-feed-video{
  position:absolute;inset:0;width:100%;height:100%;
  /* contain 而不是 cover：横版视频/图片/GIF 主体完整不裁，上下/左右自然留黑 */
  object-fit:contain;background:#000;display:block;
  user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
  /* img 在 Chrome 默认 native-drag，会吃掉 pointerdown 让 feed 上滑失效。
     pointer-events:none 让 media 元素不接事件，事件直接到 .home-feed-item 上滑链路。 */
  pointer-events:none;
  -webkit-user-drag:none;
}

/* ── feed-inline 广告 · 1:1 截图：左侧 58% 宽 + 整张卡片一体（上半文字 + 下半 CTA） ── */
.home-feed-ad{
  position:absolute;
  left:14px;
  width:62%;
  max-width:300px;
  bottom:calc(72px + env(safe-area-inset-bottom, 0px));
  z-index:9;
  padding:12px;
  background:rgba(56,58,72,0.42);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  backdrop-filter:blur(18px) saturate(160%);
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
  display:flex;flex-direction:column;gap:10px;
  pointer-events:auto;
  transition:bottom .35s cubic-bezier(0.22,0.68,0,1), top .35s cubic-bezier(0.22,0.68,0,1), left .35s ease, right .35s ease, width .35s ease, transform .35s cubic-bezier(0.22,0.68,0,1), opacity .25s ease;
}

/* 解锁状态：视频暗遮罩 + 广告卡片移到屏幕中央 */
.home-feed-item.unlocked::after{
  content:'';
  position:absolute;inset:0;
  background:rgba(0,0,0,0.58);
  z-index:8;
  pointer-events:none;
  animation:feedDimIn .35s ease forwards;
}
@keyframes feedDimIn{
  from{opacity:0;}
  to{opacity:1;}
}
.home-feed-item.unlocked .home-feed-ad{
  bottom:auto;
  top:50%;
  left:50%;
  width:78%;
  max-width:320px;
  transform:translate(-50%, -50%);
}

/* 积分已到账 · 半透绿 + blur（继承统一尺寸） */
.hfa-reward-banner{
  display:none !important;
  background:rgba(52,199,89,0.62);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.18);
  pointer-events:none;
}
.hfa-reward-banner svg{display:block;flex-shrink:0;}
.home-feed-item.unlocked .hfa-reward-banner{display:flex !important;}

/* 关闭按钮 · 透明底 + 半透白边轮廓（继承统一尺寸） */
.hfa-close{
  display:none !important;
  background:rgba(255,255,255,0.06);
  color:rgba(255,255,255,0.78);
  font-weight:500;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.1);
}
.home-feed-item.unlocked .hfa-close{display:flex !important;}
.hfa-close:active{opacity:0.6;transform:scale(0.98);}

/* closed 状态：广告卡片整张消失 + 遮罩消失，video 继续播 */
.home-feed-item.closed .home-feed-ad{display:none;}
/* 上半部分：缩略图 + 文字（在卡片内部，无单独背景） */
.hfa-top{
  display:flex;gap:10px;align-items:center;
}
.hfa-thumb{
  width:74px;height:74px;border-radius:10px;
  overflow:hidden;flex-shrink:0;
  background:rgba(255,255,255,0.08);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:15px;font-weight:700;
}
.hfa-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.hfa-body{
  flex:1;min-width:0;
  display:flex;flex-direction:column;justify-content:center;gap:6px;
}
/* 标题行 · 标题 left + HOT 角标 right（inline 跟在 title 后） */
.hfa-title-row{
  display:flex;align-items:center;gap:6px;min-width:0;
}
.hfa-title{
  flex:1;min-width:0;
  font-size:14px;font-weight:700;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  line-height:1.25;
}
.hfa-badge{
  flex-shrink:0;
  padding:2px 7px;
  background:#FF3B30;
  border-radius:4px;
  font-size:10px;font-weight:800;color:#fff;
  letter-spacing:0.8px;
  line-height:1.2;
}
.hfa-desc{
  font-size:12px;color:rgba(255,255,255,0.85);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  line-height:1.3;
  font-weight:500;
}
/* 三个按钮统一尺寸：height 38 + 圆角 8 + font 13 + 600，只是底色/动作不同 */
.hfa-cta, .hfa-reward-banner, .hfa-close{
  width:100%;height:38px;
  display:flex;align-items:center;justify-content:center;gap:6px;
  border:0;border-radius:8px;
  font-size:13px;font-weight:600;letter-spacing:0.3px;
  color:#fff;
  font-family:inherit;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  box-sizing:border-box;
  transition:opacity .12s ease, transform .12s ease;
  text-decoration:none;  /* 给 <a class="hfa-cta"> 用 */
}
.hfa-cta{
  background:linear-gradient(180deg, #FF7843, #FF5722);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.15);
}
.hfa-cta:active{opacity:0.85;transform:scale(0.98);}

/* ── 顶部返回按钮（feed view 内） ── */
.home-feed-topbar{
  position:absolute;top:0;left:0;right:0;
  z-index:11;
  padding:calc(env(safe-area-inset-top, 0px) + 12px) 14px 0;
  display:flex;align-items:center;pointer-events:none;
}
.home-feed-back{
  width:36px;height:36px;border-radius:50%;
  background:rgba(0,0,0,0.45);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,0.12);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  pointer-events:auto;padding:0;
  transition:transform .12s ease;
}
.home-feed-back:active{transform:scale(0.92);}

/* ── reward bar · 浮在视频上方 + 玻璃透明感（backdrop-blur 真透视频画面） ── */
/* 跟广告卡片同一套 glass 配方，整体融合 */
.home-feed-reward-bar{
  position:absolute;left:0;right:0;bottom:0;
  z-index:11;
  height:56px;
  padding:0 20px;
  padding-bottom:env(safe-area-inset-bottom, 0px);
  background:rgba(80,82,100,0.5);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  color:#fff;
  font-size:14px;font-weight:600;letter-spacing:0.2px;
  display:flex;align-items:center;justify-content:center;gap:12px;
  pointer-events:none;
  transition:opacity .4s ease, background .3s ease;
}
.home-feed-reward-bar.rewarded{
  /* 解锁后保持半透明黑（跟倒计时一致），不变绿，只改内容（箭头 + 文字） */
}
/* 上滑双 V chevron · 浮动动画（1:1 复用 signin .sp-swipe-hint 金色香槟光晕风格） */
.home-feed-reward-arrow{
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
  color:rgba(248,232,200,0.92);
  -webkit-filter:drop-shadow(0 0 4px rgba(245,210,140,0.45));
  filter:drop-shadow(0 0 4px rgba(245,210,140,0.45));
  -webkit-animation:feedHintGlow 1.6s ease-in-out infinite;
  animation:feedHintGlow 1.6s ease-in-out infinite;
}
.home-feed-reward-arrow svg{display:block;}
@-webkit-keyframes feedHintGlow{
  0%,100%{opacity:0.6;-webkit-transform:translateY(0);}
  50%    {opacity:1;-webkit-transform:translateY(-3px);}
}
@keyframes feedHintGlow{
  0%,100%{opacity:0.6;transform:translateY(0);}
  50%    {opacity:1;transform:translateY(-3px);}
}
.home-feed-reward-icon{
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;color:#fff;opacity:0.92;
}
.home-feed-reward-bar.rewarded .home-feed-reward-icon{
  opacity:1;
}
.home-feed-reward-icon svg{display:block;}
.home-feed-reward-text{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* 视频描述（左下）*/
.home-feed-desc{
  position:absolute;left:14px;right:80px;bottom:30px;z-index:9;
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.5);pointer-events:none;
}
.home-feed-desc-user{font-size:15px;font-weight:700;margin-bottom:6px;}
.home-feed-desc-text{font-size:13px;line-height:1.45;opacity:0.95;}

/* 右侧工具栏 */
.home-feed-toolbar{
  position:absolute;right:8px;bottom:30px;
  display:flex;flex-direction:column;align-items:center;gap:14px;z-index:10;
}
.home-feed-tb-avatar{
  width:54px;height:54px;border-radius:50%;border:2px solid #fff;
  background:linear-gradient(135deg,#667,#334);position:relative;margin-bottom:8px;
}
.home-feed-tb-follow{
  position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);
  width:20px;height:20px;border-radius:50%;background:#fe2c55;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;color:#fff;line-height:1;
}
.home-feed-tb-btn{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.home-feed-tb-icon{
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  font-size:28px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,0.4));opacity:0.92;
}
.home-feed-tb-label{
  font-size:11px;color:#fff;font-weight:400;text-shadow:0 1px 3px rgba(0,0,0,0.5);
}
