/* 每日主线 — Canvas 粒子扭蛋机（紧凑弹窗） */
html.bbs-dd-lock{overflow:hidden !important;}

#bbs-dd-modal.bbs-dd-modal[hidden],
#bbs-dd-modal[hidden],
.bbs-dd-modal[hidden]{
  display:none !important;
  pointer-events:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

#bbs-dd-modal.bbs-dd-modal,
.bbs-dd-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:12090 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:16px 14px !important;
  box-sizing:border-box !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, visibility .24s ease;
}

#bbs-dd-modal.bbs-dd-modal.is-open,
.bbs-dd-modal.is-open{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

.bbs-dd-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(22,24,30,.5) !important;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.bbs-dd-panel{
  position:relative !important;
  z-index:1 !important;
  width:min(380px, calc(100vw - 28px)) !important;
  max-height:min(90vh, 720px) !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  margin:0 auto !important;
  box-sizing:border-box !important;
  padding:16px 14px 12px !important;
  border:1px solid rgba(255,255,255,.72) !important;
  border-radius:18px !important;
  background:
    radial-gradient(ellipse 85% 45% at 50% 0%, rgba(255,228,220,.5), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,244,248,.9)) !important;
  color:#2a2e33 !important;
  box-shadow:
    0 16px 36px rgba(30,34,42,.18),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
  backdrop-filter:blur(18px) saturate(1.12);
  -webkit-backdrop-filter:blur(18px) saturate(1.12);
  transform:translateY(10px) scale(.98);
  transition:transform .26s cubic-bezier(.2,.8,.2,1);
}
.bbs-dd-modal.is-open .bbs-dd-panel{transform:translateY(0) scale(1) !important;}

.bbs-dd-close{
  position:absolute !important;top:6px !important;right:8px !important;
  z-index:60 !important;
  width:28px !important;height:28px !important;border:0 !important;
  background:rgba(255,255,255,.55) !important;color:#6a727c !important;
  border-radius:50% !important;
  font-size:18px !important;line-height:1 !important;cursor:pointer !important;
  transition:background .15s ease, transform .15s ease;
}
.bbs-dd-close:hover{
  background:#fff !important;color:#1a1e22 !important;
  transform:rotate(90deg);
}

.bbs-dd-hero{text-align:center;padding:0 18px;}
.bbs-dd-title{
  margin:0 0 2px !important;font-size:17px !important;font-weight:800 !important;color:#1c2228 !important;
  letter-spacing:.02em;
}
.bbs-dd-sub{
  margin:0 auto 4px !important;
  font-size:11px !important;color:#9aa3ae !important;line-height:1.35 !important;
}
.bbs-dd-reset{
  margin:0 auto 6px !important;
  font-size:11px !important;color:#7a8490 !important;line-height:1.35 !important;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
}
.bbs-dd-reset[hidden]{display:none !important;}
.bbs-dd-reset #bbs-dd-countdown{color:#5a6570;font-weight:600;}

.bbs-dd-machine{
  position:relative;
  background:transparent;
  border:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  overflow:hidden;
  margin-bottom:2px;
  padding:0;
  box-sizing:border-box;
}

.bbs-dd-chest-hint{
  margin:0;font-size:10px;color:#a8b0ba;letter-spacing:.03em;text-align:center;
  transition:opacity .2s ease;
}
.bbs-dd-chest-hint[hidden],
.bbs-dd-machine.is-opening .bbs-dd-chest-hint,
.bbs-dd-machine.is-opened .bbs-dd-chest-hint{
  display:none !important;
}

/* MarketUI Gashapon 布局：设计稿 750×900 */
.bbs-dd-gasha{
  position:relative;
  width:min(260px, 72vw);
  aspect-ratio:750 / 900;
  margin:0 auto;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  overflow:hidden;
}
.bbs-dd-machine.can-draw .bbs-dd-gasha{filter:drop-shadow(0 8px 18px rgba(80,40,120,.22));}
.bbs-dd-machine.is-opening .bbs-dd-gasha,
.bbs-dd-machine.is-opened .bbs-dd-gasha{cursor:default;}

.bbs-dd-gasha-box{
  position:absolute;
  left:0;top:0;
  width:100%;
  height:calc(860 / 900 * 100%);
  object-fit:contain;
  object-position:top center;
  pointer-events:none;
  z-index:1;
}

/* 球仓 ballContainerStyle: 500×470 @ 130,110 */
.bbs-dd-gasha-balls{
  position:absolute;
  left:calc(130 / 750 * 100%);
  top:calc(110 / 900 * 100%);
  width:calc(500 / 750 * 100%);
  height:calc(470 / 900 * 100%);
  z-index:2;
  pointer-events:none;
  background:transparent;
}

/* 下落道 downContainerStyle: 68×420 @ 30,302 */
.bbs-dd-gasha-down{
  position:absolute;
  left:calc(30 / 750 * 100%);
  top:calc(302 / 900 * 100%);
  width:calc(68 / 750 * 100%);
  height:calc(420 / 900 * 100%);
  z-index:3;
  overflow:visible;
  pointer-events:none;
  opacity:0;
}
.bbs-dd-gasha-down.is-show{opacity:1;}
.bbs-dd-gasha-dropball{
  position:absolute;
  left:50%;
  top:0;
  width:86%;
  aspect-ratio:1;
  margin-left:-43%;
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  box-shadow:
    inset -3px -4px 6px rgba(0,0,0,.14),
    inset 2px 3px 5px rgba(255,255,255,.5),
    0 3px 8px rgba(0,0,0,.18);
  background:
    radial-gradient(circle at 30% 26%, rgba(255,255,255,.85) 0 16%, transparent 36%),
    radial-gradient(circle at 50% 55%, var(--c0, #e8b4ae), var(--c1, #c48a84) 75%);
}
.bbs-dd-gasha-down.is-run .bbs-dd-gasha-dropball{
  opacity:1;
  animation:bbsDdDownFall 1.05s cubic-bezier(.35,.1,.25,1) forwards;
}
@keyframes bbsDdDownFall{
  0%{transform:translateY(-30%) scale(.85) rotate(0);opacity:0}
  12%{opacity:1;transform:translateY(0) scale(1) rotate(40deg)}
  55%{transform:translate(8%, 55%) scale(1) rotate(180deg)}
  100%{transform:translate(18%, 98%) scale(1.05) rotate(320deg);opacity:0}
}

/* 管道门 doorStyle: 150×166 @ 160,685 */
.bbs-dd-gasha-door{
  position:absolute;
  left:calc(160 / 750 * 100%);
  top:calc(685 / 900 * 100%);
  width:calc(150 / 750 * 100%);
  height:auto;
  z-index:5;
  pointer-events:none;
  opacity:1;
  transform-origin:50% 0%;
  transition:opacity .25s ease, transform .35s ease;
}
.bbs-dd-machine.is-opening .bbs-dd-gasha-door,
.bbs-dd-gasha.is-door-open .bbs-dd-gasha-door{
  opacity:0;
  transform:translateY(-12%) scaleY(.2);
}

/* 出奖彩球：落出口 → 飞到中间 → 裂开金光 */
.bbs-dd-gasha-prize{
  position:absolute;
  left:calc(155 / 750 * 100%);
  top:calc(705 / 900 * 100%);
  width:calc(160 / 750 * 100%);
  aspect-ratio:1;
  z-index:6;
  pointer-events:none;
  opacity:0;
  transform:scale(.4);
  transition:
    left .75s cubic-bezier(.2,.8,.2,1),
    top .75s cubic-bezier(.2,.8,.2,1),
    width .75s cubic-bezier(.2,.8,.2,1),
    transform .75s cubic-bezier(.2,.8,.2,1),
    opacity .2s ease;
}
.bbs-dd-gasha.is-prize .bbs-dd-gasha-prize{
  opacity:1;
  animation:bbsDdPrizePop .55s cubic-bezier(.2,.9,.3,1) forwards;
}
@keyframes bbsDdPrizePop{
  0%{opacity:0;transform:scale(.35) translateY(10px)}
  60%{opacity:1;transform:scale(1.08) translateY(0)}
  100%{opacity:1;transform:scale(1) translateY(0)}
}

/* 飞到机台中央 */
.bbs-dd-gasha.is-fly .bbs-dd-gasha-prize{
  animation:none;
  left:50%;
  top:38%;
  width:calc(220 / 750 * 100%);
  transform:translateX(-50%) scale(1.35);
  z-index:30;
}
.bbs-dd-gasha.is-fly .bbs-dd-gasha-box,
.bbs-dd-gasha.is-fly .bbs-dd-gasha-balls,
.bbs-dd-gasha.is-fly .bbs-dd-gasha-btn,
.bbs-dd-gasha.is-fly .bbs-dd-gasha-door{
  filter:brightness(.72);
  transition:filter .45s ease;
}
.bbs-dd-gasha.is-open .bbs-dd-gasha-box,
.bbs-dd-gasha.is-open .bbs-dd-gasha-balls,
.bbs-dd-gasha.is-open .bbs-dd-gasha-btn,
.bbs-dd-gasha.is-open .bbs-dd-gasha-door{
  filter:brightness(.55);
}

.bbs-dd-prize-half,
.bbs-dd-prize-core,
.bbs-dd-prize-glow,
.bbs-dd-prize-rays{
  position:absolute;
  pointer-events:none;
  display:block;
}
.bbs-dd-prize-half{
  inset:0;
  border-radius:50%;
  box-shadow:
    inset -3px -4px 6px rgba(0,0,0,.14),
    inset 2px 3px 5px rgba(255,255,255,.5),
    0 4px 12px rgba(0,0,0,.16);
  background:
    radial-gradient(circle at 30% 26%, rgba(255,255,255,.9) 0 14%, transparent 34%),
    radial-gradient(circle at 70% 78%, rgba(0,0,0,.1), transparent 42%),
    radial-gradient(circle at 50% 55%, var(--c0, #e8b4ae), var(--c1, #c48a84) 75%);
  transition:transform .55s cubic-bezier(.2,.85,.25,1), opacity .45s ease;
  z-index:3;
}
.bbs-dd-prize-half--l{clip-path:inset(0 50% 0 0); transform-origin:100% 50%;}
.bbs-dd-prize-half--r{clip-path:inset(0 0 0 50%); transform-origin:0% 50%;}

.bbs-dd-prize-core{
  left:50%;top:50%;
  width:42%;height:42%;
  margin:-21% 0 0 -21%;
  border-radius:50%;
  opacity:0;
  transform:scale(.2);
  z-index:2;
  background:
    radial-gradient(circle at 35% 30%, #fff8d8 0 18%, #ffe08a 40%, #f0b429 78%, #d49212 100%);
  box-shadow:
    0 0 18px rgba(255,210,80,.85),
    0 0 36px rgba(255,180,40,.55);
  transition:opacity .35s ease, transform .55s cubic-bezier(.2,.9,.3,1);
}
.bbs-dd-prize-glow{
  left:50%;top:50%;
  width:120%;height:120%;
  margin:-60% 0 0 -60%;
  border-radius:50%;
  opacity:0;
  z-index:1;
  background:radial-gradient(circle, rgba(255,230,140,.75) 0%, rgba(255,190,60,.35) 38%, transparent 68%);
  transition:opacity .4s ease, transform .6s ease;
  transform:scale(.4);
}
.bbs-dd-prize-rays{
  left:50%;top:50%;
  width:160%;height:160%;
  margin:-80% 0 0 -80%;
  opacity:0;
  z-index:0;
  max-width:none;
  background:
    conic-gradient(from 0deg,
      rgba(255,220,120,.0) 0deg,
      rgba(255,220,120,.55) 8deg,
      rgba(255,220,120,.0) 16deg,
      rgba(255,220,120,.0) 28deg,
      rgba(255,230,150,.5) 36deg,
      rgba(255,220,120,.0) 44deg,
      rgba(255,220,120,.0) 56deg,
      rgba(255,210,100,.45) 64deg,
      rgba(255,220,120,.0) 72deg,
      rgba(255,220,120,.0) 90deg,
      rgba(255,230,140,.5) 98deg,
      rgba(255,220,120,.0) 106deg,
      rgba(255,220,120,.0) 130deg,
      rgba(255,215,110,.48) 138deg,
      rgba(255,220,120,.0) 146deg,
      rgba(255,220,120,.0) 180deg,
      rgba(255,230,130,.5) 188deg,
      rgba(255,220,120,.0) 196deg,
      rgba(255,220,120,.0) 220deg,
      rgba(255,210,100,.45) 228deg,
      rgba(255,220,120,.0) 236deg,
      rgba(255,220,120,.0) 270deg,
      rgba(255,230,140,.5) 278deg,
      rgba(255,220,120,.0) 286deg,
      rgba(255,220,120,.0) 320deg,
      rgba(255,215,110,.48) 328deg,
      rgba(255,220,120,.0) 336deg,
      rgba(255,220,120,.0) 360deg);
  filter:blur(.4px);
  transform:scale(.35) rotate(0deg);
  transition:opacity .35s ease;
}

/* 打开：两半裂开 + 金光 */
.bbs-dd-gasha.is-open .bbs-dd-gasha-prize{
  animation:none;
  left:50%;
  top:38%;
  width:calc(220 / 750 * 100%);
  transform:translateX(-50%) scale(1.45);
  z-index:30;
}
.bbs-dd-gasha.is-open .bbs-dd-prize-half--l{
  transform:translateX(-58%) rotate(-18deg) scale(1.02);
  opacity:.15;
}
.bbs-dd-gasha.is-open .bbs-dd-prize-half--r{
  transform:translateX(58%) rotate(18deg) scale(1.02);
  opacity:.15;
}
.bbs-dd-gasha.is-open .bbs-dd-prize-core{
  opacity:1;
  transform:scale(1.15);
}
.bbs-dd-gasha.is-open .bbs-dd-prize-glow{
  opacity:1;
  transform:scale(1.15);
  animation:bbsDdGoldPulse 1.1s ease-in-out infinite;
}
.bbs-dd-gasha.is-open .bbs-dd-prize-rays{
  opacity:1;
  animation:bbsDdGoldSpin 3.2s linear infinite;
}
@keyframes bbsDdGoldPulse{
  0%,100%{transform:scale(1.05);opacity:.85}
  50%{transform:scale(1.25);opacity:1}
}
@keyframes bbsDdGoldSpin{
  from{transform:scale(1) rotate(0deg)}
  to{transform:scale(1) rotate(360deg)}
}

/* 揭晓后球淡出，给任务卡让位；停掉金光循环，避免正中卡片一直抖 */
.bbs-dd-gasha.is-revealed .bbs-dd-gasha-prize{
  opacity:0 !important;
  transform:translateX(-50%) scale(1.7);
  transition:opacity .45s ease, transform .45s ease;
  animation:none !important;
}
.bbs-dd-gasha.is-revealed .bbs-dd-prize-glow,
.bbs-dd-gasha.is-revealed .bbs-dd-prize-rays,
.bbs-dd-gasha.is-revealed .bbs-dd-prize-core,
.bbs-dd-gasha.is-revealed .bbs-dd-prize-half{
  animation:none !important;
  opacity:0 !important;
  transition:none !important;
}
.bbs-dd-gasha.is-revealed .bbs-dd-gasha-box,
.bbs-dd-gasha.is-revealed .bbs-dd-gasha-balls,
.bbs-dd-gasha.is-revealed .bbs-dd-gasha-btn,
.bbs-dd-gasha.is-revealed .bbs-dd-gasha-door{
  filter:none;
}

/* 开始按钮 btnStyle: 320×220 @ 360,680 */
.bbs-dd-gasha-btn{
  position:absolute;
  left:calc(360 / 750 * 100%);
  top:calc(680 / 900 * 100%);
  width:calc(320 / 750 * 100%);
  height:calc(220 / 900 * 100%);
  padding:0;border:0;background:transparent;
  z-index:7;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.bbs-dd-gasha-btn-img{
  display:block;width:100%;height:100%;object-fit:contain;
  pointer-events:none;
  transition:transform .1s ease;
}
.bbs-dd-gasha-btn:active .bbs-dd-gasha-btn-img,
.bbs-dd-gasha-btn.is-press .bbs-dd-gasha-btn-img{transform:scale(.96);}
.bbs-dd-machine.is-opening .bbs-dd-gasha-btn,
.bbs-dd-machine.is-opened .bbs-dd-gasha-btn{pointer-events:none;opacity:.85;}
.bbs-dd-machine.can-draw .bbs-dd-gasha-btn{animation:bbsDdBtnPulse 1.8s ease-in-out infinite;}
@keyframes bbsDdBtnPulse{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.08)}
}

/* 指向 START 的气泡 */
.bbs-dd-start-tip{
  position:absolute;
  left:calc(390 / 750 * 100%);
  top:calc(560 / 900 * 100%);
  z-index:9;
  padding:6px 10px;
  border-radius:10px;
  background:#2a3038;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  white-space:nowrap;
  line-height:1.2;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(4px) scale(.96);
  box-shadow:0 4px 12px rgba(30,34,42,.22);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.bbs-dd-start-tip::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  margin-left:-6px;
  border:6px solid transparent;
  border-top-color:#2a3038;
  border-bottom-width:0;
}
.bbs-dd-machine.can-draw .bbs-dd-start-tip{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  animation:bbsDdTipBounce 1.4s ease-in-out infinite;
}
.bbs-dd-machine.is-opening .bbs-dd-start-tip,
.bbs-dd-machine.is-opened .bbs-dd-start-tip{
  opacity:0 !important;
  visibility:hidden !important;
  animation:none !important;
}
@keyframes bbsDdTipBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

/* 弹窗正中揭晓层 */
.bbs-dd-reveal{
  position:absolute;
  inset:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 16px 20px;
  box-sizing:border-box;
  border-radius:inherit;
  background:transparent;
  pointer-events:none;
}
.bbs-dd-reveal[hidden]{display:none !important;}
.bbs-dd-reveal-inner{
  width:100%;
  max-width:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  pointer-events:auto;
}
.bbs-dd-reveal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  width:100%;
}
.bbs-dd-reveal-actions:empty{display:none;}
.bbs-dd-reveal-actions .bbs-dd-btn{
  min-width:112px;
  padding:10px 16px;
  font-size:13px;
}
.bbs-dd-reveal-actions .bbs-dd-award{
  width:auto;
  max-width:none;
  min-width:0;
  flex:0 0 auto;
}
.bbs-dd-act-row{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:8px;
  width:auto;
  max-width:none;
  margin:0 auto;
}
.bbs-dd-act{
  appearance:none;
  flex:0 0 auto;
  min-width:0;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  padding:7px 14px;
  border:1px solid #111;
  border-radius:10px;
  cursor:pointer;
  font-family:inherit;
  line-height:1.15;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background .15s ease,
    color .15s ease;
  transform:translateY(0);
}
.bbs-dd-act-main{
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
}
.bbs-dd-act-sub{
  font-size:9px;
  font-weight:700;
  letter-spacing:.03em;
  opacity:.7;
}
.bbs-dd-act--accept{
  background:#111;
  color:#fff;
  box-shadow:0 2px 0 rgba(0,0,0,.2);
}
.bbs-dd-act--accept:hover{
  background:#222;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 3px 0 rgba(0,0,0,.24);
}
.bbs-dd-act--accept:active{
  transform:translateY(1px);
  box-shadow:0 1px 0 rgba(0,0,0,.18);
}
.bbs-dd-act--swap{
  background:#fff;
  color:#1c2228;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 2px 0 rgba(0,0,0,.12);
}
.bbs-dd-act--swap:hover:not(:disabled){
  background:#fffaf0;
  transform:translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 3px 0 rgba(0,0,0,.14);
}
.bbs-dd-act--swap:active:not(:disabled){
  transform:translateY(1px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 1px 0 rgba(0,0,0,.1);
}
.bbs-dd-act--swap:disabled{
  opacity:1;
  cursor:not-allowed;
  color:rgba(28,34,40,.38);
  background:#f3f3f1;
  border-color:rgba(17,17,17,.22);
  box-shadow:none;
}
@media (max-width:380px){
  .bbs-dd-act-row{gap:6px;}
  .bbs-dd-act{padding:6px 12px;}
  .bbs-dd-act-main{font-size:11.5px;}
}

.bbs-dd-result{
  position:relative;z-index:4;width:100%;
  padding:14px 16px;text-align:center;
  border:1px solid rgba(255,220,150,.7);border-radius:14px;
  background:
    radial-gradient(ellipse 80% 70% at 50% 0%, rgba(255,236,180,.6), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,248,236,.94));
  box-shadow:
    0 0 0 1px rgba(255,210,120,.28),
    0 10px 28px rgba(180,120,40,.16),
    0 5px 14px rgba(40,50,60,.06);
  opacity:0;
  transform:scale(.88) translateY(10px);
}
.bbs-dd-result.is-show{
  opacity:1;
  transform:scale(1) translateY(0);
}
.bbs-dd-result.is-show.is-anim{
  animation:bbsDdResultReveal .55s cubic-bezier(.2,.9,.3,1) forwards;
}
.bbs-dd-result[hidden]{display:none !important;}
@keyframes bbsDdResultReveal{
  0%{opacity:0;transform:scale(.82) translateY(14px)}
  65%{opacity:1;transform:scale(1.04) translateY(0)}
  100%{opacity:1;transform:scale(1) translateY(0)}
}
.bbs-dd-result-label{font-size:10px;letter-spacing:.14em;color:#b8923a;font-weight:700;margin-bottom:6px;}
.bbs-dd-result-text{font-size:16px;font-weight:800;line-height:1.45;color:#1c2228;}

.bbs-dd-reveal .bbs-dd-mode,
.bbs-dd-reveal .bbs-dd-upload{
  width:100%;
}
.bbs-dd-reveal .bbs-dd-mode-btn{
  background:rgba(255,255,255,.95);
}

.bbs-dd-meta{
  font-size:11px;color:#9aa3ae;margin:2px 0 2px;text-align:center;
}
.bbs-dd-status-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:6px;
  flex-wrap:wrap;
}
.bbs-dd-status{
  font-size:12px;color:#5a646e;line-height:1.35;text-align:left;
  flex:0 1 auto;
  min-width:0;
}
.bbs-dd-mine-btn,
.bbs-dd-audit-btn{
  flex:0 0 auto;
  white-space:nowrap;
}
.bbs-dd-audit-btn[hidden]{display:none !important;}
.bbs-dd-audit-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:10px;
  position:relative;
}
.bbs-dd-audit-head .bbs-dd-mine-title{margin:0;}
.bbs-dd-audit-head #bbs-dd-audit-refresh{position:absolute;right:28px;top:50%;transform:translateY(-50%);}
.bbs-dd-audit-item-actions{
  display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;
}
.bbs-dd-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;}

.bbs-dd-btn{
  appearance:none;border:1px solid rgba(70,80,90,.12);background:rgba(255,255,255,.9);color:#2a3038;
  border-radius:10px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer;
  box-shadow:0 2px 6px rgba(40,50,60,.05);
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.bbs-dd-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(40,50,60,.1);background:#fff;}
.bbs-dd-btn:active{transform:translateY(0);}
.bbs-dd-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;}
.bbs-dd-btn--pri{
  background:linear-gradient(180deg, #5a4a52, #322830);
  color:#fff;border-color:#322830;
}
.bbs-dd-btn--pri:hover{background:linear-gradient(180deg, #4a3a42, #241e24);color:#fff;}
.bbs-dd-btn--ghost{background:rgba(255,255,255,.45);box-shadow:none;}
.bbs-dd-award{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
  max-width:none;
  margin:0 auto;
  padding:8px 14px;
  border:1px solid #111;
  border-radius:999px;
  background:
    linear-gradient(180deg, #fff9e8 0%, #fff 48%, #fff 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 3px 0 rgba(0,0,0,.14),
    0 8px 18px rgba(40,40,30,.07);
  animation:bbsDdAwardIn .42s cubic-bezier(.22,1,.36,1) both;
}
.bbs-dd-award-mark{
  display:inline-grid;
  place-items:center;
  width:22px;height:22px;
  border-radius:50%;
  border:1.5px solid #111;
  background:linear-gradient(145deg, #ffe9a8, #f0c14b 55%, #d4a017);
  color:#111;
  font-size:12px;
  font-weight:900;
  line-height:1;
  box-shadow:0 1px 0 rgba(0,0,0,.1);
  flex-shrink:0;
}
.bbs-dd-award-text{
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  color:#1c2228;
  line-height:1.2;
  white-space:nowrap;
}
@keyframes bbsDdAwardIn{
  from{opacity:0;transform:translateY(8px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .bbs-dd-award{animation:none}
}
.bbs-dd-btn--sm{padding:5px 8px;font-size:11px;}
.bbs-dd-meta[hidden]{display:none !important;}

/* 我的任务弹窗 */
.bbs-dd-mine[hidden]{display:none !important;}
.bbs-dd-mine{
  position:fixed;inset:0;z-index:12120;
  display:flex;align-items:center;justify-content:center;
  padding:16px 14px;box-sizing:border-box;
}
.bbs-dd-mine-backdrop{
  position:absolute;inset:0;
  background:rgba(22,24,30,.45);
}
.bbs-dd-mine-panel{
  position:relative;z-index:1;
  width:min(360px, calc(100vw - 28px));
  max-height:min(78vh, 560px);
  overflow:hidden;
  display:flex;flex-direction:column;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,246,250,.94));
  box-shadow:0 18px 40px rgba(30,34,42,.2);
  padding:14px 14px 12px;
  box-sizing:border-box;
}
.bbs-dd-mine-title{
  margin:0 28px 10px 0;font-size:16px;font-weight:800;color:#1c2228;text-align:center;
}
.bbs-dd-mine-tabs{
  display:flex;align-items:center;gap:4px;
  margin:0 0 10px;padding:4px;
  border-radius:999px;
  border:1px solid rgba(60,70,80,.1);
  background:linear-gradient(180deg,#f1f0ee,#f7f6f4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.bbs-dd-mine-tab{
  appearance:none;flex:1 1 0;min-width:0;
  border:1px solid transparent;border-radius:999px;
  background:transparent;color:rgba(28,34,40,.45);
  padding:8px 10px;font-size:12.5px;font-weight:750;letter-spacing:.04em;
  cursor:pointer;transition:color .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.bbs-dd-mine-tab:hover{color:#1c2228;background:rgba(255,255,255,.7);}
.bbs-dd-mine-tab.is-on{
  color:#1c2228;background:#fff;border-color:#111;
  box-shadow:0 2px 0 rgba(0,0,0,.12);
}
.bbs-dd-mine-body{
  overflow:auto;flex:1;min-height:0;
  padding-right:2px;
}
.bbs-dd-mine-list{display:flex;flex-direction:column;gap:6px;min-height:120px;}
.bbs-dd-mine-empty{
  font-size:12px;color:#9aa3ae;padding:10px 8px;text-align:center;
  border:1px dashed rgba(140,150,160,.35);border-radius:10px;
  background:rgba(255,255,255,.5);
}
.bbs-dd-mine-item{
  border:1px solid rgba(60,70,80,.1);border-radius:10px;padding:8px 10px;
  background:rgba(255,255,255,.82);
}
.bbs-dd-mine-item .date{font-size:10px;color:#9aa3ae;margin-bottom:2px;}
.bbs-dd-mine-item .task{font-size:13px;font-weight:700;color:#2a3038;line-height:1.4;margin-bottom:4px;}
.bbs-dd-mine-item .meta{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  font-size:11px;color:#6a727c;
}
.bbs-dd-mine-badge{
  display:inline-block;padding:2px 6px;border-radius:6px;font-size:10px;font-weight:700;
  background:rgba(90,100,110,.08);color:#5a646e;
}
.bbs-dd-mine-badge.is-ok{background:rgba(46,140,90,.12);color:#2d7a4e;}
.bbs-dd-mine-badge.is-wait{background:rgba(180,130,40,.14);color:#9a7020;}
.bbs-dd-mine-badge.is-bad{background:rgba(160,50,50,.12);color:#a33;}
.bbs-dd-mine-imgs{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;}
.bbs-dd-mine-imgs img{
  width:40px;height:40px;object-fit:cover;border-radius:6px;
  border:1px solid rgba(60,70,80,.1);cursor:zoom-in;
}
.bbs-dd-mine-pager[hidden]{display:none !important;}
.bbs-dd-mine-pager{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-top:10px;padding-top:10px;
  border-top:1px solid rgba(60,70,80,.08);
}
.bbs-dd-mine-page-btn{
  appearance:none;border:1px solid rgba(70,80,90,.12);border-radius:8px;
  background:rgba(255,255,255,.92);color:#2a3038;
  padding:6px 10px;font-size:11px;font-weight:700;cursor:pointer;
  transition:background .12s ease, border-color .12s ease, opacity .12s ease;
}
.bbs-dd-mine-page-btn:hover:not(:disabled){background:#fff;border-color:rgba(70,80,90,.22);}
.bbs-dd-mine-page-btn:disabled{opacity:.35;cursor:not-allowed;}
.bbs-dd-mine-page-info{
  min-width:52px;text-align:center;
  font-size:11px;font-weight:700;color:#6a727c;letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
}

.bbs-dd-mode-tip{margin:0 0 6px;font-size:12px;font-weight:700;color:#2a3038;text-align:center;}
.bbs-dd-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px;}
@media (max-width:380px){.bbs-dd-mode-grid{grid-template-columns:1fr;}}
.bbs-dd-mode-btn{
  text-align:left;border:1px solid rgba(70,80,90,.1);border-radius:11px;
  background:rgba(255,255,255,.88);
  padding:9px;cursor:pointer;display:flex;flex-direction:column;gap:2px;color:#2a3038;
  transition:background .15s ease, transform .12s ease;
}
.bbs-dd-mode-btn strong{font-size:13px;}
.bbs-dd-mode-btn span{font-size:11px;font-weight:700;color:#6a727c;}
.bbs-dd-mode-btn em{font-style:normal;font-size:10px;color:#9aa3ae;line-height:1.3;}
.bbs-dd-mode-btn:hover{background:#fff;transform:translateY(-1px);}

.bbs-dd-preview{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;min-height:0;}
.bbs-dd-preview img{width:52px;height:52px;object-fit:cover;border:1px solid rgba(60,70,80,.12);border-radius:7px;cursor:zoom-in;}

.bbs-dd-toast{
  position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(10px);z-index:12100;
  max-width:min(90vw,320px);padding:9px 14px;background:rgba(30,34,40,.92);color:#fff;
  border-radius:10px;font-size:12px;opacity:0;pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.bbs-dd-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.bbs-dd-toast.is-error{background:rgba(140,40,40,.92);}
.bbs-dd-toast.is-ok{background:rgba(30,34,40,.92);}

/* 完成确认弹层（替代浏览器 confirm） */
.bbs-dd-confirm[hidden]{display:none !important;}
.bbs-dd-confirm{
  position:fixed;inset:0;z-index:12140;
  display:flex;align-items:center;justify-content:center;
  padding:18px 14px;box-sizing:border-box;
}
.bbs-dd-confirm-backdrop{
  position:absolute;inset:0;
  background:rgba(20,22,28,.42);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
.bbs-dd-confirm-panel{
  position:relative;z-index:1;
  width:min(360px,100%);
  padding:22px 20px 18px;
  border:1px solid rgba(60,70,80,.12);
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#f7f6f4 100%);
  box-shadow:0 18px 48px rgba(20,24,30,.22);
  transform:translateY(8px) scale(.98);
  opacity:0;
  transition:transform .2s ease, opacity .2s ease;
}
.bbs-dd-confirm.is-open .bbs-dd-confirm-panel{
  transform:translateY(0) scale(1);
  opacity:1;
}
.bbs-dd-confirm-kicker{
  font-size:10px;font-weight:700;letter-spacing:.16em;
  color:rgba(60,70,80,.45);margin:0 0 8px;
}
.bbs-dd-confirm-title{
  margin:0 0 8px;font-size:17px;font-weight:800;color:#1f242c;letter-spacing:.02em;
}
.bbs-dd-confirm-body{
  margin:0 0 18px;font-size:13px;line-height:1.65;color:#5a636e;
}
.bbs-dd-confirm-actions{
  display:flex;justify-content:flex-end;gap:8px;
}
.bbs-dd-confirm-actions .bbs-dd-btn{min-width:84px;}

.bbs-dd-zoom[hidden]{display:none !important;}
.bbs-dd-zoom{position:fixed;inset:0;z-index:12110;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.85);}
.bbs-dd-zoom-backdrop{position:absolute;inset:0;}
.bbs-dd-zoom-img{position:relative;z-index:1;max-width:min(92vw,900px);max-height:88vh;object-fit:contain;border-radius:4px;}
.bbs-dd-zoom-close{position:absolute;top:12px;right:16px;z-index:2;width:36px;height:36px;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer;}

@media (prefers-reduced-motion: reduce){
  .bbs-dd-result,
  .bbs-dd-result.is-show,
  .bbs-dd-result.is-show.is-anim,
  .bbs-dd-machine.can-draw .bbs-dd-gasha-btn,
  .bbs-dd-machine.can-draw .bbs-dd-start-tip,
  .bbs-dd-gasha-down.is-run .bbs-dd-gasha-dropball,
  .bbs-dd-gasha.is-prize .bbs-dd-gasha-prize,
  .bbs-dd-gasha.is-open .bbs-dd-prize-glow,
  .bbs-dd-gasha.is-open .bbs-dd-prize-rays{animation:none !important;}
  .bbs-dd-gasha-prize,
  .bbs-dd-prize-half,
  .bbs-dd-prize-core,
  .bbs-dd-prize-glow{transition:none !important;}
}
