/* Military portal custom styles */
.stencil-shadow { text-shadow: 2px 2px 0 rgba(0,0,0,.55); }

.hero-bg {
  background:
    linear-gradient(rgba(10,15,8,.82), rgba(10,15,8,.94)),
    repeating-linear-gradient(45deg, #141a0c 0 22px, #10160a 22px 44px);
}

.dogtag {
  clip-path: polygon(0 0, 100% 0, 100% 86%, 50% 100%, 0 86%);
}

.card-hover { transition: transform .2s ease, box-shadow .2s ease, border-color .2s; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 12px 30px -8px rgba(0,0,0,.7); }

/* scanline texture on profile cards */
.scan::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(0,0,0,.12) 3px 4px);
}

@keyframes pulse-dot { 0%,100%{opacity:1} 50%{opacity:.25} }
.live-dot { animation: pulse-dot 1.6s infinite; }

.modal-backdrop { background: rgba(5,8,4,.85); backdrop-filter: blur(4px); }

input.portal-code { letter-spacing: .4em; text-transform: uppercase; }