#bt-gallery{
  --bt-bg:#FFB3D1; --bt-bg2:#FFA3C7; --bt-ink:#2A1250; --bt-hot:#FF2E88; --bt-vinyl:#F5CFA8; --bt-panel:#FFF0F6;
  box-sizing:border-box; max-width:34rem; margin:0 auto; padding:1.5rem 1rem 2rem; color:var(--bt-ink);
  background-color:var(--bt-bg);
  background-image:
    linear-gradient(45deg,var(--bt-bg2) 25%,transparent 25%,transparent 75%,var(--bt-bg2) 75%),
    linear-gradient(45deg,var(--bt-bg2) 25%,transparent 25%,transparent 75%,var(--bt-bg2) 75%);
  background-size:16px 16px; background-position:0 0,8px 8px;
  font-family:"VT323","Courier New",monospace; font-size:1.35rem; line-height:1.3;
}
#bt-gallery *,#bt-gallery *::before,#bt-gallery *::after{box-sizing:border-box}
#bt-gallery .bt-head{text-align:center; margin-bottom:1.5rem}
#bt-gallery .bt-title{
  font-family:"Press Start 2P","Courier New",monospace; font-weight:400; margin:0; padding:0;
  font-size:clamp(1.35rem,7.5vw,2.4rem); line-height:1.2; letter-spacing:-.02em; color:var(--bt-hot);
  text-shadow:3px 3px 0 var(--bt-ink),6px 6px 0 var(--bt-vinyl); word-break:break-word;
}
#bt-gallery .bt-sub{margin:.9rem 0 0; padding:0; font-size:1.5rem; color:var(--bt-ink)}
#bt-gallery .bt-viewport{overflow:hidden; border:4px solid var(--bt-ink); box-shadow:8px 8px 0 var(--bt-ink); background:var(--bt-panel)}
#bt-gallery .bt-track{display:flex; transition:transform .35s steps(6)}
@media (prefers-reduced-motion:reduce){#bt-gallery .bt-track{transition:none}}
#bt-gallery .bt-slide{flex:0 0 100%; padding:12px}
#bt-gallery .bt-card{position:relative; aspect-ratio:1/1; width:100%; background:#000; overflow:hidden}
#bt-gallery .bt-card img{display:block; width:100%; height:100%; max-width:none; margin:0; object-fit:cover; user-select:none; -webkit-user-drag:none}
#bt-gallery .bt-card canvas{position:absolute; inset:0; width:100%; height:100%; touch-action:none; cursor:crosshair; transition:opacity .4s steps(4)}
#bt-gallery .bt-card canvas.bt-gone{opacity:0; pointer-events:none}
#bt-gallery .bt-meter{height:10px; border:2px solid var(--bt-ink); margin-top:.5rem}
#bt-gallery .bt-meter i{display:block; height:100%; width:0; background:var(--bt-hot)}
#bt-gallery .bt-meta{display:flex; justify-content:space-between; align-items:center; gap:.5rem; padding-top:.7rem; flex-wrap:wrap}
#bt-gallery .bt-meta b{font-family:"Press Start 2P",monospace; font-weight:400; font-size:.7rem}
#bt-gallery button{
  font-family:"Press Start 2P","Courier New",monospace; font-size:.62rem; line-height:1.4; text-transform:none; letter-spacing:0;
  color:var(--bt-ink); background:var(--bt-panel); border:3px solid var(--bt-ink); border-radius:0;
  padding:.7rem .8rem; margin:0; cursor:pointer; box-shadow:4px 4px 0 var(--bt-ink);
}
#bt-gallery button:hover{background:var(--bt-panel); color:var(--bt-ink)}
#bt-gallery button:active{transform:translate(2px,2px); box-shadow:2px 2px 0 var(--bt-ink)}
#bt-gallery button:focus-visible{outline:3px dashed var(--bt-hot); outline-offset:3px}
#bt-gallery .bt-nav{display:flex; justify-content:space-between; align-items:center; margin-top:1.4rem}
#bt-gallery .bt-dots{display:flex; gap:.5rem}
#bt-gallery .bt-dots button{width:18px; height:18px; padding:0; box-shadow:none}
#bt-gallery .bt-dots button[aria-current="true"]{background:var(--bt-hot)}
