/* ===== Kost Tulungagung — Shared Public Styles ===== */
/* Aturan yang identik antara index.php & kecamatan.php (verbatim). */
:root{--bg-start:#0d1225;--accent:#82cfff;--accent2:#a78bfa;--green:#34d399;--glass:rgba(255,255,255,0.07);--glass-md:rgba(255,255,255,0.11);--glass-border:rgba(255,255,255,0.15);--glass-hover:rgba(130,207,255,0.4);--text:#f0f4ff;--text-muted:rgba(240,244,255,0.5);--text-sub:rgba(240,244,255,0.72);--card-shadow:0 20px 60px rgba(0,0,0,0.45);--r-card:24px;--r-sm:14px}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Nunito',sans-serif;background:var(--bg-start);min-height:100vh;color:var(--text);overflow-x:hidden}
.bg-layer{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 70% 60% at 15% 15%,#3b5fff40 0%,transparent 60%),radial-gradient(ellipse 55% 50% at 85% 85%,#7c3aed35 0%,transparent 60%),radial-gradient(ellipse 80% 70% at 50% 50%,#1a2560 0%,#0d1225 100%);animation:bgShift 14s ease-in-out infinite alternate}
@keyframes bgShift{from{filter:hue-rotate(0deg) brightness(1)}to{filter:hue-rotate(12deg) brightness(1.08)}}
.orb{position:fixed;border-radius:50%;filter:blur(80px);opacity:0.2;pointer-events:none;z-index:0;animation:floatOrb 18s ease-in-out infinite alternate}
.orb-1{width:500px;height:500px;background:#60a5fa;top:-120px;left:-100px;animation-duration:14s}
.orb-2{width:420px;height:420px;background:#a78bfa;bottom:-80px;right:-80px;animation-duration:20s}
.orb-3{width:280px;height:280px;background:#34d399;top:45%;left:42%;animation-duration:22s;opacity:0.12}
@keyframes floatOrb{from{transform:translate(0,0) scale(1)}to{transform:translate(35px,28px) scale(1.1)}}
body::before{content:'';position:fixed;inset:0;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:0.03;pointer-events:none}
footer{text-align:center;padding:40px 20px 0;color:var(--text-muted);font-size:.85rem;font-weight:500;border-top:1px solid var(--glass-border);margin-top:60px}
footer span{color:var(--accent)}
