/*
Theme Name: Anonymous Confession Wall
Theme URI: https://serei.io
Author: Serei
Description: Anonymous Confession Wall 
Version: 1.0
*/

* { box-sizing: border-box; }
body { font-family: 'Montserrat', sans-serif; margin: 0; padding: 0; }
.mono { font-family: 'Space Mono', monospace; }
.khmer-text { font-family: 'Kantumruy Pro', sans-serif; font-weight: 400; }
.khmer-text.semibold { font-weight: 600; }
.khmer-text.bold { font-weight: 700; }

@keyframes float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(0.5deg); }
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes slideDown {
  from { opacity: 0; max-height: 0; }
  to { opacity: 1; max-height: 500px; }
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0.4); }
  50% { box-shadow: 0 0 20px 10px rgba(255,255,255,0); }
}
@keyframes glow-pulse {
  0%, 100% { 
    box-shadow: 0 0 0 0 rgba(233,69,96,0.8), 0 0 20px 0 rgba(233,69,96,0.6), inset 0 0 20px 0 rgba(233,69,96,0.2); 
  }
  50% { 
    box-shadow: 0 0 30px 15px rgba(233,69,96,0), 0 0 50px 10px rgba(233,69,96,0.9), inset 0 0 30px 0 rgba(233,69,96,0.4); 
  }
}
@keyframes hover-glow {
  0%, 100% { box-shadow: 0 0 10px 0 rgba(233,69,96,0.4), inset 0 0 15px 0 rgba(233,69,96,0.1); }
  50% { box-shadow: 0 0 25px 8px rgba(233,69,96,0.6), inset 0 0 25px 0 rgba(233,69,96,0.3); }
}

.submission-type-active {
  animation: glow-pulse 2s ease-in-out infinite;
  border-color: #e94560 !important;
  background: rgba(233,69,96,0.15) !important;
}
.submission-type-btn:hover:not(.submission-type-active) {
  animation: hover-glow 1.5s ease-in-out infinite;
  border-color: #e94560 !important;
  background: rgba(233,69,96,0.08) !important;
}
.confession-card {
  animation: fadeIn 0.5s ease-out forwards, float 6s ease-in-out infinite;
}
.confession-card:nth-child(odd)  { animation-delay: 0s, 0s; }
.confession-card:nth-child(even) { animation-delay: 0.1s, 3s; }
.confession-card:nth-child(3n)   { animation-delay: 0.2s, 1.5s; }
.reply-section { animation: slideDown 0.3s ease-out forwards; }
.glow-btn:hover { animation: pulse 1.5s ease-in-out infinite; }

.masonry-grid { column-count: 1; column-gap: 1rem; }
@media (min-width: 640px)  { .masonry-grid { column-count: 2; column-gap: 1.25rem; } }
@media (min-width: 1024px) { .masonry-grid { column-count: 3; column-gap: 1.5rem; } }
@media (min-width: 1280px) { .masonry-grid { column-count: 4; column-gap: 1.5rem; } }

.masonry-item { break-inside: avoid; margin-bottom: 1rem; }
@media (max-width: 640px) { .masonry-item { margin-bottom: 0.75rem; } }

.modal-backdrop { background: rgba(0,0,0,0.7); backdrop-filter: blur(8px); }
.grain {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E");
  opacity: 0.03;
}

/* WordPress admin bar fix */
#wpadminbar { display: none !important; }
html { margin-top: 0 !important; }
