/* Front styles */
.tapp-wrapper{display:grid;gap:16px}
.tapp-wrapper.cols-1{grid-template-columns:1fr}
.tapp-wrapper.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tapp-wrapper.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tapp-wrapper.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width: 1024px){.tapp-wrapper.cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 768px){.tapp-wrapper{grid-template-columns:1fr}}

.tapp-card{border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#fff}
.tapp-body{padding:14px}
.tapp-title{margin:0 0 8px;font-size:18px;line-height:1.3;color:#111827}
.tapp-meta{list-style:none;margin:0 0 10px;padding:0}
.tapp-meta li{font-size:14px;color:#374151;margin-bottom:3px}
.tapp-actions{margin-top:8px}
.tapp-btn{display:inline-block;padding:8px 12px;border-radius:10px;border:1px solid #cbd5e1;text-decoration:none}
.tapp-btn:hover{background:#f1f5f9}

:root{color-scheme:light dark}
@media (prefers-color-scheme: dark){
  .tapp-card{background:#0b0b0b;border-color:#222}
  .tapp-title{color:#f9fafb}
  .tapp-meta li{color:#d1d5db}
  .tapp-btn{border-color:#444}
  .tapp-btn:hover{background:#111827}
}
