/* Tailwind helpers + lightbox */ 
.btn{ border:1px solid #262626; border-radius:0.5rem; padding:0.375rem 0.75rem; color:#e5e5e5; }
.btn:hover{ border-color:#8b5cf6; }
.btn-primary{ background:#8b5cf6; color:#0a0a0a; border-radius:0.5rem; padding:0.5rem 0.75rem; font-weight:600; }
.card{ background:rgba(23,23,23,.6); border:1px solid #262626; border-radius:1rem; padding:1.25rem; }
.card-title{ font-weight:600; font-size:1.125rem; margin-bottom:0.75rem; }
.input{ background:#0a0a0a; border:1px solid #262626; border-radius:0.5rem; padding:0.5rem 0.75rem; color:#e5e5e5; }
.input:focus{ border-color:#8b5cf6; outline: none; }
.lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.85); display:none; place-items:center; padding:20px; z-index:50; }
.lightbox.open{ display:grid; }
.lightbox img{ max-height:90vh; width:auto; }
.aspect-square{ position:relative; }
.aspect-square::before{ content:""; display:block; padding-bottom:100%; }
.aspect-square>*{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
