:root{
  --bg:#0b1020;
  --card:#0f1733;
  --text:#eaf0ff;
  --muted:#9db0d8;
  --line:rgba(255,255,255,.08);
  --primary:#2563eb;
  --danger:#ff4d4f;
  --ok:#34d399;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  background: radial-gradient(1200px 600px at 30% -10%, rgba(37,99,235,.35), transparent 60%),
              radial-gradient(900px 500px at 90% 10%, rgba(52,211,153,.18), transparent 65%),
              var(--bg);
  color:var(--text);
}
.container{max-width:980px;margin:20px;padding-top: 140px;}
.topbar {
  position: fixed;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;

  width: calc(100% - 28px);

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  padding: 15px 18px;
  border-radius: 20px;
  background: linear-gradient(135deg, #4f7cff, #6fa8ff, #8bc6ff);
  box-shadow: 0 10px 24px rgba(79, 124, 255, 0.35);
}
.brand b{font-size:16px}
.brand small{color:var(--muted)}
.pill{display: inline-block;padding: 8px 14px;font-size: 13px;color: #fff;line-height: 1.2;flex: 1 1 100%;}
.btn{
  padding:10px 12px;border-radius:12px;border:1px solid var(--line);
  background:rgb(249 11 11);color:var(--text);cursor:pointer
}
.btn.primary{background:var(--primary);border-color:transparent}
.btn.danger{background:var(--danger);border-color:transparent}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
@media(max-width:640px){.grid{grid-template-columns:1fr}}
.card{
  border:1px solid var(--line);
  background:rgba(15,23,51,.72);
  border-radius:16px; overflow:hidden;
}
.thumb{
  width:100%;aspect-ratio:16/9;object-fit:cover;display:block;
  background:#0a0f22;
}
.meta{padding:10px;display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.meta .t{font-size:14px;font-weight:700;line-height:1.2}
.meta .s{font-size:12px;color:var(--muted);margin-top:6px}
.badge{font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.footerCats{
  position:fixed;bottom:0;margin-top:14px;padding:12px;border-radius:16px;
  border:1px solid var(--line); background:rgba(15,23,51,.88);backdrop-filter: blur(12px);width: 100%;
  z-index: 99;
}
.cats{display:grid;grid-template-columns:25% 25% 25% 25%;}
.cat{
  padding:8px 10px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:var(--text);text-decoration:none;font-size:13px
}
.cat:hover{background:rgba(255,255,255,.08)}
.loadMore{margin:14px 0 90px 0;text-align:center;color:var(--muted)}
.modalMask{
  position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:999;
}
.modal{
  width:min(520px,92vw);
  border:1px solid var(--line);
  background:rgba(15,23,51,.92);
  border-radius:16px;padding:14px;
}
.modal h3{margin:0 0 8px 0}
.modal p{margin:0 0 10px 0;color:var(--muted);line-height:1.5}
.modal .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin: 10px 0;}
.modal input{
  width:100%;padding:10px;border-radius:12px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:#000;outline:none
}
.videoWrap{margin:10px 5px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(15,23,51,.72)}
video{width:100%;display:block;background:#000;max-height: 200px;}
.pillCode {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    flex-direction: column;
}

.share-code-chip,
.btn {
  flex: 0 0 auto;   /* 🔥 不参与压缩 */
}


/* ===== 分享码 Chip 公共 ===== */
.share-code-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 4px;
  border-radius: 999px;
  font-size: 14px;
  cursor: pointer;
  user-select: none;
  transition: all .25s ease;
}

.share-code-chip .label {
  opacity: .85;
  font-size: 13px;
}

.share-code-chip .code {
  font-weight: 700;
  letter-spacing: .5px;
}

/* ===== 方案 A：玻璃拟态 ===== */
.share-code-chip.chip-a {
  background: rgba(255,255,255,0.22);
  border: 1px solid rgba(255,255,255,0.35);
  color: #ffffff;
  backdrop-filter: blur(6px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.35),
    0 4px 12px rgba(0,0,0,0.12);
}

/* 分享码高亮 */
.share-code-chip.chip-a .code {
  color: #5af100;
}

/* 交互态 */
.share-code-chip.chip-a:hover {
  background: rgba(255,255,255,0.28);
}

.share-code-chip.chip-a:active {
  transform: scale(0.96);
}

#points {
  display: block;
  font-size: 40px;
  font-weight: 900;
  color: #4cff9a;o
  line-height: 1;
  margin-bottom: 4px;
}

#shareUrlInput {
    color: #000;
}

.green {
    color: #39ff14;
}

.orange {
    background: linear-gradient(135deg,#FFD200,#FF8A00) !important;
}

.videoCats{
  overflow-x: auto;
    position: fixed;
    top: 113px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    width: calc(100% - 28px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 18px;
    border-radius: 20px;
}
.videoCat{
  flex:0 0 auto;
  padding:6px 14px;
  border-radius:999px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(90,140,255,.25);
  color:#2b4a8b;
  font-size:14px;
  white-space:nowrap;
}
.videoCat.active{
  background: linear-gradient(135deg,#4f7cff,#6fb1ff);
  color:#fff;
  border-color: transparent;
}

.butList {
    margin: 10px;
}

.butList button {
    width: 100%;
    padding: 13px;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(79, 124, 255, .35);
    border: unset;
    font-size: 16px;
    font-weight: 600;
    background: linear-gradient(135deg, #3CE7D8, #38F9A5);
    letter-spacing: 5px;
    margin-bottom: 10px;
    
}

/* 返回顶部按钮 */
.back-top-btn {
      position: fixed;
    right: 14px;
    bottom: 160px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #d1c4c48a;
    color: #000000;
    font-size: 22px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .25);
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease;
}

/* 显示状态 */
.back-top-btn.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* 点击反馈 */
.back-top-btn:active {
  transform: scale(0.92);
}

#redeemResult {
    color: red;
    font-weight: 800;
}

.videoWrap {
  position: relative;
  background: #000;
}

#player {
  width: 100%;
  height: auto;
  background: #000;
}

/* 试看播放按钮 */
.playOverlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  background: rgba(0,0,0,.35);
  cursor: pointer;
  z-index: 3;
}

/* 弹窗必须压过 video */
.modalMask {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.55);
}





