/* --- RESET GLOBAL UNTUK MOBILE --- */
* {
    /* Ini yang hapus warna biru pas diklik di HP */
    -webkit-tap-highlight-color: transparent;
    
    /* Ini biar teks gak gampang ke-select pas lagi scroll (opsional tapi keren) */
    -webkit-touch-callout: none;
    
    /* Memastikan box-sizing tetap aman */
    box-sizing: border-box;
}

/* Biar gak ada garis kotak (outline) pas diklik di desktop juga */
*:focus {
    outline: none;
}

:root {
    --primary: #007AFF;
    --primary-grad: linear-gradient(135deg, #007AFF 0%, #00C6FF 100%);
    --bg: #050505;
    --card-bg: rgba(28, 28, 30, 0.6);
    --text: #ffffff;
    --text-sub: #a1a1a6;
    --border: rgba(255, 255, 255, 0.1);
    --glass: blur(20px) saturate(180%);
}

* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif;
    -webkit-tap-highlight-color: transparent;
}

body { 
    background: var(--bg); 
    color: var(--text); 
    min-height: 100vh; 
    display: flex; 
    justify-content: center; 
    overflow-x: hidden;
    line-height: 1.6;
}

/* --- BACKGROUND ANIMATION --- */
.mesh-bg {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -2;
    background: #000;
}

.glow-circle {
    position: fixed; width: 300px; height: 300px; border-radius: 50%;
    filter: blur(100px); opacity: 0.3; z-index: -1; animation: orbit 20s infinite linear;
}

.top-right { top: -100px; right: -50px; background: var(--primary); }
.bottom-left { bottom: -100px; left: -50px; background: #5E5CE6; animation-delay: -10s; }

@keyframes orbit {
    0% { transform: translate(0, 0); }
    50% { transform: translate(50px, 100px); }
    100% { transform: translate(0, 0); }
}

/* --- CONTAINER --- */
.container { 
    width: 100%; 
    max-width: 480px; 
    padding: 40px 24px; 
    text-align: center;
    z-index: 1;
}

/* --- BADGE --- */
.badge-container { margin-bottom: 30px; }
.coming-soon-badge {
    background: rgba(0, 122, 255, 0.1);
    border: 1px solid rgba(0, 122, 255, 0.3);
    backdrop-filter: var(--glass);
    display: inline-flex; align-items: center; gap: 10px;
    padding: 10px 20px; border-radius: 40px;
    font-size: 13px; font-weight: 700; color: #00C6FF;
    letter-spacing: 1.5px;
}

.pulse-dot {
    width: 8px; height: 8px; background: #00C6FF; border-radius: 50%;
    box-shadow: 0 0 10px #00C6FF; animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.5); opacity: 0.5; }
    100% { transform: scale(1); opacity: 1; }
}

/* --- PROFILE --- */
.avatar-container { position: relative; width: 120px; height: 120px; margin: 0 auto 25px; }
.avatar-ring {
    position: absolute; inset: -5px; border: 2px solid var(--border);
    border-radius: 40px; transform: rotate(15deg);
}

.avatar-wrapper { 
    width: 100%; height: 100%; border-radius: 38px; 
    overflow: hidden; border: 3px solid rgba(255,255,255,0.1);
    position: relative;
}

.avatar { width: 100%; height: 100%; object-fit: cover; }

.status-badge-mini {
    position: absolute; bottom: 8px; right: 8px;
    width: 18px; height: 18px; border-radius: 50%;
    border: 3px solid #1c1c1e;
}
.status-badge-mini.busy { background: #FF9500; box-shadow: 0 0 10px #FF9500; }

.name { font-size: 38px; font-weight: 800; letter-spacing: -1px; margin-bottom: 10px; }
.name span { background: var(--primary-grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.bio { color: var(--text-sub); font-size: 16px; padding: 0 10px; }

/* --- LINKS --- */
.links-container { margin-top: 40px; display: grid; gap: 16px; }

.link-item {
    background: var(--card-bg); backdrop-filter: var(--glass);
    border: 1px solid var(--border); border-radius: 24px;
    padding: 20px; transition: 0.4s cubic-bezier(0.2, 1, 0.2, 1);
    position: relative;
}

.link-content { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; }

.link-icon-box {
    width: 48px; height: 48px; background: rgba(255,255,255,0.05);
    border-radius: 14px; display: flex; align-items: center; 
    justify-content: center; font-size: 20px; color: var(--primary);
}

.link-text { flex: 1; text-align: left; }
.link-text span { display: block; font-weight: 700; font-size: 17px; }
.link-text small { color: var(--text-sub); font-size: 12px; }
.progress-percent { font-size: 12px; font-weight: 800; opacity: 0.6; }

.progress-track { height: 6px; background: rgba(255,255,255,0.05); border-radius: 10px; overflow: hidden; }
.progress-bar { height: 100%; background: var(--primary-grad); border-radius: 10px; }

/* --- CTA BOX --- */
.cta-box {
    margin-top: 10px; padding: 30px 24px; border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, transparent 100%);
    border: 1px solid var(--border);
}

.cta-header { display: flex; justify-content: center; align-items: center; gap: 10px; margin-bottom: 10px; }
.cta-header i { color: var(--primary); font-size: 20px; }
.cta-box h4 { font-size: 20px; font-weight: 800; }
.cta-box p { font-size: 14px; color: var(--text-sub); margin-bottom: 20px; }

.input-group {
    display: flex; background: rgba(255,255,255,0.05);
    padding: 6px; border-radius: 18px; border: 1px solid var(--border);
}

.input-group input {
    background: transparent; border: none; padding: 12px 18px;
    color: white; width: 100%; outline: none; font-size: 15px;
}

.btn-send {
    background: var(--primary-grad); border: none; color: white;
    width: 48px; height: 48px; border-radius: 14px; cursor: pointer;
    transition: 0.3s;
}
.btn-send:hover { transform: scale(1.05); box-shadow: 0 10px 20px rgba(0, 122, 255, 0.3); }

/* --- FOOTER --- */
.icard-footer { margin-top: 60px; padding-bottom: 20px; }
.icard-footer p { font-size: 13px; color: var(--text-sub); margin-bottom: 15px; }
.icard-footer span { font-weight: 700; color: #fff; }

.system-status {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 18px; border-radius: 50px; font-size: 12px; font-weight: 700;
}
.system-status.warning { background: rgba(255, 149, 0, 0.1); color: #FF9500; }

.hammer-icon { animation: swing 2s infinite ease-in-out; display: inline-block; }

@keyframes swing {
    0%, 100% { transform: rotate(0deg); }
    50% { transform: rotate(-20deg); }
}

/* --- ANIMATIONS --- */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in { animation: fadeInUp 1s cubic-bezier(0.2, 1, 0.2, 1) forwards; }
.slide-up {
    opacity: 0; animation: fadeInUp 0.8s cubic-bezier(0.2, 1, 0.2, 1) forwards;
    animation-delay: calc(var(--delay) * 0.15s + 0.5s);
}

/* --- RESPONSIVENESS --- */
@media (max-width: 380px) {
    .name { font-size: 30px; }
    .container { padding: 30px 16px; }
    .avatar-container { width: 100px; height: 100px; }
}