/* site-craft · 站14 · 灯市档口 · 夜靛/灯笼珊瑚/纸金/市集梅/摊位蓝
   幡旗顶栏 + 遮阳棚英雄 + 拱顶灯笼卡 + 夜市页脚
   动效：灯笼上飘摇晃（异于站13绕转 / 站12斜落 / 站11横向 / 站10垂直） */
:root{
  --lb-night:#1a1633;
  --lb-deep:#120f24;
  --lb-lantern:#ff6a3d;
  --lb-gold:#ffd166;
  --lb-plum:#c44d8f;
  --lb-sky:#6ea8fe;
  --lb-paper:#fff4e6;
  --lb-ink:#2a1f18;
  --lb-muted:#7a6a5c;
  --lb-wood:#5c3d2e;
  --lb-line:rgba(26,22,51,.14);
  --lb-max:1180px;
  --lb-pad:22px;
  --lb-display:"ZCOOL QingKe HuangYou","Noto Sans SC","PingFang SC",sans-serif;
  --lb-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --lf-max:1180px;
  --lf-pad:22px;
  --tw-accent:var(--lb-lantern);
  --brand:var(--lb-night);
  color-scheme:light;
}

body.body-tw[data-variant="night-stall"]{
  margin:0;min-height:100vh;
  color:var(--lb-ink)!important;
  font-family:var(--lb-sans);
  background:
    radial-gradient(520px 240px at 8% 0%, rgba(255,106,61,.16), transparent 58%),
    radial-gradient(460px 220px at 92% 6%, rgba(196,77,143,.14), transparent 55%),
    radial-gradient(420px 260px at 70% 100%, rgba(110,168,254,.12), transparent 50%),
    linear-gradient(180deg,#fffaf1 0%, var(--lb-paper) 42%, #f3e4cf 100%)!important;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}

/* ===== 灯笼上飘 + 摇晃呼吸 ===== */
body.body-tw .lb-sky{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
body.body-tw .lb-sky i{
  position:absolute;left:var(--lx);bottom:-8%;
  width:var(--s);height:calc(var(--s) * 1.25);
  border-radius:50% 50% 46% 46%;
  background:radial-gradient(circle at 35% 30%, #fff7, rgb(var(--c)));
  box-shadow:0 0 16px rgba(var(--c),.55), 0 6px 0 -2px rgba(42,31,24,.35);
  opacity:.55;
  animation:lb-rise var(--d) linear infinite;
  animation-delay:var(--delay);
}
body.body-tw .lb-sky i::after{
  content:"";position:absolute;left:50%;top:100%;width:2px;height:8px;
  background:rgba(42,31,24,.45);transform:translateX(-50%);
}
body.body-tw .lb-sky i.lb-sky__lantern{
  width:calc(var(--s) * 1.7);height:calc(var(--s) * 2.1);
  border-radius:40% 40% 30% 30% / 48% 48% 36% 36%;
  box-shadow:0 0 22px rgba(var(--c),.6);
}
@keyframes lb-rise{
  0%{transform:translate3d(0,8vh,0) rotate(-8deg);opacity:0}
  10%{opacity:.7}
  50%{transform:translate3d(var(--sway),-48vh,0) rotate(7deg);opacity:.85}
  100%{transform:translate3d(calc(var(--sway) * -1),-112vh,0) rotate(-5deg);opacity:.08}
}
@media (prefers-reduced-motion:reduce){
  body.body-tw .lb-sky i{animation:none!important;opacity:.22;bottom:auto;top:var(--ly,20%)}
}

body.body-tw .tw-head,
body.body-tw .tw-main,
body.body-tw .tw-foot{position:relative;z-index:1}
body.body-tw .tw-main{
  max-width:var(--lb-max)!important;width:100%!important;margin:0 auto!important;
  padding:20px max(var(--lb-pad),env(safe-area-inset-left)) 56px max(var(--lb-pad),env(safe-area-inset-right))!important;
  box-sizing:border-box!important;
}
body.body-tw h1,body.body-tw h2,body.body-tw .tw-head__name strong{
  font-family:var(--lb-display)!important;
}

/* ===== 头：灯笼招牌 + 幡旗导航（异于站13书签 / 站12居中刊头） ===== */
body.body-tw .tw-head.lb-head{
  position:sticky;top:0;z-index:80;
  background:var(--lb-night)!important;
  border-bottom:0!important;box-shadow:0 10px 0 var(--lb-gold);
  padding:0!important;
}
body.body-tw .lb-head__wire{
  height:8px;
  background:repeating-linear-gradient(90deg,
    var(--lb-lantern) 0 28px, var(--lb-gold) 28px 52px,
    var(--lb-plum) 52px 76px, var(--lb-sky) 76px 100px);
}
body.body-tw .tw-head__bar.lb-head__bar{
  display:flex!important;grid-template-columns:none!important;
  align-items:center!important;justify-content:space-between;gap:10px 14px;
  flex-wrap:nowrap!important;
  max-width:var(--lb-max);margin:0 auto;
  padding:10px max(var(--lb-pad),env(safe-area-inset-left)) 12px max(var(--lb-pad),env(safe-area-inset-right))!important;
  min-height:0!important;width:100%!important;box-sizing:border-box!important;
}
body.body-tw .tw-head__brand.lb-brand{color:#fff8ee!important;gap:12px;display:flex;align-items:center}
body.body-tw .tw-head__mark.lb-lantern{
  width:46px;height:52px;border-radius:46% 46% 38% 38% / 52% 52% 40% 40%!important;
  background:radial-gradient(circle at 35% 30%, #ffe7a3, var(--lb-lantern) 58%, #c94422)!important;
  color:#3a160c!important;font-family:var(--lb-display);font-size:1.05rem;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 3px var(--lb-gold), 0 8px 0 -2px var(--lb-plum)!important;
}
body.body-tw .tw-head__name strong{
  font-size:clamp(1.3rem,2.8vw,1.8rem)!important;color:#fff6e4!important;letter-spacing:.06em;
}
body.body-tw .tw-head__name em{
  color:var(--lb-gold)!important;letter-spacing:.16em;font-size:.72rem!important;font-style:normal;
}
body.body-tw .tw-head__nav.lb-flags{
  flex:1 1 auto;flex-wrap:nowrap;justify-content:center;gap:6px;
  position:static!important;background:transparent!important;min-width:0;
}
@media (min-width:901px){
  body.body-tw .tw-head__nav.lb-flags{display:flex!important}
}
body.body-tw .tw-head__nav.lb-flags a{
  position:relative;flex:0 0 auto;white-space:nowrap;text-align:center;
  border:0!important;border-radius:0!important;padding:9px 13px 18px!important;
  background:var(--lb-gold)!important;color:var(--lb-night)!important;
  font-weight:800;font-size:.8rem;line-height:1.2;
  clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);
}
body.body-tw .tw-head__nav.lb-flags a:nth-child(2){background:#ffb4a2!important}
body.body-tw .tw-head__nav.lb-flags a:nth-child(3){background:var(--lb-plum)!important;color:#fff}
body.body-tw .tw-head__nav.lb-flags a:nth-child(4){background:var(--lb-sky)!important;color:var(--lb-night)}
body.body-tw .tw-head__nav.lb-flags a:nth-child(5){background:var(--lb-lantern)!important;color:#fff}
body.body-tw .tw-head__nav.lb-flags a:nth-child(6){background:#ffe08a!important}
body.body-tw .tw-head__nav.lb-flags a:hover,
body.body-tw .tw-head__nav.lb-flags a[aria-current="page"]{
  filter:brightness(1.08);transform:translateY(2px);
}
body.body-tw .tw-head__search.lb-ticket{
  display:flex!important;align-items:stretch!important;flex:0 0 auto;
  width:auto!important;max-width:none!important;height:42px;overflow:visible!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;
  box-shadow:4px 4px 0 var(--lb-gold);
}
body.body-tw .tw-head__search.lb-ticket input{
  width:min(200px,22vw)!important;min-width:0!important;height:100%!important;
  background:#fff8ee!important;color:var(--lb-ink)!important;
  border:2px solid var(--lb-gold)!important;border-right:0!important;
  border-radius:0!important;padding:0 10px!important;font-size:.88rem!important;
}
body.body-tw .tw-head__search.lb-ticket button{
  background:var(--lb-lantern)!important;color:#fff!important;height:100%!important;
  border:2px solid var(--lb-gold)!important;border-radius:0!important;padding:0 14px!important;
}
body.body-tw .tw-head__toggle{
  display:none;width:42px;height:42px;border:2px solid var(--lb-gold);background:var(--lb-lantern);
}
body.body-tw .tw-head__toggle span{background:#fff}
body.body-tw .tw-head__wave{display:none!important}
body.body-tw .sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;
}

@media (max-width:1120px){
  body.body-tw .tw-head__nav.lb-flags{gap:4px}
  body.body-tw .tw-head__nav.lb-flags a{padding:8px 9px 16px!important;font-size:.74rem}
  body.body-tw .tw-head__search.lb-ticket input{width:min(148px,18vw)!important}
}
@media (max-width:900px){
  body.body-tw .tw-head.lb-head{box-shadow:0 6px 0 var(--lb-gold)}
  body.body-tw .tw-head__bar.lb-head__bar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"brand toggle" "find find" "menu menu"!important;
    align-items:center!important;
    gap:10px 12px!important;
    flex-wrap:nowrap!important;
    padding:10px max(14px,env(safe-area-inset-left)) 12px max(14px,env(safe-area-inset-right))!important;
  }
  body.body-tw .tw-head__brand.lb-brand{
    grid-area:brand;min-width:0;gap:8px;
  }
  body.body-tw .tw-head__mark.lb-lantern{
    width:38px;height:42px;font-size:.92rem;
    box-shadow:0 0 0 2px var(--lb-gold), 0 5px 0 -1px var(--lb-plum)!important;
  }
  body.body-tw .tw-head__name strong{
    font-size:1.12rem!important;white-space:nowrap;line-height:1.1;
  }
  body.body-tw .tw-head__name em{
    display:block!important;color:var(--lb-gold)!important;
    font-size:.62rem!important;letter-spacing:.1em;white-space:nowrap;line-height:1.25;
  }
  body.body-tw .tw-head__toggle{
    grid-area:toggle;justify-self:end;
    display:inline-flex!important;align-items:center;justify-content:center;flex-direction:column;gap:5px;
    width:38px;height:38px;margin:0!important;border-radius:8px;
  }
  body.body-tw .tw-head__search.lb-ticket,
  body.body-tw form.tw-head__search.lb-ticket{
    grid-area:find;
    display:flex!important;width:100%!important;max-width:none!important;
    flex:none!important;height:42px!important;
    box-shadow:3px 3px 0 var(--lb-gold);
  }
  body.body-tw .tw-head__search.lb-ticket input{
    width:auto!important;flex:1 1 auto!important;min-width:0!important;
  }
  body.body-tw .tw-head__search.lb-ticket button{padding:0 16px!important;flex:0 0 auto}
  /* 开合：挂幡阵列，保留尖底幡形，不要整条色块列表 */
  body.body-tw .tw-head__nav.lb-flags{
    display:none!important;
    grid-area:menu;
    width:100%!important;flex:none!important;
    position:relative!important;
    padding:4px 2px 8px!important;
    margin:0!important;
    border-top:1px dashed rgba(255,209,102,.4);
    background:
      linear-gradient(180deg, rgba(255,209,102,.08), transparent 28%),
      var(--lb-night)!important;
  }
  body.body-tw .tw-head__nav.lb-flags.open{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px 10px!important;
    justify-items:center;
    align-items:start;
  }
  body.body-tw .tw-head__nav.lb-flags a{
    position:relative;
    width:100%;max-width:104px;
    clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%)!important;
    border-radius:0!important;border:0!important;
    padding:16px 6px 30px!important;
    font-size:.78rem!important;font-weight:800;line-height:1.15;
    box-shadow:0 6px 14px rgba(0,0,0,.28);
  }
  body.body-tw .tw-head__nav.lb-flags a::before{
    content:"";position:absolute;left:50%;top:-10px;width:2px;height:10px;
    background:var(--lb-gold);transform:translateX(-50%);
    box-shadow:0 -2px 0 1px rgba(255,209,102,.55);
  }
  body.body-tw .tw-head__nav.lb-flags a:nth-child(7){
    grid-column:2;
  }
}
@media (max-width:360px){
  body.body-tw .tw-head__nav.lb-flags.open{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 8px!important}
  body.body-tw .tw-head__nav.lb-flags a:nth-child(7){grid-column:auto}
  body.body-tw .tw-head__name em{display:none!important}
}

/* ===== 中：遮阳棚英雄（异于站13开本 / 站12全幅刊 / 站11居中潮汐） ===== */
body.body-tw .tw-hero.lb-awning{
  display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(220px,.72fr)!important;
  align-items:stretch!important;min-height:0!important;
  margin:8px 0 22px!important;padding:0!important;text-align:left!important;
  border-radius:0 0 22px 22px!important;
  border:2px solid var(--lb-night)!important;border-top:0!important;
  background:
    linear-gradient(180deg, rgba(26,22,51,.04), transparent 40%),
    #fff8ee!important;
  box-shadow:6px 8px 0 rgba(26,22,51,.16)!important;
  overflow:hidden;position:relative;box-sizing:border-box!important;
}
body.body-tw .lb-awning__valance{
  grid-column:1 / -1;width:100%!important;height:22px;margin:0!important;
  background:radial-gradient(circle at 50% 100%, transparent 10px, var(--lb-lantern) 11px) 0 0 / 36px 22px;
}
body.body-tw .tw-hero.lb-awning .tw-hero__orb{display:none!important}
body.body-tw .tw-hero.lb-awning .tw-hero__curve{display:none!important}
body.body-tw .tw-hero.lb-awning .tw-hero__inner.lb-awning__board{
  width:100%!important;max-width:none!important;margin:0!important;
  padding:22px 28px 26px!important;text-align:left!important;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
}
body.body-tw .tw-hero.lb-awning .tw-hero__kicker{
  display:inline-block;margin:0 0 12px;padding:0 0 6px;
  border-bottom:3px solid var(--lb-gold);color:var(--lb-plum)!important;
  letter-spacing:.18em;font-weight:800;
}
body.body-tw .tw-hero.lb-awning h1{
  color:var(--lb-night)!important;text-shadow:none!important;
  font-size:clamp(2.1rem,5.4vw,3.3rem)!important;font-weight:400!important;margin:0 0 12px;
}
body.body-tw .tw-hero.lb-awning .tw-hero__lead{color:var(--lb-muted)!important;max-width:32em;margin:0 0 18px}
body.body-tw .tw-hero.lb-awning .tw-hero__actions{justify-content:flex-start!important;margin:0}
body.body-tw .lb-awning__cluster{
  display:flex;align-items:flex-end;justify-content:center;gap:14px;
  min-height:100%;padding:20px 16px 24px;margin:0;
  background:
    radial-gradient(180px 120px at 50% 20%, rgba(255,209,102,.35), transparent 70%),
    linear-gradient(180deg,#2a2250, var(--lb-night));
}
body.body-tw .lb-awning__cluster i{
  display:block;width:52px;height:68px;
  border-radius:46% 46% 36% 36% / 54% 54% 38% 38%;
  background:radial-gradient(circle at 35% 30%, #fff3, var(--lb-lantern));
  box-shadow:0 0 18px rgba(255,106,61,.55);
}
body.body-tw .lb-awning__cluster i:nth-child(2){height:88px;width:62px;background:radial-gradient(circle at 35% 30%, #fff3, var(--lb-gold))}
body.body-tw .lb-awning__cluster i:nth-child(3){background:radial-gradient(circle at 35% 30%, #fff3, var(--lb-plum))}
body.body-tw .tw-btn--cta,body.body-tw a.tw-btn--cta{
  border-radius:0!important;background:var(--lb-lantern)!important;color:#fff!important;
  border:2px solid var(--lb-night)!important;box-shadow:4px 4px 0 var(--lb-gold);
  font-weight:800;padding:12px 20px!important;
}
body.body-tw .tw-btn--line,body.body-tw a.tw-btn--line{
  border-radius:0!important;background:#fff!important;color:var(--lb-night)!important;
  border:2px solid var(--lb-night)!important;font-weight:800;padding:12px 20px!important;
}
@media (max-width:800px){
  body.body-tw .tw-hero.lb-awning{grid-template-columns:1fr!important;padding:0!important}
  body.body-tw .tw-hero.lb-awning .tw-hero__inner.lb-awning__board{padding:18px 18px 20px!important}
  body.body-tw .lb-awning__cluster{min-height:110px}
}

/* 幡旗分类条 */
body.body-tw .tw-lanes{
  display:flex!important;flex-wrap:wrap!important;gap:8px 10px;
  margin:0 0 22px!important;padding:0 0 10px!important;
  overflow:visible!important;max-width:100%!important;
}
body.body-tw .tw-lanes__item{
  border-radius:0 0 16px 16px!important;background:#fff!important;
  border:0!important;box-shadow:0 6px 0 var(--lb-lantern);
  padding:12px 16px 14px!important;color:var(--lb-night)!important;font-weight:800;
}
body.body-tw .tw-lanes__item:nth-child(2){box-shadow:0 6px 0 var(--lb-plum)}
body.body-tw .tw-lanes__item:nth-child(3){box-shadow:0 6px 0 var(--lb-sky)}
body.body-tw .tw-lanes__item:nth-child(4){box-shadow:0 6px 0 var(--lb-gold)}
body.body-tw .tw-lanes__item:nth-child(5){box-shadow:0 6px 0 var(--lb-night)}
body.body-tw .tw-lanes__item:nth-child(6){box-shadow:0 6px 0 var(--lb-lantern)}
body.body-tw .tw-lanes__item--more{background:var(--lb-night)!important;color:#fff8ee!important}

body.body-tw .tw-band,
body.body-tw .tw-band--soft{
  padding:0!important;margin:0 0 28px!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;
}
body.body-tw .tw-band__head{
  display:flex!important;align-items:center!important;justify-content:space-between;
  margin-bottom:14px;padding-bottom:8px;border-bottom:2px dashed rgba(26,22,51,.16);
}
body.body-tw .tw-band__head h2{margin:0;font-size:1.4rem;color:var(--lb-night)}
body.body-tw .tw-band__dot{background:var(--lb-lantern)!important}
body.body-tw .tw-band__more{color:var(--lb-plum)!important;font-weight:700}

/* 拱顶灯笼卡 · 3 列（异于站13 的 5 列 2:3 方卡 / 站5 方卡） */
body.body-tw .tw-grid,
body.body-tw .tw-grid--4,
body.body-tw .tw-grid--3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px 22px!important;
  overflow:visible!important;align-items:start!important;
}
body.body-tw .tw-band .tw-grid > .tw-card:nth-child(n+7){display:none!important}
body.body-tw article.tw-card,
body.body-tw .tw-card{
  overflow:visible!important;height:auto!important;background:transparent!important;border:0!important;
  box-shadow:none!important;
}
body.body-tw .tw-card__link{display:flex!important;flex-direction:column!important;overflow:visible!important}
body.body-tw .tw-card__poster{
  position:relative;aspect-ratio:4/5!important;overflow:hidden!important;
  border-radius:36px 36px 8px 8px / 18% 18% 8px 8px!important;
  border:3px solid var(--lb-night)!important;
  box-shadow:6px 8px 0 rgba(255,106,61,.2);
  background:#2a1f18;
}
body.body-tw .tw-card__poster img,
body.body-tw article.tw-card img{
  width:100%!important;height:100%!important;object-fit:cover!important;
  aspect-ratio:unset!important;
}
body.body-tw .tw-card__badge{
  position:absolute;top:12px;left:50%;transform:translateX(-50%);
  border-radius:999px!important;background:var(--lb-gold)!important;color:var(--lb-night)!important;
}
body.body-tw .tw-card__play{display:none!important}
body.body-tw .tw-card__body{
  margin:10px 6px 0;position:relative;z-index:2;
  background:var(--lb-wood);color:#fff4e6;padding:12px 12px 11px;
  border-radius:0 0 8px 8px;box-shadow:4px 5px 0 var(--lb-night);
}
body.body-tw .tw-card__body h3{color:#fff6e4!important;font-family:var(--lb-display)!important;margin:0 0 6px;font-size:1.05rem}
body.body-tw .tw-card__meta{color:#e8c9a0!important}
@media (max-width:980px){
  body.body-tw .tw-grid,body.body-tw .tw-grid--4,body.body-tw .tw-grid--3{
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }
}
@media (max-width:620px){
  body.body-tw .tw-grid,body.body-tw .tw-grid--4,body.body-tw .tw-grid--3{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 12px!important
  }
}

/* ===== 分类总览：挂牌档口 ===== */
body.body-tw .tw-page-hero,body.body-tw .tw-cat-hero{
  background:transparent!important;border:0!important;text-align:left!important;
  border-bottom:2px dashed rgba(26,22,51,.16)!important;
  border-radius:0!important;padding:6px 0 16px!important;margin:0 0 18px!important;
}
body.body-tw .tw-page-hero h1,body.body-tw .tw-cat-hero h1{color:var(--lb-night)!important}
body.body-tw .tw-page-hero p,body.body-tw .tw-cat-hero p{margin:0!important;max-width:36em}
body.body-tw .tw-cat-index{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
}
body.body-tw .overview-card{
  display:grid;grid-template-columns:12px minmax(0,1fr);gap:0;padding:0!important;
  background:#fff8ee;border:2px solid var(--lb-night);text-decoration:none!important;
  box-shadow:6px 7px 0 var(--lb-gold);
}
body.body-tw .overview-card::before{
  content:"";grid-row:1 / -1;background:var(--lb-lantern);
}
body.body-tw .overview-card:nth-child(2n)::before{background:var(--lb-plum)}
body.body-tw .overview-card:nth-child(3n)::before{background:var(--lb-sky)}
body.body-tw .overview-card:nth-child(4n)::before{background:var(--lb-gold)}
body.body-tw .overview-main{padding:16px 16px 8px;grid-column:2}
body.body-tw .overview-main strong{display:block;font-family:var(--lb-display);font-size:1.2rem;color:var(--lb-night);margin-bottom:6px}
body.body-tw .overview-links{grid-column:2;padding:0 16px 14px;color:var(--lb-muted)}
@media (max-width:640px){body.body-tw .tw-cat-index{grid-template-columns:1fr}}

body.body-tw .tw-cat-wrap{
  display:grid!important;grid-template-columns:1fr!important;gap:16px!important;
}
body.body-tw .tw-cat-filters{
  display:flex!important;flex-wrap:wrap;gap:10px 12px;align-items:center!important;
  padding:12px 14px!important;margin:0 0 20px!important;
  background:var(--lb-night);border:0!important;border-radius:0 0 18px 18px;
}
body.body-tw .tw-cat-filters__label{color:var(--lb-gold);font-size:.78rem}
body.body-tw .tw-cat-filters input,
body.body-tw .tw-cat-filters select,
body.body-tw .tw-filter-row input,
body.body-tw .tw-filter-row select{
  border-radius:0!important;border:2px solid var(--lb-gold)!important;
  background:#fff8ee!important;color:var(--lb-ink)!important;min-height:40px;
}
body.body-tw .tw-cat-body .tw-grid > .tw-card{display:flex!important}
body.body-tw .tw-cat-hero__icon{display:none}

/* ===== 播放页：上棚播映 / 下档片讯（异于站13左右开本） ===== */
body.body-tw .tw-play.lb-stage{
  display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr)!important;
  gap:0!important;margin:0!important;width:100%!important;max-width:100%!important;
  background:#fff8ee;border:2px solid var(--lb-night);
  box-shadow:10px 12px 0 var(--lb-gold);overflow:hidden;box-sizing:border-box!important;
}
body.body-tw .tw-play.lb-stage .tw-play__screen{
  grid-column:1 / -1;grid-row:1;margin:0!important;padding:0!important;
  max-width:none!important;border:0!important;border-radius:0!important;
  background:#120f24;
}
body.body-tw .tw-play.lb-stage .tw-play__screen::before{
  content:"";display:block;height:16px;
  background:radial-gradient(circle at 50% 100%, transparent 8px, var(--lb-lantern) 9px) 0 0 / 28px 16px;
}
body.body-tw .tw-play.lb-stage .tw-play__screen video,
body.body-tw .tw-play.lb-stage #movie-player{
  width:100%!important;height:auto!important;max-height:min(64vh,580px)!important;
  aspect-ratio:16/9!important;object-fit:contain;background:#120f24;border-radius:0!important;
}
body.body-tw .tw-play.lb-stage .tw-play__meta{
  grid-column:1;grid-row:2;max-width:none!important;margin:0!important;
  padding:18px 20px 8px!important;border-right:2px solid rgba(26,22,51,.1);
}
body.body-tw .tw-play.lb-stage .tw-play__body{
  display:contents!important;max-width:none!important;margin:0!important;padding:0!important;
}
body.body-tw .tw-play.lb-stage .tw-play__synopsis{
  grid-column:1;grid-row:3;max-width:none!important;margin:0!important;
  padding:8px 20px 20px!important;border-right:2px solid rgba(26,22,51,.1);
}
body.body-tw .tw-play.lb-stage .tw-play__side{
  grid-row:2 / 4;grid-column:2;padding:18px 16px 20px!important;background:#2a2250;color:#fff6e4;
}
body.body-tw .tw-play.lb-stage .tw-play__side h2{color:var(--lb-gold)!important;font-size:1rem}
body.body-tw .tw-crumb{color:var(--lb-muted);margin-bottom:8px}
body.body-tw .tw-crumb a{color:var(--lb-lantern)!important}
body.body-tw .tw-play__meta h1{color:var(--lb-night)!important;margin:0 0 10px;font-size:clamp(1.2rem,2.2vw,1.55rem)}
body.body-tw .tw-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 12px;list-style:none}
body.body-tw .tw-tags li{
  background:#fff1d6;color:var(--lb-night);padding:3px 8px;font-size:.72rem;border:1px solid var(--lb-line);
}
body.body-tw .tw-play__synopsis h2{color:var(--lb-plum)!important;font-size:.95rem;margin:0 0 8px}
body.body-tw .tw-side-list{
  display:grid!important;grid-template-columns:1fr!important;gap:10px!important;
}
body.body-tw .tw-card--mini .tw-card__link{flex-direction:row!important;gap:10px;align-items:center}
body.body-tw .tw-card--mini .tw-card__poster{
  width:72px;flex:0 0 72px;aspect-ratio:1/1!important;border-radius:50%!important;border-width:2px!important;
}
body.body-tw .tw-card--mini .tw-card__body{margin:0;background:transparent;box-shadow:none;padding:0}
body.body-tw .tw-card--mini .tw-card__body h3{color:#fff6e4!important;font-size:.9rem}
@media (max-width:860px){
  body.body-tw .tw-play.lb-stage{grid-template-columns:1fr!important;margin:0!important}
  body.body-tw .tw-play.lb-stage .tw-play__meta,
  body.body-tw .tw-play.lb-stage .tw-play__synopsis{
    border-right:0;grid-column:1;grid-row:auto
  }
  body.body-tw .tw-play.lb-stage .tw-play__side{grid-row:auto;grid-column:1}
  body.body-tw .tw-play.lb-stage .tw-play__screen{padding:0!important}
}

/* ===== 尾：夜市灯串 + 档口栏 ===== */
body.body-tw .tw-foot.lb-night{
  margin-top:36px;background:var(--lb-night)!important;border-top:0!important;color:#f6ead7;
}
body.body-tw .tw-foot__wave{display:none!important}
body.body-tw .lb-night__string{
  height:28px;
  background:
    radial-gradient(circle at 18px 18px, var(--lb-lantern) 7px, transparent 8px),
    radial-gradient(circle at 54px 14px, var(--lb-gold) 6px, transparent 7px),
    radial-gradient(circle at 90px 18px, var(--lb-plum) 7px, transparent 8px),
    radial-gradient(circle at 126px 14px, var(--lb-sky) 6px, transparent 7px);
  background-size:144px 28px;
}
body.body-tw .tw-foot__inner{
  max-width:var(--lb-max)!important;margin:0 auto;
  padding:28px max(var(--lb-pad),env(safe-area-inset-left)) 16px max(var(--lb-pad),env(safe-area-inset-right))!important;
  display:grid!important;grid-template-columns:1.15fr 1fr!important;gap:24px;
}
body.body-tw .tw-foot__brand strong{color:var(--lb-gold)!important;font-family:var(--lb-display);font-size:1.4rem}
body.body-tw .tw-foot__brand p,body.body-tw .tw-foot__col p{color:#d7c4a8!important}
body.body-tw .tw-foot__col h4{color:var(--lb-lantern)!important;letter-spacing:.08em}
body.body-tw .tw-foot__col a{color:#fff4e6!important}
body.body-tw .tw-foot__cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
body.body-tw .tw-foot__bar{
  max-width:var(--lb-max);margin:0 auto;
  padding:12px max(var(--lb-pad),env(safe-area-inset-left)) 22px max(var(--lb-pad),env(safe-area-inset-right));
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;
  border-top:1px solid rgba(255,209,102,.2);font-size:.82rem;color:#c9b496;
}
body.body-tw .lb-foot__seo{color:var(--lb-gold);font-weight:700}
@media (max-width:720px){
  body.body-tw .tw-foot__inner,body.body-tw .tw-foot__cols{grid-template-columns:1fr!important}
}

/* 触控 / 筛选 / 跨端 */
body.body-tw a,body.body-tw button,body.body-tw input,body.body-tw select{
  touch-action:manipulation;-webkit-tap-highlight-color:transparent
}
body.body-tw [hidden],
body.body-tw .tw-card[hidden]{display:none!important}
@media (max-width:640px){
  body.body-tw input[type="search"],body.body-tw input[type="text"],body.body-tw select{font-size:16px!important}
}
@media (min-width:901px){
  body.body-tw .tw-head__toggle{display:none!important}
}

/* 压过 layout-fix */
body.body-tw header.tw-head.lb-head > .lb-head__wire,
body.body-tw footer.tw-foot.lb-night > .lb-night__string{
  max-width:none!important;width:100%!important;margin:0!important;padding:0!important;
}
body.body-tw footer.tw-foot.lb-night > .tw-foot__inner,
body.body-tw footer.tw-foot.lb-night > .tw-foot__bar{
  width:100%!important;max-width:var(--lb-max)!important;
  margin-left:auto!important;margin-right:auto!important;
}
body.body-tw h1,body.body-tw h2,body.body-tw h3,body.body-tw .tw-head__name strong{
  overflow-wrap:normal;word-break:keep-all;
}
@media (max-width:900px){
  body.body-tw form.tw-head__search,
  body.body-tw .tw-head__search.lb-ticket{
    width:100%!important;max-width:none!important;flex:none!important;
  }
}
/* pack14-opt · 跨端触控（贴合灯市皮肤） */
body.body-tw video#movie-player{-webkit-playsinline:true}
@media (hover:none){
  body.body-tw .tw-card:hover{transform:none}
}

